1.RAID
Redundant Array of Independent Disks 独立冗余磁盘阵列
RAID技术通过把多个硬盘设备组合成一个容量更大,安全性更好的磁盘阵列,并把数据切割成多个区段后分别存放在各个不同的物理硬盘设备上,然后利用分散读写技术来提升磁盘阵列整体的性能,同时把多个重要数据的副本同步到不同的物理硬盘设备上,起到了冗余备份的效果。
1.1实现RAID的三个关键技术
镜像
数据复制到多个磁盘
数据可靠性高,读性能高(可以并发从多个副本读)
写性能低
数据条带
将数据切割分片,保存在不同磁盘,多个数据片共同组成完整数据
数据读写性能非常高
可靠性低
数据校验
写入数据同时对数据进行校验计算,并将校验数据存储在RAID成员磁盘中
校验数据可以存储在单块磁盘,也可存储在随机磁盘
数据可靠性高,读性能高
写性能低
1.2常见RAID方案
标准RAID等级:RAID0 - RAID6
JBOD
不是标准的RAID等级,只是将多个物理磁盘串联,提供一个巨大的逻辑磁盘
常指磁盘柜,不论其是否提供RAID功能
RAID0
数据依次写到RAID成员磁盘中,并发写,并发读
读性能高,写性能高
无可靠性
最少2块磁盘,磁盘利用率100%
适用于对性能要求严格但对数据安全性和可靠性不高的应用,如视频、音频存储、临时数据缓存空间等。
RAID1
镜像
顺序读性能高 ,写性能低
可靠性高
最少2块磁盘,磁盘利用率1/n
适用于对顺序读写性能要求高以及对数据保护极为重视的应用,如对邮件系统的数据保护。
RAID5
数据条带 + 数据校验(校验数据存放于RAID中的1个随机成员)
读性能高,写性能稍低
可靠性稍高,允许一块磁盘损毁
至少3块硬盘,磁盘利用率(n-1)/n
适用于大部分存储应用需求,数据中心大多采用它作为应用数据的保护方案。
组合等级RAID01与RAID10
RAID10(先做RAID1,在做RAID0)
RAID01(先做RAID0,在做RAID1)
读性能中,写性能中
可靠性中,RAID10容错性能小于RAID01
至少4块硬盘,磁盘利用率50%
组合等级的实现成本一般都非常昂贵,只是在 少数特定场合应用。
1.3部署RAID
1.插上成员磁盘(>=2)
2.创建raid磁盘组(如/dev/md0)
mdadm -Cv /dev/md0 -a yes -n 4 -l 10 /dev/sdc /dev/sdd /dev/sde /dev/sdf
3.查看raid磁盘组信息
mdadm -D /dev/md0
state
active (正常)| faulty(异常) | spare(备份)
4.格式化raid磁盘组
mkfs.ext4 /dev/md0
5.创建挂载点并挂载raid磁盘组
6.配置fatab,设置开机启动
1.4other.
模拟磁盘损坏
mdadm /dev/md0 -f /dev/sdc
设置备份盘
mdadm -Cv /dev/md0 -a yes -n 3 -l 5 -x 1 /dev/sdc /dev/sdd /dev/sde /dev/sdf
2.LVM
Logical Volume Manager逻辑卷管理器
目的是为了解决硬盘设备在分区后不易修改分区大小的缺陷,但是它会造成数据的丢失。
物理卷处于LVM中的最底层(可以是硬盘/分区/raid磁盘阵列/...)
卷组建立在物理卷之上(一个卷组可以包含多个物理卷;创建卷组之后可以添加/移除物理卷)
逻辑卷使用卷组中的空闲资源建立(逻辑卷创建后也可以动态扩展/缩小空间)
快照原理
快照一般都很小,它存的是原系统上要发生变化的文件,比如我要修改一个文件,快照会首先把文件存起来,然后修改过后的文件在原系统,未修改的文件存进了快照。
操作见参考文档
注:
1.e2fsck -f - 强行检查文件系统,以确保文件系统处于一致性状态,尤其在LVM缩容前!
2.xfs文件系统的lv,无法进行缩容!
3.lv的扩/缩容都需要先取消与目录的挂载
4.lv的扩容先扩容,后检查文件系统完整性;缩容要先检查文件系统完整性。
5.快照只能使用1次,使用后会被删除(使用即lvconvert 恢复)
6.要移除物理卷,首先移除lv、再移除vg,再移除pv