我目前在卷组(VG)上有几个逻辑卷(LV).此VG托管在单个物理卷(PV)上.我有一个备用驱动器,我可以用来随机播放数据.
我现在还有一个与我原来的光伏驱动器相匹配的新驱动器.我想移动现有的LV并最终在两个PV上划分LV.这可能吗?你怎么做呢?
解决方法
看来这不可能来自命令行.条带化与默认的线性分配方案完全不同.因此,虽然您可以跨多个物理卷(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上的文件系统的逻辑卷.
Reminder: you should really use at least a RAID-1 array because if a PV fails in a
linear
logical volume (LV
),you can loose all the data.
这不会使/ srv分区跨PV条带化.这是因为there are no userland tools to support linear
to striped
conversions.逻辑上,这将在lvconvert命令中,但是它仅支持从线性模式转换为镜像模式,例如.随着所有新开发进入BTRFS,如果有记录,我会感到惊讶.
但是,您可以做的一件事是将驱动器上的新数据条带化.这是相当棘手的,但它可以做到.让我们假设我们想条纹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,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
但原始数据仍处于线性模式.可以将文件系统移动到条带范围,但此时要考虑对读者进行练习.