LVM逻辑卷管理器,在此基础上建立的逻辑卷应用程序来说与直接挂载的普通磁盘分区没有区别,但是其具备动态扩容的特点,能够在不足时,风险较低的进行分区扩容。原理如下图:
简单理解为LVM将独立的硬盘资源划归为一个大资源池,根据具体需要进行划分区,这个划分操作是在软件层面实现的,LVM提供了便捷的逻辑卷操作。相较于传统增加硬盘和目录,在进行挂载的方式来说,可以在不影响目录结构的情况下对现有目录进行扩容。这对难以修改的应用来说,扩容是特别方便的。
虚拟机:VMware 15
系统:RHEL 7.6
准备
创建磁盘
在VMware
中创建并挂载第二块磁盘。
创建磁盘分区
使用fdisk
指令查看和管理分区表。
- 第一步:创建分区表
- 第二步:创建主分区
- 第三步:设定分区大小,修改分区系统ID(8e代表LVM)
- 第四步:写入分区信息到磁盘
[root@localhost ~]# fdisk -l
## 第一块磁盘
Disk /dev/sda: 21.5 GB, 21474836480 bytes, 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x000e56fd
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 2099199 1048576 83 Linux
/dev/sda2 2099200 41943039 19921920 8e Linux LVM
## 已经创建LVM的第二块磁盘
Disk /dev/sdb: 2147 MB, 2147483648 bytes, 4194304 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0xf482f5e8
Device Boot Start End Blocks Id System
/dev/sdb1 2048 4194303 2096128 8e Linux LVM
创建LVM逻辑卷
功能/命令 | 物理卷管理 | 卷组管理 | 逻辑卷管理 |
---|---|---|---|
扫描 | pvscan | vgscan | lvscan |
建立 | pvcreate | vgcreate | lvcreate |
显示 | pvdisplay | vgdisplay | lvdisplay |
删除 | pvremove | vgremove | lvremove |
扩展 | vgextend | lvextend | |
缩小 | vgreduce | lvreduce |
- 创建物理卷
- 创建卷组
- 创建逻辑卷
- 创建文件系统并挂载
## 创建物理卷
pvcreate /dev/sdb1
## 创建卷组
vgcreate storage /dev/sdb1
## 创建逻辑卷
lvcreate -n lvm1 -L 100M storage
## 创建文件系统
mkfs.ext4 /dev/storage/lvm1
## 挂载(具体情况按需挂载)
mount /dev/storage/lvm1 /media
逻辑分区扩容
分区扩容前提需要有扩容资源,即:增加新的物理磁盘或有未分配的空间。VG中含有未分配的空间即可为逻辑卷分配空间。在此创建一个新的物理磁盘并建立分区/dev/sdc1
。
- 创建PV
- 加入待扩容VG
- 卸载待扩容目录
- 分配空间给对应LV
## 创建PV
pvcreate /dev/sdc1
## 加入VG
vgextend storage /dev/sdc1
## 卸载待扩容目录
umount [PATH]
## 分配空间
lvextenc -L +1G /dev/storage/vo