Linux命令 mdadm:管理软RAID

Linux命令 mdadm:管理软RAID

mdadm 命令用以组建和管理软 RAID。

软硬 RAID 比较

软件实现,灵活度高,成本低。 ​阵列卡​实现,成本高,简单省心。
消耗系统 CPU 资源 不消耗系统 CPU 资源
适合 HomeServer 低成本方案 适合企业使用,稳定。

软 raid 大致流程:

  • 使用 fdisk​ 命令创建多个硬盘分区,
  • 使用 mdadm​ 命令将多个硬盘分区组成软 raid,
  • 编辑 /etc/fstab​ 开机自动挂载。
  • 最重要的是重启之前要更新 initramfs​ 否则重启后无法正常开机。

准备组成 RAID 所需的分区

fdisk 命令创建并转化分区为 Linux RAID 类型。

分区效果:

设备             起点       末尾       扇区  大小 类型
/dev/sdb1        2048 1677723647 1677721600  800G Linux RAID
设备             起点       末尾       扇区  大小 类型
/dev/sdc1        2048 1677723647 1677721600  800G Linux RAID

创建 RAID

以下命令分别用以创建 RAID0、RAID1、RAID5

mdadm -Cv /dev/md0 -n 2 -l 0 /dev/sd[b-c]1 #raid0
mdadm -Cv /dev/md1 -n 2 -l 1 /dev/sd[b-c]1 #raid1
mdadm -Cv /dev/md5 -n 3 -l 5 /dev/sd[b-d]1 #raid5
  • -C ​创建 raid,-v ​显示过程
  • /dev/md0​ ,raid 的名字:md + 自定义数字
  • -n​ 组成 raid 的分区数
  • -l​ 阵列等级
  • /dev/sd[b-c]1​,组成 raid 的分区

查看 RAID 状态

我使用上面的命令创建了 RAID1 并命名为/dev/md1。以下使用以下命令,查看 md1 详细信息:阵列等级、容量、同步进度、组成 RAID 的分区等信息。

mdadm -D /dev/md1

Linux命令 mdadm:管理软RAID_第1张图片

保存 RAID 配置

mdadm -D --scan > /etc/mdadm.conf

创建并挂载文件系统

格式化 md1

# ext4格式
mkfs.ext4 /dev/md1

支持格式包括:

mkfs.cramfs mkfs.ext3 mkfs.fat mkfs.msdos mkfs.vfat
mkfs.bfs mkfs.ext2 mkfs.ext4 mkfs.minix mkfs.ntfs

配置 md1 开机自动挂载目录

nano /etc/fstab

/etc/fstab​ 文件末尾添加以下信息

#文件系统   	挂载点   	文件系统类型   	操作权限  		
/dev/md1   	/mnt/r1    	ext4    		defaults    0      	0

立即挂载 /etc/fstab​ 文件中描述的文件系统

mount -a

避免和解决:md127 问题

在配置好软 raid 和 /etc/fstab​ 后,运行以下命令更新 initramfs​:

sudo update-initramfs -u

这点非常重要!否则重启后软 raid 的名字会变成 md127,系统无法正常开机并提示(ctrl+D)。

已经发生 md127 问题,开机提示(ctrl+D)如何解决:

  • 输入 root 密码,登录到 root 用户。

  • lsblk​ 命令查看软 raid 名字变成了 md127。

  • 编辑 /etc/fstab​,暂时注释掉软 raid 挂载信息。重启。

  • 重新进入系统后参考以下命令将 md127 重命名原来的名字

    #假如原来的名字是md1,这样恢复
    mdadm --assemble /dev/md1 --name=1 --update=name /dev/sd[b-c]1 
    #假如原来的名字是md2,这样恢复
    mdadm --assemble /dev/md2 --name=2 --update=name /dev/sd[b-c]1 
    
  • 编辑 /etc/fstab​,取消掉刚才的注释。

  • 运行 sudo update-initramfs -u​ 更新 initramfs。

重启,正常开机,说明配置 OK。

硬盘故障时如何恢复软 RAID

​​

如果 RAID 中某块磁盘(本文“分区”和“磁盘”是一个意思)出现问题,处理步骤是:

1.sudo mdadm -D /dev/md1​查看和确认异常,。

image

2.移除故障盘

系统发现故障通常会自动移除掉故障盘,此时不用手动移除故障硬盘。如果某块硬盘的寿命快到期了,想要手动移除和更换某块硬盘,可以参考一下命令。

(md1和sdc1改成你的信息)

sudo mdadm /dev/md1 -r /dev/sdc1

3.添加新硬盘

(md1和sdc1改成你的信息)

sudo mdadm /dev/md1 -a /dev/sdc1

Linux命令 mdadm:管理软RAID_第2张图片

RAID恢复后正在自动同步两块硬盘数据

注意:本文中大多数命令都需要使用 sudo 权限或者以 root 用户操作。

参考以下优秀网文:

软RAID管理命令mdadm详解 - 三木燕 - 博客园 (cnblogs.com)

你可能感兴趣的:(Linux)