我刚刚读过“如何在Linux中将一个卷组的空间重新分配给另一个卷组?” 如何在Linux中将一个卷组中的空间重新分配给另一个卷组? 但我仍然困惑。
我inheritance了一个由16个磁盘超微机箱,一个3ware 9650 RAID卡和Centos 5构build的linux NASpipe理器.3ware板创build了三个2.73 TB的RAID单元。 自动雕刻到1.5TB,所以Centos可以看到六个物理卷。
这6个PV被安排在2个卷组中,其中一个VG(volgroup1)具有2.15TB的空闲空间。 我需要将这些空闲的2.15TB移动到另一个VG(volgroup2)然后,我需要在逻辑卷“mmedia0”上分配这些2.15TB的ext3分区,而不会中断任何其他LV /文件系统。
相关LVM命令的输出如下。
在此先感谢圭多
[root@lt-nas1 ~]# pvscan PV /dev/sdd1 VG volgroup2 lvm2 [1.50 TB / 0 free] PV /dev/sdf1 VG volgroup2 lvm2 [1.50 TB / 0 free] PV /dev/sdg1 VG volgroup2 lvm2 [1.23 TB / 0 free] PV /dev/sdb1 VG volgroup1 lvm2 [1.50 TB / 1.00 TB free] PV /dev/sdc1 VG volgroup1 lvm2 [1.22 TB / 24.00 GB free] PV /dev/sde1 VG volgroup1 lvm2 [1.23 TB / 1.12 TB free] Total: 6 [8.18 TB] / in use: 6 [8.18 TB] / in no VG: 0 [0 ] [root@lt-nas1 ~]# vgs VG #PV #LV #SN Attr VSize VFree volgroup1 3 5 0 wz--n- 3.95T 2.15T volgroup2 3 3 0 wz--n- 4.23T 0 [root@lt-nas1 ~]# lvs LV VG Attr LSize Origin Snap% Move Log Copy% Convert cli-bak volgroup1 -wi-ao 515.88G fatt-dig volgroup1 -wi-ao 10.00G fil-ut volgroup1 -wi-ao 220.00G homes volgroup1 -wi-ao 100.00G serv-bak volgroup1 -wi-ao 1000.00G esxp-bak volgroup2 -wi-ao 3.73T lt-services volgroup2 -wi-ao 10.00G mmedia0 volgroup2 -wi-ao 501.97G [root@lt-nas1 ~]# pvdisplay -m --- Physical volume --- PV Name /dev/sdd1 VG Name volgroup2 PV Size 1.50 TB / not usable 31.88 MB Allocatable yes (but full) PE Size (KByte) 32768 Total PE 49151 Free PE 0 Allocated PE 49151 PV UUID dj86xG-bVvy-e2KS-dxCb-oDTB-vqfB-oIFEFn --- Physical Segments --- Physical extent 0 to 32767: Logical volume /dev/volgroup2/esxp-bak Logical extents 89404 to 122171 Physical extent 32768 to 33087: Logical volume /dev/volgroup2/lt-services Logical extents 0 to 319 Physical extent 33088 to 49150: Logical volume /dev/volgroup2/mmedia0 Logical extents 0 to 16062 --- Physical volume --- PV Name /dev/sdf1 VG Name volgroup2 PV Size 1.50 TB / not usable 29.98 MB Allocatable yes (but full) PE Size (KByte) 32768 Total PE 49151 Free PE 0 Allocated PE 49151 PV UUID VzrYLh-qzGP-JlfN-WtUn-39Li-mq4Z-M4AlkY --- Physical Segments --- Physical extent 0 to 49150: Logical volume /dev/volgroup2/esxp-bak Logical extents 0 to 49150 --- Physical volume --- PV Name /dev/sdg1 VG Name volgroup2 PV Size 1.23 TB / not usable 27.98 MB Allocatable yes (but full) PE Size (KByte) 32768 Total PE 40253 Free PE 0 Allocated PE 40253 PV UUID w2AczV-NUC1-K6xj-Qom6-NsNb-0mXk-o9a63M --- Physical Segments --- Physical extent 0 to 40252: Logical volume /dev/volgroup2/esxp-bak Logical extents 49151 to 89403 --- Physical volume --- PV Name /dev/sdb1 VG Name volgroup1 PV Size 1.50 TB / not usable 31.88 MB Allocatable yes PE Size (KByte) 32768 Total PE 49151 Free PE 32832 Allocated PE 16319 PV UUID Kilk0G-0qxl-ft2w-8iU7-abaa-u1n2-d9EHiO --- Physical Segments --- Physical extent 0 to 32767: FREE Physical extent 32768 to 39167: Logical volume /dev/volgroup1/fil-ut Logical extents 0 to 6399 Physical extent 39168 to 39231: FREE Physical extent 39232 to 39871: Logical volume /dev/volgroup1/fil-ut Logical extents 6400 to 7039 Physical extent 39872 to 49150: Logical volume /dev/volgroup1/cli-bak Logical extents 0 to 9278 --- Physical volume --- PV Name /dev/sdc1 VG Name volgroup1 PV Size 1.22 TB / not usable 16.80 MB Allocatable yes PE Size (KByte) 32768 Total PE 39997 Free PE 768 Allocated PE 39229 PV UUID EAtHL7-wraU-DdRP-d9Fq-xdrU-Wyf0-8PlCqj --- Physical Segments --- Physical extent 0 to 31999: Logical volume /dev/volgroup1/serv-bak Logical extents 0 to 31999 Physical extent 32000 to 32767: FREE Physical extent 32768 to 39996: Logical volume /dev/volgroup1/cli-bak Logical extents 9279 to 16507 --- Physical volume --- PV Name /dev/sde1 VG Name volgroup1 PV Size 1.23 TB / not usable 14.18 MB Allocatable yes PE Size (KByte) 32768 Total PE 40253 Free PE 36733 Allocated PE 3520 PV UUID I1RUAu-P8Sw-waPF-b8u1-0szV-lR9D-hY1DvA --- Physical Segments --- Physical extent 0 to 32767: FREE Physical extent 32768 to 33087: Logical volume /dev/volgroup1/fatt-dig Logical extents 0 to 319 Physical extent 33088 to 33887: FREE Physical extent 33888 to 37087: Logical volume /dev/volgroup1/homes Logical extents 0 to 3199 Physical extent 37088 to 40252: FREE
由于您只能将整个PV从一个VG移动到另一个VG,因此无法将一个VG的所有可用空间移动到另一个VG。 但是你可以在那里得到一部分:
首先,将您的某个PV上的所有数据移至其他PV:
pvmove -v /dev/sdb1
这将开始移动数据到其他PVs,远离sdb1。 -v选项也将确保您看到一些进度信息。 移动完成后,您可以将其从卷组中删除:
vgreduce -a
这将报告removing /dev/sdb1 from volgroup1 (抱歉,这是一段时间,我没有一台机器来testing)。 然后你可以添加到其他VG:
vgextend volgroup2 /dev/sdb1
之后, volgroup2应该在sdb1上添加空间。
你可以用sde1重复这个操作; 取决于volgroup1在第一次移动后留下的可用空间量(我懒得进行必要的计算;-)。 我还build议将所有数据移动到一个卷组中; 但是,这样做需要你在volgroup2中创build一个新的LV,在它上面创build一个文件系统,挂载它,使用rsync或者类似的方式移动date,然后销毁旧的LV。 显然,这是一个更危险的操作。