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

hto*_*que 17 linux lvm

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

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

/dev/sda
    |-vg0-root ? mounted to /
    |-vg0-foo  ? mounted to /foo
    |-vg0-bar  ? mounted to /bar
Run Code Online (Sandbox Code Playgroud)

到:

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

/dev/sdb
    |-vg1-bar  ? mounted to /bar
Run Code Online (Sandbox Code Playgroud)

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

实现这一目标的好方法是什么(最好是在线,不需要为新磁盘创建新卷组)?

Arc*_*mar 26

一卷组解决方案:

 pvcreate /dev/sdb
 vgextend vg0 /dev/sdb
 pvmove -n /dev/vg0/bar /dev/sda /dev/sdb
Run Code Online (Sandbox Code Playgroud)

两个卷组解决方案:

 pvcreate /dev/sdb
 vgcreate vg1 /dev/sdb
 lvcreate -l100%FREE vg1
 mkfs -t ext4 /dev/vg1/lvol1
 mount /dev/vg1/lvol1 /mnt
Run Code Online (Sandbox Code Playgroud)

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

 cd /mnt ; ( cd /bat ; tar cf - * ) | tar xf -
 cd /
 umount /mnt
 mount /dev/vg1/lvol1 /bar
Run Code Online (Sandbox Code Playgroud)

在哪里

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

验证数据正常后,在新位置:

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

  • “pvmove”的实用性是使用单个 VG 而不是多个 VG 的一个很好的理由。 (2认同)
  • 如果需要的话,似乎可以使用“vgreduce”来删除旧卷(这不是针对特定问题,但询问有关移动所有卷的问题可能会被标记为重复) (2认同)