实验5 在 Linux 上使用 EBS 实现 RAID

步骤1:了解RAID 配置选项

下表比较常见的RAID 0 和RAID 1 选项。

配置使用优点缺点
RAID 0     I/O 性能比容错能力更重要时;例如在频繁使用的数据库中(其中,已单独设置数据复制)。I/O 在卷内以条带状分布。如果添加卷,则会直接增加吞吐量。条带的性能受限于该集合中的最差的执行卷。丢失单个卷会导致完全丢失阵列的数据。
RAID 1容错能力比I/O 性能更重要时;例如在关键应用程序中。在数据持久性方面更具安全性。不提供写入性能改进;需要比非RAID配置更大的Amazon EC2到Amazon EBS 带宽,因为数据将同时写入多个卷。

  重要:不建议对Amazon EBS 使用RAID 5 和RAID 6,因为这些RAID 模式的奇偶校验写入操作会使用卷的一些可用IOPS。根据RAID 阵列配置,这些RAID 模式提供的可用IOPS 比RAID 0 配置少20-30%。成本增加也是与这些RAID 模式有关的一个因素;在使用相同的卷大小和速度时,一个2 卷RAID 0 阵列明显胜过两倍成本的4 卷RAID 6 阵列。
  相比在单个Amazon EBS 卷上配置,通过创建RAID 0 阵列,文件系统可以获得更高性能。为获得额外冗余性,RAID 1 阵列提供了数据的一个“镜像”。在执行此步骤之前,需要确定RAID 阵列的大小以及需要配置多少IOPS。
  RAID 0 阵列的最终大小是阵列中各个卷的大小之和,带宽是阵列中各个卷的可用带宽之和
  RAID 1 阵列的最终大小和带宽等于阵列中各个卷的大小和带宽
  例如,预配置IOPS 为4,000 的两个500 GiB Amazon EBS io1 卷将创建可用带宽为8,000 IOPS、吞吐量为1,000 MB/s 的1000 GiB RAID 0 阵列,或创建可用带宽为4,000 IOPS、吞吐量为500 MB/s 的500 GiB RAID 1 阵列。
  本文档提供基本的RAID 设置示例。有关RAID 配置、性能和恢复的更多信息,请参阅Linux RAID Wiki,网址为https://raid.wiki.kernel.org/index.php/Linux_Raid

步骤2:在Linux 上创建RAID 阵列

  使用以下过程在Linux 上创建RAID 阵列。如需要在Windows 上创建RAID 阵列,请参考在Windows 上创建RAID 阵列获得有关Windows 实例的说明
在Linux 上创建RAID 阵列
1.登录AWS控制台,创建Amazon Linux2实例(如已经有运行的实例,请忽略此步骤)。
2.为阵列创建Amazon EBS 卷。
重要:为阵列创建两个具有相等大小和IOPS 性能值的卷。确保不创建超过EC2 实例的可用带宽的阵列。
3.将Amazon EBS卷附加到要承载该阵列的实例。关于如何创建EBS卷,请参考实验4 创建EBS卷并附加到Linux实例上。(注:只需要附加到实例,并不需要用文件系统将卷格式化,在创建完成RAID阵列之后再用文件按系统格式化RAID阵列)
4.使用SSH连接到实例。
5.使用mdadm命令从新附加的Amazon EBS卷创建逻辑RAID 设备。用阵列中的卷数替换number_of_volumes,用阵列中每个卷的设备名称(例如/dev/xvdf) 替换device_name。您还可以将MY_RAID 替代为阵列的唯一名称。注意您可以使用lsblk 命令列出实例上的设备以找到设备名称。
(仅限RAID 0) 要创建RAID 0 阵列,请执行以下命令(注意,–level=0 选项用于将阵列条带化):

[ec2-user ~]$ sudo mdadm --create --verbose /dev/md0 --level=0 --name=MY_RAID --raid-devices=number_of_volumes   device_name1 device_name2

(仅限RAID 1) 要创建RAID 1 阵列,请执行以下命令(注意,–level=1 选项用于将阵列镜像化):

[ec2-user ~]$ sudo mdadm --create --verbose /dev/md0 --level=1 --name=MY_RAID --raid-devices=number_of_volumes   device_name1 device_name2

