我想知道是否可以在 LVM 中创建一个卷组,在该卷组下创建的所有逻辑卷都将进行精简配置?
这将在 RHEL 6 上使用,其中包括 LVM 中的精简配置。
我也对替代方案持开放态度。
答案1
我认为现在的答案是“有点不是”。我已经在 Ubuntu 14.04 上使用此功能几天了,似乎 Thinpool 功能已作为一种逻辑卷添加,而不是在卷组级别,这在我看来是一个奇怪的抽象破坏(可能有原因,这里不推测)。无论如何,您可以创建一个几乎占据整个卷组的 Thinpool(如果您将其设置为完全相同的大小,则 lvcreate 会抱怨),然后为命令添加别名或编写一个脚本,使用预先填充的 Thinpool 名称来调用 lvcreate,然后您将基本上都有你想要的。
答案2
是的,您可以创建用于精简配置的卷组。以下是详细步骤,复制自这里:
# pvcreate /dev/sdd Writing physical volume data to disk "/dev/sdd" Physical volume "/dev/sdd" successfully created
我现在可以看到我有一个新的物理卷。
# pvdisplay "/dev/sdd" is a new physical volume of "1.36 TiB" --- NEW Physical volume --- PV Name /dev/sdd VG Name PV Size 1.36 TiB Allocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID Ndb90e-xkJX-Lagt-VePO-ZNLQ-udVn-SN65et
接下来我们需要创建一个卷组。
# vgcreate vg_1 /dev/sdd Volume group "vg_1" successfully created
现在我们已经有了物理卷和卷组,让我们添加一些逻辑卷。首先,我们要添加一个逻辑卷池来在其中保存精简配置的卷。
# lvcreate --size 10G --type thin-pool --thinpool thin_pool vg_1 Rounding up size to full physical extent 4.00 MiB Logical volume
创建“thin_pool”
我为此测试创建了一个 10GB 池。
# lvs LV VG Attr LSize Pool Origin Data% Move Log Copy% Convert thin_pool vg_1 twi-a-tz 10.00g 0.00
现在我们可以添加精简卷本身,即 Thin_pool 中的 4GB 逻辑卷。
# lvcreate -V4G -T vg_1/thin_pool --name lv1 Logical volume "lvl"
已创建
现在我们已经创建了所有内容,让我们看看我们拥有什么。
# lvs LV VG Attr LSize Pool Origin Data% Move Log Copy% Convert lv1 vg_1 Vwi-a-tz 4.00g thin_pool 0.00 thin_pool vg_1 twi-a-tz
10.00克 0.00
调用 lvs 时可以看到,到目前为止 lv 已经被占用了 0%。
接下来让我们格式化新的逻辑卷并安装它。
# mkfs.ext4 /dev/vg_1/lv1 # mount /dev/vg_1/lv1 /mnt
通过 df 我们可以看到有 4GB 可用。
# df -h ... /dev/mapper/vg_1-lv1 4.0G 136M 3.7G 4% /mnt
我们使用的空间来自文件系统,我们可以通过 lvs 看到原始数据正在填满。
# lvs LV VG Attr LSize Pool Origin Data% Move Log Copy% Convert lv1 vg_1 Vwi-aotz 4.00g thin_pool 4.73 thin_pool vg_1 twi-a-tz
10.00克 1.89
将 iso 映像复制到我们的 Thin lv 中,我们可以看到它进一步扩展。
# cp /home/sean/Downloads/ubuntu-12.10-beta2-server-amd64.iso /mnt # lvs LV VG Attr LSize Pool Origin Data% Move Log Copy% Convert lv1 vg_1 Vwi-aotz 4.00g thin_pool 7.73 thin_pool vg_1 twi-a-tz
10.00g 6.37 # df -h .... /dev/mapper/vg_1-lv1 4.0G 827M 3.0G 22% /mnt
最后,查看我们的精简池,您还可以看到精简 lv 在池内占用的空间。
# lvdisplay --- Logical volume --- LV Name thin_pool VG Name vg_1 LV UUID kD3VC1-FBNj-wHER-iFhE-NjES-GDoS-sFCnwF LV Write Access read/write LV Creation host, time fedora, 2012-10-11 21:43:51 -0700 LV Pool transaction ID 1 LV Pool metadata thin_pool_tmeta LV Pool data thin_pool_tdata LV Pool chunk size 64.00 KiB LV Zero new blocks yes LV Status available # open 0 LV Size 10.00 GiB Allocated pool data 8.64% Allocated metadata 4.30% Current LE 2560 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:4 --- Logical volume --- LV Path /dev/vg_1/lv1 LV Name lv1 VG Name vg_1 LV UUID b7FLSq-dMTi-mEbl-vZxq-Ocol-9Y2o-AEBhgL LV Write Access read/write LV Creation host, time fedora, 2012-10-11 21:44:11 -0700 LV Pool name thin_pool LV Status available # open 1 LV Size 4.00 GiB Mapped size 21.60% Current LE 1024 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:5