Part I. RAID基础(引用)
RAID 是冗余磁盘阵列(Redundant Array of Inexpensive Disk)的简称。它是把多个磁盘组成一个阵列,看成单一磁盘使用。它将数据以分段(striping)的方式分散存储在不一样的磁盘中,经过多个磁盘的同 时读写,来减小数据的存取时间,而且能够利用不一样的技术实现数据的冗余,即便有一个磁盘损坏,也能够从其余的磁盘中恢复全部的数据。简单地说,其好处就 是:安全性高、速度快、数据容量大。
磁盘阵列根据其使用的技术不一样而划分了等级,称为RAID level,目前公认的标准是RAID 0~RAID 5。其中的level并不表明技术的高低,RAID 5并不高于RAID 4 ,RAID 0并不低于RAID 2 ,至于选择哪种RAID需视用户的需求而定。下面分别对经常使用的RAID 0、RAID 一、RAID 5进行简单的介绍。 shell
1.RAID 0
特色:它是将多个磁盘并列起来,成为一个大硬盘。在存取数据时,将数据按磁盘的个数来进行分段,而后同时将这些数据写进这些盘中。在全部的级别中,RAID 0的速度是最快的。但没有数据冗余,阵列中任何一个磁盘坏掉,意味着全部数据丢失。
磁盘利用数:n(假设有n个磁盘)。
配置条件:最低两块磁盘,且分区大小尽可能相同。
应用领域:对高磁盘容量及高速磁盘存取有特殊需求,而又不计较其高故障率的工做。固然,若是你正在使用集群,RAID 0 无疑是提升磁盘I/O性能的最好方法,由于在这种状况下,你就不用担忧冗余的问题了。 数据库
2.RAID 1
特 点:使用磁盘镜像(disk mirroring)的技术,在一个磁盘上存放数据的同时也在另外一个磁盘上写同样的数据。由于有了备份磁盘,因此RAID 1的数据安全性在全部的RAID级别上来讲是最好的。尽管其写入数据的速度比较慢,但因其数据是以分段的方式做储存,于是在读取时,它几乎和RAID 0有一样的性能。
磁盘利用数:n/2。
配置条件:最低两块磁盘,且分区大小尽可能相同。
应用领域:数据库、金融系统等一些对数据有着高可靠性要求的领域。再者就是系统中写数据量比较少,而读数据量又比较多的状况下能够采用这一模式。 安全
3.RAID 5
特色:以数据的校验位来保证数据的安全,但它不是以单独硬盘来存放数据的校验位,而是将数据段的校验位交互存放于各个磁盘上。这样,任何一个磁盘损坏,均可以根据其余磁盘上的校验位来重建损坏的数据。并行读写数据,性能也很高。 服务器
磁盘利用数:n-1。
配置条件:最低三块硬盘,且分区大小尽可能相同。 ide
本次试验是介绍raid5
实验的环境使用的是台多槽位的台式机。
一块320装系统
3块4T的硬盘作raid5性能
实验目的很简单,用于作一台其余服务器数据的的备份服务器。ui
1>建立raid:
mdadm的每一个命令都有其简写形式,固然也可使用shell的正规表达式:
#mdadm --create --verbose /dev/md0 --level=raid5 --raid-devices=3 /dev/sdb /dev/sdc /dev/sdd --spare-devices=1 /dev/sde
#mdadm -Cv /dev/md0 -l5 -n3 /dev/sdb /dev/sdc /dev/sdd -x1 /dev/sde
#mdadm -Cv /dev/md0 0l5 -n3 /dev/sd[bcd] -x1 /dev/sdespa
2>格式化raid设备:
#mkfs -t ext3 /dev/md0code
3>挂载raid设备:
#mkdir /mnt/backup
#mount -t ext4 /dev/md0 /mnt/backupip
4>查看raid设备状态:
#mdadm -D /dev/md0
#cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md0 : active raid5 sdd[2] sde3 sdc[1] sdb[0]
2097024 blocks level 5, 64k chunk, algorithm 2 3/3
unused devices: <none>
说明:
sdd[2]:此设备在RAID中的次序。
经过如上能够很好的判断那块硬盘损坏。
模拟硬盘损坏。
1.将一个磁盘标记为faulty,模拟硬盘坏损
#mdadm /dev/md0 -f /dev/sdb
2.查看RAID5重建过程
#mdadm -D /dev/md0
3.移除坏损设备
#mdadm /dev/md0 -r /dev/sdb
4.添加新的设备
#mdadm /dev/md0 -a /dev/sdf
5.查看最终状态
#mdadm -D /dev/md0
6.查看raid是否还存在
7.若是须要向已有的raid10中添加硬盘
mdadm /dev/md127 -a /dev/sdg (默认被当着热备盘)
mdadm -G /dev/md127 -n 6 (须要手动添加进去)
注意:经过df -Th查看文件系统容量发现大小并无改变,因此还须要对文件系统扩容,根据磁盘大小,扩容时间也不相同,因此扩容时耐心等待resize2fs /dev/md127
8.实现自动装配:
mdadm运行时会自动检查/etc/mdadm.conf 文件并尝试自动装配,所以第一次配置raid后能够将信息导入到/etc/mdadm.conf 中,命令以下:
[root@localhost ~]# mdadm -Ds >/etc/mdadm.conf
接下来设置mdadm.conf
vi /etc/mdadm.conf
往里面添加一行
ARRAY /dev/md127 048383b6:c69991e2:f9c2bef7:39d45ef1
查看/dev/md的uuid mdadm --detail /dev/md127 | grep -i uuid 能够看到如下一行 UUID:048383b6:c69991e2:f9c2bef7:39d45ef1 设置开机自动挂载 vi /etc/fstab 往末尾添加一行 /dev/md127 /mnt/raid ext3 defaults 1 2
.关闭软件raid
先卸载/dev/md0
umount /dev/md0
而后删除以前在/etc/fstab中添加的语句
直接关闭/dev/md0的方法 mdadm --stop /dev/md0 查看raid是否还存在 cat /proc/mdstat 删除/etc/mdadm.conf里以前写的语句 vi /etc/mdadm.conf