Virtual Partition Boot Process Overview


Booting partitions is similar to booting without partitions. The primary difference is the Virtual Partition Monitor - what I'll call vpmon in this chapter. vpmon is loaded at the time of boot and is located in /stand/vpmon .

The vpmon sits between the firmware and operating system on your HP system. Figure 1-10 depicts the position of the vpmon relative to other HP system components .

Figure 1-10. Virtual Partitions Software Stack

graphics/01fig10.gif

Notice in the figure that different versions and patch levels of HP-UX 11i may be running in vPars. On Itanium Processor Family (IPF) systems, operating systems other than HP-UX may be running in vPars. This functionality was not available at the time of this writing, so only HP-UX 11i-based vPars are covered in this book.

In the process of creating vPars, a partition database is produced that tracks the resources associated with vPars. The vpmon manages these resources, loads kernels , and performs other functions that make it look as though each virtual partition is its own system.

Rather than booting a kernel directly from the ISL (see the non-vPars-specific portion of this chapter for detailed information on all aspects of booting, including ISL), you boot the vpmon . The vpmon then loads the partition database /stand/vpdb and creates the vPars based on the resources allocated to the vPars in the database. vpdb is the default database, which contains partition- related information. A copy of vpdb is kept on the disk for every partition and is automatically kept synchronized. When a change is made to any partition, the master vpdb is updated and then the local copies on other vPars are automatically updated. This synchronization occurs every few seconds and ensures that vpdb on all running partitions remains synchronized. If a partition is not running its vpdb cannot be updated.

Without vPars you would boot the HP-UX kernel directly from ISL, as shown below:

 graphics/hpuxa_icon.gif ISL>  hpux /stand/vmunix  

You can boot the vpmon from ISL with the command below:

 ISL>  hpux /stand/vpmon  

The vpmon is invoked with this command and the vpmon prompt appears from which you can load vPars.

From the vpmon prompt we could issue the vparload command to load one or more Virtual Partitions. There are many options to the vparload command. There is no man page for vparload in Appendix B because it is a vpmon command. vparboot is a shell command so there is a man page in Appendix B for it. The following are the three forms of vparboot at the time of this writing:

 form1: vparload -all form2: vparload -auto form3: vparload -p vp_name [-b kernelpath] [-o boot_options] [-B hardware_path] 

form1 boots all vPars. form2 boots all vPars that have the autoboot attribute set. form3 allows you to specify options such as: the kernelpath to boot; the boot_options, such as "is" for single user mode; or hardware_path, which specifies the boot device to be used for the vPar.

Issuing the /stand/vpmon command at the ISL> prompt gives us the MON> prompt. To use vparload to boot all Virtual Partitions on a server we would issue the following command:

 MON>  vparload -all  

To use vparload to boot the Virtual Partition symbol1, we would issue the following command:

 MON>  vparload -p symbol1  

You could perform the steps to load both the vpmon and virtual partition symbol1 from ISL with the command below at the ISL prompt:

 graphics/hpuxa_icon.gif ISL>  hpux /stand/vpmon vparload -p symbol1  

This command boots both vpmon and then symbol1 . You may perform experimentation with the kernels of the vPars on your system and have to boot different kernels. The following example shows booting from a kernel called vmunix_test1 :

 MON>  vparload -p symbol1 -b /stand/vmunix_test1  

As a side note, the kernel path above is loaded with this vparload , but no permanent changes were made. To make a permanent change to the vPars database you would issue the following command:

 #  vparmodify -p symbol1 -b "stand/vmunix_test1"  

The vPar database has now been modified to have a default kernel of /stand/vmunix_test1 .

You can boot a vPar in single-user mode with the following command:

 MON>  vparload -p symbol1 -o "is"  

There are a variety of other options that you can use for booting vPars. As you can see from this discussion, the options are similar to options you would use on a non-vPars system.

There are a variety of other commands that you can issue from MON> . The following shows some of the more common commands:

help

Displays all of the commands available in MON> as shown below ( ? produces the same results):

 MON>  help  Supported Commands: ?                Print list of commands cat              Dump contents of file to screen cbuf             Dump contents of console buffer getauto          Print the AUTO file help             Print list of commands lifls            List files in LIF directory log              View the event log ls               List files in a directory readdb           Read a partition DB reboot           Reboot system scan             Scan the system toddriftreset    Reset the TOD drift of all vpars vparload         Load vPar vparinfo         Display vPar info 

