Exalogic Virtual Tea Break Snippets – Pythonised SimpleExaCli

Having completed the CreateAssembly (Create Assets) re-write of the SimpleExaCli I decided it was time to migrate some of the additional functionality I use and enhancing the outputs to match my requirements. This quick blog entry will describe the currently migrated commands and their new output structure. In accordance with my previous CreateAssembly blog I […]

Exalogic Virtual Tea Break Snippets – Create Assets Evolution

Following the success of the CreateAssets shell script and it’s subsequent merging into the SimpleExaCli script I decided to extend the features and leverage the full functionality of the 2.0.6.x (Echo) IaaS. As part of the revisit of the code a rewrite in python was performed and the primary reason for this was it allowed […]

Exalogic Virtual Tea Break Snippets – IaaS Utility vServer

Following a number of discussions around the SimpleExaCli Script and the ModifyLVM Script that are available from this blog site I decided to package the scripts and any future scripts within a simple Utility vServer that was then converted to a template using the SimpleExaCli script. The advantage of constructing this standard utility vServer is […]

Exalogic Virtual Tea Break Snippets – Creating Assets with the Simplified Exalogic Cli (A SimpleExaCli.sh Tutorial)

In a previous blog entry I described a script for creating assets (Distribution Groups, vServers, etc) but since that initial script I have written and blogged about the Simple Exalogic Cli Script and therefore have decided to write this short tutorial on the “–create-asset” command option. This version is expanded from it’s original release last […]

Solaris on Exalogic – Using netgroup with NIS

On Exalogic, a name service such as NIS or LDAP is required for NFSv4 to work properly, therefore most customers have this configured in their environments. If you are interested in how to configure NIS on Solaris 11.1, this article “Solaris on Exalogic – Setup NIS on Solaris 1.1” will be helpful. A name service […]

Exalogic Virtual Tea Break Snippets – Modifying Memory, CPU and Storage on a vServer

With the current release of Exalogic Virtual the Enterprise Manager Ops Center interface does not provide a support method for increasing the reasources associated with a running vServer. Therefore to increase the CPU, Memory or Disk size of a vServer we need to recreate vServer using the same Network information, mapped storage etc but with […]

Solaris on Exalogic – Setup NIS on Solaris 11.1

For those customers who are running the Solaris version of Exalogic Elastic Cloud Software 2.0.4.0.* on Exalogic will know that the Operating System has been upgraded from Solaris 11 Express to Solaris 11.1. There is a MOS note (ID: 1491906.1) on how to setup NIS on Solaris 11 Express, it has helped a lot of […]

Exalogic Virtual Tea Break Snippets – Power Cycling Your Virtual Exalogic Rack

On rare occasions you may need to Power Cycle / Shutdown your Virtualised Exalogic Rack. Although the Power Cycle for the Physical Rack is documented in the “Exalogic Machine Owners Guide” and the Control Stack procedure is defined within a MOS note we do not have a single source that documents the Power Down / Power Up procedure for a […]

Solaris on Exalogic – Transitive Probe-based Failure Detection

On Exalogic, no matter which supported Operating Systems that a compute node is running, it relies on the IB gateways (NM2-GW) to provide both internal (IPoIB) and external (EoIB) network connectivity. Each compute node is physically connected to two I…

Solaris on Exalogic – Reverse the active/pasive interface of an IPMP group

In a customer engagement, I found that that their bond0 and bond1 configurations look like this:

root@el01cn01:~# ipmpstat -i
INTERFACE   ACTIVE  GROUP       FLAGS     LINK      PROBE     STATE
eoib0       no      bond1       is—–   up        disabled  ok
eoib1       yes     bond1       –mb—   up        disabled  ok
bond0_0     yes     bond0       –mb—   up        disabled  ok
bond0_1     no      bond0       is—–   up        disabled  ok

notice that the active interface for bond1 is eoib1 while the active interface for bond0 is bond0_0

Although it is perfectly fine for the EoIB traffic and IPoIB traffic to go over different IB gateway, customer want like to re-configure it so that both type of traffic will go through the same IB gateway.

First of all, we turn on “standby” property for eoib1 and turn off “standby” property for eoib0 with the following commands:

root@el01cn01:~# ipadm set-ifprop -p standby=on -m ip eoib1
root@el01cn01:~# ipadm set-ifprop -p standby=off -m ip eoib0

The status of the IPMP groups look like this now:

root@el01cn01:~# ipmpstat -i
INTERFACE   ACTIVE  GROUP       FLAGS     LINK      PROBE     STATE
eoib0       yes     bond1       ——-   up        disabled  ok
eoib1       yes     bond1       -smb—   up        disabled  ok
bond0_0     yes     bond0       –mb—   up        disabled  ok
bond0_1     no      bond0       is—–   up        disabled  ok

Then we forced a failover by detaching eoib1 from bond1 with the following command:

root@el01cn01:~# if_mpadm -d eoib1

The status of the IPMP groups look like this now:

root@el01cn01:~# ipmpstat -i
INTERFACE   ACTIVE  GROUP       FLAGS     LINK      PROBE     STATE
eoib0       yes     bond1       –mb—   up        disabled  ok
eoib1       no      bond1       -s—d-   up        disabled  offline
bond0_0     yes     bond0       –mb—   up        disabled  ok
bond0_1     no      bond0       is—–   up        disabled  ok

