HP-UX Virtual Partitions

   

HP-UX Virtual Partitions

By Marty Poniatowski

Table of Contents
Chapter 3.  Booting and vPars

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 9000. Figure 3-1 depicts the position of the vpmon relative to other HP 9000 components.

Figure 3-1. Virtual Partitions Software Stack

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:

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 A because it is a vpmon command. vparboot is a shell command so there is a man page in Appendix A 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 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:

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 bootting 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 0 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:

MON> log INFO:CPU0:MON:[20:16:31 10/1/2001 GMT] VPAR Monitor ver- sion 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 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.


       
    Top
     

    Категории