Remove disk from volumegroup in AIX
Article Number: 545 | Rating: 5/5 from 1 votes | Last Updated: Tue, Apr 16, 2019 5:44 PM
Sometimes in a migration project you need to temporary add extra disks to volume group. As a storage admin you like get
the disks back when your colleagues are finished migrating the application. I tried to create a clear procedure to get this done.
Used commands:
- df
- lspv
- chfs
- cfgmgr
- vgextend
- migratepv
- reducevg
- rmdev
the disks back when your colleagues are finished migrating the application. I tried to create a clear procedure to get this done.
Used commands:
- df
- lspv
- chfs
- cfgmgr
- vgextend
- migratepv
- reducevg
- rmdev
In this example we have a "vgexports" volumegroup which is 2TB and you only use 17%. You like to reduce the size to 600GB. First
you need to create the new disks on your storage system and map the host to the volumes. We create 3 disks of 200GB to create the
wanted 600GB. It is best practice to create multiple physical volumes in a volume group to be more flexible with in- and decreasing
a volume group.
root@lpar001:~\:>df -g |grep exports
Filesystem GB blocks Free %Used Iused %Iused Mounted on
/dev/exportsfs 2000.00 1660.30 17% 2730 1% /exports
In this case we have 2 disks of 1TB in this volume group.
root@lpar001:~\:>lspv |grep vgexports
hdisk0 00f90383de4344a5 vgexports active
hdisk1 00f90383e758cfcb vgexports active
We want to remove these disks and replace them for 3 200GB disks to reduce the filesystem with 1.4TB.
First we kan reduce the filesystemsize to 600GB with the command chfs. This can take a while, depending on the size of the filesystem.
root@lpar001:~\:>chfs -a size=600G /dev/exportsfs
Filesystem size changed to 1258291200
root@lpar001:~\:>df -g |grep exports
Filesystem GB blocks Free %Used Iused %Iused Mounted on
/dev/exportsfs 600.00 260.51 57% 2730 1% /exports
Before we can remove the disks, we need to add additional smaller disks to which which we can migrate the partitions to. After you created and mapped the physical disks to this lpar from your storage device, you have to detect them with the cfgmgr command.
root@lpar001:~\:>cfgmgr
(no output)
If the disks are recognized, you should "see" them with the lspv command.
root@lpdd002:~\:>lspv
hdisk0 00f90383cdb8533f rootvg active
hdisk1 00f90383de4344a5 vgexports active
hdisk2 00f90383e758cfcb vgexports active
hdisk3 none None
hdisk4 none None
hdisk5 none None
The 3 new disks are shown with volumegroup "None". Now you have to add them to the volumegroup "vgexports". You can add them to the vgexports with the extendvg command.
extendvg vgexports hdisk3 hdisk4 hdisk5
After this the lspv shows this output.
root@lpar001:~\:>lspv | grep export
hdisk0 00f90383cdb8533f rootvg active
hdisk1 00f90383de4344a5 vgexports active
hdisk2 00f90383e758cfcb vgexports active
hdisk3 00fad72c95e94950 vgexports active
hdisk4 00fad72c95e976a5 vgexports active
hdisk5 00fad72c95e981ce vgexports active
So hdisk1 and hdisk2 are the 1TB disks and hdisk3, hdisk4 and hdisk5 are the 200GB disks.
Now we can empty the 1TB disks, which we like to remove from the volumegroup, with the command migratepv. This can take a while, depending on the size of the partitions.
root@lpar001:~\:>migratepv hdisk1 hdisk2
(no output)
After migration of the partitions, you should be able to remove the disks from the volume group with the reducevg command.
root@lpar001:~\:>reducevg vgexports hdisk1
root@lpar001:~\:>lspv
hdisk0 00f90383cdb8533f rootvg active
hdisk1 00f90383de4344a5 None
hdisk2 00f90383e758cfcb vgexports active
hdisk3 00fad72c95e94950 vgexports active
hdisk4 00fad72c95e976a5 vgexports active
hdisk5 00fad72c95e981ce vgexports active
Note. If you try to remove a disk which still has partitions after the migratepv procedure, you will receive an error message.
root@lpar001:~\:>reducevg vgexports hdisk2
0516-016 ldeletepv: Cannot delete physical volume with allocated
partitions. Use either migratepv to move the partitions or
reducevg with the -d option to delete the partitions.
0516-884 reducevg: Unable to remove physical volume hdisk3.
In this case you need to decrease the filesystem size again (a few GB should be enough).
after decreasing the filesystem, you need to use the migratepv command (migratepv hdisk2) again on this disk to migrate the leftover partition from this disk. When this is finished you will be able to use reducevg (reducevg vgexports hdisk2) to remove the last harddisk from the volume group.
If both disks are removed from the volume group, you can remove the disks from the OS with the rmdev command.
root@lpar001:~\:>rmdev -dRl hdisk1
hdisk1 deleted
root@lpar001:~\:>rmdev -dRl hdisk2
hdisk2 deleted
If the disks are removed from the OS, you can remove the disks from the storage device and you're done.
you need to create the new disks on your storage system and map the host to the volumes. We create 3 disks of 200GB to create the
wanted 600GB. It is best practice to create multiple physical volumes in a volume group to be more flexible with in- and decreasing
a volume group.
root@lpar001:~\:>df -g |grep exports
Filesystem GB blocks Free %Used Iused %Iused Mounted on
/dev/exportsfs 2000.00 1660.30 17% 2730 1% /exports
In this case we have 2 disks of 1TB in this volume group.
root@lpar001:~\:>lspv |grep vgexports
hdisk0 00f90383de4344a5 vgexports active
hdisk1 00f90383e758cfcb vgexports active
We want to remove these disks and replace them for 3 200GB disks to reduce the filesystem with 1.4TB.
First we kan reduce the filesystemsize to 600GB with the command chfs. This can take a while, depending on the size of the filesystem.
root@lpar001:~\:>chfs -a size=600G /dev/exportsfs
Filesystem size changed to 1258291200
root@lpar001:~\:>df -g |grep exports
Filesystem GB blocks Free %Used Iused %Iused Mounted on
/dev/exportsfs 600.00 260.51 57% 2730 1% /exports
Before we can remove the disks, we need to add additional smaller disks to which which we can migrate the partitions to. After you created and mapped the physical disks to this lpar from your storage device, you have to detect them with the cfgmgr command.
root@lpar001:~\:>cfgmgr
(no output)
If the disks are recognized, you should "see" them with the lspv command.
root@lpdd002:~\:>lspv
hdisk0 00f90383cdb8533f rootvg active
hdisk1 00f90383de4344a5 vgexports active
hdisk2 00f90383e758cfcb vgexports active
hdisk3 none None
hdisk4 none None
hdisk5 none None
The 3 new disks are shown with volumegroup "None". Now you have to add them to the volumegroup "vgexports". You can add them to the vgexports with the extendvg command.
extendvg vgexports hdisk3 hdisk4 hdisk5
After this the lspv shows this output.
root@lpar001:~\:>lspv | grep export
hdisk0 00f90383cdb8533f rootvg active
hdisk1 00f90383de4344a5 vgexports active
hdisk2 00f90383e758cfcb vgexports active
hdisk3 00fad72c95e94950 vgexports active
hdisk4 00fad72c95e976a5 vgexports active
hdisk5 00fad72c95e981ce vgexports active
So hdisk1 and hdisk2 are the 1TB disks and hdisk3, hdisk4 and hdisk5 are the 200GB disks.
Now we can empty the 1TB disks, which we like to remove from the volumegroup, with the command migratepv. This can take a while, depending on the size of the partitions.
root@lpar001:~\:>migratepv hdisk1 hdisk2
(no output)
After migration of the partitions, you should be able to remove the disks from the volume group with the reducevg command.
root@lpar001:~\:>reducevg vgexports hdisk1
root@lpar001:~\:>lspv
hdisk0 00f90383cdb8533f rootvg active
hdisk1 00f90383de4344a5 None
hdisk2 00f90383e758cfcb vgexports active
hdisk3 00fad72c95e94950 vgexports active
hdisk4 00fad72c95e976a5 vgexports active
hdisk5 00fad72c95e981ce vgexports active
Note. If you try to remove a disk which still has partitions after the migratepv procedure, you will receive an error message.
root@lpar001:~\:>reducevg vgexports hdisk2
0516-016 ldeletepv: Cannot delete physical volume with allocated
partitions. Use either migratepv to move the partitions or
reducevg with the -d option to delete the partitions.
0516-884 reducevg: Unable to remove physical volume hdisk3.
In this case you need to decrease the filesystem size again (a few GB should be enough).
after decreasing the filesystem, you need to use the migratepv command (migratepv hdisk2) again on this disk to migrate the leftover partition from this disk. When this is finished you will be able to use reducevg (reducevg vgexports hdisk2) to remove the last harddisk from the volume group.
If both disks are removed from the volume group, you can remove the disks from the OS with the rmdev command.
root@lpar001:~\:>rmdev -dRl hdisk1
hdisk1 deleted
root@lpar001:~\:>rmdev -dRl hdisk2
hdisk2 deleted
If the disks are removed from the OS, you can remove the disks from the storage device and you're done.