menu LittleJake's Blog
color_lens
avatar
Jake Liu
Never Settle
creative commons by-nc-sa
hit
Category
keyboard_arrow_down

© 2024 LittleJake's Blog.

萌ICP备20223020号

CentOS通过磁盘文件组建软RAID

前言

最近业务需求nfs出现问题,之前3块三星480G固态使用mdadm组的软RAID0,磁盘健康度剩下30%+,咨询华为售后客服得知不在保修范围。(再用下去就变成三星红盘了

因此,需要考虑使用在用的机械硬盘组RAID0。由于业务已经在用数据盘,由此只能在数据盘创建多个磁盘文件作为挂载盘组RAID。

动手

直接使用磁盘文件测试组建

测试使用dd命令创建4个10M的文件,分别为block[1-4]。

for i in {1..4};do dd if=/dev/zero of=block$i bs=1M count=10;done

直接使用文件作为软RAID挂载,发现mdadm报错非块设备:mdadm: x is not a block device.

测试直接使用文件挂载RAID

搜索发现,mdadm不能直接通过文件创建软RAID。直到找到Persistent use of loop block device in mdadm这篇文章,发现可以曲线救国,将文件挂载成Loop device,然后创建软RAID。(根据Loop设备定义,可以将文件作为一个块设备)

挂载为Loop设备进行组建

# 挂载文件为Loop设备
for i in {1..4};do losetup /dev/loop$i block$i;done

# 使用4块硬盘组建软RAID0
mdadm -C /dev/md00 -l 0 -n 4 /dev/loop[1-4]

# 格式化为ext4
mkfs.ext4 /dev/md00

设备正常格式化。

Loop

fdisk正常显示容量。

fdisk

mount挂载正常。

mount

查看mdadm信息,可以看到4块loop设备。

mdadm

估计开机挂载的时候,需要重新挂载loop设备后,才能使用mdadm重新组建。

清理测试环境

停止mdadm中该软RAID设备。

停止mdadm

卸载Loop设备,删除磁盘文件。

卸载loop、删除文件

后记

mdadm需要使用块设备进行组建。还有一个坑就是,NFS服务也是挺麻烦的,服务端挂载点重建后需要将客户端所有进行重连。业务用到NFS的机器快20台,太头疼了。

Buy me a beer
Jake Liu
Never Settle

Title: CentOS通过磁盘文件组建软RAID

Author: Jake Liu

Origin:

Creative Commons License

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) For any re-post you must give appropriate credit.

文章遵循CC许可 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 转载请注明出处

Tag:centos, mdadm, loop

评论区

Add a new comment.

Theme