将非条纹LVM LV更改为条纹LV

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

我现在也有一个新的驱动器,它匹配我原来的光伏驱动器。 我想移动现有的LV,并最终将LV分成两个PV。 这可能吗? 你怎么做呢?

从命令行看来这是不可能的。 striping与默认的linear分配scheme完全不同。 因此,尽pipe可以在多个物理卷( 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-1arrays顶部的encryption卷,但可以是任何设备。 crypto是卷组( VG ), crypto-srv是挂载在/srv上的文件系统的逻辑卷。

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

不会使/srv分区跨越PV。 这是因为没有用户级工具来支持linear转换 。 从逻辑上讲,这将在lvconvert命令中,但只支持从linear模式转换到mirror模式并返回。 而随着所有新的发展进入BTRFS ,我会感到惊讶,如果这有logging。

但是有一件事情可以做,就是将驱动器上的数据分条。 这相当棘手,但可以做到。 假设我们想要对crypto-tmp/tmp的LV进行分条。 我们首先需要释放第一个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模式。 有可能文件系统移动到条带化的范围,但在这一点上考虑到读者的一个练习。 🙂

另请参阅使用条带化和Redhat LVM更改条 带生长LVM卷 ? 。

另外请注意,反转(转换striped linear )是可能的,但是: 是否有可能将条带逻辑卷转换为线性逻辑卷? 。