scan

Displays all hardware discovered by the Virtual Partition monitor and indicates which vPar, if any, owns the device. Note in the following listing that some components, such as the System Bus Adapters (SBAs) at and 1 and the memory controller at 192, are owned by the Virtual Partition monitor and are therefore owned by VPAR-ALL . Other components are owned by vPar uhnjlvp1/2 . This is an informative listing of all components and the vPar that owns them, as shown below:

 MON>  scan  0           BUSCONV      sv_model= 12  HPA=0xfffffffffed00000   VPAR=ALL 0/0         BUS_BRIDGE   sv_model= 10  HPA=0xffffffffbffe0000   VPAR=uhnjlvp1 0/1         BUS_BRIDGE   sv_model= 10  HPA=0xffffffffbffe2000   VPAR=NONE 0/2         BUS_BRIDGE   sv_model= 10  HPA=0xffffffffbffe4000   VPAR=NONE 0/4         BUS_BRIDGE   sv_model= 10  HPA=0xffffffffbffe8000   VPAR=NONE 0/5         BUS_BRIDGE   sv_model= 10  HPA=0xffffffffbffea000   VPAR=NONE 0/8         BUS_BRIDGE   sv_model= 10  HPA=0xffffffffbfff0000   VPAR=uhnjlvp2 0/10        BUS_BRIDGE   sv_model= 10  HPA=0xffffffffbfff4000   VPAR=NONE 0/12        BUS_BRIDGE   sv_model= 10  HPA=0xffffffffbfff8000   VPAR=uhnjlvp1 1           BUSCONV      sv_model= 12  HPA=0xfffffffffed40000   VPAR=ALL 1/0         BUS_BRIDGE   sv_model= 10  HPA=0xfffffffffece0000   VPAR=NONE 1/2         BUS_BRIDGE   sv_model= 10  HPA=0xfffffffffece4000   VPAR=NONE 1/4         BUS_BRIDGE   sv_model= 10  HPA=0xfffffffffece8000   VPAR=NONE 1/8         BUS_BRIDGE   sv_model= 10  HPA=0xfffffffffecf0000   VPAR=NONE 1/10        BUS_BRIDGE   sv_model= 10  HPA=0xfffffffffecf4000   VPAR=NONE 1/12        BUS_BRIDGE   sv_model= 10  HPA=0xfffffffffecf8000   VPAR=uhnjlvp2 36          BUSCONV      sv_model= 12  HPA=0xfffffffffed24000   VPAR=NONE 37          NPROC        sv_model=  4  HPA=0xfffffffffed25000   VPAR=uhnjlvp1 44          BUSCONV      sv_model= 12  HPA=0xfffffffffed2c000   VPAR=NONE 45          NPROC        sv_model=  4  HPA=0xfffffffffed2d000   VPAR=uhnjlvp2 192         MEMORY       sv_model=  9  HPA=0xfffffffffedc0000   VPAR=ALL MON> vparinfo uhnjlvp1 Resources assigned to partition 0 (uhnjlvp1)... ------------------------------------- 0           0xfffffffffed00000      1       0  TYPE= 7  SV_MODEL= 12 0/0         0xffffffffbffe0000      1       0  TYPE=13  SV_MODEL= 10 0/12        0xffffffffbfff8000      1       0  TYPE=13  SV_MODEL= 10 1           0xfffffffffed40000      1       0  TYPE= 7  SV_MODEL= 12 37          0xfffffffffed25000      1       0  TYPE= 0  SV_MODEL=  4 192         0xfffffffffedc0000      1       0  TYPE= 1  SV_MODEL=  9 Effective Size: 1572864 kb Boot: 0/0/2/0.6.0 Console: 0/0/4/0 Boot Image: (0/0/2/0.6.0;)/stand/vmunix Boot Options: AUTOBOOT:off DYNAMIC 

vparinfo [partition_name]

Displays resources assigned to the specified vPar or those resources that are unassigned if the vPar name is not specified. The following listing shows the resources assigned to vPar uhnjlvp2 :

 MON>  vparinfo uhnjlvp2  Resources assigned to partition 1 (uhnjlvp2)... ------------------------------------- 0           0xfffffffffed00000      1       0  TYPE= 7  SV_MODEL= 12 0/8         0xffffffffbfff0000      1       0  TYPE=13  SV_MODEL= 10 1           0xfffffffffed40000      1       0  TYPE= 7  SV_MODEL= 12 1/12        0xfffffffffecf8000      1       0  TYPE=13  SV_MODEL= 10 45          0xfffffffffed2d000      1       0  TYPE= 0  SV_MODEL=  4 192         0xfffffffffedc0000      1       0  TYPE= 1  SV_MODEL=  9 Effective Size: 524288 kb Boot: 1/12/0/0.12.0 Console: Default Boot Image: (1/12/0/0.12.0;)/stand/vmunix Boot Options: AUTOBOOT:off DYNAMIC 

