我可以在不使用mdadm的情况下通过EBS卷创buildRAIDarrays吗?

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

我最近发现了一个创build并附加卷到EC2实例的旧脚本。 假设我有四个EBS卷, sdf1sdf2sdf3sdf4 。 相关部分看起来像这样:

 # 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 

这是整个文件系统的创build。 相比之下,我可以在网上 find的每一个教程 (这些只是一个抽样)首先使用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创build软件RAID,这些都与硬件RAID区分开来,但我似乎无法弄清楚上面的脚本代码片段创build。 是RAID吗? 不是吗? 完全是另一回事吗?

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

mdadm RAID 0在小型(在这里是256KB)块中跨所有四个卷分条数据,使您可以从RAID 0中获得性能提升。

您在此处列出的LVM方法也会进行相同的分条,使其function与RAID 0相同(这不是LVM的默认行为。)

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

您的第一个示例是使用“ 逻辑卷pipe理器”创build具有像RAID0一样属性的卷。 LVM支持剥离和镜像。

就我而言,我倾向于在我们的云中使用两者; 实质上,我创build了RAID设备/ dev / md0,然后使用lvm进行pipe理。 优点是我可以使用任何raid级别来满足我的性能或数据安全性(对于高速IO操作,raid为0,如果数据非常有价值,则为raid 10)。使用LVM可以轻松地将容量添加到文件系统和快照数据(如果我的数据跨越多个驱动器,则亚马逊的快照function不会有太大帮助)。