将非条带化 LVM LV 更改为条带化 LV

将非条带化 LVM LV 更改为条带化 LV

我目前在一个卷组 (VG) 上有几个逻辑卷 (LV)。此 VG 托管在单个物理卷 (PV) 上。我有一个备用驱动器,可以用来移动数据。

我现在还有一个与我原来的 PV 驱动器匹配的新驱动器。我想移动现有的 LV,最终将 LV 分布在两个 PV 上。这可能吗?您如何做到?

答案1

似乎从命令行无法实现这一点。striping与默认分配方案截然不同linear。因此,虽然您可以跨多个物理卷 () 扩展文件系统PV,但无法获得条带化的“负载平衡”优势。

要扩大文件系统,你可以执行以下操作:

pvcreate /dev/mapper/md2_crypt
vgextend crypto /dev/mapper/md2_crypt
umount /dev/mapper/crypto-srv
fsck.ext4 -C0 -f /dev/mapper/crypto-srv
lvresize -l +100%FREE /dev/mapper/crypto-srv
resize2fs /dev/mapper/crypto-srv
mount /srv

在上面的例子中,md2_crypt是 RAID-1 阵列顶部的加密卷,但它可以是任何设备。crypto是卷组(VG)并且crypto-srv是保存挂载的文件系统的逻辑卷/srv

提醒:您确实应该至少使用 RAID-1 阵列,因为如果linear逻辑卷 ( LV) 中的 PV 出现故障,您可能会丢失所有数据。

这会不是使/srv分区跨 PV 条带化。这是因为没有用户空间工具来linear支持striped转换。从逻辑上讲,这应该在lvconvert命令中,但该命令仅支持从模式切换linearmirror模式并返回。随着所有新开发进入北卡罗莱纳州,如果有记录的话我会感到惊讶。

有一件事你然而,新的驱动器上的数据将被条带化。这相当棘手,但可以做到。假设我们要条带化crypto-tmp,即 的 LV /tmp。我们首先需要在第一个 PV 中释放用于条带的空间:

pvmove -n crypto/tmp /dev/mapper/md1_crypt

这将在 PV 之间重新分配 LV,在我的例子中,它将其全部移动到第二个 PV:

root@foo:~# pvs --segments -o+lv_name,seg_start_pe,segtype
  PV                    VG     Fmt  Attr PSize PFree  Start SSize  LV   Start Type
  /dev/mapper/md1_crypt crypto lvm2 a--  2.73t 10.00g     0   2384 root     0 linear
  /dev/mapper/md1_crypt crypto lvm2 a--  2.73t 10.00g  2384    256 swap     0 linear
  /dev/mapper/md1_crypt crypto lvm2 a--  2.73t 10.00g  2640   2560          0 free
  /dev/mapper/md1_crypt crypto lvm2 a--  2.73t 10.00g  5200 709901 srv      0 linear
  /dev/mapper/md2_crypt crypto lvm2 a--  1.82t  1.81t     0   2560 tmp      0 linear
  /dev/mapper/md2_crypt crypto lvm2 a--  1.82t  1.81t  2560 474077          0 free

现在你可以扩大文件系统(比如说我们将其大小增加一倍)并告诉 LVM 对新数据进行条带化:

root@foo:~# lvresize -i 2 -l 5120 /dev/crypto/tmp
  Using default stripesize 64.00 KiB
  Extending logical volume tmp to 20.00 GiB
  Logical volume tmp successfully resized

现在,新数据/tmp已分布在两个 PV 中:

root@foo:~# pvs --segments -o+lv_name,seg_start_pe,segtype
  PV                    VG     Fmt  Attr PSize PFree Start SSize  LV   Start Type
  /dev/mapper/md1_crypt crypto lvm2 a--  2.73t 5.00g     0   2384 root     0 linear
  /dev/mapper/md1_crypt crypto lvm2 a--  2.73t 5.00g  2384    256 swap     0 linear
  /dev/mapper/md1_crypt crypto lvm2 a--  2.73t 5.00g  2640   1280 tmp   2560 striped
  /dev/mapper/md1_crypt crypto lvm2 a--  2.73t 5.00g  3920   1280          0 free
  /dev/mapper/md1_crypt crypto lvm2 a--  2.73t 5.00g  5200 709901 srv      0 linear
  /dev/mapper/md2_crypt crypto lvm2 a--  1.82t 1.80t     0   2560 tmp      0 linear
  /dev/mapper/md2_crypt crypto lvm2 a--  1.82t 1.80t  2560   1280 tmp   2560 striped
  /dev/mapper/md2_crypt crypto lvm2 a--  1.82t 1.80t  3840 472797          0 free

但原始数据仍处于linear模式中。移动文件系统到条带化范围,但此时请将其视为读者的练习。:)

也可以看看使用条带化增加 LVM 卷Redhat LVM 改变条带?

但还请注意,反向操作(转换stripedlinear)也是可能的:是否可以将条带逻辑卷转换为线性逻辑卷?

相关内容