LVM(Logical Volume Manager)逻辑卷管理,它是Linux环境下对磁盘和分区进行管理的一种机制。
普通的磁盘分区管理方式在分区划分好之后一般无法改变其大小(有风险),当一个分区存放不下文件时,解决的方法通常是使用符号链接,或者使用调整分区大小的工具,但这只是暂时解决办法,没有从根本上解决问题。
LVM就是将物理磁盘融合成一个或几个大的虚拟磁盘存储池,按照我们的需求去存储池划分空间来使用,由于是虚拟的存储池,所以划分空间时可以自由的调整大小,
1)物理卷(PV,Physical Volume):由磁盘或分区转化而成
2)卷组(VG,Volume Group):将多个物理卷组合在一起组成了卷组,组成同一个卷组的可以是同一个硬盘的不同分区,也可以是不同硬盘上的不同分区,也可以是整块磁盘,我们通常把卷组理解为一块硬盘。Df
3)逻辑卷(LV,Logical Volume):把卷组理解为硬盘的话,那么我们的逻辑卷则是硬盘上的分区,逻辑卷可以进行格式化,存储数据。
4)物理扩展(PE,Physical Extend):PE卷组的最小存储单元,PE所在的位置是VG卷组,即硬盘上,那么我们可以把PE理解为硬盘上的扇区,默认是4MB,可自由配置。
1)将磁盘分区,或整块磁盘不分区(不做任何操作)
2)将磁盘上的分区或整块盘建立成物理卷(PV)
3)将新增的物理卷组合成卷组(VG),并且可以通过添加或者删除一块物理卷,来实现卷组大小的调整。
4)最后将卷组划分成逻辑卷(LV),逻辑卷也是可以随意调整大小的,逻辑卷相当于真正的分区,那么要使用必须进行格式化和挂载。
# 具体步骤请参考 https://www.cnblogs.com/wang-yy/p/14510432.html
$ gdisk /dev/sdb
$ pvcreate /dev/sdb1 # 将分区转化为物理卷,可批量转化,空格分开即可
$ pvs(pvscan) # 查看所有物理卷列表
$ pvdisplay # 查看每一个物理卷的详细信息(pvdisplay /dev/sdb1)
$ pvremove /dev/sde # 删除物理卷
格式:vgcreate 选项 卷组名 物理卷(写多个物理卷时用空格分开)
-s # 大小:指定VG的PE大小
$ vgcreate -s 2M vg1 /dev/sdb1 /dev/sdc #-s 指定vg的PE大小
$ vgs(vgscan) # 查看所有的卷组
$ vgdisplay # 查看卷组的详细信息
格式:vgextend 卷组名 物理卷名
$ vgextend vg1 /dev/sdc #向指定卷组内添加指定物理卷
$ vgremove vg1 # 若已存数据则谨慎操作
格式:lvcreate 选项 -n 逻辑卷名 卷组名
-L 容量:指定创建的逻辑卷大小,单位:MB,GB,TB等
-l(小) PE个数:按照PE个数来指定逻辑卷大小
-n 逻辑卷名:指定逻辑卷的名字
$ lvcreate -L 15G -n lv1 vg1
$ lvs # 查看所有的逻辑卷
$ lvdisplay # 查看逻辑卷的详细信息
lvextend -L +10G /dev/vg1/lv1 #先增加lv的大小
C7版:xfs_growfs /dev/vg1/lv1 #再修改文件系统的大小
C6版:resize2fs -f /dev/vg1/lv1 #再修改文件系统的大小
注意:xfs文件系统默认只支持扩容,不支持缩小,so,无法真正做到无损…
拓展:C6中的操作 - {先卸载}
e2fsck -f /dev/vg1/lv1 # 检查文件系统
resize2fs /dev/vg1/lv1 newsize # 减少后文件系统大小
lvreduce -L newsize /dev/vg1/lv1 # 减少后lv大小
# 安装xfsdump备份工具
$ yum -y install xfsdump
# 备份
$ xfsdump -f /data/home.xfsdump /home
$ yum -y install psmisc #安装fuser命令
$ fuser -km /home # 使用该命令停止/home对应文件系统的所有进程,然后才能卸载关联
$ umount /home # 卸载home分区
$ lvreduce -L 50G /dev/mapper/centos-home # 缩容
$ mkfs.xfs -f /dev/mapper/centos-home # 格式化缩容后的分区
$ mount /dev/mapper/centos-home /home # 挂载分区
$ df -h | grep home # 查看是否缩容成功
$ xfsrestore -f /data/home.xfsdump /home # 数据恢复
$ lvextend -l +100%FREE /dev/mapper/centos-root # 对root分区进行扩容
$ xfs_growfs /dev/mapper/centos-root # 刷新文件系统大小
$ df -h | grep root # 查看
由独立磁盘构成的具有冗余、校验、加速效果的磁盘组合结构称为磁盘阵列
1.通过把多个磁盘组织在一起作为一个虚拟磁盘提供磁盘跨越功能
2.通过把数据分成多个数据块并行【写入/读取】多个磁盘以提高访问磁盘的速度
3.通过镜像或校验操作提供容错能力
RAID磁盘阵列主要为了保证硬件损坏的情况下业务不会终止,但无法防止误操作
# 磁盘阵列分类:
一是外接式磁盘阵列柜
二是内接式磁盘阵列卡
三是利用软件来仿真
RAID 0提高存储性能的原理是把连续的数据分散到多个磁盘上存取,这样,系统有数据请求就可以被多个磁盘并行的执行,每个磁盘执行属于它自己的那部分数据请求
只要其中任一块硬盘出现问题就会导致整个数据的故障
一旦用户数据损坏,损坏的数据将无法得到恢复
读写性能是所有RAID级别中最高的。
1)使用两块或两块以上硬盘组成
2)每块硬盘提供的空间大小必须一致
3)读写速度最快
4)损坏几率最大,没有磁盘容错功能
5)空间利用率100%
RAID 1通过磁盘数据镜像实现数据冗余,在成对的独立磁盘上产生互为备份的数据。当原始数据繁忙时,可直接从镜像拷贝中读取数据,因此RAID 1可以提高读取性能。
RAID 1是磁盘阵列中单位成本最高的,但提供了很高的数据安全性和可用性。
RAID1磁盘阵列主要用在数据安全性很高,而且要求能够快速恢复被破坏的数据的场合
RAID1是硬盘中单位成本最高的,但提供了很高的数据安全性和可用性,当一个硬盘失效时,系统可以自动切换到镜像硬盘上读/写,并且不需要重组失效的数据。
1)由两块或两块的倍数组成
2)每块硬盘提供的空间大小必须一致
3)拥有了磁盘容错功能
4)理论读写最慢
5)磁盘利用率只有50%
Raid 10是一个Raid 1与Raid0的组合体,它是利用奇偶校验实现条带集镜像,所以它继承了Raid0的快速和Raid1的安全
Raid10结构:首先创建2个独立的Raid1,然后将这两个独立的Raid1组成一个Raid0
1)空间利用率为50%
2)拥有磁盘容错功能,只要一组raid1中有一块盘是好的就可以
损坏一块磁盘时的损坏率:0%
损坏两块磁盘时的损坏率:1/3
损坏三块磁盘时的损坏率:100%
RAID 5 是一种存储性能、数据安全和存储成本兼顾的存储解决方案。 RAID 5可以理解为是RAID 0和RAID 1的折中方案。
RAID 5是RAID 0和RAID 1的折中方案
1)由三块或者三块以上硬盘组成
2)每块硬盘提供的空间大小必须一致
3)拥有磁盘容错功能,最多损坏N-1块盘
4)磁盘利用率是n-1块盘
mdadm -Cv 阵列名称(md*) -l5 -n3 磁盘 -x1 磁盘
-C:create
-v:显示详细信息
mdadm -Cv /dev/md0 -l5 -n3 /dev/sdb1 /dev/sdb2 /dev/sdb3 -x1 /dev/sdb5
记得要格式化并挂载才能使用,还有自动挂载
mdadm –D 设备名
模拟raid5阵列磁盘损坏
mdadm /dev/md0 –f /dev/sdb3
#标记阵列中某磁盘损坏,并查看磁盘状态
mdadm /dev/md0 --remove /dev/sdb3
#移除故障磁盘
mdadm /dev/md0 --add /dev/sdb6
#添加新的磁盘,恢复正常热备
原文:https://www.cnblogs.com/wang-yy/p/14516086.html