当前位置: 首页 > news >正文

ubuntu22.04 软创建 RAID1 与配置流程

RAID1 创建与配置流程总结

RAID1(磁盘镜像)通过数据冗余提供高可靠性。以下是在Linux系统上使用mdadm工具创建和配置RAID1阵列的完整步骤,确保操作清晰、可执行。所有命令均基于实际测试,重点强调使用UUID避免设备名冲突。

1. 安装mdadm工具

在新系统或最小安装中,mdadm可能未预装。先更新软件源并安装:

apt update
apt install mdadm

2. 创建RAID1阵列

使用两块磁盘(例如/dev/sdb/dev/sdc)创建阵列/dev/md0

mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sdb /dev/sdc

操作中可能提示缺少身份信息,输入y确认:

y

3. 查看RAID状态

验证阵列是否正常运行:

cat /proc/mdstat

或使用详细查看命令:

mdadm --detail /dev/md0

健康状态输出示例:md0 : active raid1 sdb[0] sdc[1] [UU][UU]表示所有磁盘正常)。

4. 格式化阵列

为阵列创建ext4文件系统:

mkfs.ext4 /dev/md0

5. 创建挂载目录

建立挂载点,例如在/mnt/raid1

mkdir -p /mnt/raid1

6. 挂载阵列

将阵列挂载到目录:

mount /dev/md0 /mnt/raid1

验证挂载状态:

df -h /mnt/raid1

输出示例:/dev/md0 20G 24K 19G 1% /mnt/raid1

7. 配置mdadm.conf

保存阵列UUID到配置文件,确保开机自动组装:

mdadm --detail --scan | tee -a /etc/mdadm/mdadm.conf

文件内容示例:ARRAY /dev/md0 metadata=1.2 name=ubuntu:0 UUID=7e3ec7e3:368a1520:13b3cbf2:a479ba79

8. 配置fstab实现自动挂载

获取阵列UUID:

blkid /dev/md0

输出示例:/dev/md0: UUID="556a614b-5884-4515-bee9-2d39ef8719fe" TYPE="ext4"
编辑/etc/fstab添加行:

UUID=556a614b-5884-4515-bee9-2d39ef8719fe /mnt/raid1 ext4 defaults 0 0

9. 测试自动挂载

卸载并重新挂载以测试配置:

umount /mnt/raid1
mount -a

再次验证:

df -h /mnt/raid1

正常挂载即成功。

关键注意事项

  • 避免硬编码设备名:重启后设备名可能变化(如/dev/md0变为/dev/md127),始终使用UUID挂载(如fstab配置)。
  • 检查阵列状态
    • [UU]:阵列健康。
    • [_U]:一块磁盘掉线。
    • [__]:两块磁盘故障。
      随时查看:cat /proc/mdstatmdadm --detail /dev/md127
  • 更新initramfs:若非启动阵列(如本系统),可不更新;但建议执行:
    update-initramfs -u
    

  • 重启后验证:重启系统后运行mount | grep raiddf -h,确认挂载正常。

当前系统状态

  • 阵列名/dev/md127
  • RAID类型:RAID1
  • UUID556a614b-5884-4515-bee9-2d39ef8719fe
  • 文件系统:ext4
  • 挂载点/mnt/raid1
  • fstab配置:正确
  • 阵列状态:健康([UU]
  • 可用空间:约20GB

后续建议

  1. 重启测试:再次重启系统,确保阵列自动挂载。
  2. 数据写入测试:创建测试文件验证读写功能:
    touch /mnt/raid1/testfile
    
  3. 备份策略:定期备份关键数据,防止磁盘故障导致损失。


文章转载自:
http://capsomere.kjawz.cn
http://boxroom.kjawz.cn
http://broodmare.kjawz.cn
http://anenst.kjawz.cn
http://cashless.kjawz.cn
http://acanthi.kjawz.cn
http://buckeye.kjawz.cn
http://chloride.kjawz.cn
http://beseem.kjawz.cn
http://benadryl.kjawz.cn
http://anisochronous.kjawz.cn
http://burghley.kjawz.cn
http://celioscope.kjawz.cn
http://bedecked.kjawz.cn
http://antineoplaston.kjawz.cn
http://cartopper.kjawz.cn
http://ascu.kjawz.cn
http://adsorption.kjawz.cn
http://betcha.kjawz.cn
http://chickweed.kjawz.cn
http://bridget.kjawz.cn
http://aliesterase.kjawz.cn
http://assouan.kjawz.cn
http://bromid.kjawz.cn
http://averse.kjawz.cn
http://balanoid.kjawz.cn
http://benthamism.kjawz.cn
http://bushtit.kjawz.cn
http://aether.kjawz.cn
http://baculum.kjawz.cn
http://www.dtcms.com/a/280948.html

相关文章:

  • pytest快速上手指南【pytest】
  • LED 照明应用提供高性价比方案?会是你的首选吗?
  • C++ 中两个类之间的通信方式
  • labview关于OOP
  • labview生成exe应用程序常见问题
  • Java行为型模式---责任链模式
  • redis集群的部署
  • 渭河SQL题库-- 来自渭河数据分析
  • JavaScript与Vue:现代前端开发的完美组合
  • King’s LIMS:实验室数字化转型的智能高效之选
  • AWS S3事件通知实战:从配置到生产的完整指南
  • 云蝠智能赋能呼入场景——重构企业电话服务
  • JVM——为什么Java8移除了永久代(PermGen)并引入了元空间(Metaspace)?
  • 订单初版—7.支付和履约实现的重构文档
  • 域名备案是否可以加急
  • DirectX12(D3D12)基础教程九 间接绘制
  • Dynadot邮箱工具指南(十二):删除域名邮箱
  • 学习软件测试的第十六天
  • C++ Qt插件开发样例
  • Git Bash 实战操作全解析:从初始化到版本管理的每一步细节
  • 读取和写入json,xml文件
  • Kubernetes 架构原理与集群环境部署
  • Codeforces Round 907 (Div. 2) F. A Growing Tree(2000,子树修改)
  • 拥抱 Spring Boot:开启 Java 后端开发的“快车道”
  • MySQL功能模块探秘:数据库世界的奇妙之旅
  • 解决了困扰我的upload靶场无法解析phtml等后缀的问题
  • JAVA学习笔记 使用notepad++开发JAVA-003
  • SpringBoot 3.x集成阿里云OSS:文件上传 断点续传 权限控制
  • 填补空白!openKylin率先完成RISC-V商业打印驱动全适配
  • AI问答-Token:在人工智能领域,Token 是模型处理文本的核心单元 / 最小可处理片段