You are here

Npar vpar profiles: Using alternate vpar database files

Hi,

If you need to maintain several vpar configurations on the same Npar(A customer for example does BRS tests on a npar that has development vpars), so he has for example the "vpar development profile" 4 vpars , and the "production vpar development profile" with 2 vpars. He is always running the development vpars, and when he needs to do a BRS test(or the real thing), he starts from the production vpar profile and has his vpar production resources ready(it also involves other things, pprc, drd, etc).

And you can also use the alternate vpar database files, when you are running only 1 vpar inside the npar, as you know if you only have 1 vpar, and want to add IO to the vpar, you need to, reboot into npar mode add the io devices, and boot into vpars again..., using and alternate database you can add the IO resources you need to the alternate databases, and boot from the new modified(added io) vpar alternate database.

Here is a silly example that shows you how to use and alternate vpar database:

First thing you have to notice in INTEGRITY is If you issue readdb /stand/vpdb.backup, the file that is actually read is at /stand/boot.sys/stand/vpdb.backup. The vparcreate command transparently creates the soft link from /stand/boot.sys/stand/ to /stand/. Therefore, if you backup the database file using the Unix cp command, a ln -s command also should be executed to create the soft link. Otherwise it will not be possible to boot from the backup database file.

So here for example I do a cp of the database, add and IO card and reboot from the new alternate database, it fails:

# cp vpdb vpdb.ok
# vparmodify -p vpar0 -a io:1.0.0 -D /stand/vpdb.ok
# shutdown -h now

Once all the vpars are down, we reboot the npar:
MON> reboot
Resetting the system

Banyan Firmware (build 8.22) -- superdome server SD32A -- CellId: 1

And we try to start from the alternate database and it fails:

HPUX> boot /stand/vpmon -D /stand/vpdb.ok -a
> System Memory = 335 MB
loading section 0
.... (complete)
......Launching /stand/vpmon
SIZE: Text:1626K + Data:53308K + BSS:10764K = Total:65699K
Console is on virtual console - via PCDP
ERROR loading /stand/vpdb.ok (40)
I/O Error: Could not open /stand/vpdb.ok

No vpar database is loaded:

MON> vparinfo
No database was read
Names of the partitions in the database:
----------------------------------------
Cell 0 total cpus 4 free cpus 4
Cell 1 total cpus 3 free cpus 3
Cell 2 total cpus 4 free cpus 4
The following CPUs are unassigned:
1/120 0/120 0/121 0/122 0/123 1/122 1/123 2/120 2/121 2/122 2/123
The following CPUs are disabled:

ILM Memory: total 0 MB free 0 MB
Cell 0 CLM Memory total 0 MB free 0 MB
Cell 1 CLM Memory total 0 MB free 0 MB
Cell 2 CLM Memory total 0 MB free 0 MB

If we try readdb the same happens we get the error:

MON> readdb vpdb.ok
Read in /stand/vpdb.ok DbFile
I/O Error: Could not open /stand/vpdb.ok

So thats why you allways have to remember if you do a cp of the database, you have to use ln -s to create a soft link to /stand/boot.sys/stand/vpdb.ok

If you use vparcreate with the -D option it gets created automaticly, as you are going to se in our following example:

I'm going to create and alternate profile, with a vpar that uses cell 0 local resources(cpu/mem), just to create something different, than the actual vpar db:

# vparcreate -p vpar1 -D /stand/vpdb.profile1 -a cell:0:cpu::2
Capturing the Hardware path to EFI path mapping of bootable disks:
Done.
vparcreate: Note: Database is created with the following information:
CLM granularity is 128 MBytes
ILM granularity is 128 MBytes
All the subsequent virtual partition's CLM or ILM memory specifications must be an integral multiple of the corresponding granularity.
# vparmodify -p vpar1 -D /stand/vpdb.profile1 -a cell:0:mem::3004
vparmodify: Warning: "-a cell:0:mem::3004": Specified memory size was rounded up to the next CLM granule boundary or to limit of available memory.
# vparmodify -p vpar1 -D /stand/vpdb.profile1 -a io:1.0.2.0.1.10.0.0.0.0.0:BOOT -a io:1.0.0

So we now have 2 databases, our normal /stand/vpdb:

# vparstatus -D /stand/vpdb
[Virtual Partition]
Boot
Virtual Partition Name State Attributes Kernel Path Opts
============================== ===== ============ ======================= =====
vpar0 Up Dyn,Auto,Nsr /stand/vmunix

[Virtual Partition Resource Summary]
CPU Num Num Memory Granularity
Virtual Partition Name Min/Max CPUs IO ILM CLM
============================== ======= ==== ==== ========== ==========
vpar0 1/ 11 5 4 128 128

Memory (MB)
ILM CLM
# User # User
Virtual Partition Name Ranges/MB Total MB Ranges/MB Total MB
============================== ====================== ======================
vpar0 0/ 0 5248 0/ 0 0

And our alternate database with vpar1 and cell 0 local cpu/memory:

