rmeta 和 rimage 在不同大小磁盘上的分布

rmeta 和 rimage 在不同大小磁盘上的分布

假设我有以下配置:

  • 2 个 8GB 磁盘(sdbsdc
  • 1 个 16GB 磁盘 ( sdd)
  • 每个磁盘完全映射到 lvm pv
  • 每个 pv 都添加到单个 vg(“mygroup”)
  • 从“mygroup”(“myvolume”)创建 12GB 镜像 lv

数据布局的最终​​结果如下:

sdb
├─mygroup-myvolume_rmeta_1
│ └─mygroup-myvolume
└─mygroup-myvolume_rimage_1
  └─mygroup-myvolume
sdc
└─mygroup-myvolume_rimage_0
  └─mygroup-myvolume
sdd
├─mygroup-myvolume_rmeta_0
│ └─mygroup-myvolume
├─mygroup-myvolume_rimage_0
│ └─mygroup-myvolume
└─mygroup-myvolume_rimage_1
  └─mygroup-myvolume

对于我来说,这种布局毫无意义。

具体来说,它似乎没有达到拥有镜像卷的目的*。例如,假设我丢失了sdd。在这种情况下,我丢失了rimage_1,因为它的一部分在sdd。此外,我还丢失了rimage_0,因为它的一部分也在sdd。所以我想我的问题是,这种布局是否真的实现了镜像卷的目的

* 我认为拥有(单个)镜像卷的目的是能够在丢失任何数据的情况下继续正常运行磁盘。在这种情况下,如果我丢失了,我就会失去一切sdd。如果我的观察有误,请纠正我。

这是我期望的布局:

  • rimage_1rmeta_1分割在sdb和之间sdc
  • rimage_0rmeta_0完全包含在sdd

这样,如果我丢失了任何磁盘,我仍然会保留数据以继续操作。

另一方面,一般建议不是以这种方式使用不同大小的磁盘?

以下是用于创建设置的具体命令:

pvcreate /dev/sd[bcd]
vgcreate mygroup /dev/sd[bcd]
lvcreate mygroup --name myvolume \
                 --mirrors 1 \
                 --regionsize 4M \
                 --size 12G

编辑:我再次尝试了此操作,但在执行时指定了 pv lvcreate。似乎如果我执行了/dev/[dbc],则分布就是预期/期望的结果。但是,如果我执行了/dev/[bcd],则分布与未指定时相同(即意外/不期望的结果)。

答案1

看起来这是一个错误:https://bugzilla.redhat.com/show_bug.cgi?id=1518121

回答主要问题:不,给定的设置不能保护卷免受任何一个磁盘的丢失。

为了不让问题悬而未决,我将其标记为答案。

相关内容