您能否在 LVM 中创建一个卷组,在该卷组下创建的所有逻辑卷都将进行精简配置?

您能否在 LVM 中创建一个卷组,在该卷组下创建的所有逻辑卷都将进行精简配置?

我想知道是否可以在 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

相关内容