Linux LVM 磁盘创建与扩容
Linux LVM 磁盘创建与扩容
由于大型项目在上线一段期间后,磁盘容量不满足运行需求,需要动态扩容(在不停机、不迁移数据的情况下),这时,如果项目所在路径使用了 LVM 机制管理,那么这种需求就很容易实现。
一、在项目部署前,创建 LVM 挂载
1、查询当前可挂载物理磁盘
fdisk -l
//查看当前有多少未挂载的可用磁盘
2、磁盘分区
fdisk /dev/sdb
//分别输入 n p 1 回车 回车 t L 8e wq 保存退出
fdisk /dev/sdc
//分别输入 n p 1 回车 回车 t L 8e wq 保存退出
fdisk /dev/sdd
//分别输入 n p 1 回车 回车 t L 8e wq 保存退出
fdisk /dev/sde
//分别输入 n p 1 回车 回车 t L 8e wq 保存退出
3、创建PV
pvcreate /dev/sdb1
pvcreate /dev/sdc1
pvcreate /dev/sdd1
pvcreate /dev/sde1
//创建了 4 个物理卷
4、创建VG
vgcreate vg_group /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1
//将 4个物理卷加入到一个卷组'vg_group'中(vg_group 为卷组名,可自定义)
4、创建LV
lvcreate -l 100%VG -n vg_1 vg_group
//将卷组 100% 容量创建为名为'vg_1'的逻辑卷组(vg_1 为逻辑卷组名,可自定义)
5、查看 LV path
lvdisplay
//命令显示当前 LV 信息,记录 LV path 参数
6、格式化 LV path
mkfs.ext4 /dev/vg_group/vg_1
//将 /dev/vg_group/vg_1 格式化为 ext 格式
7、挂载磁盘
mount /dev/vg_group/vg_1 /lvm_disk
//将格式化后的 LV path 挂载到本地目录'/lvm_disk'上
//(/lvm_disk 为本地项目运行的实际目录)
8、设置自动挂载
vim /etc/fstab
//添加下面内容后 wq 保存退出
/dev/vg_group/vg_1 /lvm_disk ext4 defaults 0 0
//重新加载挂载
mount -a
至此,为项目部署所准备的目录 '/lvm_disk' 就创建完毕,可以将项目部署到该路径下,方便后期实现动态扩容磁盘。
二、后期磁盘不足时,动态扩容
首先,需要在项目所在服务器实例添加物理磁盘。
9、查询当前可挂载物理磁盘
fdisk -l
//查看新添加的物理磁盘是否存在,或需要重启服务器实例
10、磁盘分区
fdisk /dev/sdf
//分别输入 n p 1 回车 回车 t L 8e wq 保存退出
11、创建PV
pvcreate /dev/sdf1
//创建了 1 个新的物理卷
12、将新的物理卷添加/拉伸到物理卷组中
vgextend vg_group /dev/sdf1
//将新创建的物理卷添加到之前的物理卷组中(vg_group 为之前创建的卷组)
13、查看拉伸后的物理卷组大小
vgs
//查看拉伸后的卷组大小,若成功,容量会增加
14、拉伸逻辑卷
lvextend -l 100%VG /dev/vg_group/vg_1
//将逻辑卷组大小拉伸至最大
15、最后,拉伸文件系统大小
resize2fs /dev/vg_group/vg_1
//将实际使用的文件系统大小拉伸至最大
16、查看系统挂载容量
df -h
//若成功,/lvm_disk 路径容量会扩充了刚添加的物理磁盘的大小