Different OS Versions on Clients
If you remember, first we have created an install service with the
latest Oracle Solaris version available in our repository, which was
version 11.3
. Then we changed the default to 11.2.11
, but what if we
wanted to install a client with version 11.3
? We now have two install
services configured, one for 11.2.11
(which is the default) and another
for 11.3
. How can we specify that we want to install 11.3
instead of
11.2
? You may think we must use the same mechanism we used to install a
specific Solaris SRU, namely manifest. Well, you may try to create a
manifest XML file and specify 11.3
instead of 11.2
, but we can tell you
(SPOILER ALERT!!!) that this won't work. The rule is that changing the
manifest is not enough if you want to install a different Solaris
update (i.e. second digit as in 11.1
, 11.2
, 11.3
...). In this case you
should use a different install service. Luckily, we have one installed
already, its name is solaris11_3-sparc
.
If we want to specify the client that we want to install 11.3
on, we
have to use create-client
command. With this command we can
associate specific clients with certain install services. Clients should
be specified using their MAC addresses. Login into the client system and
discover its MAC address:
root@ai-client1:~# dladm show-phys -m LINK SLOT ADDRESS INUSE CLIENT net0 primary 0:14:4f:f8:5:f6 yes net0 1 0:14:4f:f8:3:5c no -- 2 0:14:4f:f8:ee:26 no -- 3 0:14:4f:fa:c4:6f no --
The primary MAC address is 0:14:4f:f8:5:f6
. Now switch to the AI server
window and use this address to associate it with the install service
solaris11_3-sparc
.
root@solarislab:~# installadm create-client -e 0:14:4f:f8:5:f6 -n solaris11_3-sparc Created Client: '00:14:4F:F8:05:F6' root@solarislab:~# installadm list -c Service Name Client Address Arch Secure Custom Args Custom Grub ------------ -------------- ---- ------ ----------- ----------- solaris11_3-sparc 00:14:4F:F8:05:F6 sparc no no no
And now, again the familiar procedure of shutting down the client and installing it from network.
When this newly installed system reboots, you will notice that you get the system configuration screen again and you have to specify hostname, IP address, and other parameters again. Why? We have configured the system profile already to automate this process, why are we seeing this again? Take a look at the profiles list:
root@solarislab:~# installadm list -p Service Name Profile Name Environment Criteria ------------ ------------ ----------- -------- default-sparc sc-template system none
We have created the profile sc-template
and associated it with the
default-sparc
install service. And default-sparc
install service
is an alias of the s11.2.11-sparc
service. So, profiles are
associated with install services. As soon as we are using a different
install service, we are using it's default profile, not the one we
created earlier. You can use the XML file sc_template.xml
and create a
new profile with 11.3 service—you know how to do this already.
One more question: what if we don't have Solaris installed on the client? Like if we just have created a guest logical domain and it's completely empty? How can we figure out its MAC address?
Well, it takes a couple of steps. Halt the client system and get to OpenBoot prompt. Enter the following command:
{0} ok show-devs /cpu@7 /cpu@6 /cpu@5 /cpu@4 /cpu@3 /cpu@2 /cpu@1 /cpu@0 /virtual-devices@100 /iscsi-hba /virtual-memory /memory@m0,80000000 /aliases /options /openprom /chosen /packages /virtual-devices@100/channel-devices@200 /virtual-devices@100/console@1 /virtual-devices@100/random-number-generator@e /virtual-devices@100/flashprom@0 /virtual-devices@100/channel-devices@200/virtual-domain-service@0 /virtual-devices@100/channel-devices@200/pciv-communication@0 /virtual-devices@100/channel-devices@200/disk@0 /virtual-devices@100/channel-devices@200/network@0 /iscsi-hba/disk /openprom/client-services /packages/obp-tftp /packages/kbd-translator /packages/SUNW,asr /packages/dropins /packages/terminal-emulator /packages/disk-label /packages/deblocker /packages/SUNW,builtin-drivers {0} ok
Find the line that represents the network interface. In our case it's
/virtual-devices@100/channel-devices@200/network@0
. Then 'change
directory' (cd
) into it and type .properties
:
{0} ok cd /virtual-devices@100/channel-devices@200/network@0 {0} ok .properties local-mac-address 00 14 4f f8 05 f6 max-frame-size 00004000 address-bits 00000030 reg 00000000 compatible SUNW,sun4v-network device_type network name network {0} ok
Got it! Here is our client's MAC address: 00:14:4f:f8:05:f6
. You can use
it with create-client
command now and install the system from scratch.