在同一台服务器上创建两个独立的RAID 5阵列,核心做法是在RAID卡配置界面中,将物理硬盘按计划分组,分别创建两个独立的虚拟磁盘(Virtual Drive)或阵列(Array),前提是RAID卡支持多卷组功能且物理硬盘数量足够。
为什么服务器需要两个RAID 5阵列
很多刚接触服务器存储的朋友会把RAID理解为“把几块硬盘绑在一起变成一个盘”,这句话对了一半,单个RAID 5阵列确实是把多块硬盘组合成一个带冗余的逻辑盘,但服务器里的磁盘控制器往往可以管理不止一个阵列。
raid5组卷和整列的区别
组卷是指在一个物理通道或控制器下,把硬盘划分成多个逻辑卷组;整列是指一个独立计算校验数据的阵列单元,两者最大的区别在于:一个整列只能对应一种RAID级别,而一个组卷下可以包含多个整列。
举个例子:服务器上有8块硬盘,你可以把前4块建一个RAID 5阵列,后4块建另一个RAID 5阵列,在RAID卡厂商的术语中,这叫作“创建两个虚拟磁盘”,但在某些入门级RAID卡(如板载软RAID)上,系统只支持一个虚拟磁盘,第二个阵列选项是灰的,这就是raid5组卷和整列的区别在硬件层面的体现。
两个阵列的典型场景
- 系统与数据分离:用两个小容量阵列分别承载操作系统和业务数据,避免日志写入影响数据库性能。
- 安全级别隔离:一个阵列存放核心交易数据,另一个存放临时文件或备份中间文件。
- 跨阵列并行:数据库表空间分布在两个RAID 5阵列上,让不同磁盘组分担IO压力。
怎么创建两个raid5阵列:动手前的硬件确认
在进入配置界面之前,有两件事必须确认,否则会白忙一场。
确认磁盘数量和RAID卡能力
创建两个独立RAID 5阵列,至少需要6块物理硬盘(每个阵列最少3块),你需要知道RAID卡是否支持多个虚拟磁盘,判断方法很简单:
- 进入RAID配置界面后,查看是否有一个名为 Virtual Drive Management 或 Array Configuration 的菜单。
- 如果能看到“Create Virtual Drive”旁边备注支持的数量上限,那就是支持多阵列的标志。
- 行业内称为多VD(Virtual Drive)支持的功能,在绝大多数perc、Adaptec、LSI中端以上阵列卡上都是标配。
理清物理槽位规划
打开机箱侧盖,数清楚硬盘槽位编号,建议用标签纸把计划分组的硬盘序号写下来,比如你决定用0-3号盘建第一个阵列,4-7号盘建第二个阵列,那就按这个顺序插盘,不要打乱。
两个RAID 5阵列创建实操步骤
以下操作以典型的中端服务器RAID卡(如LSI/Broadcom MegaRAID系列)为例,不同品牌界面文字略有差异,但逻辑完全一致。
第一步:进入配置界面
开机自检时看到RAID卡品牌Logo或提示后,按Ctrl+R(MegaRAID系列)或Ctrl+H(部分Adaptec型号)进入ROM配置界面,有些服务器需要在BIOS里单独选择“启动到配置工具”选项。
第二步:创建第一个阵列
- 在主菜单选择 Configuration > Create Virtual Drive。
- 在RAID级别列表中选择 RAID 5。
- 在物理磁盘列表中,按住Ctrl键并逐个勾选前4块硬盘。
- 设置阵列大小:如果希望给未来扩容留空间,可以手动输入小于整组可用容量的值,但通常这里直接使用全部可用空间。
- 确认无误后,按F10保存配置。
第三步:创建第二个阵列
- 返回主菜单,再次进入 Create Virtual Drive。
- RAID级别仍选择 RAID 5。
- 这次勾选后4块硬盘(此时前4块盘在列表中会显示为“已占用”状态,不会混淆)。
- 初始化参数保持默认。
- 保存配置并重启服务器。
第四步:初始化阵列
重启进入系统或再次进入RAID配置界面,找到 Virtual Drive Management,两个阵列都会显示在列表中,手动执行后台初始化(Background Initialization)或快速初始化,阵列才会进入Ready状态。
系统层面识别两个阵列
服务器系统启动后,Linux下可以看到设备名分别为 /dev/sda 和 /dev/sdb(或按插槽顺序映射的设备名),Windows磁盘管理器中会出现两块未分配的磁盘。
分区建议
- 第一个阵列:建议划分出/boot分区和根分区,因为系统盘和业务盘物理隔离能降低单点故障面。
- 第二个阵列:可以整体格式化为一块大容量数据盘,或按逻辑再分区。
识别阵列对应关系的技巧
在Linux中执行 cat /proc/scsi/scsi 可以看到两个虚拟磁盘的设备信息,在Windows中可以使用RAID卡管理软件(如MegaRAID Storage Manager)查看每个虚拟磁盘对应的物理硬盘编号,这样日后替换故障盘时,不会走错阵列。
组建两个RAID 5的性能与替代方案对比
分组创建两个RAID 5阵列,性能上相当于两个独立的校验组并行工作,写入性能较单阵列有一定提升,但行业共识认为:RAID 5在重建期间如果第二块硬盘损坏,数据必然丢失,所以两个RAID 5只是拆分风险范围,而非消除风险。
| 方案 | 可用容量 | 容错能力 | 适用场景 |
|---|---|---|---|
| 单个8盘RAID 5 | 7块盘容量 | 允许坏1块盘 | 对容量要求高、对性能敏感度低的场景 |
| 两个4盘RAID 5 | 6块盘容量 | 每组允许坏1块盘 | 系统/业务分别存储 |
| RAID 50(6盘及以上) | 总容量的2/3左右 | 每组内允许坏1块盘 | 追求较高并发IO的数据库场景 |
如果服务器支持RAID卡直通模式,且操作系统是Linux,也可以考虑用 mdadm软件RAID 创建两个独立的RAID 5卷组,这种方式不依赖RAID卡硬件资源,命令为:
mdadm --create /dev/md0 --level=5 --raid-devices=4 /dev/sd[bcde] mdadm --create /dev/md1 --level=5 --raid-devices=4 /dev/sd[fghi]
但软件RAID会消耗CPU资源,且可靠性对操作系统内核版本有一定依赖,硬件RAID卡始终是服务器场景中更稳妥的选择。
常见问题解答
问:服务器两块盘可以建两个raid5吗?
不可以,RAID 5每组至少需要3块硬盘,创建两个独立RAID 5组至少需要6块盘,使用软RAID加环回设备的做法不具备实际可靠性,不建议作为生产方案。
问:新增加的硬盘能动态加入现有RAID 5阵列形成第二个阵列吗?
可以,但需要注意阵列卡的限制,多数RAID卡支持在空闲状态下新增虚拟磁盘,不占用已有阵列空间,如果你的阵列卡不支持在线扩容,则需要先备份数据,在配置界面删除原阵列后重新规划。
问:两个raid5阵列和raid50相比哪个更合适?
如果服务器有8块盘,两个RAID 5组的可用容量是6块盘,RAID 50的可用容量也接近总容量的三分之二,两个RAID 5的构建过程更简单,适用系统与数据分离的场景;RAID 50的IO性能更均匀,适合负载较重的数据库环境,但配置步骤相对复杂,需要先在物理层面做逻辑分组。
无论采用哪种方式,创建两个RAID 5阵列前必须先备份现有数据,因为所有配置操作都会清空硬盘信息,双阵列规划能在一定程度上平衡性能与风险,但并不能替代定期备份策略。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/%e6%9c%8d%e5%8a%a1%e5%99%a8%e6%80%8e%e4%b9%88%e5%bb%ba%e4%b8%a4%e4%b8%aaraid5%e9%98%b5%e5%88%97%ef%bc%8c%e5%8f%8craid5%e9%98%b5%e5%88%97%e5%a6%82%e4%bd%95%e9%85%8d%e7%bd%ae%ef%bc%9f/


