Andrew Rutz's blog

Friday Nov 11, 2005

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 the filesys entry whose name is "/".
  • All slices specify an explicit size (eg, "16000" MB) in their filesys entry.
  • The two slices not being installed to (eg, s0 and s6) are not given a name in their filesys entry (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_device references s0 and the filesys entry named "/" also references s0.
  • 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!!!! :-)

Comments:

Post a Comment:
  • HTML Syntax: NOT allowed

Calendar

Search my blog

Links

Navigation