Edit: Link no longer works.
Originally posted June 26, 2012 on AIXchange
Recently, a client of mine had a VIO server that was booting from a SAN. Many shops boot everything from SANs, in part to avoid the hassles of working with internal disks. The flip side is that booting from internal disks leaves available the capability to troubleshoot a system even if the SAN is down. If you boot from SAN and the SAN has an issue, the entire system is unavailable until the SAN is fixed. If you boot from internal disks, you can still login and point to the errors in your error log, even if your remaining LPARs are unusable because they boot from SAN (or at least get their data from the SAN).
In this case, the VIOS had been built on smaller-sized SAN LUNs, and my client decided that the operating system should be moved onto larger-sized internal SAS disks. To accomplish this, I opted to add the disks to rootvg and then run the mirrorios command to mirror rootvg onto the internal drives.
However, when I tried to run extendvg rootvg hdisk52, I got this error:
Unable to add at least one of the specified physical volumes to the
volume group. The maximum number of physical partitions (PPs) supported by the volume group must be increased. Use the lsvg command to display the current maximum number of physical partitions (MAX PPs per PV:) and chvg -factor to change the value.
*******************************************************************************
The command’s response was not recognized. This may or may not
indicate a problem.
*******************************************************************************
*******************************************************************************
The command’s response was not recognized. This may or may not
indicate a problem.
*******************************************************************************
extendvg: Unable to extend volume group.
Here’s the fix for this issue:
-factor
Changes the limit of the number of physical partitions per physical volume, specified by factor. factor should be between 1-16 for 32 disk volume groups and 1-64 for 128 disk volume groups.
If factor is not supplied, it is set to the lowest value such that the number of physical partitions in the volume group is less than factor x1016. If factor is specified, the maximum number of physical partitions per physical volume for the volume group changes to factor x1016.
I aimed low, first trying chvg –factor 2. When that didn’t work, I moved to chvg –factor 3. Bingo. That command was able to extend rootvg.
Once I was able to extendvg successfully, I ran mirrorios. That produces this prompt:
This command causes a reboot. Continue [y|n]?
I chose yes. While I could have run mirrorios with the –defer option, I prefer to do the reboot right away so I know everything works as expected once the mirror operation completes.
Then I reminded myself of something else. I ran mirrorios hdisk52 hdisk53, and of course it did its job of spreading the copies across both disks. After running unmirrorios hdisk52 and unmirrorios hdisk53 to clean that up, I ran mirrorios hdisk52. Once this completed, I was able to unmirror hdisk14 (my SAN LUN), then mirrorios hdisk53. This left me with what I wanted — copies of rootvg on my internal SAS disks, with the copy on my SAN LUN clear so I could remove it from rootvg.
What about your environment? Do you run VIOS on internal disks like my client, or do you boot from SAN?