The first part of creating Virtual Partitions is to install the software onto our original Operating System (this requires a reboot). I an installing the Virtual Partition product as well as the vPar GUI; VPARMGR , which is not installed by default: root @uksd3 # swinstall -s hpwin050:/depot/sept_2002_vpar -x autoreboot=true T1335AC VPARMGR ======= 11/06/03 00:01:46 GMT BEGIN swinstall SESSION (non-interactive) (jobid=uksd3-0015) * Session started for user "root@uksd3". * Beginning Selection * Target connection succeeded for "uksd3:/". * Source connection succeeded for "hpwin050:/depot/sept_2002_vpar". NOTE: One or more patch filesets were automatically selected or deselected to maintain patch integrity. Please refer to the swinstall.log logfile for details. WARNING: The software specified contains a kernel fileset. It will be necessary to reconfigure and reboot the system to make the kernel software functional. * Source: hpwin050:/depot/sept_2002_vpar * Targets: uksd3:/ * Software selections: T1335AC,r=A.02.01.00,a=HP-UX_B.11.11_64,v=HP VPARMGR,r=B.11.11.01.01,a=HP-UX_B.11.11_32/64,v=HP + B6826AA,r=B.11.11.01.05,a=HP-UX_B.11.11_32/64,v=HP + FEATURE11-11,r=B.11.11.0209.5,a=HP-UX_B.11.11_32/64,v=HP + GOLDBASE11i,r=B.11.11.0206.4,a=HP-UX_B.11.11_32/64,v=HP + HWEnable11i,r=B.11.11.0209.5,a=HP-UX_B.11.11_32/64,v=HP + OBAM.OBAM-BIN,r=B.11.00.05.3.06,a=HP-UX_B.11.00_32/64,v=HP,fr=B.11.00.05.3.06 ,fa=HP-UX_B.11.00_32/64 + OBAM.OBAM-JVM,r=B.11.00.05.3.06,a=HP-UX_B.11.00_32/64,v=HP,fr=B.11.00.05.3.06 ,fa=HP-UX_B.11.00_32/64 + OBAM.OBAM-WEB,r=B.11.00.05.3.06,a=HP-UX_B.11.00_32/64,v=HP,fr=B.11.00.05.3.06 ,fa=HP-UX_B.11.00_32/64 + OS-Core.C-KRN,r=B.11.11,a=HP-UX_B.11.11_32/64,v=HP,fr=B.11.11,fa=HP-UX_B.11 .11_32/64 ... * A "+" indicates an automatic selection due to dependency or the automatic selection of a patch or reference bundle. * Selection succeeded. * Beginning Analysis and Execution * Session selections have been saved in the file "/.sw/sessions/swinstall.last". * "uksd3:/": 18 filesets have the selected revision already installed. * "uksd3:/": 1 filesets have a version with a higher revision number already installed. * "uksd3:/": 17 filesets were determined to be skipped in the analysis phase. * "uksd3:/": The software dependencies for 3 products or filesets cannot be resolved. * "uksd3:/": 1 bundles have the selected revision already installed. ERROR: "uksd3:/": 1 bundles have a version with a higher revision number already installed. * "uksd3:/": 3 bundles cannot be installed because none of their filesets can be installed. * The analysis phase failed for "uksd3:/". ERROR: "uksd3:/": 42 filesets were determined to be skipped in the analysis phase. * The execution phase failed for "uksd3:/". * Analysis and Execution had errors. NOTE: More information may be found in the agent logfile using the command "swjob -a log uksd3-0015 @ uksd3:/". *** FINAL System shutdown message (uksd3) *** System going down IMMEDIATELY ======= 11/06/03 00:04:28 GMT END swinstall SESSION (non-interactive) (jobid=uksd3-0015) root @uksd3 # swlist T1335AC VPARMGR # Initializing... # Contacting target "uksd3"... # # Target: uksd3:/ # # T1335AC A.02.01.00 HP-UX Virtual Partitions T1335AC.VirtualPartition A.02.01.00 HP-UX Virtual Partitions Function ality T1335AC.PHNE_25084 1.0 Cumulative STREAMS Patch T1335AC.PHNE_25644 1.0 cumulative ARPA Transport patch T1335AC.PHKL_23374 1.0 Fix close(2) data corruption T1335AC.PHKL_23337 1.0 Side effect of madvise() call fixed. T1335AC.PHKL_23335 1.0 solve inode deadlock with mmap and pagefault T1335AC.PHKL_23280 1.0 signal race condition patch T1335AC.PHKL_23250 1.0 Fix for memory driver bug T1335AC.PHKL_23242 1.0 VxFS mmap(2) performance improvement T1335AC.PHKL_23239 1.0 getmount_entry() performance improvement T1335AC.PHKL_23225 1.0 Fix for dqput() data page fault panic T1335AC.PHKL_23196 1.0 Fix for locking problem in I/O (GIO) T1335AC.PHKL_23154 1.0 dflush() panic T1335AC.PHSS_22535 1.0 ld(1) and linker tools cumulative patch T1335AC.PHKL_27172 1.0 vPars panic; Syscall cumulative T1335AC.PHKL_26847 1.0 console,chassis code,crash/dump,reboot-RvPar T1335AC.PHKL_26979 1.0 vPar enablement patch with kwdb support T1335AC.PHKL_26039 1.0 callout migration race condition T1335AC.PHKL_26037 1.0 vPar enablement patch, callout migration T1335AC.PHKL_25080 1.0 vPar enablement patch T1335AC.PHKL_24960 1.0 vPar enablement patch T1335AC.PHKL_24585 1.0 Psets & vPar enablement patch T1335AC.PHKL_24582 1.0 iCOD Support, Psets Enablement Patch T1335AC.PHKL_24566 1.0 Kernel Memory allocation, Psets Enablement T1335AC.PHKL_24565 1.0 vPar Enablement patch T1335AC.PHKL_24564 1.0 vPar enablement patch T1335AC.PHKL_24563 1.0 vPar enablement patch T1335AC.PHKL_24562 1.0 vPar enablement patch T1335AC.PHKL_24561 1.0 Psets & vPar Enablement T1335AC.PHKL_24560 1.0 vPar enablement patch T1335AC.PHKL_24558 1.0 vPar enablement patch T1335AC.PHKL_24556 1.0 vPar enablement patch T1335AC.PHKL_24554 1.0 vPar enablement patch T1335AC.PHKL_24552 1.0 vPar enablement patch T1335AC.PHKL_24551 1.0 thread nostop, vPar, Psets, load averages T1335AC.PHKL_27054 1.0 early boot,Psets,vPar,Xserver,T60 0 HPMC T1335AC.PHKL_24548 1.0 vPar enablement patch T1335AC.PHCO_26682 1.0 shutdown(1m) patch T1335AC.PHCO_26681 1.0 reboot(1m) patch T1335AC.PHCO_25013 1.0 for vpars Q4 version B.11.20f T1335AC.PHCO_25130 1.0 vPar manpage cumulative patch T1335AC.PHCO_26896 1.0 vPar commands man pages patch # VPARMGR B.11.11.01.01 Virtual Partition Manager - HP-UX VPARMGR.vParManager B.11.11.01.01 Virtual Partition Manager for HP- UX root @uksd3 # We are now ready to create our first partition. There are a couple of points we should understand before proceeding: -
Each Virtual Partition needs to be assigned a unique name. Unlike nPars, which are assigned a partition number as well as a name, vPars do not have an associated partition number; they need to be explicitly assigned a partition name . -
The first partition created MUST have assigned the LBA that supports the system console (the Core IO card on a node Partition). -
We should document the hardware paths for all devices before proceeding in order to devise a consistent plan of how our partitions will be configured. Armed with these pieces of information, we can proceed. We can create all of the Virtual Partitions while the original partition is running HP-UX as normal : root @uksd3 # vparcreate -p vPar0 a cpu::2 -a cpu:::1:2 -a cpu:2/10 -a mem::2048 -a io:2/0/0 -a io:2/0/1 -a io:2/0/2 -a io:2/0/3 -a io:2/0/10 -a io:2/0/11 -a io:2/0/12 -a io:2/0/14 -a io:2/0/1/0/0.0.0:BOOT -a io:2/0/11/0/ 0.3.0:ALTBOOT root @uksd3 # root @uksd3 # vparstatus vparstatus: Warning: Virtual partition monitor not running, Requested resources shown. [Virtual Partition] Boot Virtual Partition Name State Attributes Kernel Path Opts ============================ ===== ========== ========================= ===== vPar0 N/A Dyn,Auto /stand/vmunix [Virtual Partition Resource Summary] CPU Num Memory (MB) CPU Bound/ IO # Ranges/ Virtual Partition Name Min/Max Unbound devs Total MB Total MB ============================== ================ ==== ==================== vPar0 1/ 2 1 1 10 0/ 0 2048 root @uksd3 # root @uksd3 # ll /stand/vp* -rw------- 1 root sys 4136 Nov 6 00:59 /stand/vpdb -r-xr-xr-x 1 bin bin 1062320 Jun 27 2002 /stand/vpmon root @uksd3 # We have now created our first partition. It has not booted yet. I should explain the options to vparcreate (see Table 3-1). Table 3-1. Options Used with vparcreate Option | Description | -p vPar0 | Specifies the partition name. The vPar name can be a maximum of 239 characters and contain [aA-zZ],[0-9], underscore and dot. | -a cpu::2 | We are specifying the total number of CPUs to be allocated to this partition. If we do not further specify which CPUs to allocate, the monitor will choose which CPUs to allocate for each partition. | -a cpu:::1:2 | Specifies the minimum (1) and maximum (2) number of CPUs available to the partition. This option does not allocate CPUs but specifies the limits for other tasks . This option is optional. | -a cpu:2/10 | We are stipulating a specific CPU to be allocated to this partition. By doing so, this CPU is a bound CPU. An unbound CPU cannot be explicitly specified. | -a mem::2048 | We are specifying an amount of memory (in MB) to be allocated to this partition. There is the possibility of specifying a specific address range within the global pool of memory available: -a mem:::base:range starting at "base" bytes and extending for "range" megabytes. When vPars are supported on systems that implement NUMA features (Integrity servers, hp sx1000 chipset and beyond), the use of this option will become more apparent; i.e., in an nPar utilizing Cell Local Memory, we can localize the memory for a vPar by specifying an explicit address space within memory. As such, the use of this option with current supported technology is VERY limited. | -a <hw path> | We are adding a particular hardware path (LBA) to the partition. All devices connected to the LBA will be made available to the partition. | -a 2/0/1/0/0.0.0:BOOT | We are specifying the Primary Boot Path for this partition. The vPar Database (/stand/vpdb) holds the boot paths for Virtual Partition. For the first partition, this should match the Primary Boot Path for the server/nPar. | -a 2/0/11/0/0.3.0:ALTBOOT | We are specifying an Alternate Boot Path for this partition, if appropriate. | We can choose to boot the new Virtual Partition and then continue configuring additional Virtual Partitions, or we can continue to configure additional Virtual Partitions right now. The decision will probably be based on whether the intended boot devices for our additional Virtual Partitions have been installed with HP-UX already (as well as the Virtual Partitions software, appropriate patches, and any additional application software). If they have, I would probably create all my partitions now and then boot all my Virtual Partitions straight away. One last thing we need to configure is the AUTO file on the Primary boot path for our original server/nPar. The AUTO file needs to be altered in order to flag the hpux Secondary Loader to execute the Virtual Partition Monitor ( vpmon ) instead of the HP-UX kernel. Most of the time we will want to boot all of the configured Virtual Partitions once the server/nPar itself has booted. In such a situation, we update the AUTO file to look like this: root @uksd3 #mkboot -a "hpux /stand/vpmon -a" /dev/rdsk/c0t0d0 root @uksd3 # The “a option to vmpon activates all of the configured Virtual Partitions. Later we will see other ways to boot individual Virtual Partitions from the vpmon interface. Now that my AUTO file will execute vpmon , I will test my preliminary configuration by rebooting this server: root @uksd3 # shutdown -ry now SHUTDOWN PROGRAM 11/06/03 01:31:28 GMT Broadcast Message from root (console) Thu Nov 6 01:31:28... SYSTEM BEING BROUGHT DOWN NOW ! ! ! /sbin/auto_parms: DHCP access is disabled (see /etc/auto_parms.log) System shutdown in progress ___________________________ ... Duplex Console IO Dependent Code (IODC) revision 1 -------------------------------------------------------------------------- (c) Copyright 1995-2002, Hewlett-Packard Company, All rights reserved -------------------------------------------------------------------------- Cab/ Cell ------- Processor -------- Cache Size Cell Slot State # Speed State Inst Data ---- ---- ------------ --- -------- ----------- ------ ------ 2 0/2 Active 0 552 MHz Active 512 KB 1 MB 1 552 MHz Idle 512 KB 1 MB 2 552 MHz Idle 512 KB 1 MB 3 552 MHz Idle 512 KB 1 MB Primary Boot Path: 2/0/1/0/0.0 Boot Actions: Boot from this path. If unsuccessful, go to next path. HA Alternate Boot Path: 2/0/4/0/0.8 Boot Actions: Boot from this path. If unsuccessful, go to BCH. Alternate Boot Path: 2/0/4/0/0.8 Boot Actions: Skip this path. Go to BCH. Console Path: 2/0/0/0/0.0 Attempting to boot using the primary path. ------------------------------------------------------------- To discontinue, press any key within 10 seconds. 10 seconds expired. Proceeding... Initializing boot Device. Boot IO Dependent Code (IODC) Revision 0 Boot Path Initialized. HARD Booted. ISL Revision A.00.43 Apr 12, 2000 ISL booting hpux /stand/vpmon -a Boot : disk(2/0/1/0/0.0.0.0.0.0.0;0)/stand/vpmon 614400 + 168736 + 16898800 start 0x23000 [MON] Booting vPar0... [MON] Console client set to vPar0 [MON] Console server set to vPar0 [vPar0] [MON] vPar0 loaded gate64: sysvec_vaddr = 0xc0002000 for 2 pages NOTICE: nfs3_link(): File system was registered at index 3. NOTICE: autofs_link(): File system was registered at index 6. NOTICE: cachefs_link(): File system was registered at index 7. td: claimed Tachyon TL/TS Fibre Channel Mass Storage card at 2/0/12/0/0 fddi4: INITIALIZING: 0150 PCI FDDI card in slot 2/0/10/0/0 Entering cifs_init... Initialization finished successfully... slot is 9 Host is virtual System Console slave Logical volume 64, 0x3 configured as ROOT Logical volume 64, 0x2 configured as SWAP ... Start CDE login server .............................................. OK The system is ready. uksd3 [HP Release B.11.11] (see /etc/issue) Console Login: Now that I have created and tested my first Virtual Partition, I may take a little time to view the IO devices available to this Operating System: root @uksd3 # vparstatus -vp vPar0 [Virtual Partition Details] Name: vPar0 State: Up Attributes: Dynamic,Autoboot Kernel Path: /stand/vmunix Boot Opts: [CPU Details] Min/Max: 1/2 Bound by User [Path]: 2.10 Bound by Monitor [Path]: Unbound [Path]: 2.11 [IO Details] 2.0.0 2.0.1 2.0.2 2.0.3 2.0.10 2.0.11 2.0.12 2.0.14 2.0.1.0.0.0.0 BOOT 2.0.11.0.0.3.0 ALTBOOT [Memory Details] Specified [Base /Range]: (bytes) (MB) Total Memory (MB): 2048 root @uksd3 # root @uksd3 # dmesg grep Physical Physical: 2086912 Kbytes, lockable: 1565196 Kbytes, available: 1803724 Kbytes root @uksd3 # root @uksd3 # rad -q Driver(s) Slot Path Bus Speed Power Occupied Suspended Capable 0-1-1-0 2/0/0 0 33 On Yes No No 0-1-1-1 2/0/1/0 8 33 On Yes No Yes 0-1-1-2 2/0/2/0 16 33 On Yes No Yes 0-1-1-3 2/0/3/0 24 33 On Yes No Yes 0-1-1-6 2/0/14/0 112 33 On No N/A N/A 0-1-1-7 2/0/12/0 96 33 On Yes No Yes 0-1-1-8 2/0/11/0 88 33 On Yes No Yes 0-1-1-9 2/0/10/0 80 33 On Yes No Yes root @uksd3 # As you can see, this server is behaving as if it were completely oblivious to the fact it exists in a Virtual Partition. The vpmon has allocated the necessary resource to the partition and then booted HP-UX within that configuration. The only slight problem I have here is with the ioscan command. root @uksd3 # ioscan -fnkC processor Class I H/W Path Driver S/W State H/W Type Description =================================================================== processor 0 2/10 processor CLAIMED PROCESSOR Processor processor 1 2/11 processor CLAIMED PROCESSOR Processor processor 2 2/12 processor CLAIMED PROCESSOR Processor processor 3 2/13 processor CLAIMED PROCESSOR Processor root @uksd3 # As you can see, ioscan seems to be reporting more processors than it should for this partition. The fact is that ioscan is reporting all of my bound processors as well as all of the unbound processors, even the ones not allocated to me. We can be assured that vpmon has only allocated the correct number of active processors to this vPar by using commands like glance , top , and mpshed : root @uksd3 # mpsched -s System Configuration: ===================== Locality Domain Count: 1 Processor Count: 2 Domain Processors ------ ---------- 0 0 1 root @uksd3 # root @uksd3 # vparstatus -vp vPar0 [Virtual Partition Details] Name: vPar0 State: Up Attributes: Dynamic,Autoboot Kernel Path: /stand/vmunix Boot Opts: [CPU Details] Min/Max: 1/2 Bound by User [Path]: 2.10 Bound by Monitor [Path]: Unbound [Path]: 2.11 [IO Details] 2.0.0 2.0.1 2.0.2 2.0.3 2.0.10 2.0.11 2.0.12 2.0.14 2.0.1.0.0.0.0 BOOT 2.0.11.0.0.3.0 ALTBOOT [Memory Details] Specified [Base /Range]: (bytes) (MB) Total Memory (MB): 2048 root @uksd3 # It is interesting to note that this vPar has allocated the next available processor as the unbound processor for this partition. If this had been intended for another partition, we would have had to revise our overall configuration. The issue here is that, with the current software, we can't specify which processors will be selected as unbound processors. When we configure our second partition, I will expect ioscan to report fewer processors, as at least one of the current processors will become bound to the new vPar. |