Andrew Rutz's blog
JumpStart and multiple root slices
Here's a nice two-step trick that lets one have multiple root slices
on a medium that is installed using
JumpStart. Having multiple root slices on a
physical disk is a space- and time-saver. One uses the disk space
more efficiently, and the turnaround time on switching between Solaris
versions is determined by the time to
shutdown(1M)
the system and
boot(1M)
the
desired slice.
This example assumes that one is familiar with JumpStart. As a result, it
will focus on how to setup two profile files, as these are what
enables the multi-root slice functionality. Our profile
is named prof in our rules file:
# cd <my_jumpstart_dir> # cat rules any - - prof finish_script
Step One - This step is what "carves out" space for the desired number of root slices. In our example, there will be three root slices. As a result, Step One will be performed once, and Step Two will be performed twice (eg., one less than the total number of root slices being installed). If it's decided that a disk is to have more root slices in the future, then any installed root slices will be destroyed when Step One is repeated.
Our profile file for this step is named prof.step1.
Create a file that has these contents:
# cat prof.step1 install_type initial_install system_type standalone partitioning explicit # 'rootdisk' will be set to value of root_device #root_device c0t0d0s0 #root_device c0t0d0s6 root_device c0t0d0s7 # root_device must match the filesys whose name is '/' filesys rootdisk.s0 16000 filesys rootdisk.s1 free swap filesys rootdisk.s6 16000 filesys rootdisk.s7 16000 /
Points to note:
- The slice referenced by
root_device(e.g.,s7) must match thefilesysentry whose name is "/". - All slices specify an explicit size (eg, "16000" MB) in their
filesysentry. - The two slices not being installed to (eg,
s0ands6) are not given a name in theirfilesysentry (eg, there is no identifier following their size argument)
Before running the normal JumpStart binaries (
check(1M) and
add_install_client(1M)),
create a symbolic link so that prof references our
profile file:
# ln -s prof.step1 prof
After logging in to the install client and executing
ok boot net - install
you will have space carved out for three root slices and
your Solaris version will be installed on s7.
Step Two
For the two remaining slices, s0 and s6,
perform the following. We'll use s0 in the example.
Create the following profile file:
# cat prof.step2 install_type initial_install system_type standalone partitioning explicit # 'rootdisk' will be set to this root_device c0t0d0s0 #root_device c0t0d0s6 #root_device c0t0d0s7 # '/' slice must match root_device; complementary devices # must be 'ignore' filesys rootdisk.s0 existing / filesys rootdisk.s1 free swap filesys rootdisk.s6 existing ignore filesys rootdisk.s7 existing ignore
The differences between prof.step1 and prof.step2 are highlighted.
Points to note:
root_devicereferencess0and thefilesysentry named "/" also referencess0.- The two slices not being installed to have a name of
ignore. - All three slices use a size of
existing. (This has the meaning of: "use the size that was specified in Step One" (eg, "16000")).
To install your desired Solaris version onto s0, execute
this permutation of commands on the install server (with the appropriate arguments):
# rm prof # ln -s prof.step2 prof # check ... # add_install_client ...
On the install client, execute our favorite JumpStart command:
ok boot net - install
Repeat Step Two in order to install your desired Solaris
version onto s6.
...now.......... get to WORK!!!! :-)
Posted at 11:27PM Nov 11, 2005 by Andrew Rutz in Solaris | Comments[0]