1

RAID


磁盘阵列: Redundant Arrays of Inexpensive Disks,将对个较小的磁盘整合成一个较大的磁盘,这个较大的磁盘功能既能存储更多的数据,也具有保护数据的功能。

RAID的级别


  • RAID0 条带
    至少两个磁盘,将磁盘分成大小相同的区块(chunk),文件写入磁盘按照chunk大小切割好,依序放到各个磁盘中,RAID0如下图所示

clipboard.png

  • RAID1 镜像
至少两个磁盘,对磁盘做镜像,数据在两个相同的磁盘中各存一份,两个磁盘一一对应并且同步,RAID1如下图所示

clipboard.png

  • RAID1+0
至少四个磁盘,数据存储的过程中分成等份,每一份数据在两个相同的磁盘中各存一份

clipboard.png

  • RAID5 校验
至少三个磁盘,和RAID0基本相同,该级别的RAID每次存储数据留一个磁盘存储这份数据的校验值,并且磁盘轮循存储数据的校验值

clipboard.png

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

Dabric
26 声望2 粉丝

对日常 Linux 相关学习的内容进行记录,希望与各位 Linux 爱好者共勉。