首页 > 代码库 > RAID
RAID
独立磁盘冗余阵列(RAID,redundant array of independent disks)是把相同的数据存储在多个硬盘的不同的地方(因此,冗余地)的方法。通过把数据放在多个硬盘上,输入输出操作能以平衡的方式交叠,改良性能。因为多个硬盘增加了平均故障间隔时间(MTBF),储存冗余数据也增加了容错。
磁盘阵列其样式有三种,一是外接式磁盘阵列柜、二是内接式磁盘阵列卡,三是利用软件来仿真。
RAID0:把数据条带化后,分别同时写入不同的磁盘当中,每个磁盘的数据内容不一样,但是容量一致,读写都有提升,出现故障,无法进行任何补救,
RAID1:把数据做成备份,所有的盘里都是一样的数据内容,浪费,写的性能下降,读有提升,
RAID4:带有校验码的磁盘阵列,一个盘存校验码,但是由于使用磁盘频繁,导致它会容易损坏,
RAID5:带有校验码,所有盘轮回存校验码,使用几率和磁盘损坏几率都公平,
RAID6:两个校验盘
RAID10:先1后0,公司大部分使用这种方式
下面就用软件模拟的方式做一个RAID5
环境:在centos7、sdb磁盘上进行
创建4个磁盘分区
#fdisk /dev/sdb
n
+10G
....
#partx -a /dev/sdb (内核重读设备文件)
#mdadm -C /dev/md5 -a yes -l 5 -n 3 -x 1 /dev/sdb{5,6,7,8} (创建raid5)
#mke2fs -j /dev/md5 (格式化文件系统)
#mount /dev/md5 /mnt (挂载)
#cp -r /etc /mnt
#mdadm -D /dev/md5 (查看raid信息)
[root@localhost ~]# mdadm /dev/md5 -f /dev/sdb5
mdadm: set /dev/sdb5 faulty in /dev/md5(模拟损坏)
空闲盘会自动顶上替。
[root@localhost ~]# cat /proc/mdstat
[root@localhost ~]# mdadm /dev/md5 -r /dev/sdb5
mdadm: hot removed /dev/sdb5 from /dev/md5(把磁盘5移除)
#mdadm /dev/md5 -f /dev/sdb6 (把6模拟损坏)
[root@localhost ~]# cat /mnt/etc/is
iscsi/ issue issue.net
[root@localhost ~]# cat /mnt/etc/issue
\S
Kernel \r on an \m
(还能正常访问)
在有坏的就不能访问了,能访问也是缓存里面的,机器重启后,无法访问:
生成配置文件: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
RAID