软RAID
mdadm:为软RAID提供管理界面
为空余磁盘添加冗余
结合内核中的md(multi devices)
RAID设备可命名为/dev/md0、/dev/md1、/dev/md2、/dev/md3等
mdadm:模式化的工具
命令的语法格式:mdadm[mode]
支持的RAID级别:LINEAR, RAID0, RAID1, RAID4, RAID5, RAID6, RAID10
模式:
创建:-C
装配:-A
监控:-F
管理:-f, -r, -a
-C: 创建模式
-n #: 使用#个块设备来创建此RAID
-l #:指明要创建的RAID的级别
-a {yes|no}:自动创建目标RAID设备的设备文件
-c CHUNK_SIZE: 指明块大小,单位k
-x #: 指明空闲盘的个数
-D:显示raid的详细信息
mdadm-D /dev/md#
- s,扫描
扫描配置文件或/proc/mdstat以获取缺失的信息。一般来说,这个选项允许mdadm允许任何缺失
来自配置文件的信息(如组件设备、阵列设备、数组标识和警报目的地)
(见以前的选择);一个例外是MISC模式,当使用——细节或——停止时,在这种情况下——scan表示要获得一个列表
从/proc/mdstat.阵列设备
管理模式:
-f: 标记指定磁盘为损坏
-a: 添加磁盘
-r: 移除磁盘
观察md的状态:cat /proc/mdstat
********************************************************************************************
使用mdadm创建并定义RAID设备
mdadm-C /dev/md0 -a yes -l 5 -n 3 -x 1 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1
用文件系统对每个RAID设备进行格式化
mke2fs -j /dev/md0
测试RAID设备
使用mdadm检查RAID设备的状况
mdadm--detail|D/dev/md0
增加新的成员
mdadm–G /dev/md0 –n4 -a /dev/sdf1
模拟磁盘故障
mdadm/dev/md0 -f /dev/sda1
移除磁盘
mdadm/dev/md0 –r /dev/sda1
从软件RAID磁盘修复磁盘故障
•替换出故障的磁盘然后开机
•在备用驱动器上重建分区
•mdadm/dev/md0 -a /dev/sda1
mdadm、/proc/mdstat及系统日志信息
生成配置文件:mdadm–D –s >> /etc/mdadm.conf
停止设备:mdadm–S /dev/md0
激活设备:mdadm–A –s /dev/md0 激活
强制启动:mdadm–R /dev/md0
删除raid信息:mdadm--zero-superblock /dev/sdb1
创建raid要求磁盘分区大小一致
................................................................................................................................
创建raid 0
1. 分区 要求每个分区大小一致
fdisk /dev/sdb
n
p
+1G
w
根据MBR 分区表结构 512个字节
前 446 个字节为 主引导程序
主分区表DPT 64字节
结束标志 2字节
dd if =/dev/sdb of=/dev/sdc bs=1 count=66 skip =446 seek=446
dd if =/dev/sdb of=/dev/sdd bs=1 count=66 skip =446 seek=446
dd if =/dev/sdb of=/dev/sde bs=1 count=66 skip =446 seek=446
skip=xxx是在备份时对if 后面的部分也就是原文件跳过多少块再开始备份;seek=xxx则是在备份时对of 后面的部分也就是目标文件跳过多少块再开始写。
lspare disk 空闲备用磁盘
2.创建raid 0 md (multi devices)
mdadm -C /dev/md0 -a yes -l0 -n 4 /dev/sd{b,c,d,e}1
当系统认为某个分区有文件系统而报错的时候 向分区里写零 覆盖文件系统
dd if=/dev/zero of=dev/sdb1
mdadm -D (--detail) /dev/md0
mdadm -Ds /dev/md0 > /etc/mdadm.conf
***************************************************************************************************************
3.写入文件系统
mkfs.xfs /dev/md0
-------------------------------
4.永久挂载
vim /etc/fstab
:r! blkid /dev/md0
---------------------------------------
mount -a
5.测试
df -h
dd if=/dev/zero of=/mnt/raid0/f1 bs =1M count=1024 conv=fdatasync
.....................................................................................
去掉一块硬盘
重启之后磁盘报错
进入救援模式查看
mdadm -D /dev/md0
把磁盘加回去
6.删除raid
mdadm --zero-superblock /dev/sd{b,c,d,e}1
****************************************************************************************
生成配置文件:mdadm–D –s >> /etc/mdadm.conf
停止设备:mdadm–S /dev/md0
激活设备:mdadm–A –s /dev/md0 激活
强制启动:mdadm–R /dev/md0
删除raid信息:mdadm--zero-superblock /dev/sdb1
**************************************************************************************************
创建raid5
1. 分区 要求每个分区大小一致
2.创建raid5
mdadm -C /dev/md5 -ayes -l5 -n4 -x1 /dev/sd{b,c,d,e}1 /dev/sda7
-x 指定空闲分区个数 最后一个为空闲磁盘分区 /dev/sda7
mdadm -D /dev/md5
mdadm -Ds > /etc/mdadm.comf
3. 写入文件系统
mkfs.xfs /dev/md5
4.挂载 /etc/fstab /dev/md5 /mnt/raid5
mount-a
df -h
5.测试
dd if=/dev/zero of=/mnt/raid5/f1 bs=1M count=1024
dd if=/mnt/raid5/f1 of=/dev/null
模拟损坏
mdadm /dev/md5 -f /dev/md1
...............................................
mdadm /dev/md5 -f /dev/sda7
mdadm /dev/md5 -r /dev/sda7
mdadm -D /dev/md5
-f: 标记指定磁盘为损坏
-r: 移除磁盘
重启
***********************************
拆掉一块磁盘 现在还剩3块 仍然可以使用
添加一块新硬盘 RAID5
mdadm -D /dev/md5 -a /dev/sde
同步文件系统
xfs_growfs /dev/md5 xfs系列
resize2fs /dev/md5 ext系列
删除旧分区
mdadm --zero-supeblock /dev/sda7
...................................................................
删除raid5
umount /mnt/raid5
mdadm -S /dev/md5
mdadm -D /dev/md5
mdadm --zero-supeblock /dev/sd{b,c,d}1 /dev/sda7 /dev/sde