LVM (logical volume manager) 逻辑卷管理器
其中主要分为这几个概念:
物理卷 - Physical volume 简称 PV
物理卷在逻辑卷管理器中属于最底层的,任何的逻辑卷和卷组都必需依靠物理卷来建立,物理卷可以是一个完整的硬盘,也可以是硬盘中的莫一个分区。
卷组 - Volume group 简称 VG
卷组是建立在物理卷之上,一个卷组中可以包含一个或者多个物理卷。
逻辑卷 - Logical volume 简称 LV
逻辑卷类似于非 LVM 系统中的硬盘分区,在逻辑卷之上可以建立文件系统 (比如 /home 或者 /usr 等)。
一个建立逻辑卷的流程如下:PV -> VG -> LV,物理卷包含卷组,卷组包含逻辑卷。
CentOS 7,一块磁盘,独立 /boot 分区,两个 LVM 分区,如下列操作。:
[root@admin103 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 30G 0 disk
├─sda1 8:1 0 2G 0 part /boot
└─sda2 8:2 0 22G 0 part
├─centos-root 253:0 0 20G 0 lvm /
└─centos-swap 253:1 0 2G 0 lvm [SWAP]
sr0 11:0 1 4G 0 rom
[root@admin103 ~]# fdisk /dev/sda
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
命令(输入 m 获取帮助):p
磁盘 /dev/sda:32.2 GB, 32212254720 字节,62914560 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x0006bdd8
设备 Boot Start End Blocks Id System
/dev/sda1 * 2048 4196351 2097152 83 Linux
/dev/sda2 4196352 50348031 23075840 8e Linux LVM
命令(输入 m 获取帮助):n
Partition type:
p primary (2 primary, 0 extended, 2 free)
e extended
Select (default p): p
分区号 (3,4,默认 3):
起始 扇区 (50348032-62914559,默认为 50348032):
将使用默认值 50348032
Last 扇区, +扇区 or +size{K,M,G} (50348032-62914559,默认为 62914559):
将使用默认值 62914559
分区 3 已设置为 Linux 类型,大小设为 6 GiB
命令(输入 m 获取帮助):p
磁盘 /dev/sda:32.2 GB, 32212254720 字节,62914560 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x0006bdd8
设备 Boot Start End Blocks Id System
/dev/sda1 * 2048 4196351 2097152 83 Linux
/dev/sda2 4196352 50348031 23075840 8e Linux LVM
/dev/sda3 50348032 62914559 6283264 83 Linux
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: 设备或资源忙.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
正在同步磁盘。
[root@admin103 ~]# partprobe /dev/sda
[root@admin103 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 30G 0 disk
├─sda1 8:1 0 2G 0 part /boot
├─sda2 8:2 0 22G 0 part
│ ├─centos-root 253:0 0 20G 0 lvm /
│ └─centos-swap 253:1 0 2G 0 lvm [SWAP]
└─sda3 8:3 0 6G 0 part
sr0 11:0 1 4G 0 rom
[root@admin103 ~]# pvcreate /dev/sda3
Physical volume "/dev/sda3" successfully created
[root@admin103 ~]# vgdisplay
--- Volume group ---
VG Name centos
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 3
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 1
Act PV 1
VG Size 22.00 GiB
PE Size 4.00 MiB
Total PE 5633
Alloc PE / Size 5632 / 22.00 GiB
Free PE / Size 1 / 4.00 MiB
VG UUID krX3Gs-u78c-vJ7F-I5Jh-JlWY-JaGu-6KIVmW
[root@admin103 ~]# vgextend centos /dev/sda3
Volume group "centos" successfully extended
[root@admin103 ~]# lvdisplay
--- Logical volume ---
LV Path /dev/centos/swap
LV Name swap
VG Name centos
LV UUID kfEXVZ-101T-t7Hq-gInh-f5Er-KXqL-20ALqh
LV Write Access read/write
LV Creation host, time admin001, 2022-08-18 14:56:48 +0800
LV Status available
# open 2
LV Size 2.00 GiB
Current LE 512
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:1
--- Logical volume ---
LV Path /dev/centos/root
LV Name root
VG Name centos
LV UUID Zg32SL-G9Lp-iQ5O-I0Uf-Rst1-OcDF-uxnfZy
LV Write Access read/write
LV Creation host, time admin001, 2022-08-18 14:56:48 +0800
LV Status available
# open 1
LV Size 20.00 GiB
Current LE 5120
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:0
[root@admin103 ~]# lvextend -l +100%FREE /dev/centos/root
Size of logical volume centos/root changed from 20.00 GiB (5120 extents) to 25.99 GiB (6654 extents).
Logical volume root successfully resized.
[root@admin103 ~]# xfs_growfs /dev/centos/root
meta-data=/dev/mapper/centos-root isize=256 agcount=4, agsize=1310720 blks
= sectsz=512 attr=2, projid32bit=1
= crc=0 finobt=0
data = bsize=4096 blocks=5242880, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=0
log =internal bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 5242880 to 6813696
[root@admin103 ~]#
[root@admin103 ~]#
[root@admin103 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 30G 0 disk
├─sda1 8:1 0 2G 0 part /boot
├─sda2 8:2 0 22G 0 part
│ ├─centos-root 253:0 0 26G 0 lvm /
│ └─centos-swap 253:1 0 2G 0 lvm [SWAP]
└─sda3 8:3 0 6G 0 part
└─centos-root 253:0 0 26G 0 lvm /
sr0 11:0 1 4G 0 rom
[root@admin103 ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root 26G 8.8G 18G 34% /
devtmpfs 1.4G 0 1.4G 0% /dev
tmpfs 1.4G 84K 1.4G 1% /dev/shm
tmpfs 1.4G 9.2M 1.4G 1% /run
tmpfs 1.4G 0 1.4G 0% /sys/fs/cgroup
/dev/sda1 2.0G 165M 1.9G 9% /boot
cm_processes 1.4G 0 1.4G 0% /run/cloudera-scm-agent/process
tmpfs 279M 12K 279M 1% /run/user/42
tmpfs 279M 0 279M 0% /run/user/0