我可以在不使用 mdadm 的情况下在 EBS 卷上创建 RAID 阵列吗?

我可以在不使用 mdadm 的情况下在 EBS 卷上创建 RAID 阵列吗?

我对 Linux 设备管理和文件系统还不熟悉,所以这个问题的答案可能是“不,当然不是。你在想什么?”或“是的,当然。这不是很明显吗?”尽管如此,我希望一点专业知识可以消除我的困惑。

我最近发现了一个旧脚本,它可以创建卷并将其附加到 EC2 实例。假设我有四个 EBS 卷,,,,,。sdf1相关部分如下所示:sdf2sdf3sdf4

# Create a RAID0 array
pvcreate /dev/xvdf1 /dev/xvdf2 /dev/xvdf3 /dev/xvdf4
vgcreate myvg /dev/xvdf1 /dev/xvdf2 /dev/xvdf3 /dev/xvdf4
lvcreate --stripes 4 --stripesize 256 --extents 100%VG --name mylv myvg
mkfs.xfs /dev/myvg/mylv

这就是整个文件系统的创建过程。相比之下,每一个教程我可以寻找网络(这些只是示例)mdadm首先使用,然后操作生成的设备,通常是这样的:

mdadm --verbose --create /dev/md0 --level=0 --chunk=256 --raid-devices=4 /dev/sdf1 /dev/sdf2 /dev/sdf3 /dev/sdf4
mdadm --detail --scan >> /etc/mdadm/mdadm.conf

我大概知道——尽管理解得比较模糊,无法理解细节——mdadm软件 RAID 的创建方式与硬件 RAID 有区别,但我似乎无法弄清楚上述脚本片段创建了什么(如果有的话)。它是 RAID 吗?不是吗?还是完全不同的东西?

答案1

“不,当然不是。你在想什么?”

mdadm RAID 0 将数据以小块(此处为 256KB)的形式分布在所有四个卷上,从而为您提供 RAID 0 所期望的性能提升。

您在此处列出的 LVM 方法也执行相同的条带化,使其功能上等同于 RAID 0。(这不是 LVM 的默认行为。)

您可以使用任一方法,但 LVM 方法实际上限制了您,因为如果不完全重新创建逻辑设备,您将无法稍后添加卷。

答案2

你的第一个例子是使用逻辑卷管理器创建具有类似 RAID0 属性的卷。LVM 支持剥离和镜像。

答案3

就我而言,我倾向于在我们的云中使用两者;本质上,我创建 raid 设备 /dev/md0,然后使用 lvm 进行管理。优点是我可以使用任何需要的 raid 级别来满足我的性能或数据安全性(raid 0 用于高速 IO 操作,如果数据极其宝贵,则使用 raid 10。)我使用 LVM 让我能够轻松地为文件系统和快照数据增加容量(如果我的数据跨多个驱动器,亚马逊的快照功能就没什么用了。)

相关内容