Linux ❀ RHCE自研教学笔记 - Redhat 8.2 LVM服务教研笔记
Posted 国家级干饭型选手°
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux ❀ RHCE自研教学笔记 - Redhat 8.2 LVM服务教研笔记相关的知识,希望对你有一定的参考价值。
文章目录
LVM - Logical Volume Manager 逻辑卷管理:用户在无需停机的情况下可以方便地调整各个分区大小;
逻辑卷管理器本质上是一个虚拟设备驱动,是在内核中块设备和物理设备之间添加的一个新的抽象层次,它可以将几块磁盘(物理卷,PhysicalVolume)组合起来形成一个存储池或者卷组(VolumeGroup)。LVM可以每次从卷组中划分出不同大小的逻辑卷(LogicalVolume)创建新的逻辑设备。底层的原始的磁盘不再由内核直接控制,而由LVM层来控制。对于上层应用来说卷组替代了磁盘块成为数据存储的基本单元。LVM管理着所有物理卷的物理盘区,维持着逻辑盘区和物理盘区之间的映射。LVM逻辑设备向上层应用提供了和物理磁盘相同的功能,如文件系统的创建和数据的访问等。但LVM逻辑设备不受物理约束的限制,逻辑卷不必是连续的空间,它可以跨越许多物理卷,并且可以在任何时候任意的调整大小;
- 物理存储设备:系统的存储设备文件,/dev/sda、/dev/sdb等;
- 物理卷 PV:物理卷可以是整个硬盘、硬盘分区或者逻辑上与硬盘分区具有相同功能的设备;
- 卷组 VG:单独的逻辑磁盘,一个VG至少包含一个PV,在卷组建立之后可以动态的添加PV到VG中,名称自定义;
- 物理区域 PE:VG中可用于分配的最小存储单元;默认为4MB,一旦确定无法更改,同一个卷组内的PC保持一致;
- 逻辑卷 LV:物理分区,卷组中未分配的空间可以用来创建LV;
- 逻辑区域 LE:LV中可用于分配的最小存储单元,与PE一致
卷组描述符区域 VGDA:和非LVM系统将包含分区信息的元数据保存在位于分区的起始位置的分区表中一样,逻辑卷以及卷组相关的元数据也是保存在位于物理卷起始处的卷组描述符区域中。VGDA包括以下内容:PV描述符、VG描述符、LV描述符和一些PE描述符;
命令解析
[root@localhost ~]# pv
pvcreate 创建
pvdisplay 查看
pvremove 删除
pvs 显示相关信息
pvscan 扫描
[root@localhost ~]# vg
vgextend 扩展
vgs 显示相关信息
vgcreate 创建
vgreduce 缩减
vgscan 扫描
vgdisplay 查看
vgremove 删除
[root@localhost ~]# lv
lvdisplay 查看
lvextend 扩展
lvreduce 缩减
lvremove 删除
lvs 显示相关信息
lvcreate 创建
lvscan 扫描
lvresize 调整大小
1、安装服务
该服务默认已经被安装;
[root@localhost ~]# rpm -qa | grep lvm
libblockdev-lvm-2.19-12.el8.x86_64
lvm2-2.03.08-3.el8.x86_64
udisks2-lvm2-2.8.3-2.el8.x86_64
lvm2-libs-2.03.08-3.el8.x86_64
llvm-libs-9.0.1-4.module+el8.2.0+5887+847e8a86.x86_64
2、服务配置
(1)创建物理分区
使用fdisk划分磁盘分区,指定分区类型为Linux LVM,对应ID为 8e;
[root@localhost ~]# fdisk -l /dev/nvme0n2
Device Boot Start End Sectors Size Id Type
/dev/nvme0n2p1 2048 2099199 2097152 1G 8e Linux LVM
/dev/nvme0n2p2 2099200 4196351 2097152 1G 5 Extended
/dev/nvme0n2p3 4196352 6293503 2097152 1G 8e Linux LVM
[root@localhost ~]# fdisk -l /dev/nvme0n3
Device Boot Start End Sectors Size Id Type
/dev/nvme0n3p1 2048 2099199 2097152 1G 5 Extended
/dev/nvme0n3p2 2099200 4196351 2097152 1G 8e Linux LVM
/dev/nvme0n3p3 4196352 6293503 2097152 1G 8e Linux LVM
[root@localhost ~]# partprobe /格式化
(2)创建物理卷 PV
分区:/dev/nvme0n2p1 /dev/nvme0n2p3 /dev/nvme0n3p2 /dev/nvme0n3p3
[root@localhost ~]# pvcreate /dev/nvme0n2p1 /dev/nvme0n2p3 /dev/nvme0n3p2 /dev/nvme0n3p3
Physical volume "/dev/nvme0n2p1" successfully created.
Physical volume "/dev/nvme0n2p3" successfully created.
Physical volume "/dev/nvme0n3p2" successfully created.
Physical volume "/dev/nvme0n3p3" successfully created.
查看配置结果:
[root@localhost ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/nvme0n1p2 rhel lvm2 a-- <39.00g 0
/dev/nvme0n2p1 lvm2 --- 1.00g 1.00g
/dev/nvme0n2p3 lvm2 --- 1.00g 1.00g
/dev/nvme0n3p2 lvm2 --- 1.00g 1.00g
/dev/nvme0n3p3 lvm2 --- 1.00g 1.00g
[root@localhost ~]# pvdisplay
[root@localhost ~]# pvscan
(3)创建卷组 VG
将物理卷/dev/nvme0n2p1 /dev/nvme0n2p3加入vg1, 将物理卷/dev/nvme0n3p2 /dev/nvme0n3p3加入vg2,PE大小为8M(默认为4M);
[root@localhost ~]# vgcreate vg1 /dev/nvme0n2p1 /dev/nvme0n2p3
Volume group "vg1" successfully created
[root@localhost ~]# vgcreate -s 8M vg2 /dev/nvme0n3p2 /dev/nvme0n3p3
Volume group "vg2" successfully created
查看配置结果:
[root@localhost ~]# vgs
VG #PV #LV #SN Attr VSize VFree
rhel 1 2 0 wz--n- <39.00g 0
vg1 2 0 0 wz--n- 1.99g 1.99g
vg2 2 0 0 wz--n- 1.98g 1.98g
[root@localhost ~]# vgdisplay
[root@localhost ~]# vgscan
(4)创建逻辑卷 LV
第一个逻辑卷的名字为lv1,所属卷组为vg1,大小为200M;第二个逻辑卷的名字为lv2,所属卷组为vg2,大小为300M;第三个逻辑卷的名字为lv3,所属卷组为vg2,该逻辑卷由50个PE组成。
[root@localhost ~]# lvcreate -L 200M -n lv1 vg1
Logical volume "lv1" created.
[root@localhost ~]# lvcreate -L 300M -n lv2 vg2
Rounding up size to full physical extent 304.00 MiB
Logical volume "lv2" created.
[root@localhost ~]# lvcreate -l 50 -n lv3 vg2
Logical volume "lv3" created.
查看配置结果:
[root@localhost ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root rhel -wi-ao---- <35.00g
swap rhel -wi-ao---- 4.00g
lv1 vg1 -wi-a----- 200.00m
lv2 vg2 -wi-a----- 304.00m
lv3 vg2 -wi-a----- 400.00m
[root@localhost ~]# lvdisplay
[root@localhost ~]# lvscan
(5)格式化逻辑卷,创建文件系统,并挂载
将新建的逻辑卷lv1和lv2格式化为ext4的文件系统,将lv3格式化为xfs的文件系统,三个逻辑卷可分别自动挂载在/logical/lv1,/logical/lv2,/logical/lv3目录。
[root@localhost ~]# mkfs.ext4 /dev/vg1/lv1
[root@localhost ~]# mkfs.ext4 /dev/vg2/lv2
[root@localhost ~]# mkfs.ext4 /dev/vg2/lv3
[root@localhost ~]# mkdir -p /logical/{lv1,lv2,lv3} /创建挂载目录位置;
[root@localhost ~]# ll /logical/
total 0
drwxr-xr-x. 2 root root 6 Sep 24 18:27 lv1
drwxr-xr-x. 2 root root 6 Sep 24 18:27 lv2
drwxr-xr-x. 2 root root 6 Sep 24 18:27 lv3
[root@localhost ~]# blkid
[root@localhost ~]# vim /etc/fstab
UUID=c47eb7a0-013d-4dc2-8b6c-4441186583e7 /logical/lv1 ext4 defaults 0 0
UUID=1f7f9b71-c99f-41fe-b647-25f3a18e875f /logical/lv2 ext4 defaults 0 0
UUID=baa50c7f-de65-4baa-8bd9-a89f611fd9f3 /logical/lv3 xfs defaults 0 0
[root@localhost ~]# mount -a
[root@localhost ~]# df -h
3、修改逻辑卷
扩大需要添加新的物理卷PV到逻辑卷LV所在的卷组VG里;
(xfs的文件系统只支持扩大,ext4的文件系统支持扩大与缩小)
(1)缩小逻辑卷LV
首先卸载LV
[root@localhost ~]# unmount /logical/lv1/
如果无法卸载,则是有进程占用该挂载点目录,使用以下命令终止进程;
[root@localhost ~]# fuser -m -k /logical/lv1/
设置大小
[root@localhost ~]# e2fsck -f /dev/vg1/lv1
[root@localhost ~]# resize2fs /dev/vg1/lv1 3G
[root@localhost ~]# lvreduce -L 3G /dev/vg1/lv1 或者 lvresize -L 3G /dev/vg1/lv1
重新挂载
[root@localhost ~]# mount -a
[root@localhost ~]# df -h
(2)扩大或者缩小
[root@localhost ~]# vgs
[root@localhost ~]# lvextend -L 6G /dev/vg2/lv2
[root@localhost ~]# e2fsck -f /dev/vg2/lv2
(3)缩小和扩大ext4文件系统的逻辑卷
扩大和缩小均可以使用lvresize执行;
[root@localhost ~]# lvresize -L 2G -r /dev/vg1/lv1
Do you want to unmount "/logical/lv1"? [Y|n] y
(4)扩大xfs文件系统逻辑卷LV
[root@localhost ~]# lvextend -L 1600M /dev/vg2/lv3
[root@localhost ~]# xfs_growfs /dev/vg2/lv3
(5)某个磁盘或者分区损坏
准备一个同样大小或者备用较大的存储设备;
[root@localhost ~]# pvcreate /dev/sda5
[root@localhost ~]# vgextend vg2 /dev/sda5
[root@localhost ~]# pvmove /dev/sdd /dev/sda5
将/dev/sdd中的PE全部移动到/dev/sda5中
[root@localhost ~]# vgreduce vg2 /dev/sdd
4、删除PV、VG、LV
先删除LV,再删除VG,后删除PV;
需要清理 /etc/fstab 文件内的相关挂载信息,否则系统无法正常启动;
[root@localhost ~]# umount /logical/{lv1,lv2,lv3}
[root@localhost ~]# lvremove /dev/vg1/lv1 /dev/vg2/lv2 /dev/vg2/lv3
[root@localhost ~]# vgremove vg1 vg2
[root@localhost ~]# pvremove /dev/sda5
以上是关于Linux ❀ RHCE自研教学笔记 - Redhat 8.2 LVM服务教研笔记的主要内容,如果未能解决你的问题,请参考以下文章
Linux ❀ RHCE自研教学笔记 - Redhat 8.2 SFTP服务教研笔记
Linux ❀ RHCE自研教学笔记 - Redhat 8.2 SFTP服务教研笔记
Linux ❀ RHCE自研教学笔记 - Redhat 8.2 Nmcli服务教研笔记
Linux ❀ RHCE自研教学笔记 - Redhat 8.2 Nmcli服务教研笔记