我们正在将安装从带有 LVM 的 mdadm raid 移动到纯 LVM,因此我们将原始 raid 分区作为独立分区添加到 LVM 组中,例如:
lvcreate -L 240G -n thin pve /dev/nvme0n1p2
Logical volume "thin" created.
然后我们在另一个磁盘/分区上为其添加一个镜像
lvconvert –type raid1 –mirrors 1 pve/thing /dev/nvme1n1p2
Logical volume pve/thin successfully converted.
当我们为 LXC 使用精简池存储系统时,我们假设我们可以将其转换为精简池 lvconvert --type Thin-pool pve/thin 将 pve/thin 转换为精简池。
一切似乎都有效,但问题是我们不确定最后一次转换会影响前一次转换。原因是当我们用 lvs 列出时,我们得到:
thin pve twi-a-tz-- 240,00g 0,00 10,42
属性 1 a 7 显示这是一个精简池,但没有提及 raid1 或同步中的值。
虽然 lvs -a -o +devices 确实显示它在两个分区上被镜像:
[thin_tdata] pve rwi-aor--- 240,00g 24,17 thin_tdata_rimage_0(0),thin_tdata_rimage_1(0)
[thin_tdata_rimage_0] pve iwi-aor--- 240,00g /dev/nvme0n1p2(67074)
[thin_tdata_rimage_1] pve Iwi-aor--- 240,00g /dev/nvme1n1p2(67075)
[thin_tdata_rmeta_0] pve ewi-aor--- 4,00m /dev/nvme0n1p2(128514)
[thin_tdata_rmeta_1] pve ewi-aor--- 4,00m /dev/nvme1n1p2(67074)
[thin_tmeta] pve ewi-ao---- 120,00m /dev/sdd2(0)
因此,现在的疑问是,raid 是否在“瘦池”的“后面”仍在工作,或者只是已分配但现在未使用。创建精简池并将其转换为 --raid1 类型会返回错误。
我们还没有找到任何关于这种情况的文档,在这种情况下,我们完全不知道如何监控 lvm-raid 状态,因为我们计划通过返回“r”类型的 lvs 来监控驱动器状态。
是的,可以使用带有 RAID 1 的精简池,并且您的设置几乎是正确的。问题在于元数据不是 RAID 1,而是线性的,因此在丢失一个驱动器后,您的精简池将被破坏。您需要为元数据创建一个单独的 RAID 1 LV,然后--poolmetadata <vg>/<metadata lv>
在使用lvconvert
.
有关更多详细信息,请参阅lvmthin 联机帮助页部分使用 raid 容忍设备故障。
手册页中的示例:
# lvcreate --type raid1 -m 1 -n pool0 -L 10G vg /dev/sdA /dev/sdB
# lvcreate --type raid1 -m 1 -n pool0meta -L 1G vg /dev/sdC /dev/sdD
# lvconvert --type thin-pool --poolmetadata vg/pool0meta vg/pool0
lvs -a
使用此设置的输出:
$ sudo lvs raid_test -a
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
[lvol0_pmspare] raid_test ewi------- 12,00m
pool0 raid_test twi-a-tz-- 100,00m 0,00 10,29
[pool0_tdata] raid_test rwi-aor--- 100,00m 100,00
[pool0_tdata_rimage_0] raid_test iwi-aor--- 100,00m
[pool0_tdata_rimage_1] raid_test iwi-aor--- 100,00m
[pool0_tdata_rmeta_0] raid_test ewi-aor--- 4,00m
[pool0_tdata_rmeta_1] raid_test ewi-aor--- 4,00m
[pool0_tmeta] raid_test ewi-aor--- 12,00m 100,00
[pool0_tmeta_rimage_0] raid_test iwi-aor--- 12,00m
[pool0_tmeta_rimage_1] raid_test iwi-aor--- 12,00m
[pool0_tmeta_rmeta_0] raid_test ewi-aor--- 4,00m
[pool0_tmeta_rmeta_1] raid_test ewi-aor--- 4,00m
有问题的lvs
属性的输出是只有第一位是用来指定LV的类型,它看起来像两个(r)aid
和(t)hin pool
精简池胜你只能t
在那里。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句