目录
1.LVM概念
LVM是Linux下对磁盘分区进行管理的一种工具,适合管理大存储设备,并允许用户动态调整文件系统的大小。在使用LVM逻辑卷之前我们要先了解逻辑卷管理中的一些概念:
物理卷(PV)
是LVM最底层的概念,是LVM的逻辑存储块,物理卷与磁盘分区是逻辑对应的关系。多个LVM物理卷可以合并或拆分,从而实现容量的扩容和缩减。LVM提供了命令工具可以把分区转化为物理卷,通过组合物理卷的方式生成卷组。
卷组(VG)
卷组是LVM逻辑上的设备,由物理卷组合而成。卷组的大小取决于物理卷的容量及个数。
逻辑卷(LV)
逻辑卷可以理解成LVM中的分区。LV建立在VG上,可以指定从VG中提取多少容量来创建逻辑卷,然后对LV进行格式化并挂载。
PE:PV中可以分配的最小储存单元称为PE,大小可以指定,默认为4MB。
LE:LV中可以分配的最小储存单元称为LE。在同一个卷组中,LE和PE大小相同且一一对应。
LVM原理示意图:
2.LVM常用命令
查看命令:
查看命令:
命令格式:
1.pvcreate 磁盘分区或整个磁盘 #创建PV(物理卷)
2.vgcreate 卷组名 物理卷 创建VG(卷组)
3.vgdisplay 卷组名 #列出vg的详细信息
4.vgextend 卷组名 物理卷(分区设备名) #扩展vg
5.Vgreduce 卷组名 物理卷(分区设备名) #减小vg
6.lvcreate -L 8G -n rs myvg #创建LV逻辑卷
#-L指定逻辑卷大小。-n指定逻辑卷名称、所属卷组名称。
7.mkfs.xfs /dev/卷组vg/逻辑卷lv
文件系统类型修改为8e00:
Hex code or GUID (L to show codes, Enter = 8300): 8e00
3.Centos7.X LVM实验流程:
3.1C7使用虚拟机进行GPT分区:
第一步:添加硬盘。
第二步:gdisk /dev/sdb进行GPT分区,然后用ls /dev/sdb*查看一下
第二步:创建物理卷PV:以把要添加到卷组(VG)的所有磁盘分区或整个磁盘创建为物理卷:
物理卷只能在创建VG的时候加进来,但是卷组VG已经创建好之后就只能通过vgextend 卷组名 物理卷 ,来添加了。 新的物理卷可以不用创建成pv就可以直接加到卷组内
[root@localhost 桌面]# pvcreate /dev/sdb1
#创建物理卷/dev/sdb1。
用pvs命令,pvscan命令或者pydiplay /dev/sdb1查看
第三步:创建VG(卷组):
[root@localhost ~]# vgcreate hf06 /dev/sdb1
#创建卷组,名为hf06。
用vgdisplay hf06命令查看卷组hf06的详细信息
[root@localhost ~]# vgextend hf06 /dev/sdb2
#把sdb2加入hf06卷组。可以不用转化成pv直接添加
[root@localhost ~]# vgdisplay hf06
#查看信息是否有变化。
第四步:#依次添加其他sdb3、sdb4磁盘。
[root@localhost ~]# vgdisplay hf06
#最后查看卷组信息
第五步:创建LV逻辑卷
[root@localhost ~]# lvcreate -L 25G -n lv1 hf06
#-L指定逻辑卷大小。-n指定逻辑卷名称、所属卷组名称。
用ls /dev/hf06/lv1查看一下
[root@localhost ~]# mkfs.xfs /dev/hf06/lv1
#写入文件系统
[root@localhost ~]# mkdir /disk1 #创建挂载点
[root@localhost ~]# mount /dev/hf06/lv1 /disk1/ #挂载
[root@localhost ~]# df -h查看一下
#创建成功,成功格式化并挂载。
4.LVM逻辑卷扩容流程实验:
第一步:[root@localhost ~]# vgdisplay hf06
#首先查看卷组内还有多少可用空间。空间不够用vgextend hf06 /dev/sdb2 添加
第二步:[root@localhost ~]# lvresize -L +20G -r /dev/hf06/lv1
注:-r选项可以实现扩容并让文件系统识别功能。不然扩容空间确实加进去了,但是用df-h查看时候大小没变没被文件系 统识别,此时要用xfs_growfs /挂载点/ 来进行文件系统的识别,再用df -h查看会看到空间增加了
[root@localhost ~]# lvscan
#扩展20个G并查看
第三步:[root@localhost ~]# df -h 查看
/dev/mapper/hf06-lv1 25G 33M 25G 1% / disk1
文件系统 容量 已用 可用 已用% 挂载点
完成扩容!
在XFS文件系统下,分区只能够进行扩展,并不支持分区缩减的功能。如果想缩减基于XFS的逻辑卷需要:
1.umount /挂载点
2.lvreduce -L -指定大小 /dev/卷组名/逻辑卷名称
3.mkfs.xfs -f /dev/卷组名/逻辑卷名称
4.mount 重新挂载
注:缩减之前加一个空盘进行数据备份
5.LVM逻辑卷删除实验:
第一步:[root@localhost ~]# umount /dev/myvg/rs
#卸载。
第二步:[root@localhost ~]# lvremove /dev/myvg/rs
#删除逻辑卷。
第三步:[root@localhost ~]# vgremove myvg
#删除卷组。
第四步:[root@localhost ~]# pvremove /dev/sdb1
#移除PV。
pvmove
6.移除整块盘sdb1实验,
第一步:先用pvs查看一下这个盘有没有正在被使用,里面有没有空间已被占用。
第二步:如果没被使用可以直接移除,若已经有空间被占用,则需要转移数据再移除盘。
第三步:先看pvs一下逻辑卷剩余盘的空间够不够转移出这些数据,如果够直接转移数据,如果不够需要从vg卷组内添加
转移数据命令:pvmove /dev/sdb1(需要撤出的盘内数据随机转移到vg内其他盘内)
第四步:用vgdisplay hf06查看vg内的空间够不够分给lv,不够的化添加盘
第五步:数据转移完成后用pvmove /dev/sdb1移除该盘即可
pvmove用来实现数据转移,根据数据量的多少,它可能要使用大量的时间并可降低逻辑卷的性能,因此要在系统不太忙 时操作。
7.安装SSM工具
[root@localhost ~]# yum -y install system-storage-manager
SSM:检查关于可用硬驱和LVM卷的信息。显示关于现有磁盘存储设备、存储池、LVM卷和存储快照的信息。
[root@localhost ~]# ssm list dev
#查看磁盘信息,列出设备信息
[root@localhost ~]# ssm list pool
#存储池信息
[root@localhost ~]# vgremove vg02
[root@localhost ~]# pvremove /dev/sdb{1,2,3,4}
#将sdb上所有卷组信息删除
[root@localhost ~]# mkdir /mail-lv
#创建目录
用的命令如下:
ssm create -s lv大小 -n lv名称 --fstype lv文件系统类型 -p 卷组名 设备 挂载点
自动把设备变成pv,创建vg , lv ,格式化文件系统, 自动挂载
[root@localhost ~]# ssm create -s 1G -n lv1 --fstype xfs -p hf06
/dev/sdb[1-4] /disk1
[root@localhost ~]# df -h /mail-lv/