我目前在卷组(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
)是可能的,但是: 是否有可能将条带逻辑卷转换为线性逻辑卷? 。