- 了解LVM
- 了解PV、LV、VG
- PV(Physical Volume):物理卷是LVM的“逻辑存储块”,与硬盘分区是逻辑的对应关系。多个PV可以组合或拆分,从而实现容量的增加或缩减。
- LV(Logical Volume):逻辑卷是LVM上的“逻辑分区”(类似Windows文件系统中的NTFS分区)。LV的容量从VG中提取然后进行创建,最后对LV进行格式化并挂载。LV是分配给到Linux系统中使用的。
- VG(Volume Groups):卷组是多个PV的组合,LVM逻辑上的“磁盘设备”。卷组的大小取决于PV的容量和个数。
- PE(Physical extent): 物理长度。在将物理卷组合为卷组,在LVM逻辑磁盘上的“最小存储单元”,默认是4MB(值可修改,一般不必要)。
注:如通过lvcreate –l 200 –n test_lv centos #使用200个最小存储单元创建1个名为test_lv逻辑卷,容量大小为200*4MB,且存储空间从centos卷组中提取。
- 了解LVM的基本的命令
- 扩容或缩小LVM后,记得使用xfs_growfs更新文件系统
-
查看当前虚拟机的硬盘容量
- 用df –Th查看磁盘使用情况,Size空间大约在17G。
-
- 用fdisk –l查看磁盘设备情况
-
- 用ls /dev/sd*查看分区数量,可以看到,现有系统有一块硬盘sda,共20G,并分成2个分区,其中/dev/sda1是分配给boot分区使用,/dev/sda2是分配给根目录,交由LVM来管理。
-
给/根目录扩容(加硬盘方式)
- 关闭虚拟机系统,并添加一块新的硬盘
-
- 用fdisk –l查看磁盘分区情况,可以看到新加的硬盘已被识别,但还未进行分区。
-
- 用lsblk查看硬盘设备
-
- 使用fdisk /dev/sdb对新加硬盘进行分区,输入”n”
-
- 输入”p”,“1”表示创建第一个逻辑分区,直接2次回车将整个硬盘分给逻辑分区1,最后按“w”进行保存
-
- 输入fdisk /dev/sdb,输入p查看硬盘分区信息,可以看到/dev/sdb1的Id是83。
-
- 现在要将Id改为LVM格式,即8e。接着输入“t”,输入“8e”,最后记得按w进行保存。
-
- 查看磁盘分区信息
-
-
LVM操作
- 使用vgdisplay查看当前vg卷组信息
-
- 使用pvcreate创建物理卷
-
- 使用pvdisplay查看结果
-
- 使用vgextend扩容VG卷centos
-
- 查看扩容后的vg卷容量
-
- 使用lvdisplay查看逻辑卷,LV逻辑卷名称为root,在/dev/centos/root下。
-
- 使用lvextend扩展逻辑卷
-
- 查看扩容后的逻辑卷容量
-
- 使用xfs_growfs或resize2fs拉伸文件系统
-
- df –h验证结果
-
-
缩小卷组容量
- 将上面扩容的5G容量缩小
[root@ntpsrv ~]# lvreduce -L -5G /dev/centos/root
WARNING: Reducing active and open logical volume to 16.99 GiB.
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce centos/root? [y/n]: y
Size of logical volume centos/root changed from 21.99 GiB (5630 extents) to 16.99 GiB (4350 extents).
Logical volume centos/root successfully resized.
-
- 使用lvdisplay查看逻辑卷容量
-
- 创建一个新的目录/test和逻辑卷test_lv,格式化并将刚减小的空间挂载到此目录下
[root@ntpsrv /]# mkdir test
[root@ntpsrv ~]# lvcreate -n test_lv -L 5G centos
WARNING: xfs signature detected on /dev/centos/test_lv at offset 0. Wipe it? [y/n]: y
Wiping xfs signature on /dev/centos/test_lv.
Logical volume "test_lv" created.
[root@ntpsrv ~]# mkfs.xfs ext4 /dev/centos/test_lv
[root@ntpsrv ~]# mount /dev/centos/test_lv /test/
[root@ntpsrv ~]# vim /etc/fstab
-
- 使用df –h查看磁盘信息,可以看到刚刚创建的逻辑卷test_lv已经挂载到了/test目录下