Writing a Custom PVID
Writing a Custom PVID
This blog post came about after a customer had encountered a problem on AIX 5.3. The disk being imported is a floating SAN disk shared between servers on various frames. That is to say, there are multiple LPARs defined which use this disk. You simply deactivate one LPAR and activate the other. However, this can cause problems as Server A will have a record of the PVID of the disk that is in datavg but Server B will have a different PVID for that disk. I’ve probably not explained that very well so let’s take a look.
Looking at the PVID according to the output of lspv:
And comparing this with:
# lqueryvg -Atp hdisk3 | grep Physical
0516-320 lqueryvg: Physical volume hdisk3 is not assigned to
a volume group.
This shows us that there is a discrepancy in the volume group descriptor area.
00f739a9a37cc52f <== wrong
00f739a9a344b20f <== correct
We need to write the correct PVID to hdisk3. To do this, we need to convert the hex PVID into an octal one.
Write the binary version of the PVID to the disk by using the octal values. Each octal char is lead with a backslash-Zero "\0". Do not use spaces or any other characters except for the final \c to keep from issuing a hard return. I make the command to be:
# echo "\00
8+0 records in
8+0 records out
# lquerypv -h /dev/hdisk3 80 10
<correct PVID of 00f739a9a344b20f should be displayed>
# rmdev -dl hdisk3
# importvg -y datavg hdisk3
# lsvg -l datavg
Use the above info at your own risk. This is not something we do everyday.
Complete these tasks to configure disk devices for use with Oracle Automatic Storage Management (Oracle ASM).
- If necessary, install the disks that you intend to use for the disk group and restart the system.
- To ensure that the disks are available, enter the following command:
# /usr/sbin/lsdev -Cc disk
The output from this command is similar to the following:
hdisk0 Available 1A-09-00-8,0 16 Bit LVD SCSI Disk Drive hdisk1 Available 1A-09-00-9,0 16 Bit LVD SCSI Disk Drive hdisk2 Available 17-08-L SSA Logical Disk Drive
- If a disk is not listed as available, then configure the new disks:
- Enter the following command on any node to identify the device names for the physical disks that you want to use:
# /usr/sbin/lspv | grep -i none
This command displays information similar to the following for each disk that is not configured in a volume group:
hdisk2 0000078752249812 None
In this example,
hdisk2is the device name of the disk and
0000078752249812is the physical volume ID (PVID). The disks that you want to use may have a PVID, but they must not belong to a volume group.
- Enter commands similar to the following to clear the PVID from each disk device that you want to use:
# /usr/sbin/chdev -l hdiskn -a pv=clear
- Enter commands similar to the following to change the owner, group, and permissions on the character file for each disk that you want to add to the disk group:
# chown oracle:dba /dev/rhdiskn # chmod 660 /dev/rhdiskn
Note:If you are using a multi-pathing disk driver with Automatic Storage Management, then ensure that you set the permissions only on the correct logical device name for the disk.