Then we re-attach eoib1 back to bond1, because it is a standby interface, failback will not happen:

root@el01cn01:~# if_mpadm -r eoib1

That’s how it looks like after the re-configuration:

root@el01cn01:~# ipmpstat -i
INTERFACE   ACTIVE  GROUP       FLAGS     LINK      PROBE     STATE
eoib0       yes     bond1       –mb—   up        disabled  ok
eoib1       no      bond1       is—–   up        disabled  ok
bond0_0     yes     bond0       –mb—   up        disabled  ok
bond0_1     no      bond0       is—–   up        disabled  ok

Exalogic Virtual Tea Break Snippets – Wrapping the Exalogic iaas cli

Having worked with the Exalogic Command Line for a while I
decided to wrap some of the common functions in a simplified bash
script. This saves me creating the keys, connecting and
identifying the appropriate Ids. Instead I can simply specify the
Name and the script will do the rest of the work. This initial
version has just a few commands in it but as I add more the blog
entry will expand, as will the script, and document the new
functionality.

Exalogic Virtual Tea Break Snippets – Cloning an existing vServer

Following on from my Blog entry “Scripted

Template Generation from an existing vServer” I have built a
wrapper script that can be used to execute the Template Generation
script or Clone a specific vServer. This script was not
incorporated into the original script because it must be executed
on a Compute Node with access to the /OVS/Repositories directory
and the Compute Node are a minimal install and hence do not have
all the required software available. As part of the Cloning
process this new script will create an Assets input file that can
be used with the CreateAssets.sh describe in the blog “Scripting

Asset Creation” and optionally execute the result to create
the clone.

To successfully run the script you will need the following 3
scripts located in the same directory on a machine with the EMOC
cli/api rms installed.

Exalogic Virtual Tea Break Snippets – Scripted Template Generation from an existing vServer

As part of your Exalogic Virtual environment you may want to
build vServer that will be used, going forwards, as a template for
future vServers. Currently the “Exalogic

Elastic Cloud Administrator’s Guide” has an appendix
describing how this can be achieved using the OVMM interface.
Based on internal A-Team work it is now possible to achieve this
directly from  a compute nodes command-line without accessing OVMM.

As a result of this I have built the script below that will take
the files associated with a “Stopped” vServer and converts them to
a template.

For this templating process to work the script will need to be
executed on a machine with access to the /OVS/Repositories/*
directories and this means running directly on one of the Compute
Nodes (I generally run it on Compute Node 1).

Because of the space and resource limitations of the Compute Node
(minimal OS) we will need to create a and mount a Share from the
internal ZFS to save the working files and ultimately the
Template. To this end the script will take a number of parameters
that will specification of these directories. If these are not
specified the script assumes we have the ZFS /export/common/images
mounted on /u01/common/images.

As can been seen from the Usage section below the script only
mandates the Name of the vServer to be copied but assumes that the
user has stopped the vServer previously. Once the template has
been created, or post copy, the vServer can be restarted.

Exalogic Virtual Tea Break Snippets – Some Simple ZFS Scripts

Whilst working on an Exalogic Upgrade I was working with the ZFS
storage and having executed the same commands a number of times I
decided to script them. This short blog entry, although it will
grow over time, contains the scripts I find useful. For each of
the scripts I will simply provide a brief description and the
source of the script and occasionally add the output assuming it
is not too long. Where I need to pass the Hostname / IP Address of
the storage heads the scripts will use the flags (unless otherwise
specified):

  • -p <Primary – first storage head>
  • -s <Secondary – Second storage head>

I will be using a combinations of simple bash scripts and the
more function ZFS scripting language.

Exalogic Virtual Tea Break Snippets – Creating Accounts

Once we have created our Users and Networks we will want to
enable the Virtual Data Centre (vDC) for access by the Cloud
Users. To facilitate this we will need to create Accounts within
the vDC / Cloud and allocate the users to these accounts. Once a
Cloud User has been allocated to an account they will be able to
access that account and hence create / manage Virtual Servers
within that account / Pool.

To create an Account within a vDC / Pool you will
need to be logged into Enterprise Manager Ops Centre (EMOC) with
the appropriate Role, and this is generally done using you Cloud
Administrator, then simply navigate to the vDC Management
Accordion, vDC, your Cloud and finally Accounts.

Exalogic Virtual Tea Break Snippets – Creating Networks

In the majority or Real World scenarios we will need to access
the Virtual Servers running within the Exalogic from an external
client network. To facilitate this we will want to leverage the
10Gb Ethernet connection and hence we will need to create 1 or
more EoIB networks that can be accessed by the Virtual Servers.

During the installation of the Exalogic 2.0.1 Virtual environment
we create a single “EoIB-external-mgmt” network that we could, in
theory, use to access the Virtual Servers we create. Although this
is possible, assuming it has enough IP Address, this would be bad
practice because this network is intended solely for management
functionality and access to the Control VMs. Therefore to provide
the Virtual Servers with external Ethernet access we will need to
create additional EoIB interfaces. Each of these will need to be
VLAN tagged to provide network isolation and partitioning.

InfiniBand Enabled Diskless PXE Boot

If you ever need to bring up a computer with InfiniBand networking
capabilities and diagnostic tools, without even going through any
installation on its hard disk, then please read on. In this article, I
am going to talk about how to boot a computer…