【ECS最佳实践】使用多块云硬盘构建RAID组

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,恶意文件检测 1000次 1年
对象存储 OSS,内容安全 1000次 1年
简介: 1.RAID简介 RAID是将多个独立的磁盘按照一定的方式组成1个磁盘阵列组,相比单个磁盘能够有效的提高磁盘的容量、带宽以及可靠性和可用性。 说明: 1.不建议对云盘采用RAID5 和RAID6模式,这些RAID模式的奇偶校验数据会占用一定的IOPS,从而造成性能的损失 2.建议创建RAID0,RAID1模式,并使用相同分区大小,以减少云盘空间的浪费 如下是常见的RAID配置选项: 配置 优点 劣势 使用场景 RAID0 I/O在卷内以条带化的方式分布在各个磁盘上。

1.RAID简介

RAID是将多个独立的磁盘按照一定的方式组成1个磁盘阵列组,相比单个磁盘能够有效的提高磁盘的容量、带宽以及可靠性和可用性。

说明:
1.不建议对云盘采用RAID5 和RAID6模式,这些RAID模式的奇偶校验数据会占用一定的IOPS,从而造成性能的损失
2.建议创建RAID0,RAID1模式,并使用相同分区大小,以减少云盘空间的浪费

如下是常见的RAID配置选项:

配置 优点 劣势 使用场景
RAID0 I/O在卷内以条带化的方式分布在各个磁盘上。增加云盘空间会直接增加吞吐量。存储空间等于各个云盘之和 没有数据冗余能力,单个云盘的损坏有可能造成整个虚拟盘数据丢失 对 I/O 性能要求很高,并且已通过其他方式对数据进行备份处理或者不需要进行数据备份的场景
RAID1 数据以镜像的方式存储在各个磁盘上。虚拟盘的存储空间大小取决于RAID组内容量最小的云盘 写性能比较差,因为数据要同时写入多个磁盘 当容错能力比 I/O 性能更重要时;例如在关键应用程序中

相比于单个云盘,通过设置RADI0整列,文件系统可以获得更高的性能。RAID0整列的容量等于各个云盘容量之和,RAID0整列的带宽等于各个云盘带宽之和;为了获取更高的“冗余性”,可以设置RAID1阵列,RAID1提供“镜像”特性,数据同时存放2份副本。RAID1阵列中的容量和带宽等于该RAID1组中容量和带宽最小的云盘。

2.在Linux上创建RAID组

以下配置过程以Ubuntu环境为例。Linux 内核提供用于管理 RAID 设备的 md 模块,可以直接使用 mdadm 工具来调用 md 模块创建 RAID组。

2.1在Linux上创建RAID组

Step1:创建云盘。建议为ECS创建具有相同大小、规格的云盘。更多帮助信息请参阅:创建云盘

Step2:挂载云盘:将Step1中创建好的云盘挂在给指定的ECS服务器。更多帮助信息请参阅:挂载云盘

Step3:使用mdadm命令创建RAID组。可以使用 lsblk 命令列出实例上的设备以找到设备名称。

1.要创建RAI0,请执行如下命令(--level=0 选项用于将阵列条带化)

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

最终配置信息如下图所示;"/dev/vd[bcdef]"表示/dev/vdb,/dev/vdc,/dev/vdd./dev/vde,/dev/vdf这5个云盘;
image

2.要创建RAID1,请执行以下命令(--level=1 选项用于将阵列镜像化)

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

Step4:通过如下命令查看RAID信息:

mdadm --detail /dev/md0

如下是示例输出信息:

root@iZuf698rtvi9j9uskgv84tZ:~# mdadm --detail /dev/md0
/dev/md0:
        Version : 1.2
  Creation Time : Sun May 19 12:31:53 2019
     Raid Level : raid0
     Array Size : 104775680 (99.92 GiB 107.29 GB)
   Raid Devices : 5
  Total Devices : 5
    Persistence : Superblock is persistent

    Update Time : Sun May 19 12:31:53 2019
          State : clean
 Active Devices : 5
