我目前在一个卷组 (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
命令中,但该命令仅支持从模式切换linear
到mirror
模式并返回。随着所有新开发进入北卡罗莱纳州,如果有记录的话我会感到惊讶。
有一件事你能然而,新的驱动器上的数据将被条带化。这相当棘手,但可以做到。假设我们要条带化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 改变条带?。
但还请注意,反向操作(转换striped
为linear
)也是可能的:是否可以将条带逻辑卷转换为线性逻辑卷?。