RAID
磁盘阵列: Redundant Arrays of Inexpensive Disks,将对个较小的磁盘整合成一个较大的磁盘,这个较大的磁盘功能既能存储更多的数据,也具有保护数据的功能。
RAID的级别
- RAID0 条带
至少两个磁盘,将磁盘分成大小相同的区块(chunk),文件写入磁盘按照chunk大小切割好,依序放到各个磁盘中,RAID0如下图所示
- RAID1 镜像
至少两个磁盘,对磁盘做镜像,数据在两个相同的磁盘中各存一份,两个磁盘一一对应并且同步,RAID1如下图所示
- RAID1+0
至少四个磁盘,数据存储的过程中分成等份,每一份数据在两个相同的磁盘中各存一份
- RAID5 校验
至少三个磁盘,和RAID0基本相同,该级别的RAID每次存储数据留一个磁盘存储这份数据的校验值,并且磁盘轮循存储数据的校验值
RAID的实现
hardware,software RAID
- hardware RAID
磁盘阵列卡上面有一块专门的芯片处理RAID
- software RAID
软件磁盘阵列是系统仿真的,因此使用的装置文件名是系统的装置文件,文件名为/dev/md0, /dev/md1...
- software RAID的实现
mdadm: 将任何块设备做成RAID(支持的RAID级别,LINEAR, 0, 1, 4, 5, 6, 10)
创建模式
-C 设备
专用选项
-l: 指定级别
-n #: 指定设备数
-a {yes|no}: 自动为其创建设备文件
-c: CHUNK大小
-x #: 指定空闲磁盘个数
# mdadm -C /dev/md0 -a yes -l 0 -n 2 /dev/sda{5,6} 将分区sda5,sda6创建成级别为0的磁盘阵列,设备名为/dev/md0
# cat /proc/mdstat 查看当前系统所启动的RAID设备
管理模式
--add: 在指定磁盘阵列中添加某个磁盘以作备用磁盘
--remove: 移除指定磁盘阵列中空闲或者损坏的磁盘
--fail: 将指定磁盘阵列中某个磁盘模拟损坏
# mdadm /dev/md0 --fail /dev/sda5
查看RAID阵列的详细信息
# mdadm -D /dev/md#
--detail
停止某个磁盘阵列
# mdadm -S /dev/md#
mdadm -D --scan > /etc/mdadm.conf 查看装配的磁盘阵列信息,将结果保存至/etc/mdadm.conf,每次可以通过读取该文件的内容重新自动装配磁盘阵列
# mdadm -A /dev/md# 重新装配某个磁盘阵列
# mdadm -A /dev/md# /dev/sda# 将指定磁盘重新装配至指定的磁盘阵列中
watch: 周期性执行指定命令,并以全屏方式显示结果
-n #: 指定周期长度,单位为秒,默认为2
格式: watch -n # 'COMMAND'
练习:
装配2G的RAID0
装配2G的RAID1
装配2G的RAID5
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。