lvm

https://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_linux_042_lvm.html

rpm -q lvm2 # 查看lvm2是否安装了
yum -y install lvm2 # 没有安装的话使用yum安装

1、格式化硬盘
fdisk /dev/vdb

mkfs.ext4 /dev/vdb

2、创建vg
vgcreate vg-01 /dev/vdb 

3、创建lv
lvcreate -L 100G -n lv-01  vg-01 从vg-01里创建一个lv名为lv-01的100G分区

4、格式化

mkfs.ext4 /dev/vg-01/lv-01 -N 5242880 

5、挂载
 /dev/vg-01/lv-01  /磁盘名/vg名/lv名
mkdir /mysql-data
mount /dev/vg-01/lv-01  /mysql-data/

5、查看结果
df -h

6、扩展lvm
lvextend -L +15G /dev/vg_test-01/lv-20g 原基础上扩大15G
注:我们这里是有vg是有空间的,没有的话就需要创建pv,扩大vg在做
上面命令已经扩大15g了,但需要增长下文件系统的,让文件系统和lv大小匹配下,才能真正的扩大磁盘


resize2fs /dev/mapper/vg_test--01-lv--20g
然后再用df -h就可以看到空间一致了

7、将挂载信息写入/etc/fstab

/dev/vg-01/lv-01    /mysql/data            ext4    defaults        0 0

扩容VG

1、查看当前vg大小

vgdisplay -s   或vgs

 

 上面显示有个名为 centos的VG组,但已经没有多少空间了

2、给新的硬盘建分区

fdisk /dev/sdb
mkfs.ext4 /dev/sdb

3、扩容vg,将盘/dev/sdb加入名为centos的VG组

vgextend centos /dev/sdb

再次查看VG 已经扩容完成

4、从centos VG组新建名为minio-data的lv

lvcreate -L 1.5G -n minio-data centos
mkfs.ext4 /dev/centos/minio-data

5、挂载

mount /dev/centos/minio-data  /minio-data

 6、设置开机自动挂载

/dev/centos/minio-data    /minio-data/          ext4    defaults        0 0

7、扩容lv

lvextend -L +1.5G /dev/centos/minio-data
resize2fs /dev/centos/minio-data

df -h 查看结果,已经扩容成功了

 

 缩容

缩容不能动态缩容,只能先卸载目录再缩容

1、卸载文件系统

umount /minio-data/

2、检查磁盘

e2fsck -f /dev/centos/minio-data

3、调整文件系统到2g

resize2fs /dev/centos/minio-data 2G

 4、缩容

lvreduce -L 1.5G /dev/centos/minio-data 

 5、查看结果

lvs |grep minio-data

6、重新挂载

mount /dev/centos/minio-data /minio-data/ 

注意:在进行扩容,缩容之后进行原有文件完整性校验的时候最好通过比较文件的md5值是否保持不变以判断操作对原有文件没有造成影响

排错

1、新建pv报错

使用pvscan可以看到有个unknown device,且属于centos的VG组

解决方法:从VG中去除PV unknown device

vgreduce --removemissing centos

此时查看结果已正常再次新建pv也正常了

原文地址:https://www.cnblogs.com/zphqq/p/10000291.html