LVM可以创建和管理逻辑卷,而不是直接使用物理硬盘。可以让管理员弹性的管理逻辑卷的扩大缩小,操作简单,而不损坏已存储的数据。可以随意将新的硬盘添加到LVM,以直接扩展已经存在的逻辑卷。
LVM使用分层结构,如下图所示。
首先是实际的物理磁盘及其划分的分区和其上的物理卷(PV)。一个或多个物理卷可以用来创建卷组(VG)。然后基于卷组可以创建逻辑卷(LV)。只要在卷组中有可用空间,就可以随心所欲的创建逻辑卷。文件系统就是在逻辑卷上创建的,然后可以在操作系统挂载和访问。
深证云默认交付50G的系统盘,以及用户申请容量的数据盘。以下用所申请的100G数据盘为例,介绍创建管理LVM所用的命令:
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda 8:0 0 50G 0 disk
├─vda1 8:1 0 1G 0 part /boot
└─vda2 8:2 0 49G 0 part
├─centos-root 253:0 0 41G 0 lvm /
├─centos-swap 253:1 0 8G 0 lvm [SWAP]
vdb 8:16 0 100G 0 disk
// 创建物理卷
$ pvcreate /dev/vdb
Physical volume "/dev/vdb" successfully created.
// 创建卷组
$ vgcreate VG1 /dev/vdb
Volume group "VG1" successfully created
// 将所有剩余空间创建为逻辑卷
$ lvcreate -L 100G -n lv-app VG1
Logical volume "lv-app" created.
// 创建完成
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda 8:0 0 50G 0 disk
├─vda1 8:1 0 1G 0 part /boot
└─vda2 8:2 0 49G 0 part
├─centos-root 253:0 0 41G 0 lvm /
├─centos-swap 253:1 0 8G 0 lvm [SWAP]
vdb 8:16 0 100G 0 disk
└─VG1-lv-app 253:3 0 100G 0 lvm // 所创建的LVM逻辑卷
//格式化并挂载到“/app”
$ mkfs.ext4 /dev/VG1/lv-app
$ mkdir /app
$ mount /dev/VG1/lv-app /app
//写入到 /etc/fstab 以实现开机自动挂载
$ vi /etc/fstab
//在最后加入:
/dev/mapper/VG1-lv-app /app ext4 defaults 0 0
【建议】
—将应用程序、数据的路径设置到数据盘,以免数据量写满系统分区导致系统崩溃;
—不将数据盘与系统盘整合为一个LVM,防止解挂或其他磁盘操作时导致系统崩溃;
—再次强调:将所挂载的分区写入到/etc/fstab中,防止重启后系统不正常。