linux soft raid50
Linux系统中目前以MD (Multiple Devices)虚拟块设备的方式实现软件RAID,利用多个底层的块设备虚拟出一个新的虚拟块设备,并且利用条带化(stripping)技术将数据块均匀分布到多个磁盘上来提高虚拟设备的读写性能,利用不同的数据冗余算法来保护用户数据不会因为某个块设备的故障而完全丢失,而且还能在设备被替换后将丢失的数据恢复到新的设备上。
先查看md模块是否已经加载到系统中,如果没有,则需要执行命令modprobe md加载驱动模块:
#cat /proc/mdstat
cat: /proc/mdstat: No such file or directory
#modprobe md
#lsmod | grep md_mod
md_mod 87742 0
linux目前使用mdadm管理md设备,在debian系统中,我们使用apt-get命令安装:
#apt-get install mdadm
使用mdadm管理工具创建raid50:
(示例12块硬盘,先做两个raid5,然后将两个raid5做成一个raid0,每个raid5各有一个热备盘)
# mdadm --create /dev/md1 -v --raid-devices=5 --level=5 --spare-devices=1 /dev/sd[a-f]
# mdadm --create /dev/md2 -v --raid-devices=5 --level=5 --spare-devices=1 /dev/sd[g-l]
#mdadm --create /dev/md0 -v --raid-devices=2 --level=0 /dev/md[1-2]
其中“--raid-devices=6”表示6块盘做raid,“--livel=5”表示raid级别为5,“--spare-devices=1”表示一块盘作为热备盘。
格式化/dev/md0
mkfs.ext4 /dev/md0
挂载使用:
mount /dev/md0 /data
查看raid信息:
#mdadm --detail /dev/md0
#mdadm --detail /dev/md1
#mdadm --detail /dev/md2
#cat /proc/mdstat
删除raid信息:(删除md1和md2里边所有服务器,然后停止md0)
#mdadm /dev/md1 --fail /dev/sd[a-f] --remove /dev/sd[a-f]
#mdadm /dev/md2 --fail /dev/sd[g-l] --remove /dev/sd[g-l]
#mdadm -S /dev/md0
然后删除/etc/mdadm/mdadm.conf文件里边相应的选项即可
移除故障盘:
#mdadm /dev/md1 --remove /dev/sda
添加新硬盘:
#mdadm /dev/md1 --add /dev/sda