将逻辑卷移动到新的物理磁盘


14

我在使用单个物理卷(整个现有磁盘/ dev / sda)的单个卷组中有三个逻辑卷。

我现在想将这些逻辑卷之一移动到新的更快的磁盘上,即从:

/dev/sda
    |-vg0-root → mounted to /
    |-vg0-foo  → mounted to /foo
    |-vg0-bar  → mounted to /bar

至:

/dev/sda
    |-vg0-root → mounted to /
    |-vg0-foo →  mounted to /foo

/dev/sdb
    |-vg1-bar  → mounted to /bar

据我了解,我无法使用,pvmove或者vgsplit因为现有卷组中只有一个物理卷。

有什么好的方法可以做到这一点(最好是联机,不需要为新磁盘创建新的卷组)?


我确实检查了许多类似的问题,但据我了解,这些问题并未描述我的情况。额外的问题:将整个磁盘用作物理卷本身不是一个好主意吗?在我看来,这个决定使解决方案更加困难。
htorque

2
您是否有任何特定原因不想将新的物理磁盘作为物理卷添加到现有卷组中?
Ulrich Schwarz

一点也不。如果使事情变得容易,新磁盘也可以成为vg0的一部分。
htorque

Answers:


21

一个卷组解决方案:

 pvcreate /dev/sdb
 vgextend vg0 /dev/sdb
 pvmove -n /dev/vg0/bar /dev/sda /dev/sdb

二卷组解决方案:

 pvcreate /dev/sdb
 vgcreate vg1 /dev/sdb
 lvcreate -l100%FREE vg1
 mkfs -t ext4 /dev/vg1/lvol1
 mount /dev/vg1/lvol1 /mnt

现在是困难的部分,所有活动都必须停止/bar

 cd /mnt ; ( cd /bat ; tar cf - * ) | tar xf -
 cd /
 umount /mnt
 mount /dev/vg1/lvol1 /bar

哪里

  • pvcreate 擦除磁盘上的所有数据(并准备使用LVM)
  • lvcreate 创建一个逻辑卷lvol1,您用以下命令指定lv名称 -n bar
  • 我对lv使用HP-UX语法,您可能必须使用/dev/mapper/myvg-mylv语法

验证数据确定后,在新位置:

  • 您可以安全删除旧的 /bar
  • 编辑/etc/fstab以使用新/bar

哇,看来我完全误读了pvmove手册页。在那种情况下,我显然会选择一个卷组解决方案。:)
htorque 2015年

实际上,vgsplit以后可以使用它pvmove来轻松实现两个卷组解决方案(但是,仍然需要使用来停用逻辑卷lvchange)。
htorque

1
“ pvmove”的有用性是使用单个VG而不是多个VG的一个很好的理由。
tgharold

1
vgreduce如果这是必需的话,那么似乎可以用来删除旧卷(不是针对特定问题的,但是有关移动所有卷的问题很可能被标记为重复)
Gert van den Berg

我目前的经验是,在单个vg解决方案中,pvmove需要一个-n标志来指定逻辑卷。或显示Physical volume /dev/vg0/bar not found Run `pvmove --help' for more information.错误消息。手册页也是如此。我可以把它插入帖子吗?
peterh-恢复莫妮卡
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.