RHEL7--第七章-raid
使用RAID与LVM磁盘阵列技术
- RAID磁盘冗余阵列
1:RAID非常好的数据冗余备份功能;成本相应提高;
2:降低硬盘设备损坏后丢失数据的几率,还提升了硬盘设备的读写速度;
3:根据不同需求,制定了各种RAID磁盘阵列方案;
a:RAID 0
把多块物理硬盘,最少1块,通过硬件或软件串联起来,组成一个大的卷组;将数据依次下入到各个硬盘;
优点:硬盘的读写速度提升数倍;
缺点:无任何冗余功能和错误修复能力,一旦一块硬盘损坏,数据丢失;
建议:对数据安全要求不高,注重数据读写的;
b:RAID 1
优点:镜像,数据冗余性能,至少2块硬盘,一块运行,一块备份镜像数据;多余两块硬盘时,自动做 RAID10;
缺点:性能提升不明显,硬盘使用率只有50%;
建议:对数据安全看重,性能没有太大要求的;
c:RAID 5
奇偶校验信息,保存到各个硬盘,至少需要3块硬盘以上;
优点:兼顾RAID0,RAID1的性能,任意1块硬盘故障数据都能保证完整;
缺点:只允许单块硬盘故障,出现单盘故障需尽快处理,在此情况下,RAID5 I/O,CPU性能狂降;
建议:盘不多,对数据安全与性能都有要求,可选RAID5;
d:RAID 10
至少4块硬盘,RAID10是2块硬盘组成RAID1,然后两组RAID1组成RAID0;
优点:兼顾安全性与性能;基于4块硬盘的情况下,raid10允许对盘2块故障,随着硬盘数量的增加,容错量也相应上升,RAID5无法做到;
缺点:对盘的数量要求高,磁盘使用率50%;
- 部署磁盘阵列
虚拟机配置软raid
mdadm
在系统中配置有系统来实现的 软raid 命令;
参数:
-a:检测设备名称;
-n:指定设备数量;
-l:指定RAID级别;
-C:创建RAID虚拟卷;
-v:显示过程;
-f:模拟设备损坏;
-r:移除设备;
-Q:查看摘要信息;
-D:查看详细信息;
-S:停止RAID磁盘阵列;
-x:指定空闲备用盘的数量;当一个盘损坏时,备用盘会自动补上;
例1:
创建RAID卷
# mdadm -Cv /dev/md0 -a yes -n 4 -l 10 /dev/sdc /dev/sdd /dev/sde /dev/sdf
# mkfs.ext4 /dev/md0 格式化成ext4文件系统;
# mdadm -D /dev/md0 查看阵列信息;
解析:
/dev/md0:需要创建的raid卷;
-a yes:确认检测设备名称;
-n 4:指定硬盘数量为4块;
-l 10:指定RAID的级别为10,即raid10;
/dev/sdc /dev/sdd /dev/sde /dev/sdf:4块盘的设备路径及名称;
例2:
模拟一块/dev/sdd盘损坏,删除,重启系统,再添加新的硬盘;
# mdadm /dev/md0 -f /dev/sdd
# mdadm -D /dev/md0
# reboot
# mdadm /dev/md0 -a /dev/sdd 添加新的硬盘;
- LVM逻辑卷管理器
好处:允许用户对硬盘资源分区的容量大小进行动态调整;解决硬盘在创建分区后不易修改分区大小的缺陷;不会数据造成损坏;
原理:LVM技术在硬盘分区和文件系统之间添加了一个逻辑层,提供了一个抽象的卷组,把多块硬盘进行卷组合并,实现分区的动态调整;

