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等查询命令后无任何反应;

 

 

 

posted on 2019-03-24 16:46  风中的疯子  阅读(674)  评论(0)    收藏  举报

导航