centos7使用lvm 便捷伸缩磁盘空间
参考https://blog.csdn.net/wxnshuai/article/details/126936585
新建
安装lvm2
yum install lvm2 -y
查看磁盘情况
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda 253:0 0 40G 0 disk
└─vda1 253:1 0 40G 0 part /
vdb 253:16 0 100G 0 disk
vdc 253:32 0 100G 0 disk
vdd 253:48 0 100G 0 disk
我这里 vdb vdc vdd用来测试lvm操作
创建磁盘分区
#无需执行本步骤操作
#文件系统选8e(lvm)
创建物理卷
pvcreate /dev/vdb /dev/vdc
输出:
Physical volume "/dev/vdb" successfully created.
Physical volume "/dev/vdc" successfully created.
创建卷组
vgcreate storage /dev/vdb /dev/vdc
输出:
Volume group "storage" successfully created
创建逻辑卷
在卷组storage上创建逻辑卷st1 (lv)
lvcreate -l 100%FREE -n st1 storage
输出:
Logical volume "st1" created.
其他用法:
lvcreate -l 37 -n st1 storage
列出逻辑卷
lvscan
输出:
ACTIVE '/dev/storage/st1' [199.99 GiB] inherit
~=两块100GB的盘大小
显示逻辑卷属性
lvdisplay
输出:
--- Logical volume ---
LV Path /dev/storage/st1
LV Name st1
VG Name storage
LV UUID VMxfBT-73eU-TuC0-IocH-HxaC-XZ0G-IS7Zhv
LV Write Access read/write
LV Creation host, time iZ2vc9kwt9j7dfmas4koxkZ, 2023-03-28 11:18:24 +0800
LV Status available
# open 0
LV Size 199.99 GiB
Current LE 51198
Segments 2
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 252:0
其他用法:
lvdisplay -m
#显示逻辑分区-物理卷
创建文件系统
mkfs -t ext4 /dev/storage/st1
输出:
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
13107200 inodes, 52426752 blocks
2621337 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2199912448
1600 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872
Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
挂载
mkdir /lvm
mount -t ext4 /dev/storage/st1 /lvm
df -h
输出:
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/storage-st1 197G 61M 187G 1% /lvm
其他用法:
echo "/dev/storage/st1 /lvm ext4 defaults 0 0" >> /etc/fstab
mount -a
扩容-使用空闲空间
。。。。。。
扩容-使用新硬盘
卸载挂载
cd ~ && umount /lvm
创建物理卷
pvcreate /dev/vdb
输出:
Physical volume "/dev/vdd" successfully created.
添加物理卷到卷组
vgextend storage /dev/vdb
输出:
Volume group "storage" successfully extended
vgdisplay
输出:
Alloc PE / Size 51198 / 199.99 GiB
Free PE / Size 25599 / <100.00 GiB
看到已经有100g空闲空间
扩展逻辑卷
lvextend -l +100%FREE /dev/storage/st1
输出:
Size of logical volume storage/st1 changed from 199.99 GiB (51198 extents) to <299.99 GiB (76797 extents).
Logical volume storage/st1 successfully resized.
查看lv和vg
lvdisplay
vgdisplay
可看到均是大约300GB
其他用法:
lvextend -L +1G /dev/mysql/lv_data #逻辑卷扩容,增加1G的空间
lvextend -l +25 /dev/mysql/lv_data #增加25个LE就是100M
调整文件系统大小
e2fsck -f /dev/storage/st1
检查硬盘完整性
输出:
e2fsck 1.42.9 (28-Dec-2013)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/storage/st1: 11/13107200 files (0.0% non-contiguous), 870924/52426752 blocks
resize2fs /dev/storage/st1
输出:
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/storage/st1 to 78640128 (4k) blocks.
The filesystem on /dev/storage/st1 is now 78640128 blocks long.
挂载并查看
mount -t ext4 /dev/storage/st1 /lvm
df -h
输出:
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/storage-st1 296G 64M 281G 1% /lvm