RAID详细介绍
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RAID详细介绍相关的知识,希望对你有一定的参考价值。
什么是RAID
RAID:Redundant Arrays of Inexpensive(Independent) Disks 1988年由加利福尼亚大学伯克利分校(University of CaliforniaBerkeley) “A Case for Redundant Arrays of Inexpensive Disks” 多个磁盘合成一个“阵列”来提供更好的性能、冗余,或者两者都提供
RAID
提高IO能力
磁盘并行读写
提高耐用性
磁盘沉余来实现
级别:多块磁盘组织在一起的工作方式有所不同
RAID实现的方式
外接式磁盘阵列:通过扩展卡提供适配能力
内接式RAID:主板集成RAID控制器
安装OS前在Bios里配置
软件RAID:通过OS实现
RAID级别
RAID-0:条带卷,strip
RAID-1: 镜像卷,mirror
RAID-2
RAID-5
RAID-6
RAID-10
RAID-01
RAID级别详解
RAID-0:
读写性能提升
可用空间:N*min(s1,s2)
无容错能力
最少磁盘:2,2+
RAID-1:
读性能提升,写性能略有下降
可用空间:1*min(s1,s2)
有冗余能力
最少磁盘数:2,2n
RAID-5:
读,写性能提升
可用空间:(N-1)*min(s1,s2)
有容错能力:允许最多一块磁盘
最少磁盘数:3,3+
RAID-6:
读,写性能提升
可用空间:(N-2)*min(S1,S2,...)
有容错能力:允许最多2块磁盘损坏
最少磁盘数:4,4+
RAID-10:
读,写性能提升
可用空间:N*min(S1,S2,...)/2
有容错能力:每组镜像最多只能坏一块
最少磁盘数:4,4+
RAID-01:
多块磁盘先实现RAID0,在组合成RAID1
JBOD:
Just a Bunch Of Disks
功能:将多块磁盘的空间合并一个大的连续空间使用
RAID7:
可以理解为一个独立存储计算机,自身带有操作系统和管理工具,,可以独自运行,理论上性能最高的RAID模式
常用级别:
RAID-0, RAID-1, RAID-5, RAID-10, RAID-50, JBOD
软RAID
mdadm:为软RAID提供管理界面
为空余磁盘添加冗余
结合内核中的md
RAID设备可命名为/dev/md0、/dev/md1、/dev/md2、/dev/md3等
软件RAID的实现
mdadm:模式化的工具
命令的语法格式:mdadm [mode] <raiddevice> [options] <componentdevices>
支持的RAID级别:LINEAR, RAID0, RAID1, RAID4, RAID5, RAID6, RAID10
模式:
创建:-C
装配:-A
监控:-F
管理:-f, -r, -a
<raiddevice>: /dev/md# <component-devices>: 任意块设备
软件RAID的实现
-C:创建模式
-n #: 使用#个块设备来创建此RAID
-l #:指明要创建的RAID的级别
-a {yes|no}:自动创建目标RAID设备的设备文件 -a yes[意思是初始化RAID设备]
-c CHUNK_SIZE: 指明块大小,单位k
-x #: 指明空闲盘的个数
-D:显示raid的详解信息
mdadm -D /dev/md
管理模式:
-f: 标记指定磁盘为损坏
-a: 添加磁盘
-r: 移除磁盘
观察md的状态:cat /proc/mdstat
例:实现RAID0【性能高,但是没有容错性,损坏一个硬盘就不能使用】
第一步:用四个硬盘,分别拿出相应的空间大小,分区时注意格式 t :dd if=/dev/sda of=/dev/sdb bs=1 count=512
第二步:mdadm -C /dev/md0 -a yes -l0 -n 4 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1
第三步:在一个是否生成用命令mdadm -D /dev/md0
第四步:先把UUID存起来 mdadm -Ds /dev/md0 > /etc/mdadm.conf
第五步:创建文件系统 mkfs.ext4 /dev/md0 blkid就可以查看了
第六步:创建一个挂载点就可以挂载了 mkdir /mnt/raid [永久挂载/etc/fstab]
例:实现RAID5【五个硬盘一个空闲,四个真正使用,】
第一步: mdadm -C /dev/md5 -a yes -l5 -n4 -x1 /dev/sd{b,c,d,e}1 /dev/sd...
第二步:先把UUID存起来 mdadm -Ds /dev/md5 > /etc/mdadm.conf
第三步:创建文件系统 mkfs.ext4 /dev/md5 blkid就可以查看了
第四步:创建文件系统 mkfs.ext4 /dev/md5 blkid就可以查看了
第五步:创建一个挂载点就可以挂载了 mkdir /mnt/raid [永久挂载/etc/fstab]
模拟磁盘故障
mdadm /dev/md5 -f /dev/sde1[模拟sde1硬盘损坏] [mdadm -D /dev/md5 查看情况]
移除磁盘
mdadm /dev/md5 –r /dev/sde1【移除sde1】mdadm /dev/md5 –a /dev/sde1【添加回来sde1】
损坏后加硬盘:mdadm /dev/md5 -a /dev/sde[添加一块/dev/sde硬盘] 【如果是硬盘直接加就行,如果是分区需要格式化还要t加......】
如果空间不够想扩展空间 【mdadm -G /dev/md5 -n 5 -a /dev/sda3 [-G是添加,-n5代表以前是四个现在加到5个 -a 是把那个加到里面]】
【df查看的是文件系统所以看不到添加后的内存】【xfs_growfs /mnt/raid5[xfs文件系统后面跟的是挂载点]】
【resize2fs /dev/md5 etx4文件系统后面跟的是设备名】
软RAID配置示例
使用mdadm创建并定义RAID设备
mdadm -C /dev/md0 -a yes -l 5 -n 3 -x 1 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1
用文件系统对每个RAID设备进行格式化
mke2fs -j /dev/md0
测试RAID设备
使用mdadm检查RAID设备的状况
mdadm --detail|D /dev/md0
增加新的成员
mdadm –G /dev/md0 –n4 -a /dev/sdf1
软RAID测试和修复
模拟磁盘故障
mdadm /dev/md0 -f /dev/sda1
移除磁盘
mdadm /dev/md0 –r /dev/sda1
从软件RAID磁盘修复磁盘故障
? 替换出故障的磁盘然后开机
? 在备用驱动器上重建分区
? mdadm /dev/md0 -a /dev/sda1
mdadm、/proc/mdstat及系统日志信息
软RAID管理
生成配置文件:mdadm –D –s >> /etc/mdadm.conf
停止设备:mdadm –S /dev/md0
激活设备:mdadm –A –s /dev/md0 激活
强制启动:mdadm –R /dev/md0
删除raid信息:mdadm --zero-superblock /dev/sdb1
例: 删除RAID0
首先先取消挂载 umount /mnt/raid0
然后在删除 rm -rf /etc/mdadm.conf[这里是创建时手工添加的]
然后停止设备 mdadm –S /dev/md0 【mdadm –A –s /dev/md0 就激活不了了,因为删除了/etc/mdadm.conf 这个文件】
然后是清除超级块mdadm --zero-superblock /dev/sdb1【或mdadm --zero-superblock /dev/sd{c,e,d}1 一下清空】
然后blkid就看不到文件系统了 ,lsblk看一下还可以看到分区
在彻底的就是用dd 清空了:dd if=/dev/zero of=dev/sdb1,dd if=/dev/zero of=dev/sdc1,dd if=/dev/zero of=dev/sde1,dd if=/dev/zero of=dev/sdd1
可以用二进制确认一下 :hexdump -c /dev/sde1
注意:写入/etc下的文件要删除
以上是关于RAID详细介绍的主要内容,如果未能解决你的问题,请参考以下文章