Linux|系统管理|WEB开发

关注Linux,系统管理,WEB开发以及开源世界

缩小逻辑卷中PV物理分区大小的一个例子

| Comments

我把硬盘上超过80%的空间都给了LVM,之后我需要从LVM中划出一个空间出来用作基本文件系统,上面的数据非常多,而且我也没有地方可以挪,之前的思路一直都是把重要数据挪走,然后重新分区,然后把数据拷贝回来。

今天早晨,突然想起PV是不是也有修改分区大小的功能呢,果然如此,pvresize即使我需要的命令。为了安全起见,我备份了与分区和LVM相关的一些信息,比如MBR,比如sfdisk的的信息,比如PV,VG,LV的信息。

卸载所有lv的分区,开始冒险之旅。

之前我的pv是50多GB

PV /dev/sda6 VG vgdata lvm2 [52.75.00 GB / 23.00 GB free] Total: 1
[52.75.00 GB] / in use: 1 [52.75.00 GB] / in no VG: 0 [0 ] 

我大概用了32GB的样子,/dev/sda6是50多GB,我打算从这里划出7,8GB的空间出来。

首先使用-t参数测试了一下pvresize

# pvresize -t –setphysicalvolumesize 45G -v /dev/sda6
Test mode: Metadata will NOT be updated.
Using physical volume(s) on command line
Test mode: Skipping archiving of volume group.
/dev/sda6: Pretending size is 73400320 not 94371456 sectors.
Resizing physical volume /dev/sda6 from 11519 to 8959 extents.
Resizing volume “/dev/sda6″ to 73399936 sectors.
Updating physical volume “/dev/sda6″
Test mode: Skipping volume group backup.
Physical volume “/dev/sda6″ changed
1 physical volume(s) resized / 0 physical volume(s) not resized
Test mode: Wiping internal cache
Wiping internal VG cache

从输出结果来看,一切正常(本来把输出结果贴到文本编辑器了,结果重启的时候,忘记保存了,因此这里不能输出当时真实的信息了。)

于是拿掉-t参数,执行上的命令

# pvresize -t –setphysicalvolumesize 35G /dev/sda6
Test mode: Metadata will NOT be updated.
Physical volume “/dev/sda6″ changed
1 physical volume(s) resized / 0 physical volume(s) not resized
# pvscan
PV /dev/sda6 VG vgdata lvm2 [45.00 GB / 13.00 GB free]
Total: 1 [45.00 GB] / in use: 1 [45.00 GB] / in no VG: 0 [0 ]

接着查看vg的信息,lv的信息,一切都正常,挂在了所有的LV也都正常。

到目前位置PV的修改是正常的。

接下来就是修改分区了。

使用fdisk命令,首先删除了/dev/sda6,然后再重建sda6,询问大小的时候,我填写的是+45G,以保证不会小于PV的大小。 做完这个操作后,我还打算要重建PV和VG的,没有想到,执行pvscan后,PV的信息并没有丢失,VG,LV的信息也都存在,而且所有的LV挂载都正常。

恩,比我想象中的要顺利很多。

为了确认一些都是正常的,我重启了机器,看起来一切顺利。

比修改ext3/ext3分区的大小看来要来的容易一些。

Comments