vparload

The three forms of this command are listed below. The example after the three forms shows the beginning of loading all vPars with vparload -all :

 form1: vparload -all form2: vparload -auto form3: vparload -p vp_name [-b kernelpath] [-o boot_options] [-B hardware_path] MON>  vparload -all  [MON] Booting uhnjlvp2... [MON] Booting uhnjlvp1... [MON] Console client set to uhnjlvp2 [MON] uhnjlvp2 loaded [MON] uhnjlvp1 loaded  .   .   .  

lifls

Displays the files in the LIF area as shown below:

 MON>  lifls  volume ISL10 data size 7802 directory size 8 filename   type   start   size     implement  created ====================================================== ODE        -12960 584     848 MAPFILE    -12277 1432    128 SYSLIB     -12280 1560    353 CONFIGDATA -12278 1920    218 SLMOD2     -12276 2144    140 SLDEV2     -12276 2288    134 SLDRV2     -12276 2424    168 SLSCSI2    -12276 2592    116 MAPPER2    -12279 2712    142 IOTEST2    -12279 2856    89 PERFVER2   -12279 2952    125 PVCU       -12801 3080    64 SSINFO     -12286 3144    2 ISL        -12800 3152    306 AUTO       -12289 3464    1 HPUX       -12928 3472    848 LABEL      -23951 4320    8 

getauto

Displays the contents of the LIF area auto file as shown below:

 MON>  getauto  hpux 

log

Displays all information in the Virtual Partition monitor log. The information is displayed in chronological order as shown below:

