简单地说,逻辑卷是一种虚拟化存储,将散乱的物理卷(真实的硬盘存储)整合在一起组成卷组,划分出一个新的存储分区,提高存储的使用效率,使存储统一在同一个逻辑卷上,如果逻辑卷大小不够可以从卷组获取更大的存储,如果卷组的容量不够则从物理卷中划分给卷组,从而将分散式存储转集中在高效率的虚拟化存储。
1、给虚拟机添加一块硬盘,默认20G
2、查看虚拟机硬盘的识别
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sdb 8:16 0 20G 0 disk #新添加的硬盘
3、划分两个分区
[root@localhost ~]# fdisk /dev/sdb #创建分区命令
命令(输入 m 获取帮助):n #创建新的分区
分区号 (1-4,默认 1): #回车,选择默认
起始 扇区 (2048-41943039,默认为 2048): #回车,选择默认
Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):+15G #大小为15G
命令(输入 m 获取帮助):p #查看分区
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 31459327 15728640 83 Linux #新创建的分区
命令(输入 m 获取帮助):w #保存并退出
正在同步磁盘。
[root@localhost ~]# fdisk /dev/sdb
命令(输入 m 获取帮助):n #创建新的分区
分区号 (2-4,默认 2): #回车,选择默认
起始 扇区 (31459328-41943039,默认为 31459328): #回车,选择默认
Last 扇区, +扇区 or +size{K,M,G} (31459328-41943039,默认为 41943039):+3G #大小为3G
命令(输入 m 获取帮助):p #查看分区
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 31459327 15728640 83 Linux #大小为15G的分区
/dev/sdb2 31459328 37750783 3145728 83 Linux #大小为3G的分区
命令(输入 m 获取帮助):w #保存并退出
正在同步磁盘。
4、刷新分区
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sdb 8:16 0 20G 0 disk
├─sdb1 8:17 0 15G 0 part #大小为15G的分区
└─sdb2 8:18 0 3G 0 part #大小为3G的分区
5、创建卷组
[root@localhost ~]# vgcreate vg1 /dev/sdb1 #创建名为vg1的卷组,从/dev/sdb1位置创建
[root@localhost ~]# pvs #查看物理卷的信息
PV VG Fmt Attr PSize PFree
/dev/sdb1 vg1 lvm2 a-- <15.00g <15.00g #物理卷的信息
[root@localhost ~]# vgs #查看卷组的信息
VG #PV #LV #SN Attr VSize VFree
vg1 1 0 0 wz--n- <15.00g <15.00g #卷组的信息
6、创建逻辑卷
[root@localhost ~]# lvcreate -L 5G -n mylv vg1 #在vg1卷组中创建大小为5G,名为mylv的逻辑卷
[root@localhost ~]# lvs #查看逻辑卷信息
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
mylv vg1 -wi-a----- 5.00g #逻辑卷细腻
7、格式化逻辑卷
[root@localhost ~]# mkfs.ext4 /dev/vg1/mylv
#以ext4格式进行格式化逻辑卷
#逻辑卷的位置是/dev/vg1/mylv
8、使用逻辑卷
[root@localhost ~]# mkdir English #在当前路径下创建一个目录
[root@localhost ~]# mount /dev/vg1/mylv English/ #将刚刚所创建的逻辑卷挂载到English目录下
[root@localhost ~]# df -h #查看硬盘使用情况
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/vg1-mylv 4.8G 20M 4.6G 1% /root/English
[root@localhost ~]# echo hello,lvs逻辑卷 > English/english.txt
[root@localhost ~]# cat English/english.txt
hello,lvs逻辑卷
9、扩展卷组
[root@localhost ~]# vgextend vg1 /dev/sdb2
#将大小为3G的分区加入到vg1卷组中
10、扩展逻辑卷
[root@localhost ~]# lvextend -L +2G /dev/vg1/mylv
#扩展逻辑卷,从卷组中增加大小为2G
[root@localhost ~]# vgs #查看卷组信息
VG #PV #LV #SN Attr VSize VFree
vg1 2 1 0 wz--n- 17.99g 1020.00m
[root@localhost ~]# lvs #查看逻辑卷信息
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
mylv vg1 -wi-ao---- <17.00g