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

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,恶意文件检测 1000次 1年
阿里云盘企业版 CDE,企业版用户数5人 500GB空间
简介: 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操作,再将快照恢复至云盘。

相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
3天前
|
安全 Ubuntu 应用服务中间件
Web服务器安全最佳实践
【8月更文第28天】随着互联网的发展,Web服务器成为了企业和组织的重要组成部分。然而,这也使得它们成为黑客和恶意软件的目标。为了确保数据的安全性和系统的稳定性,采取适当的安全措施至关重要。本文将探讨一系列保护Web服务器的最佳策略和技术,并提供一些实用的代码示例。
19 1
|
9天前
|
存储 运维 监控
数据库服务器运维最佳实践
【8月更文挑战第22天】
23 2
数据库服务器运维最佳实践
|
16天前
|
Oracle 关系型数据库 数据挖掘
服务器数据恢复—硬盘坏道导致raid5阵列崩溃的数据恢复案例
一台ibm x3850服务器,有一组由5块硬盘组建的raid5磁盘阵列,上层是Redhat Linux操作系统,部署了一个oracle数据库。 raid5阵列中2块硬盘离线,阵列崩溃。经过检测发现该raid中的热备盘未激活,硬盘无物理故障,无明显同步表现。
服务器数据恢复—硬盘坏道导致raid5阵列崩溃的数据恢复案例
|
3天前
|
缓存 NoSQL 数据库
Web服务器与数据库优化:提升系统性能的最佳实践
【8月更文第28天】在现代的Web应用中,Web服务器与后端数据库之间的交互是至关重要的部分。优化这些组件及其相互作用可以显著提高系统的响应速度、吞吐量和可扩展性。本文将探讨几种常见的优化策略,并提供一些具体的代码示例。
11 1
|
25天前
|
存储 Oracle 关系型数据库
服务器数据恢复—raid5阵列硬盘离线导致上层LUN不可用的恢复数据案例
一台服务器上有8块SAS硬盘,其中的7块硬盘组建了一组RAID5阵列,另外1块硬盘作为热备盘使用。划分了6个LUN,服务器上部署有oracle数据库。 RAID5磁盘阵列中有2块硬盘出现故障并离线,RAID5阵列瘫痪,上层LUN无法正常使用。经过硬件工程师检测,所有硬盘(包括离线的2块盘)均无物理故障以及坏道。
 服务器数据恢复—raid5阵列硬盘离线导致上层LUN不可用的恢复数据案例
|
4天前
|
Shell 网络安全 数据安全/隐私保护
使用 Python 远程登陆服务器的最佳实践
使用 Python 远程登陆服务器的最佳实践
|
5天前
|
缓存 运维 监控
打造稳定高效的数据引擎:数据库服务器运维最佳实践全解析
打造稳定高效的数据引擎:数据库服务器运维最佳实践全解析
|
18天前
|
存储 弹性计算 缓存
惊爆!企业级 ECS 集群构建的巅峰对决:谁能主宰未来的命运?
【8月更文挑战第13天】在数字化商业环境中,构建企业级ECS集群对提高业务稳定性、扩展性和性能至关重要。与传统物理服务器相比,ECS可根据需求快速伸缩资源,提升效率和响应速度。选择云服务商时需考量服务广度、成本及网络覆盖。配置ECS实例要考虑业务特性,如计算或内存需求。网络架构方面,软件定义网络(SDN)比传统三层架构更灵活高效。存储方案的选择也影响性能和扩展性。综上所述,构建高效稳定的ECS集群需综合考量多种因素,以支持业务发展。
30 3
|
17天前
|
存储 运维 数据挖掘
服务器数据恢复—raid5阵列2块硬盘离线,热备盘未全部启用的数据恢复案例
服务器存储数据恢复环境: 一台EMC某型号存储中有一组RAID5磁盘阵列。该raid5阵列中有12块硬盘,其中2块硬盘为热备盘。 服务器存储故障: 该存储raid5阵列中有两块硬盘离线,只有1块热备盘启用替换掉其中一块离线盘,另外1块热备盘未成功启用,raid5阵列崩溃,存储不可用。 磁盘阵列中硬盘离线的原因通常是磁盘存在物理故障或者硬盘出现坏道。由于EMC存储中的raid控制器的磁盘检查策略十分严格,经常将硬盘的性能不稳定判定为硬件故障并将该硬盘踢出raid。很多情况下EMC存储中raid崩溃的原因就是磁盘读写不稳定。
服务器数据恢复—raid5阵列2块硬盘离线,热备盘未全部启用的数据恢复案例
|
19天前
|
缓存 测试技术 API
从零到一:构建高效的 RESTful API 服务器
在当今的软件开发环境中,RESTful API 是实现系统间数据交互的关键组件。本文探讨了如何从头开始构建一个高效的 RESTful API 服务器,包括技术选型、架构设计、性能优化等方面的内容。我们将以 Python 的 Flask 框架为例,展示如何设计一个可扩展且高性能的 API 服务器,并提供实际代码示例来说明最佳实践。
下一篇
云函数