在一个僵化的尝试将我的根分区从一个磁盘移动到另一个我做了以下几点:
初始化一个物理卷
$ pvcreate /dev/sdb3 Physical volume "/dev/sdb3" successfully created
扩展卷组以包含这个新的物理磁盘
$ vgextend myvg /dev/sdb3 Volume group "myvg" successfully extended
扩展了逻辑卷(我认为这是我把它弄明白的地方:我想我应该把这些东西放到那个组里的新版本 – 有人可以证实吗?)
$ lvextend /dev/mapper/myvg-root /dev/sdb3
现在我想撤消这个虚拟主机,然后继续把原来的物理卷的内容移动到新的物理卷上。 我可以减less逻辑卷(我还没有触及位于/ dev / mapper / myvg-root中的类似resizefs的ext4分区),而不用担心损坏ext4文件系统吗? 如果是这样,我怎么告诉它减less恰到好处的量?
$ lvreduce --by-exactly-the-amount-occupied-by-PV /ev/sdb3 /dev/mapper/myvg-root
总而言之,目前在位于由两个物理卷(其中之一是新添加的sdb3)组成的卷组(myvg)中的逻辑卷(myvg-root)内有一个ext4文件系统(root)。
您可以使用lvdisplay检查逻辑盘区到物理盘区的映射
$ lvdisplay -m --- Logical volume --- LV Name /dev/myvg/root VG Name pfeifer LV UUID 2LeFq8-zz3y-Y62m-931D-mD3m-XmK1-6Zp3Ir LV Write Access read/write LV Status available # open 1 LV Size 3.62 TiB Current LE 947851 Segments 2 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 251:0 --- Segments --- Logical extent 0 to 470980: Type linear Physical volume /dev/sda3 Physical extents 0 to 470980 Logical extent 470981 to 947850: Type linear Physical volume /dev/sdb3 Physical extents 0 to 476869
你可以简单地用lvreduce减小这个逻辑卷的大小
$ lvreduce -l -476870 /dev/myvg/root WARNING: Reducing active and open logical volume to 1.80 TiB THIS MAY DESTROY YOUR DATA (filesystem etc.) Do you really want to reduce root? [y/n]: y Reducing logical volume root to 1.80 TiB Logical volume root successfully resized
请注意,sdb3上的逻辑盘区数量减less的数量是476869 + 1(从0开始计数!)。 而已。 现在快速检查似乎证实了原来的世界秩序:
--- Segments --- Logical extent 0 to 470980: Type linear Physical volume /dev/sda3 Physical extents 0 to 470980
现在一个缓慢而单调的pvmove命令应该允许数据的移动:
nohup pvmove -n /dev/myvg/root /dev/sda3 /dev/sdb3 &