我们已经准备好了,你呢?

2023我们与您携手共赢,为您的企业形象保驾护航!


喜讯:国内、香港、海外云服务器租用特惠活动,2核/4G/10M仅需31元每月,点击抢购>>>

点击这里点击这里进入阿里云ECS官方页面,立即免费体验云服务器ECS>>>

点击这里阿里云老客户点击这里申请VIP账号,享终身8折优惠(续费也打折)>>>

本文以Ubuntu系统ECS实例为例,介绍如何使用Linux系统内置的mdadm命令为多块数据盘创建一个200 GiB的RAID阵列。

前提条件

您已经创建并挂载了多块数据盘。建议您创建具有相同容量和相同类型的数据盘。创建并挂载数据盘的具体操作,请参见创建云盘和挂载数据盘。

背景信息

独立冗余磁盘阵列RAID(Redundant Array of Independent Disks)是将多块云盘按一定的方式组成一个磁盘阵列组。相比单块云盘,RAID能够有效的提高磁盘的容量、读写带宽、可靠性和可用性。

建议您使用RAID0或者RAID1模式,每块云盘采用相同大小的分区,从而减少云盘空间浪费。由于RAID5或者RAID6模式的奇偶校验数据会占用云盘IOPS,带来性能阻碍,因此不推荐使用RAID5或者RAID6模式。

下表对比了RAID0和RAID1模式的优缺点以及适用场景。

模式

优势

劣势

适用场景

RAID0

I/O在存储卷内以条带化的方式分布在各云盘上。增加云盘空间会直接增加吞吐量,阵列中的容量和带宽等于各个云盘容量和带宽之和。

单块云盘的损坏有可能造成整个虚拟盘数据丢失,缺乏数据冗余能力。

对I/O性能要求很高,并且已通过其他方式备份数据,或者不需要备份数据的应用。

RAID1

数据以镜像的方式存储在各云盘上,可以获取更高的数据冗余性。阵列中的容量和带宽等于阵列中容量和带宽最小的云盘。

因为要同时向多块云盘写入数据,写性能较差。

容错能力比I/O性能更重要,例如在关键应用程序中。

操作步骤

  1. 远程连接ECS实例。

    关于连接方式的介绍,请参见连接方式概述。

  2. 运行以下命令,查看ECS实例上所有云盘信息。

    lsblk

    结果如下所示。

    image.png

  3. 使用mdadm命令创建RAID阵列/dev/md0。

    请根据您的实际情况,创建RAID0或RAID1模式。

    说明

    RAID0模式

    RAID1模式

    mdadm --create /dev/md0 --level=0 --raid-devices=5 /dev/vd[bcdef]

    结果如下所示。

    image.png
    • --level=0:表示用于将阵列条带化的RAID0模式。

    • --raid-devices=5:表示RAID阵列由五块云盘组成。

    • /dev/vd[bcdef]:表示使用/dev/vdb、/dev/vdc、/dev/vdd、/dev/vde和/dev/vdf五块云盘组成一个RAID阵列。

    • 以下示例中/dev/vd[bcdef]表示为/dev/vdb、/dev/vdc、/dev/vdd、/dev/vde和/dev/vdf五块云盘组成RAID阵列。如果您使用其他云盘,需要修改成对应的云盘。

    • 如果提示未安装mdadm,请先运行apt-get install mdadm命令安装mdadm工具。

  4. 运行以下命令,查看创建的RAID阵列/dev/md0信息。

    mdadm --detail /dev/md0

    结果如下所示。

    image.png

  5. 运行以下命令,在RAID阵列上创建一个文件系统,例如ext4文件系统。

    您也可以创建其他类型的文件系统。

    mkfs.ext4 /dev/md0

    结果如下所示。

    image.png

  6. 运行以下命令,创建一份包含RAID信息的配置文件,设置RAID阵列在启动ECS实例时自动重组。

    mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf
  7. 挂载RAID阵列的文件系统。

    1. (可选)运行以下命令,创建挂载点,例如/media/raid0

      mkdir /media/raid0

      说明

      您也可以将云盘挂载到已有目录下,例如/mnt

    2. 运行以下命令挂载文件系统,例如将/dev/md0挂载至/media/rad0。

      mount /dev/md0 /media/raid0


    3. 运行以下命令,查看RAID阵列的挂载信息。

      df -h

      结果如下所示,返回信息中,文件系统已经挂载到指定的挂载点。

      image.png

  8. 配置开机自动挂载。

    如果您需要设置开机自动挂载RAID阵列,需要在/etc/fstab中添加RAID阵列的挂载信息。

    • /dev/md0:磁盘阵列名称。

    • /media/raid0:挂载点信息,您需要根据实际环境进行替换。如果需要挂载到其他路径,您需要修改成对应路径。

    • ext4:RAID阵列的文件系统类型,您需要根据已创建的文件系统类型修改。

    1. 运行以下命令,向/etc/fstab配置文件写入RAID阵列信息。

      echo `blkid /dev/md0 | awk '{print $2}' | sed 's/"//g'` /media/raid0 ext4 defaults 0 0 >> /etc/fstab

      说明

      如果您需要在未挂载RAID阵列的情况下启动ECS实例,可以添加nofail配置。即使在安装云盘时出现错误,nofail配置也允许启动ECS实例。如果您使用的是Ubuntu系统,还需要额外添加nobootwait配置。

    2. 运行以下命令,查询RAID阵列的挂载信息是否添加成功。

      cat /etc/fstab

      结果如下所示,返回结果里出现了/media/raid0的信息,说明已添加挂载信息至/etc/fstab文件。

      image.png

    3. 运行以下命令,挂载/etc/fstab配置文件中的所有文件系统。如果无报错输出,表示您的/etc/fstab配置无误。

      mount -a
    4. 运行以下命令,检查挂载结果是否符合您的预期。

      df -Th

      结果如下所示,出现新建文件系统的信息,表示文件系统挂载成功。

      image.png



推荐:TOP云智能建站优惠活动,仅880元即可搭建一个后台管理五端合一的智能网站(PC网站、手机网站、百度智能小程序、微信小程序、支付宝小程序),独享百度搜索SEO优势资源,让你的网站不仅有颜值有排面,更有排名,可以实实在在为您带来效益,请点击进入TOP云智能建站>>>,或咨询在线客服了解详情。


我们已经准备好了,你呢?

2023我们与您携手共赢,为您的企业形象保驾护航!

在线客服
联系方式

热线电话

131-3501-0006

上班时间

周一到周五

公司电话

130-0743-9476

二维码
线