linux 软件磁盘阵列 RAID

  • 概念
    容错式廉价磁盘阵列.RAID通过一种技术,将多个小硬盘整合成一个大硬盘.并且还可以提供数据保护功能.
  • RAID的level
    • RAID-0(等量模式,stripe):效能最佳
      • 此模式先将硬盘切除等量的区块,当一个文件要写入RAID时,该文件会根据区块的大小切割好,然后依序放到各个硬盘中去.比如一个100MB的文件,要放到RAID中,每块硬盘都会平均分配到一定大小,然后依序写入相应的硬盘中.
      • 数据损坏的风险较大.
    • RAID-1(镜像模式,mirror):完整备份
      • 如果组成此模式的硬盘大小不同,则总容量以容量较小的硬盘为主.
      • 让同一份数据,完整的保存在两块硬盘上.
      • 硬盘只有小于等于一半能用,另一部分用来做备份
  • RAID 0+1 / RAID 1+0 同时保证数据的完整性,写入速度和读取速度
    • RAID 0+1
      • 先让两块硬盘组成RAID 0,并且需要有两组.
      • 将这两组RAID 0 组合成RAID1
    • RAID 1+0
      • 先让两组(两块硬盘为一组)组成RAID1
      • 将这两组RAID 1 组合成RAID0
  • RAID 5 :效能与数据备份的均衡考虑
  • Spare Disk:预备硬盘
    • 当磁盘阵列的磁盘损毁时,换一个新硬盘并且插到主机上时,磁盘阵列会主动重建原本坏掉的那块硬盘的数据到新的硬盘上.但是此种方法得关机才行.
    • Spare Disk用来在不关机的情况下更换硬盘.
    • Spare Disk时一块或者多块没有包含在原本磁盘阵列中的磁盘.平时不会使用,但是有正在磁盘阵列中的文件损坏时,会自动将闲置的磁盘加入到磁盘阵列中,并将坏掉的硬盘移出磁盘阵列.
  • RAID的优点
    • 数据安全与可靠性
    • 读写效能 可以改善原系统的I/O
    • 容量更大
  • 硬件磁盘阵列和软件磁盘阵列
    • 硬件磁盘阵列 通过磁盘阵列卡来实现.硬盘本身支持,不会重复消耗原本系统的I/O总线,效果更好,也支持热插拔硬盘,但是太贵!
    • 软件磁盘阵列是通过软件来模拟实现硬件磁盘阵列的功能的.会重复消耗原本系统的资源,但是便宜!
  • mdadm 软件磁盘阵列工具

    • --create 建立RAID
    • --auto=yes 建立软件磁盘阵列设备,即/dev/md0 /dev/md1 …
    • --raid-devices=N 使用多少磁盘来建立磁盘阵列的设备
    • --spare-devices=N 使用多少磁盘作为备用设备
    • --level=[015] 设置这组磁盘这列的等级
    • --detail 磁盘阵列设备的详细信息
    • --manage dev/md[0-9] [--add 设备] [--remove 设备] [--fail 设备]
      • --add 将设备加入到md.
      • --remove将设备从md中移除
      • fail 将后边的设备设置为出错状态
    • 实例- 使用软件磁盘阵列组成RAID 5

      • 使用parted工具将一块测试硬盘分割为5个分区
      • 建立磁盘阵列 mdadm --create --auto=yes /dev/md0 --level=5 --raid-devices=4 --spare-devices=1 /dev/sdb{1,2,3,4,5} 这里写图片描述
      • 查看刚刚建立的磁盘阵列
        这里写图片描述
      • 格式化磁盘阵列 mkfs -t ext3 /dev/md0
      • 挂载到/raid目录 mount /dev/md0 /raid
      • 查看已经挂载的磁盘信息df -h
        这里写图片描述
    • 实例- 恢复坏掉的磁盘的数据

      • 将一块硬盘设置为错误 madam --manage /dev/md0 --fail /dev/sdb1 如果此时有Spare Disk的存在系统会直接将Spare Disk硬盘加入到磁盘阵列中并回复数据
        这里写图片描述
      • 查看此时的磁盘阵列状态 mdadm --detail /dev/md0
        这里写图片描述 说明磁盘阵列:q恢复已经结束
      • 拔除损坏的硬盘
  • 开机自动启动RAID并自动挂载
    • mdadm --detail /dev/md0 | grep -i uuid 查看设备向系统注册的UUID标识符
    • vim /etc/mdadm.conf
      这里写图片描述
  • umount /dev/md0 卸载磁盘阵列
  • mdadm --stop /dev/md0 直接关闭磁盘阵列

你可能感兴趣的:(linux)