RAID磁盘阵列的原理和搭建
RAID:磁盘阵列
磁盘阵列是由很多价格比较便宜的磁盘以硬件(raid卡)或软件MDADM形成组合成一个容量巨大的磁盘组。
RAID可以预防数据丢失,但它不能保证你的数据不丢失。
软RAID:linux内核中有一个md模块在底层管理RAID设备。它会在应用层给我们提供一个应用程序工具mdadm,
参数:
-C:--creat 建立一个新阵列
-A **磁盘阵列
-D --detail 打印阵列设备的详细信息
-s 或--scan 扫描配置文件或/proc/mdstat
-r 将设备状态定为故障
-a或--add 添加设备阵列
-v 或 --verbose显示详细信息
-r 移除设备
-l 或--level= 设定磁盘阵列的等级
-n或--raid-devices= 指定阵列成员(分区/磁盘)的数量
-x或--spare-devices= 指定阵列中备用盘的数量
-c或--chunk= 设定阵列的块大小
-G 或--grow 改变阵列大小或者环境
-S 停止阵列
硬Raid
raid1 raid5 raid10
RAID类型 | 最低磁盘个数 | 空间利用率 | 各自的优缺点 | |
---|---|---|---|---|
级别 | 说明 | |||
RAID0 | 条带卷 | 2+ | 100% | 读写速度快,不容错 |
RAID1 | 镜像卷 | 2 | 50% | 读写速度一般,容错 |
RAID5 | 带奇偶校验的条带卷 | 3+ | (n-1)/n | 读写速度快,容错,允许坏一块盘 |
RAID6 | 带奇偶校验的条带集,双校验 | 4+ | (n-2)/n | 读写快,容错,允许坏两块 |
RAID10 | RAID1和RAID0的高速 | 4 | 50% | 读写速度快,容错 |
RAID50 | RAID5和RAID10的高速 | 6 | (n-2)/n | 读写速度快,容错 |
RAID5图示
实验环境:
raid种类 | 磁盘 | 热备盘 |
---|---|---|
raid0 | sdb,sdc | |
raid1 | sdd,sde | sdf |
raid5 | sdg,sdh,sdi | sdj |
raid10 | 分区:sdk1,sdk2,sdk3,sdk4 |
创建raid0
mdadm -C -v /dev/md0 -l 0 -n 2 /dev/sdb /dev/sdc mdadm -Dsv #查看raid信息 mdadm -D /dev/md0 #查看详细信息 mdadm -Dsv >> /etc/mdadm.conf #生成配置信息 mkfs.xfs /dev/md0 #格式化 mkdir /raid0 mount /dev/md0 /raid0/ # 挂载 blkid /dev/md1 # 查看分区 echo "UUID=XXXX /raid0 xfs defaults 0 0" >>/etc/fstab #开机启动 umount /raid0/ #卸载 mount -a df -h #查看分区信息
创建raid1
添加一个热备盘
模拟磁盘故障,自动顶替故障盘
卸载阵列
从raid1中删除故障盘
mdadm -C -v /dev/md1 -l 1 -n 2 -x 1 /dev/sdd /dev/sde #或者 mdadm -C -v /dev/md1 -l 1 -n 2 -x 1 /dev/sd{d,e,f} mdadm -Dsv >> /etc/mdadm.conf mdadm -D /dev/md1 mkfs.xfs /dev/md1 #格式化 mkdir raid2 #创建挂载点 mount /dev/md1 /raid1 #挂载 cp /etc/passwd /raid1/ #复制 cp -r /boot/grub /raid1/ df -h #查看分区 #模拟raid1中数据盘/dev/sde出现故障,观察/dev/sdf备用盘能否自动顶替故障盘 mdadm /dev/md1 -f /dev/sde mdadm -D /dev/md1 #查看状态
创建RAID5
1.创建RAID5,添加一个热备盘,指定chunk大小为32k
-k 或--spare-devicds= 指定阵列中备份的数量
-c 或--chunk设定阵列块chunk块大小,单位为kb
2.停止阵列,重新**阵列
3.使用热备盘,扩展阵列容量,从三个磁盘扩展到4个
4.硬盘损坏,恢复添加
raid种类 | 磁盘 | 热备盘 |
---|---|---|
raid5 | sdg,sdh,sdi | sdj |
mdadm -D #查看磁盘使用信息 mdadm -C -v /dev/md5 -l 5 -n 3 -x 1-c 32 /dev/sd{g,h,i,j} #创建raid mdadm -D /dev/md5 #查看磁盘使用情况 mdadm -Dsv >> /etc/mdadm.conf #保存配置文件 mdadm -S /dev/md5 #停止前,请确认数据已经同步完毕 cat -Dsv > /etc/mdadm.conf #查看配置信息 mdadm -As #扫描文件并** mdadm -G /dev/md5 -n 4 -c 32 #重新分配磁盘 cat /dev/sd* #查看磁盘
创建RAID10
f磁盘分区:sdk1,sdk2,sdk3,sdk4
fdisk /dev/sdk n p # n p # n p # n p ls /dev/sdk* mdadm -C -v /dev/md10 -l 10 -n 4 /dev/sdk[1-4] #创建RAID10 mdadm -D /dev/md10 #查看raid10详细信息 cat /proc/mdstat #查看配置信息 删除出RAID所有信息及注意事项 umount /dev/md11 #卸载md11 df -h #查看 umount /raid0 #卸载 mdadm -Ss #扫描信息暂停设备 rm -rf /etc/mdadm.conf #删除配置文件 mdadm --zero-superblock /dev/sdb #清空