使用 mdadm 工具. apt-get install mdadm
用于做 RAID 的磁盘, 可以是分区并格式化之后的, 比如 sda1 sdb1 等.
所用的磁盘需要 umount 掉.
# RAID0
mdadm --create --verbose /dev/md0 --level=stripe --raid-devices=2 /dev/sda1 /dev/sdb1
# RAID5
mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 /dev/sda1 /dev/sdb1 /dev/sdc1
# RAID10
mdadm --create /dev/md0 --level=10 --raid-devices=4 --layout=f2 /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1
RAID10 有不同的 layout 选项需要注意, 默认n (near), o(offset), f(far) 默认值 n2.
有关详细资料参考这里
性能对比参考这里和 这里
通过 cat /proc/mdstat
可以查看 RAID 的状态, 包括 raid5 的 build 进度.
创建完成后, 对 /dev/md0 设备进行格式化, mkfs.ext4 /dev/md0
挂载后即可使用了.
首先, 将对应的RAID umount 掉.
然后停掉 RAID mdadm --stop /dev/md0
然后将 RAID 删除 mdadm --remove /dev/md0
然后将物理磁盘的 super-block 信息清除
mdadm --zero-superblock /dev/sda1
mdadm --zero-superblock /dev/sdb1
...
删除完成, 此时可以使用清掉的盘重新再做其他的 RAID.
参考链接:
RAID setup wiki
mdadm-cheat-sheet
先找出做 RAID 用的物理盘 使用 mdadm -E /dev/sdx
的方式测试该盘上的元信息.
按照之前做软 raid 的顺序, 使用 mdadm --assemble --run /dev/md1 /dev/sdx /dev/sdy /dev/sdz
将几个盘都重新组装并启动即可.
然后按照之前的设置, 将 /dev/md1
挂载到目标路径即可使用.
build 与 create 的区别:
build 只是将几个盘组合起来, 并不进行 superblock 的初始化, 也就是说不会破坏硬盘上的已有数据.
而 create 会使得原有磁盘上的 superblock 数据改变, 导致无法或很难在恢复出原有硬盘上的数据.