服务器硬件和RAID设置
一、RAID磁盘阵列介绍
RAID,是Redundant Array of Independent Disks的缩写,中文简称为独立冗余磁盘阵列。
把多块独立的物理硬盘按不同的方式组合起来形成一个硬盘组(逻辑硬盘),从而提供比单个硬盘更高的存储性能和提供数据备份技术。
组成磁盘阵列的不同方式称为RAID级别(RAID Levels)。
存储性能和数据备份技术,相较于LVM
主要级别:RAID0,1,5,6,1+0等(raid0+1,raid5+0)。
RAID 0
RAID 0,即等量模式,性能最佳,不安全。
特点:
需要相同磁盘容量,不然影响性能
切割chunk(4kb-1mb)进行存储,默认512KB。
越多块磁盘组成的RAID 0性能越好,每块负责得数据量更低了。
只要有一块磁盘损坏,所有数据都会遗失无法读取。
正常不会单独应用raid0。
最少2块硬盘。
RAID 1
RAID 1,即镜像模式,安全性高(数据备份),性能差。
特点:
让同一份数据,完整的保存在2块磁盘上。
也需要相同磁盘容量,不同容量将会以小的容量为主。
2块磁盘互为备份(偶数2,4,6)。
整体RAID容量少了50%。
RAID 5*
RAID 5,均衡模式。
特点:
需要3块以上磁盘。
每次写入,都会产生奇偶校验值,每次都记录在不同的盘里。
总容量,整体磁盘数量-1块。N-1
默认仅能支持1块磁盘损坏的情况下,保证数据的正常存储。例如:Ap=A1+A2+A3,A3丢失,可以通过Ap-A1-A2来算出A3。但是损失2块就没法存储了。
读取性能尚可,写入性能一般。
RAID 6
跟RAID5不同的是,会产生2种不同算法的奇偶校验值。
需要4块以上,但是允许出错的磁盘变为了2块。
RAID 10(1+0)*
RAID 1+0
特点:
即先让4块磁盘组成raid 1,再将2组raid1设置成1组raid 0。
高成本RAID 10 总和RAID 5
二、实现RIAD
硬raid
需要raid卡,磁盘接在raid卡上,有自己的cpu,处理速度快,从硬件的层面上处理
然后开机进行raid配置,然后装系统
但是不同厂商的raid卡配置会不一样
软raid
mdadm是multiple devices admin的简称,它是Linux下的一款标准的软件 RAID 管理工具
mdadm管理工具,最小化默认不安装,需要yum安装
mdadm是一个用于创建、管理、监控RAID设备的工具,它使用linux中的md驱动。
mdadm程序是一个独立的程序,能完成所有软件RAID的管理功能,主要有7中使用模式。
阵列卡介绍
阵列卡是用来实现RAID功能的板卡
通常是由I/O处理器、硬盘控制器、硬盘连接器和缓存等一系列组件构成的
不同的RAID卡支持的RAID功能不同
例如支持RAIDO、RAID1、RAID5、RAID10等RAID卡的接口类型
lDE接口、scSI接口、SATA接口和SAS接口
阵列卡的缓存
缓存(Cache)是RAID卡与外部总线交换数据的场所,RAID卡先将数据传送到缓存,再由缓存和外边数据总线交换数据。
缓存的大小与速度是直接关系到RAID卡的实际传输速度的重要因素。
不同的RAID卡出厂时配备的内存容量不同,一般为几兆到数百兆容量不等。
配置
rpm -q mdadm
madam -C(创建)-v(显示详情) /dev/md0 -l 0(级别) -n2(数量) /dev/sdb /dev/sdc(/dev/sd[b,c])
ls /dev/md0
mdadm -D(查询详细信息) /dev/md0
/etc/mdadm.conf 配置文件需要写入,在格式化之前
mdadm -Ds(扫描)v /dev/md0
mdadm -Dsv /dev/md0 > /etc/mdadm.conf 写入重定向
如果多个RAID,得追加,不能重定向
cat /proc/mdstat 查看实时RAID状态
mkfs.xfs /dev/md0
mkdir/raid0
mount /dev/md0 /raid0/
df -hT
破坏:
cp -p /etc/passwd /raid0/
mdadm /dev/md0 -f(破坏) /dev/sdb
删除sdb,结果sdb还有,sdc没有了。
其实是原来的sdc变成了sdb,UUID没变
RAID1
umount /dev/md0
mdadm -S /dev/md0 停止
rm -rf /etc/mdadm.conf 删除配置文件
[root@localhost md0]# mdadm -C -v /dev/md11 -l 1 -n 2 /dev/sdg /dev/sdh //不带热备盘
[root@localhost md0]# mkfs.xfs /dev/md11
[root@localhost md0]# mkdir /md11
[root@localhost md0]#
[root@localhost md0]# mount /dev/md11 /md11
[root@localhost md0]# df -h
[root@localhost md11]# mdadm -D /dev/md11
[root@localhost md11]# mdadm /dev/md11 -f /dev/sdg
mdadm -r /dev/md11 /dev/sdg //将坏的硬盘从raid1中移除
[root@localhost ~]# mdadm -a /dev/md11 /dev/sdi //将raid1中加入一块新的硬盘sdi,现在又变成2块了
mdadm -D /dev/md11 //查看状态会发现需要一点时间同步
mdadm -Dvs /dev/md11 > /etc/mdadm.conf //最后同步配置文件
为防止这种情况,可以在一开始创建Raid1的时候就指定热备盘
[root@localhost md0]# mdadm -C -v /dev/md1 -l 1 -n 2 -x 1 /dev/sdd /dev/sde /dev/sdf创建raid1(带热备盘)
RAID 5
[root@localhost ~]# mdadm -C -v /dev/md5 -l5 -n3 -x1 /dev/sd[b,c,d,e] //3块盘做raid5,1块盘做热备
[root@localhost ~]# mdadm -D /dev/md5 //查看状态
[root@localhost ~]# mdadm -Dvs > /etc/mdadm.conf //写入配置
[root@localhost ~]# mkfs.xfs /dev/md5
[root@localhost ~]# mkdir /raid5
[root@localhost ~]# mount /dev/md5 /raid5/
[root@localhost ~]# df -hT
[root@localhost ~]# mdadm /dev/md5 -f /dev/sdb -r /dev/sdb停止阵列:
umount /dev/md5
mdadm -S /dev/md5
[root@localhost ~]# cat /etc/mdadm.conf //配置文件还有便于恢复
[root@localhost ~]# cat /proc/mdstat //内存中已经读不到了
[root@localhost ~]# mdadm -As //s表示恢复的时候会去配置文件中扫描
[root@localhost ~]# cat /proc/mdstat
[root@localhost ~]#mdadm -G /dev/md5 -n 4 //原来3块现在变成4块
创建raid10(用4块硬盘)
两种方法
1、可以先做raid1再做raid0
2、mdadm -C -v /dev/md10 -l 10 -n 4 /dev/sd[k,l,m,n]
删除raid不用了,磁盘做其他用(也要先卸载)
[root@localhost ~]# umount /dev/md5
[root@localhost ~]# mdadm -S /dev/md5
删除配置文件
[root@localhost ~]# rm -rf /etc/mdadm.conf
清除磁盘中raid标识
[root@localhost ~]# mdadm --zero-superblock /dev/sdb
[root@localhost ~]# mdadm --zero-superblock /dev/sdc
[root@localhost ~]# mdadm --zero-superblock /dev/sdd
[root@localhost ~]# mdadm --zero-superblock /dev/sde
–zero-superblock 擦除设备中的MD超级块
注意:raid1可以添加也可以减少磁盘
raid5只可以添加不可以减少磁盘