目录
1.LVM(Logical Volume Manager)逻辑卷管理
一、LVM概述
1.LVM(Logical Volume Manager)逻辑卷管理
- 动态调整磁盘容量,从而提高磁盘管理的灵活性
- /boot分区用于存放引导文件,不能基于LVM创建
- 图形界面管理工具:system-config-lvm
- 逻辑上对磁盘就行分区,相较于真正的分区,LVM不会造成数据的损失
2.LVM机制的基本概念
- PV(物理卷)Physcal Volume
就是真正的物理磁盘或分区,逻辑上将基本的分区或物理硬盘划为LVM的基本存储逻辑块,相较于基本的分区和物理硬盘,包含了与LVM相关的管理参数
- VG(卷组)Volume Group
多个物理卷PV的统称,在卷组上可以创建一个或多个逻辑卷LV
- LV(逻辑卷)Logical Volume
类似普通磁盘的分区,逻辑卷可以理解为是卷组VG的分区,逻辑卷上可以建立文件系统
- PE(物理扩展)Physical Extend
保存数据的最小单元,数据都写入了PE中,默认大小是4MB
一开始接触LVM不太好理解,翻看了刘遄老师的《Linux就该这么学》 ,他在这里举了一个吃货的例子,比如小明家想吃馒头但是面粉不够了,于是去隔壁老王家、老李家、老张家分别借来了一些面粉,准备蒸馒头吃,这些面粉就是物理卷。首先需要把这些面粉(物理卷PV)揉成一个大面团(卷组VG),然后再把这个大面团分割成一个个小馒头(逻辑卷LV),而且每个小馒头的重量必须是每勺面粉(基本单元PE)的倍数。通过这个例子就很好理解了,物理卷出于LVM的最底层,包括物理硬盘、硬盘分区或者RAID磁盘阵列,卷组建立在物理卷之上,一个卷组可以包含多个物理卷,而且在卷组创建之后也可以继续向其中添加新的物理卷。逻辑卷是用卷组中空闲的资源建立的,并且逻辑卷在建立后可以动态的扩展或缩小空间。
通过上面的例子我们可以得知,创建LVM的顺序是物理卷PV、卷组VG、逻辑卷LV,顺序一定不能错。
二、LVM的管理命令
功能 | 物理卷管理 | 卷组管理 | 逻辑卷管理 |
scan扫描 | pvscan | vgscan | lvscan |
create建立 | pvcreate | vgcreate | lvcreate |
display显示 | pvdisplay | vgdisplay | lvdisplay |
remove删除 | pvremove | vgremove | lvremove |
extend扩展 | ———— | vgextend | lvextend |
reduce减少 | ———— | vgreduce | lvreduce |
主要命令:
pvcreate 设备名1 [设备名2 ......]
vgcreate 卷组名 物理卷名1 物理卷名2
lvcreate -L 容量大小 -n 逻辑卷名 卷组名
lvextend -L +大小 /dev/卷组名/逻辑卷名
2.1PV物理卷管理
2.1.1.pvscan:查看系统中的所有物理卷
2.1.2.pvcreate:创建物理卷
2.1.3.pvdisplay:查看物理卷详细信息
2.2VG卷组管理
2.2.1vgscan:查看系统中所有已经存在的卷组
2.2.2vgcreate:创建卷组
2.2.3vgdisplay:查看卷组信息
2.2.4vgextend:扩展卷组
2.3LV逻辑卷管理
2.3.1lvscan:查看系统已有的逻辑卷
2.3.2lvcreate:创建逻辑卷
格式:lvcreate -L 容量大小 -n 逻辑卷名 卷组名
2.3.3lvdisplay:查看逻辑卷详细信息
2.3.4lvexten:扩展逻辑卷
扩展逻辑卷后一定要刷新挂载点
2.4删除逻辑卷
在生产环境中想要重新部署LVM或者不再需要使用LVM时,则需要执行LVM的删除操作。为此需要提前备份好重要的数据,然后依次删除逻辑卷、卷组、物理卷设备,顺序不可以错。
2.4.1取消挂载
注意:如果是配置了挂载的配置文件,则需要在配置文件/etc/fstab中删除
2.4.2删除逻辑卷
2.4.3删除卷组
此处只需要写卷组名称,不需要写绝对路径
2.4.4删除物理卷
[root@localhost ~]# pvremove /dev/sdb1 /dev/sdb2 /dev/sdc
Labels on physical volume "/dev/sdc" successfully wiped
Labels on physical volume "/dev/sdb1" successfully wiped.
Labels on physical volume "/dev/sdb2" successfully wiped.
再次输入lvdisplay、vgdisplay、lvdisplay查看不到信息了
三、LVM应用实例
实验要求
1.添加两块盘各20G,第一块盘分区10G,分区类型为LVM,将第一块盘分出来的10G和第二块盘做成物理卷,并创建一个名为vg01的卷组,创建一个名为lv2022的逻辑卷,大小为25G
2.将逻辑卷lv2022扩容10G,使用第一块盘剩下的分区(先分区)
(1)创建过程
1.加两块盘,刷新
echo "- - -"> /sys/class/scsi_host/host0/scan
echo "- - -"> /sys/class/scsi_host/host1/scan
echo "- - -"> /sys/class/scsi_host/host2/scan
2.创建sdb1,分区类型为8e
3.创建物理卷
4.创建卷组
5. 创建逻辑卷lv
6.格式化
7.创建一个新目录,挂载逻辑卷
(2)扩容过程
8.新建一个主分区为8e类型,或者再加一块硬盘
9.刷新分区
10.创建第二个物理卷
11. 将sdb2加入vg01
12.扩容逻辑卷
13.刷新,但不要格式化,否则数据丢失,使用xfs_growfs 不动数据
四、总结
创建逻辑卷步骤:
- echo "- - -"> /sys/class/scsi_host/host0/scan #刷新
- echo "- - -"> /sys/class/scsi_host/host1/scan
- echo "- - -"> /sys/class/scsi_host/host2/scan
- fdisk /dev/sdb #分区
- pvcreate /dev/sdb1 /dev/sdc #创建物理卷
- vgcreate vg01 /dev/sdb1 /dev/sdc #创建卷组
- lvcreate -L 25G -n lv2022 vg01 #创建逻辑卷
- mkfs.xfs /dev/vg01/lv2022 #格式化
- mkdir /data1 #创建需要挂载的目录
- mount /dev/vg01/lv2022 /data1 #将创建好的卷组挂载
- df -h #显示磁盘使用情况
- vgdisplay 查看卷组信息
对逻辑卷扩容步骤:
- fdisk /dev/sdb #分区
- partprobe #刷新分区
- pvcreate /dev/sdb2 #创建第二个物理卷
- vgextend vg01 /dev/sdb2 #将第二个物理卷加入卷组
- lvextend -L +10G /dev/vg01/lv2022 #逻辑卷扩容10G
- xfs_growfs /data1/ #刷新挂载点
- df -h #查看磁盘使用情况
注意:新加的硬盘可以不用分区,直接做成物理卷,这里是实验要求