Working Devices : 5
 Failed Devices : 0
  Spare Devices : 0

     Chunk Size : 512K

           Name : iZuf698rtvi9j9uskgv84tZ:0  (local to host iZuf698rtvi9j9uskgv84tZ)
           UUID : 59b65ca6:ad8ffc30:ee439c6b:db6baef1
         Events : 0

    Number   Major   Minor   RaidDevice State
       0     253       16        0      active sync   /dev/vdb
       1     253       32        1      active sync   /dev/vdc
       2     253       48        2      active sync   /dev/vdd
       3     253       64        3      active sync   /dev/vde
       4     253       80        4      active sync   /dev/vdf

Step5:创建文件系统:在新建的RAID阵列上创建wenji文件系统,如下以EXT4为例:

mkfs.ext4  /dev/md0

输出信息如下:

root@iZuf698rtvi9j9uskgv84tZ:~# mkfs.ext4 /dev/md0
mke2fs 1.42.13 (17-May-2015)
Creating filesystem with 26193920 4k blocks and 6553600 inodes
Filesystem UUID: 4fc55c24-d780-40d5-a077-03b484519e83
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
        4096000, 7962624, 11239424, 20480000, 23887872

Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

Step6:创建RAID配置信息:要确保 RAID 阵列在启动时自动重组,需要创建一个包含 RAID 信息的配置文件:

sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf

Step7:创建挂载点

 mkdir  /media/raid0 

Step8:挂载文件系统,并查看挂载信息:

mount /dev/md0  /media/raid0

输出信息如下:

root@iZuf698rtvi9j9uskgv84tZ:~# mount /dev/md0  /media/raid0
root@iZuf698rtvi9j9uskgv84tZ:~# df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            7.9G     0  7.9G   0% /dev
tmpfs           1.6G  3.5M  1.6G   1% /run
/dev/vda1        40G   23G   15G  61% /
tmpfs           7.9G     0  7.9G   0% /dev/shm
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           7.9G     0  7.9G   0% /sys/fs/cgroup
tmpfs           1.6G     0  1.6G   0% /run/user/0
/dev/md0         99G   60M   94G   1% /media/raid0

至此,RAID设备已经准备完毕,并且可用。

Step9(可选):若要在每次系统启动时,自动加载该RAID组,则需要在/etc/fstab中添加如下信息:

/dev/md0  /media/rad0      defaults,nofail,nobootwait        0       2

说明:如果要在未挂载该RAID组的情况下启动实例,zexuyao添加nofailzhuazhuangzai装载项,该装载项允许ECS实例即使在磁盘安装过程中出现错误时也可启动。对于ubuntu类型还必须添加 nobootwait 装载选项。

Step10(可选):装载文件系统:在将新RAID添加到 /etc/fstab 后,需要检查启动项是否有效。运行 mount -a 命令以在 /etc/fstab 中装载所有文件系统。

mount -a

3.创建RAID整列中云盘的快照

若要为RAID组创建一致的快照,请先停止应用程序对该RAID的写入操作,并将缓存中数据刷新至云盘。停止所有 I/O 活动后,就可以创建快照了。当快照已启动或快照 API 成功返回时,所有 I/O 活动都将安全恢复。
从RAID快照中恢复数据时,请先停止所有I/O操作,再将快照恢复至云盘。

