LVM概念
LVM 是 Logical Volume Manager 的简称,译为中文就是逻辑卷管理。它是 Linux 下对硬盘分区的一种管理机制。LVM 适合于管理大存储设备,并允许用户动态调整文件系统的大小。此外,LVM 的快照功能可以帮助我们快速备份数据。LVM 为我们提供了逻辑概念上的磁盘,使得文件系统不再关心底层物理磁盘的概念。
- 物理卷PV(Physical Volume):就是真正的物理硬盘或分区。
- 卷组VG(Volume Group):将多个物理卷合起来就组成了卷组。组成同一个卷组的物理卷可以是同一块硬盘的不同分区,也可以是不同硬盘上的不同分区。我们可以把卷组想象为一块逻辑硬盘。
- 逻辑卷LV(Logical Volume):卷组是一块逻辑硬盘,硬盘必须分区之后才能使用,我们把这个分区称作逻辑卷。逻辑卷可以被格式化和写入数据。我们可以把逻辑卷想象为分区。
- 物理扩展PE(Physical Extend):PE 是用来保存数据的最小单元,我们的数据实际上都是写入 PE 当中的。PE 的大小是可以配置的,默认是 4MB。
LVM的优点:
- LVM是可以允许对卷组进行方便操作的抽象层,包括重新设定文件系统的大小。
- 允许在多个物理设备间重新组织文件系统。
- 可以弹性的更改LVM的容量。
LVM的管理命令
主要命令
功能 | 物理卷管理 | 卷组管理 | 逻辑卷管理 |
---|---|---|---|
scan 扫描 | pvscan | vgscan | lvscan |
create 建立 | pvcreate | vgcreate | lvcreate |
display 显示 | pvdisplay | vgdisplay | lvdisplay |
remove 删除 | pvremove | vgremove | lvremove |
extend 扩展 | —— | vgextend | lvextend |
reduce 减少 | —— | vgreduce | lvreduce |
命令用法
pvcreate 设备名1 设备名2 [设备名3]... //创建物理卷
vgcreate 卷组名 物理卷名1 物理卷名2 [物理卷3]... //创建卷组
lvcreate -L 容量大小 -n 逻辑卷名 卷组名 //创建逻辑卷
mkfs.xfs 逻辑卷名(/dev/卷组名/逻辑名) //将逻辑卷格式化
mount 逻辑卷名(/dev/卷组名/逻辑名)挂载点 //将逻辑卷挂载
vim /etc/fstab //将逻辑卷永久挂载
pvcreate 设备名4... //创建新的物理卷
vgextend 卷组名 物理卷名4 //扩容卷组
lvextend -L +大小 /dev/卷组名/逻辑卷名 //扩容逻辑卷
xfs_growfs 挂载点 //XFS文件系统扩容
resize2fs /dev/VG_NAME/LV_NAME //EXT4文件系统扩容
#针对不同的文件系统,需使用对应的命令来扩容
LVM应用
逻辑卷配置示例
1.建立物理卷
先将磁盘的分区格式设置为Linux LVM(对应系统ID为8e)
disk /dev/sdb #管理磁盘分区
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
命令(输入 m 获取帮助):t #切换id
分区号 (1,2,默认 2):2 #选择分区号
Hex 代码(输入 L 列出所有代码):8e #类型的id
已将分区“Linux”的类型更改为“Linux LVM”
命令(输入 m 获取帮助):w #保存并退出
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盘。
将/dev/sdb2和/dev/sdc建立物理卷
pvcreate /dev/sdb2 /dev/sdc
#创建物理卷,命令后面跟一整块磁盘,或者磁盘的分区
创建卷组vg01,并将2个物理卷分配给vg01
vgcreate vg01 /dev/sdb2 /dev/sdc
或者
vgcreate vg01 /dev/sd{b2,c}
#建立卷组,取名为vg01
从vg01中取10G容量创建逻辑卷mylvm
lvcreate -n mylvm -L 10G vg01
选项:
-n 名字
-L 指定大小
-l 多少个PE(一个PE默认4M)
将逻辑卷mylvm格式化为XFS文件系统
mkfs.xfs /dev/vg01/mylvm
修改/etc/fstab 文件,将逻辑卷mylvm挂载到/data/mail目录下
mkdir /data/mail #创建一个文件夹作为挂载点
blkid | grep mylvm #查看逻辑卷mylvm的UUID
vim /etc/fstab #修改配置文件
UUID="9a197b4f-f918-41f1-82f3-09aba58c3ff8 /data/mail xfs defaults 0 0
mount -a #重新挂载所有磁盘
df -Th #查看磁盘信息,可以看到已成功挂载
逻辑卷扩容5G
逻辑卷的容量是从卷组中取的
-
卷组容量足够扩容 直接扩容
-
卷组容量不够 先扩容卷组 再扩容逻辑卷
lvextend -L +5G /dev/vg01/mylvm #为逻辑卷扩容5G lvdisplay /dev/vg01/mylvm #显示逻辑卷信息 xfs_growfs /data/mail #将文件系统扩容 df -Th #查看磁盘信息,容量已变为15G