6.给RAID阵列一些时间进行初始化和同步。可以借助下面的命令跟踪这些操作的进度:

[ec2-user ~]$ sudo cat /proc/mdstat

下面是示例输出(这里显示的是已经初始化完成后的输出):
在这里插入图片描述

通常,可以通过下面的命令显示有关RAID 阵列的详细信息:

[ec2-user ~]$ sudo mdadm --detail /dev/md0

示例输出:
在这里插入图片描述
7.在RAID 阵列上创建一个文件系统,并为该文件系统分配一个稍后在装载该文件系统时使用的标签。例如,要使用标签MY_RAID0创建ext4文件系统,请执行以下命令:

[ec2-user ~]$ sudo mkfs.ext4 -L MY_RAID0 /dev/md0

根据应用程序的要求或操作系统的限制,可以使用其他文件系统类型,如ext3 或XFS(请参阅文件系统文档以了解相应的文件系统创建命令)。
8.要确保RAID阵列在启动时自动重组,请创建一个包含RAID 信息的配置文件:

[ec2-user ~]$ sudo mdadm --detail --scan | sudo tee -a /etc/mdadm.conf

注意:如果你使用的是Linux 发行版而不是Amazon Linux,此文件可能需要被放在不同的位置。有关更多信息,请参阅你的Linux 系统上的man mdadm.conf
9.创建新的 Ramdisk Image 以为新的RAID配置正确地预加载块储存设备模块:

[ec2-user ~]$ sudo dracut -H -f /boot/initramfs-$(uname -r).img $(uname -r)

10.为RAID阵列创建装载点。

[ec2-user ~]$ sudo mkdir -p /mnt/raid

11.最后,在已创建的装载点上安装RAID 设备:

[ec2-user ~]$ sudo mount LABEL=MY_RAID0 /mnt/raid

RAID 设备现已准备就绪,可供使用。
12. (可选) 要在每一次系统重启时装载此Amazon EBS 卷,可在/etc/fstab 文件中为该设备添加一个条目。
  a.创建/etc/fstab 文件的备份,当您进行编辑时意外损坏或删除了此文件的情况下,可以使用该备份。

[ec2-user ~]$ sudo cp /etc/fstab /etc/fstab.orig

  b.使用文本编辑器(如nano或vim) 打开/etc/fstab 文件(注:需要以root身份打开)。
  c.注释掉任何以“UUID=”开头的行,然后,在文件末尾,使用以下格式为您的RAID 卷添加新行:

device_label mount_point file_system_type fs_mntops fs_freq fs_passno

此行的最后三个字段分别是文件系统装载选项文件系统转储频率启动时的文件系统检查顺序。如果不知道这些值应该是什么值,请使用下面的示例中的值(defaults,nofail 0 2)。
  有关/etc/fstab 条目的更多信息,请参阅fstab 手册页(通过在命令行上输入man fstab)。例如,要在设备上的装载点/mnt/raid 装载带MY_RAID0 标签的ext4 文件系统,请将以下条目添加到/etc/fstab。

LABEL=MY_RAID0  /mnt/raid  ext4  defaults,nofail  0  2

  注意:如果要在未附加该卷的情况下启动实例(例如,以便该卷可以在不同实例之间向后和向前移动),则应添加nofail 装载选项,该选项允许实例即使在卷装载过程中出现错误时也可启动。Debian 衍生物(如Ubuntu) 还必须添加nobootwait 装载选项。
  d.在将新条目添加到 /etc/fstab 后,需要检查条目是否有效。运行sudo mount -a命令,以便安装 /etc/fstab 中的所有文件系统。如果上述命令未产生错误,说明您的/etc/fstab 文件正常,您的文件系统会在下次启动时自动装载。如果该命令产生了任何错误,请检查这些错误并尝试更正 /etc/fstab。
警告:/etc/fstab 文件中的错误可能显示系统无法启动。请勿关闭/etc/fstab 文件中有错误的系统。
  e.(可选) 如果无法确定如何更正 /etc/fstab 错误,则始终可以使用以下命令用备份文件还原/etc/fstab 文件。

[ec2-user ~]$ sudo mv /etc/fstab.orig /etc/fstab

本篇为学习过程记录笔记

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值