# vparstatus -D /stand/vpdb.profile1
vparstatus: Warning: Not accessing live monitor database, Requested resources shown.
[Virtual Partition]
Boot
Virtual Partition Name State Attributes Kernel Path Opts
============================== ===== ============ ======================= =====
vpar1 N/A Dyn,Auto,Nsr /stand/vmunix

[Virtual Partition Resource Summary]
CPU Num Num Memory Granularity
Virtual Partition Name Min/Max CPUs IO ILM CLM
============================== ======= ==== ==== ========== ==========
vpar1 1/def 2 2 128 128

Memory (MB)
ILM CLM
# User # User
Virtual Partition Name Ranges/MB Total MB Ranges/MB Total MB
============================== ====================== ======================
vpar1 0/ 0 0 0/ 0 3072

We can also check out how vparcreate made the soft link:

Virtual Partition Name State Attributes Kernel Path Opts

So we are going to reboot, load /stand/vpdb.profile1 , and check the changes:

loading section 1
......................................................................................................... (complete)
loading symbol table
loading System Directory (boot.sys) to MFS
.......Launching /stand/vpmon
SIZE: Text:1626K + Data:53308K + BSS:10764K = Total:65699K
Console is on virtual console - via PCDP
The vPar configuration database has changed because a resource
request could not be satisfied. Examine the vPar monitor event
log for more information.

Booting any vPars will alter the database on disk, but the
original database file will be saved as /stand/vpdb.orig on the
partition that owns the monitor's boot disk.

To retain the database, reboot the monitor using the database
file /stand/vpdb.orig.

MON> Launching all vPars with autoboot attribute set
[MON] Booting vpar1...

[vpar1]
Initializing IO Devices ...
LBA Cell 01 (02): Occupied PCI 66MHz
Scan PCI:
Rope Slot Seg Bus Dev Fun Card
====================================================================
02 02 0x01 0x2a 0x00 0x00 SCSI Adapter (0x0030,0x1000)
02 02 0x01 0x2a 0x00 0x01 SCSI Adapter (0x0030,0x1000)

[Suspending console I/O operations while shared hardware is reset]
[Shared hardware reset is complete. Resuming console I/O operations]
LBA Cell 01 (00): Occupied PCI 33MHz
Scan PCI:
Rope Slot Seg Bus Dev Fun Card
====================================================================
00 00 0x01 0x00 0x00 0x00 CoreIO DIVA (0x1048,0x103c)
00 00 0x01 0x00 0x01 0x00 Ethernet (0x0019,0x1011)
Complete

Ok, so what I want to take a look at is the following message:

The vPar configuration database has changed because a resource
request could not be satisfied. Examine the vPar monitor event
log for more information.

Booting any vPars will alter the database on disk, but the
original database file will be saved as /stand/vpdb.orig on the
partition that owns the monitor's boot disk.

The problem here is that when you use vparcreate/vparmodify, creating partitions using the -D option. Fewer checks on configuration are being performed. It is possible to create a partition configuration that is not valid.

So I created and invalid config and that's why I get this message:

The vPar configuration database has changed because a resource
request could not be satisfied. Examine the vPar monitor event
log for more information.

Once the server starts I can check with vparstatus the differences between /stand/vpdb.orig and /stand/vpdb.profile1, and quickly see what the problem is:

# vparstatus -D /stand/vpdb.orig > /tmp/
# vparstatus -v -D /stand/vpdb.orig > /tmp/vpdb.orig
vparstatus: Warning: Not accessing live monitor database, Requested resources shown.
# vparstatus -v -D /stand/vpdb.profile1 > /tmp/vpdb.profile1
# diff /tmp/vpdb.orig /tmp/vpdb.profile1
3c3,4
< CLM, monitor-assigned [CellID Base /Range]:
< (bytes) (MB)
< CLM (CellID MB): 0 3072 (Floating 0)
---
> CLM, monitor-assigned [CellID Base /Range]: 0 0x70000000000/2944
> (bytes) (MB) 0 0x700b8000000/60
> CLM (CellID MB): 0 3004 (Floating 0)

The problem was that when I created the vpar , because of the CLM Granularity , it assigned 3072 clm memory from cell 0, but cell 0 only has 3004 Mb, so it got corrected and booted the OS. So now I have the /stand/vpdb.profile1 database running where all changes are made, /stand/vpdb.orig that is my profile1 failed to start database and finally the /stand/vpdb vpar0 profile database.

Now all the changes I need to make to the vpdb.profile1 databse don't need to have the -D parameter, because its the current active database.

Unix Systems: 

Add new comment

Filtered HTML

  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.
By submitting this form, you accept the Mollom privacy policy.

Fatal error: Class CToolsCssCache contains 1 abstract method and must therefore be declared abstract or implement the remaining methods (DrupalCacheInterface::__construct) in /homepages/37/d228974590/htdocs/sites/all/modules/ctools/includes/css-cache.inc on line 52