[View full width]
 MON>  log  INFO:CPU0:MON:[20:16:31 10/1/2001 GMT] VPAR Monitor version 0.2 started INFO:CPU0:MON:Version string: @(#) $Revision: vpmon:    vw: -- selectors: CUP 11.11_BL2001_0616                  'cup_cvinod_vpar_ncf_trial' 'cup_shep_r11.11'  Tue Sep graphics/ccc.gif 25 18:2 1:12 PDT 2001 $ INFO:CPU0:MON:Partition uhnjlvp1 monarch set to 37 INFO:CPU0:MON:Partition uhnjlvp2 monarch set to 45 

ls directory

Lists the contents of a directory in much the same way as UNIX ls command. At the time of this writing, the directory must be HFS. The /stand directory is used by default. You can also add -a for all entries, -l for long listing, -n for numerical entries, -i for inode, and -F for file type appended to the output, such as a slash (/) after directories, as shown below using the -l option:

 MON>  ls -l /stand  drwxr-xr-x    2 0     0           8192 lost+found -rw-rw-rw-    1 0     3           5416 ioconfig drwxr-xr-x    4 0     3           2048 build -rwxr-xr-x    1 0     0       15273152 vmunix drwxrwxrwx    5 0     3           1024 dlkm.vmunix.prev -rw-r--r--    1 0     3             19 bootconf -r--r--r--    1 0     3             82 kernrel -rw-------    1 0     0             12 rootconf -r--r--r--    1 0     3           1040 system -r--r--r--    1 0     3           1035 system.prev -rwxr-xr-x    1 0     3       14488016 vmunix.prev drwxrwxrwx    5 0     0           1024 dlkm drwxr-xr-x    2 0     3           1024 system.d drwxr-xr-x    2 0     3           1024 krs drwxr-xr-x    2 0     0           1024 krs_tmp drwxr-xr-x    2 0     0           1024 krs_lkg -r-xr-xr-x    1 2     2         845680 vpmon -rw-------    1 0     0         102640 vpmon.dmp -rw-------    2 0     0           8232 vpdb 

cbuf partition_name

Displays the information in the console buffer for the specified Virtual Partition. If no information is present in the buffer, you'll receive the following message:

 MON>  cbuf uhnjlvp1  Buffer is empty 

Many of these commands at MON> are informative. Let's now move on to vPars states.

Virtual Partition Boot States

When we boot a Virtual Partition, it progresses through load , then boot , and finally, up . There are other states in which you may find a Virtual Partition as well. Table 1-5 summarizes the states of Virtual Partitions at the time of this writing:

Table 1-5. Virtual Partitions States

vPars State

Description

load

The kernel image of a Virtual Partition is being loaded into memory. This is done by the Virtual Partition monitor.

boot

The Virtual Partition is in the process of booting. The kernel image has been successfully loaded by the Virtual Partition monitor.

up

The Virtual Partition has been successfully booted and is running.

shut

The Virtual Partition is in the process of shutting down.

down

The Virtual Partition is not running and is down.

crash

The Virtual Partition has experienced a panic and is crashing.

hung

The Virtual Partition is not responding and is hung.

These states are used later when we create and boot Virtual Partitions and watch them boot by issuing successive vparstatus commands. The following example shows the process of the Virtual Partition cable2 booting:

 #  vparboot -p cable2  #  vparstatus  [Virtual Partition]                                                       Boot Virtual Partition Name         State Attributes Kernel Path               Opts ============================== ===== ========== ========================= ===== cable1                         Up    Dyn,Manl   /stand/vmunix cable2  Load  Dyn,Manl   /stand/vmunix [Virtual Partition Resource                CPU    Num        Memory (MB)  Summary]                         CPU     Bound/   IO   # Ranges/ Virtual Partition Name          Min/Max  Unbound  devs  Total MB    Total MB ==============================  ================  ====  ==================== cable1                            2/  4    2   0     4    0/  0         2048 cable2                            2/  2    2   0     4    0/  0         1024 #  vparstatus  [Virtual Partition]                                                       Boot Virtual Partition Name         State Attributes Kernel Path               Opts ============================== ===== ========== ========================= ===== cable1                         Up    Dyn,Manl   /stand/vmunix cable2  Boot  Dyn,Manl   /stand/vmunix [Virtual Partition Resource                CPU    Num        Memory (MB)  Summary]                         CPU     Bound/   IO   # Ranges/ Virtual Partition Name          Min/Max  Unbound  devs  Total MB    Total MB ==============================  ================  ====  ==================== cable1                            2/  4    2   0     4    0/  0         2048 cable2                            2/  2    2   0     4    0/  0         1024 #  vparstatus  [Virtual Partition]                                                       Boot Virtual Partition Name         State Attributes Kernel Path               Opts ============================== ===== ========== ========================= ===== cable1                         Up    Dyn,Manl   /stand/vmunix cable2  Up  Dyn,Manl   /stand/vmunix [Virtual Partition Resource                CPU    Num        Memory (MB)  Summary]                         CPU     Bound/   IO   # Ranges/ Virtual Partition Name          Min/Max  Unbound  devs  Total MB    Total MB ==============================  ================  ====  ==================== cable1                            2/  4    2   0     4    0/  0         2048 cable2                            2/  2    2   0     4    0/  0         1024 # 

This example shows cable2 progressing through the load , then boot , and finally, up . cable2 was booted from cable1 running on the same hardware. The system had already gone through the boot process when cable1 booted. The boot time for cable2 is very quick since most of the hardware is already running. The boot time for the first Virtual Partition is comparable to the boot time of a non-Virtual Partition system, but the subsequent vPars boot much more quickly.

setboot Command and vPars

The setboot command on a non-vPars system reads from and writes to stable storage. On a vPars system the setboot command interacts with the Virtual Partition database. Running setboot on a vPars system has the effects shown in Table 1-6:

Table 1-6. setboot and Virtual Partitions

vPars setboot Option

Description

-a

Changes the alternate boot path of the Virtual Partition.

To set the alternate boot path:

# setboot -a 0/8/0/0.8.0.5.0.0.0

-b

Sets the autoboot attribute of the Virtual Partition.

To set Autoboot on :

# setboot -b on

-p

Changes the primary boot path of the Virtual Partition.

To set the primary boot path:

# setboot -p 0/0/1/1.2.0

-s

Has no effect.

no options

Displays information about boot attributes.

The setboot command is one of the aspects of working with vPars that is different from a non-vPars system.

graphics/vparmodifyb_icon.gif

You can also set the primary and alternate boot paths with vparmodify .



HP-UX 11i Systems Administration Handbook and Toolkit
HP-UX 11i Systems Administration Handbook and Toolkit (2nd Edition)
ISBN: 0131018833
EAN: 2147483647
Year: 2003
Pages: 301

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net