LVM的理解:
PV:physical volume 物理卷;
VG:volume group 物理卷组;
LV:logical volume 逻辑卷;
PE:physical extent 基本单元;
LVM的核心:
PV:可以是物理硬盘,分区或RAID阵列;
VG:有一或多个PV组成,VG创建后可以继续向其添加新的PV;
LV:由VG中空闲的资源建立的,LV创建后可以动态调整其空间大小;
组建次序:
多个PV组成VG后,把VG分成多个LV,每个LV的容量都是PE的倍数,单个PE的默认大小为4M;
PE的设置:
需要在创建VG卷组时一同设置PE的大小,默认单个PE为4M;已经创建VG后无法再修改PE大小;
# vgcreate -s 16M storage /dev/sdb /dev/sdc
在把 /dev/sdb,/dev/sdc 两个硬盘创建成 名为storage卷组时,把单个PE的值设置成16M;
- 部署逻辑卷
常用的LVM部署命令:
针对 LV逻辑卷: lvcreate,lvextend,lvreduce
相关参数:
-l:以PE基本单元的个数为单位,默认单个PE大小为 4M;
-l 20 表示20x4M=80M;
-L:以输入容量为单位;
-L 100M 表示生成大小为100M;
-n:指定LV逻辑卷的名字;
-n abc 表示新建的逻辑卷名为 abc;
-s:为逻辑卷生成快照卷
例1:
1:把/dev/sdb /dev/sdc 两个硬盘创建成PV物理卷;
# pvcreate /dev/sdb /dev/sdc
2:将两块物理卷加入到 卷名storage 的VG卷组中,并查看卷组状态;
# vgcreate storage /dev/sdb /dev/sdc
# vgdisplay
3:从名为 storage的VG中切割出一个150M的LV逻辑卷,命名为 vo;
# lvcreate -n vo -l 37 storage
# lvdisplay
4:把 vo 逻辑卷格式化成ext4的文件系统,并手动挂载;
# mkfs.ext4 /dev/storage/vo
# mkdir /mnt/lvmtest
# mount /dev/storage/vo /mnt/lvmtest
- 扩容逻辑卷
扩容前必须卸载设备及挂载点的关联;
检查文件系统完整性,也必须先卸载挂载点;
例1:
1:卸载挂载点后,把 vo逻辑卷扩容到290M;而非在原先大小上+290M;
# umount /mnt/lvmtest
# lvextend -L 290M /dev/storage/vo
2:检查硬盘完整性,并重置硬盘容量;
# e2fsck -f /dev/storage/vo
# resize2fs /dev/storage/vo
3:xfs 文件系统的扩容;
# lvextend -L 300M /dev/storage/vo
# xfs_growfs /dev/storage/vo 刷新容量大小
备注:
xfs 文件系统只支持扩容,不支持缩小,xfs_growfs 只针对XFS系统,命令并且支持挂载时刷新容量大小;
- 缩小逻辑卷
丢失数据的风险大,切记操作前备份数据;
事先检查文件系统的完整性,并卸载挂载点;
例1:
1:检查文件系统的完整性,并卸载挂载点;
# umount /mnt/lvmtest
# e2fsck -f /dev/storage/vo
2:把LV逻辑卷 vo的容量缩减到 120M;
# lvreduce -L 120M /dev/storage/vo 有疑问,检查文整性报错,格式化解决问题,但数据没了!!!
- LVM逻辑卷快照
与虚拟机的快照类型,还原时间点功能;两个逻辑快照特点:
1:快照卷的容量必须等同于逻辑卷的容量;
2:快照卷仅一次有效,一旦执行还原操作后则会被立即自动删除;
例1:
1:为 /dev/storage/vo 逻辑卷,创建一个名为 SNAP,容量为200M的快照卷;
# lvcreate -L 200M -s -n SNAP /dev/storage/vo
2:查看逻辑卷信息,建立空文件100M后,再次查看;
# lvdisplay
# dd if=/dev/zero of=/mnt/lvmtest/bbb.txt bs=100M count=1
# lvdisplay
3:使用逻辑卷快照恢复,先卸载挂载;恢复后快照自动删除;
# umount /mnt/lvmtest
# lvconvert --merge /dev/storage/SNAP
# mount -a
# ls /mnt/lvmtest 查看100M空文件是否已经消失;
- 删除逻辑卷
提前备份数据;依次删除逻辑卷,卷组,物理卷设备,顺序不能颠倒!!
例1:
1:卸载挂载点,删除逻辑卷,输入 Y 确认操作;
# umount /mnt/lvmtest
# lvremove /dev/storge/vo
2:删除VG卷组,只需输入卷组名称即可,无需绝对路径;
# vgremove storage
3:删除PV物理卷;
# pvremove /dev/sdb /dev/sdc
4:再使用pvdisplay等查询命令后无任何反应;
浙公网安备 33010602011771号