在银河麒麟V10桌面(2205版本)上实战部署软RAID 1:从模块黑名单到自动挂载
1. 银河麒麟V10桌面系统与软RAID 1基础认知
第一次在银河麒麟V10桌面上折腾软RAID 1时,我踩了不少坑。这个国产操作系统基于Linux内核,但2205版本对软RAID模块做了特殊处理,需要额外操作才能正常使用。软RAID 1其实就是磁盘镜像技术,把两块硬盘变成完全相同的"双胞胎",任何一块损坏都不会丢失数据。相比硬件RAID需要购买专用卡,软RAID完全靠系统软件实现,成本更低但性能稍弱,适合普通办公场景。
实测发现银河麒麟V10的2205版本默认屏蔽了软RAID模块,这可能是出于系统稳定性考虑。但别担心,通过修改黑名单配置就能重新启用。整个过程涉及五个关键步骤:确认系统版本、准备磁盘分区、解除模块限制、创建RAID阵列、配置自动挂载。每个环节都有版本特定的注意事项,比如必须更新initramfs才能让配置永久生效,这点和常规Linux发行版很不一样。
2. 系统环境准备与磁盘配置
2.1 确认系统版本细节
在终端输入cat /etc/os-release,你会看到类似这样的输出:
NAME="Kylin" VERSION="V10 (SP2)" ID=kylin VERSION_ID=V10 PRETTY_NAME="Kylin V10"重点确认版本号包含"2205"字样,不同版本的配置路径可能略有差异。我遇到过同事误将2107版本当成2205操作,结果黑名单文件路径完全不同。如果系统是升级而来的,建议额外检查内核版本是否匹配,用uname -r查看。
2.2 磁盘分区实战操作
假设我们要用/dev/sda8和/dev/sda9做RAID 1,首先确保这两块分区不存在重要数据。分区工具推荐用fdisk,新手也可以用图形化的GParted。关键步骤分解:
- 执行
sudo fdisk /dev/sda进入交互界面 - 输入
n创建新分区(如果已有分区可跳过) - 选择
p创建主分区 - 连续回车接受默认起始扇区
- 输入
+20G指定分区大小(根据实际调整) - 最后
w写入更改
格式化命令要用ext4文件系统:
sudo mkfs.ext4 /dev/sda8 sudo mkfs.ext4 /dev/sda9特别注意:分区表修改后建议重启系统,避免后续操作出现设备忙的错误。有次我没重启直接做RAID,结果导致磁盘IO异常,不得不从头再来。
3. 解除软RAID模块限制
3.1 修改黑名单配置文件
2205版本的特殊之处在于/etc/modprobe.d/blacklist.conf文件默认包含以下内容:
blacklist raid0 blacklist raid1 blacklist raid10 blacklist raid456用vim编辑时,建议先在行首添加#注释掉这些配置,而不是直接删除,方便日后回滚:
sudo vim /etc/modprobe.d/blacklist.conf保存后必须执行sudo update-initramfs -u更新初始化内存盘,这个步骤在普通Linux上可能不需要,但在银河麒麟上是关键。曾有用户反馈修改配置后不生效,八成是漏了这步。
3.2 验证模块加载
重启后运行lsmod | grep raid,应该看到类似输出:
raid1 49152 0 raid0 40960 0如果没显示,检查dmesg | grep raid看是否有错误信息。常见问题是拼写错误导致配置未生效,比如把raid1写成rald1。我遇到过更诡异的情况——SELinux策略阻止加载,这时需要临时设置为permissive模式测试。
4. 创建并验证RAID 1阵列
4.1 执行创建命令
关键命令分解说明:
sudo mdadm -C -v /dev/md1 -a yes -l1 -n2 /dev/sda8 /dev/sda9-C表示创建新阵列-v显示详细过程/dev/md1是阵列设备名(避免用md0可能和系统冲突)-l1指定RAID 1级别-n2表示使用2块磁盘
创建成功后用cat /proc/mdstat查看状态,正常应该显示[UU]表示两块盘都正常。如果看到[_U]或[U_],说明有盘未同步。这时可以手动触发同步:
sudo mdadm --manage /dev/md1 --add /dev/sda84.2 持久化阵列配置
银河麒麟需要额外操作保存RAID信息:
sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf sudo update-initramfs -u不执行这两步的话,重启后可能找不到RAID设备。有次我半夜被叫醒处理服务器问题,就是因为忘了更新initramfs。建议创建后立即测试重启,用mdadm --detail /dev/md1验证阵列状态。
5. 配置自动挂载与故障处理
5.1 文件系统与挂载点
首先格式化RAID设备:
sudo mkfs.ext4 /dev/md1创建挂载点并临时挂载测试:
sudo mkdir /mnt/raid1 sudo mount /dev/md1 /mnt/raid1用df -h查看是否成功。建议先进行IO测试:
sudo dd if=/dev/zero of=/mnt/raid1/testfile bs=1M count=10245.2 配置fstab实现自动挂载
编辑/etc/fstab添加如下行:
/dev/md1 /mnt/raid1 ext4 defaults 0 0特别注意:银河麒麟对fstab格式要求严格,字段间必须用Tab分隔而不是空格。完成后务必执行:
sudo mount -a测试配置是否正确,否则可能导致系统无法启动。我习惯在修改fstab前先备份,用sudo cp /etc/fstab /etc/fstab.bak。
5.3 常见故障排查
当RAID状态异常时,首先检查:
cat /proc/mdstat查看阵列状态sudo mdadm --detail /dev/md1获取详细信息dmesg | grep md查看内核日志
如果单盘故障,替换后执行:
sudo mdadm --manage /dev/md1 --fail /dev/sda8 sudo mdadm --manage /dev/md1 --remove /dev/sda8 sudo mdadm --manage /dev/md1 --add /dev/sda10记得更新mdadm.conf和initramfs。有次机房断电导致RAID降级,就是靠这些命令恢复的。
