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

本文涉及的产品
对象存储 OSS,20GB 3个月
文件存储 NAS,50GB 3个月
对象存储OSS,敏感数据保护2.0 200GB 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操作,再将快照恢复至云盘。

相关实践学习
通义万相文本绘图与人像美化
本解决方案展示了如何利用自研的通义万相AIGC技术在Web服务中实现先进的图像生成。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2月前
|
人工智能 JavaScript API
零基础构建MCP服务器:TypeScript/Python双语言实战指南
作为一名深耕技术领域多年的博主摘星,我深刻感受到了MCP(Model Context Protocol)协议在AI生态系统中的革命性意义。MCP作为Anthropic推出的开放标准,正在重新定义AI应用与外部系统的交互方式,它不仅解决了传统API集成的复杂性问题,更为开发者提供了一个统一、安全、高效的连接框架。在过去几个月的实践中,我发现许多开发者对MCP的概念理解透彻,但在实际动手构建MCP服务器时却遇到了各种技术壁垒。从环境配置的细节问题到SDK API的深度理解,从第一个Hello World程序的调试到生产环境的部署优化,每一个环节都可能成为初学者的绊脚石。因此,我决定撰写这篇全面的实
389 67
零基础构建MCP服务器:TypeScript/Python双语言实战指南
|
4月前
|
存储 运维 数据挖掘
服务器数据恢复—EqualLogic存储硬盘出现坏道的数据恢复案例
一台EqualLogic某型号存储中有一组由16块SAS硬盘组建的RAID5阵列。上层采用VMFS文件系统,存放虚拟机文件,上层一共分了4个卷。 磁盘故障导致存储不可用,且设备已经过保。
|
6月前
|
存储 Linux 数据库
服务器数据恢复—raid5阵列中多块硬盘出现坏道的数据恢复案例
服务器存储数据恢复环境: 某品牌DS3512存储中有一组由6块SAS磁盘组建的raid5阵列。划分一个lun分配给Linux系统服务器,并格式化成ocfs2文件系统,共享给虚拟化使用,存放虚拟机文件。 存储中的数据包括:数十台iunx系统虚拟机和windows系统虚拟机、压缩包文件、配置文件。 服务器存储故障: raid5阵列中多块硬盘出现问题,阵列崩溃,数据丢失。
|
10天前
|
人工智能 自然语言处理 安全
Python构建MCP服务器:从工具封装到AI集成的全流程实践
MCP协议为AI提供标准化工具调用接口,助力模型高效操作现实世界。
132 0
|
6月前
|
数据挖掘
服务器数据恢复—服务器raid5阵列中2块硬盘掉线的数据恢复案例
某公司一台服务器,服务器上有一组由8块硬盘组建的raid5磁盘阵列。 磁盘阵列中2块硬盘的指示灯显示异常,其他硬盘指示灯显示正常。上层应用不可用。
|
24天前
|
人工智能 JavaScript 前端开发
用 Go 语言轻松构建 MCP 服务器
本文介绍了使用 Go 语言构建 MCP 服务器的完整过程,涵盖创建服务器实例、注册工具、资源和提示词,以及通过 stdio 和 sse 模式启动服务的方法,帮助开发者快速集成 LLM 应用与外部系统。
|
3月前
|
监控 Ubuntu 安全
Ubuntu系统下构建FTP服务器的步骤
记住,时不时的巡视(监控)农场,更新工具(软件和安全性更新),以及恰当的维护同样重要,这样你的FTP农场才能长久繁荣。
59 4
|
8月前
|
运维 数据挖掘 Windows
服务器数据恢复—服务器硬盘指示灯亮黄灯的数据恢复案例
服务器硬盘指示灯闪烁黄灯是一种警示,意味着服务器硬盘出现故障即将下线。发现这种情况建议及时更换硬盘。 一旦服务器上有大量数据频繁读写,硬盘指示灯会快速闪烁。服务器上某个硬盘的指示灯只有黄灯亮着,而其他颜色的灯没有亮的话,通常表示这块硬盘出现故障,这时候更换新硬盘同步数据即可。 如果没有及时发现硬盘损坏或者更换硬盘失败导致服务器崩溃,应该如何恢复数据呢?下面通过一个真实案例讲解一下服务器硬盘指示灯亮黄色的数据恢复案例。
|
3月前
服务器数据恢复—服务器raid5阵列2块硬盘掉线的数据恢复案例
某品牌型号为X3850服务器上有一组由14块数据盘和1块热备盘组建的raid5磁盘阵列。 服务器在正常使用过程中突然崩溃,管理员查看raid5阵列故障情况的时发现磁盘阵列中有2块硬盘掉线,但是热备盘没有启用。