磁盘阵列
磁盘阵列
一、概念
1、什么是RAID
RAID全称Redundant Array of Inexpensive Disks,廉价冗余磁盘阵列,通过多块磁盘组成一种模式,来提高吞吐量和可靠性。
2、磁盘阵列功能
-
-
- 整合闲置磁盘空间
- 提高磁盘读取效率
- 提供容错功能
-
3、磁盘阵列等级
- raid0两块或两块以上硬盘组成,数据分成两份同时写入/读取两块硬盘,所以优点就是速度很快,缺点就是数据不太安全,如果一块硬盘坏了,整个阵列的数据都毁了;
- raid1两块或两块以上硬盘组成,数据在向一块硬盘写入/读取同时向另一块硬盘同样操作,这样的结果是一个数据有了两份,更安全了。缺点就是资源浪费,成本较大;
- raid5三块或以上硬盘组成,通过某个算法,将数据分发到三块硬盘上面,当一块硬盘坏掉时,可以通过算法,从另外两块硬盘上将数据算出来,听起来很牛是不是,相比raid1只是成本减少些;
- raid1+0需要四块或以上硬盘组成,首先两块硬盘组建成raid0,然后两块raid0再组建成raid1,实现效果需要自己去悟,它具备了raid0的高速,以及raid1的安全,目前主流web服务器都用这种阵列。
- 配用磁盘:闲着没用,用于顶替坏盘
二、软件磁盘阵列
1、创建
语法1:mdadm --create --auto=yes /dev/md[0-9] --raid-devices=N --spare-devices=N /dev/sdx{1,2,3,5}
语法2:mdadm --create /dev/mdX --level=5 --raid-devices=3 /dev/sdb{1..3}
语法3:mdadm -C /dev/mdX -l 5 -n N -x 1 /dev/sdX
--create 建立RAID的选项
--auto=yes 是否建立设备文件(默认为设置)
--raid-devices=N 使用几个磁盘作为RAID的设备
--spare-devices=N 使用几个作为备用磁盘
--level=[015] 设置磁盘阵列等级
注意:记得创建成功后格式化
mkfs -t 文件系统 /dev/mdx
例:搭建一个raid 10
1、先添加一块硬盘
2、创建四个分区(不用考虑是否是主分区或是逻辑分区)
3、首先将两个分区创建成raid1(raid 0)
语法:mdadm -C /dev/mdA -l 1 -n 2 /dev/sdb{1,2}
mdadm -C /dev/mdB -l 1 -n 2 /dev/sdb{3,5}
注:A,B 是不同的数字
4、再将两个raid 1 创建成一个raid 0
语法:mdadm -C /dev/mdC -l 0 -n 2 /dev/md{A,B}
5、格式化/dev/mdC
语法:mkfs -t xfs /dev/mdC
6、挂载
mount /dev/mdC directname
2、查询
cat /proc/mdstat #查询运行状态
mdadm --detail /dev/mdx #查询磁盘阵列信息(主要查看其中的UUID)
3、模拟错误
mdadm --manage /dev/md[0-9] --fail 设备名称
# --fail 将后面的设备设置成错误状态。 (可以用 -f 短命令代替)
4、增加磁盘
mdadm --manage /dev/mdx --add 设备名称
# --add 将后面的设备加入到磁盘阵列 (可以用 -a 短命令代替)
5、移除磁盘
mdadm --manage /dev/mdx --remove 设备名称 (可以用 -r 短命令代替)
# --remove 将后面的设备移除磁盘阵列
6、停用磁盘阵列
mdadm --stop /dev/mdx 停用磁盘阵列 (可以用 -S 短命令代替)