相关实践学习
一小时快速掌握 SQL 语法
本实验带您学习SQL的基础语法,快速入门SQL。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
15天前
|
存储 运维 数据挖掘
服务器数据恢复—EqualLogic PS存储硬盘故障导致存储崩溃的数据恢复案例
一台某品牌EqualLogic PS系列某型号存储,存储中有一组由16块SAS硬盘组建的RAID5磁盘阵列,RAID5上划分VMFS文件系统存放虚拟机文件。存储系统上层一共分了4个卷。 raid5阵列中磁盘出现故障,有2块硬盘的指示灯显示黄色,存储不可用,存储设备已经过保,用户方联系我们数据恢复中心要求恢复存储中的数据。
服务器数据恢复—EqualLogic PS存储硬盘故障导致存储崩溃的数据恢复案例
|
1月前
|
存储 数据挖掘
服务器数据恢复—V7000存储raid5多块硬盘掉线的数据恢复案例
**服务器数据恢复环境:** 一台V7000存储,该存储上有一组由12块硬盘组建的raid5磁盘阵列,其中包括一块热备盘。 **服务器故障:** 管理员在巡检过程中发现该存储中的raid5阵列有一块硬盘掉线,于是使用一块新的硬盘更换掉线硬盘并同步数据。数据同步进行还不到50%的时候,该存储中又有一块硬盘掉线,存储崩溃,逻辑盘无法挂载,两块硬盘脱机。
|
3月前
|
弹性计算 人工智能 安全
带你读《从基础到应用云上安全航行指南》——阿里云产品专家教你如何全方位构建ECS安全体系(3)
带你读《从基础到应用云上安全航行指南》——阿里云产品专家教你如何全方位构建ECS安全体系(3)
437 0
|
3月前
|
弹性计算 安全 网络安全
带你读《从基础到应用云上安全航行指南》——阿里云产品专家教你如何全方位构建ECS安全体系(2)
带你读《从基础到应用云上安全航行指南》——阿里云产品专家教你如何全方位构建ECS安全体系(2)
484 0
|
15天前
|
前端开发 数据处理 API
后端开发:构建稳健与高效的服务器逻辑
后端开发:构建稳健与高效的服务器逻辑
|
10天前
|
Prometheus 监控 Cloud Native
构建高效可靠的Linux服务器监控体系
【4月更文挑战第30天】 在维护企业级Linux服务器的稳定性和性能方面,一个周全的监控体系是至关重要的。本文将探讨如何利用开源工具和实践构建一个高效、灵活且用户友好的监控系统。我们将重点讨论核心组件的选择、配置、报警机制以及数据分析方法,旨在帮助读者打造一个能够实时响应并预防潜在问题的监控环境。
|
11天前
|
存储 安全 网络协议
游戏服务器:构建与运行的艺术
游戏服务器:构建与运行的艺术
23 1
|
12天前
|
中间件 Go API
Golang深入浅出之-Go语言标准库net/http:构建Web服务器
【4月更文挑战第25天】Go语言的`net/http`包是构建高性能Web服务器的核心,提供创建服务器和发起请求的功能。本文讨论了使用中的常见问题和解决方案,包括:使用第三方路由库改进路由设计、引入中间件处理通用逻辑、设置合适的超时和连接管理以防止资源泄露。通过基础服务器和中间件的代码示例,展示了如何有效运用`net/http`包。掌握这些最佳实践,有助于开发出高效、易维护的Web服务。
27 1
|
1月前
|
存储 运维 安全
服务器数据恢复—Eq PS6100系列存储raid5中硬盘坏道离线的数据恢复案例
某品牌EqualLogic PS6100系列存储阵列是一款容错功能较强的存储设备,具有较高的安全性能。一些硬件故障或者误操作也会破坏该系列存储内的数据,下面分享一个北亚企安数据恢复工程师接到的一个关于EQ PS6100存储的数据恢复案例。 一台EqualLogic PS6100存储阵列中有一组由20块硬盘组建的raid5磁盘阵列。
服务器数据恢复—Eq PS6100系列存储raid5中硬盘坏道离线的数据恢复案例
|
2月前
|
数据挖掘
服务器数据恢复—服务器硬盘掉线,指示灯显示红色的数据恢复案例
一台服务器中有一组由多块硬盘组建的raid阵列,在运行过程中服务器突然崩溃,管理员检查服务器发现该服务器raid阵列中有两块硬盘的指示灯显示红色。于是,管理员重启服务器,服务器重启后,先离线的硬盘上线并开始自动同步数据,数据同步过程中管理员又将服务器强制关机。
服务器数据恢复—服务器硬盘掉线,指示灯显示红色的数据恢复案例