1.1 关于LVM的创建、删除、扩容和缩减

一、新建LVM的过程
1.使用fdisk 新建分区 修改ID为8e
3.使用 pvcreate 创建 PV 
4.使用 vgcreate 创建 VG 
5.使用 lvcreate 创建 LV 
6.格式化LV
7.挂载

示例过程:

1. 查看磁盘情况
# fdisk -l
# lsblk

2.使用fdisk 新建分区 修改ID为8e 并更新
# fdisk /dev/sdb
# partprobe

3.使用 pvcreate 创建 PV (pvscan pvdisplay)
# pvcreate /dev/sdb{5,6,7}

4.使用 vgcreate 创建 VG (vgscan vgdisplay pvscan)
# vgcreate -s 16M testvg /dev/sdb{5,6,7}

5.使用 lvcreate 创建 LV (vgdisplay lsblk lvdisplay)
# lvcreate -l 192 -n testlv testvg

6.格式化LV
# mkfs -t ext4 /dev/testvg/testlv

7.挂载(mkdir df lsblk)
# mount /dev/testvg/testlv /mnt/test

 


二、删除LVM的过程

1.先卸载系统上面的 LVM 文件系统 (包括快照与所有 LV)
2.使用 lvremove 移除 LV 
3.使用 vgchange -a n VGname 让 VGname 这个 VG 不具有 Active 的标志
4.使用 vgremove 移除 VG
5.使用 pvremove 移除 PV
6.使用 fdisk 修改 ID 回来

示例过程:

前提:如果有数据库的使用,需要先停止数据库和集群

1. 查看分区和磁盘情况
# df -h
# lsblk

2. 卸载LVM 文件系统

卸载之前,需要检查扩容的目录是否有用户在使用: fuser -vm /u01(如果有,可以使用kill杀掉进程)
# umount /mnt/test
# umount /mnt/test2

3. 使用 lvremove 移除 LV ( lvscan lvdisplay )
# lvremove /dev/testvg/testlv
# lvremove /dev/testvg/test2lv

4.使用 vgchange -a n VGname 让 VGname 这个 VG 不具有 Active 的标志;
# vgchange -a n testvg

5.使用 vgremove 移除 VG:(vgscan vgdisplay)
# vgremove testvg

6.使用 pvremove 移除 PV (注意1 里面的lsblk 查看到的 )
# pvremove /dev/sdb{5,6,7,8}

7.使用 fdisk 修改ID为82
# fdisk /dev/sdb

8.更新
# partprobe


 

三、放大 LV 容量的过程
1.用 fdisk 配置新的具有 8e system ID 的 partition
2.利用 pvcreate 建置 PV
3.利用 vgextend 将 PV 加入VG
4.利用 lvresize 将新加入的 PV 内的 PE 加入LV 中
5.透过 resize2fs 将文件系统的容量确实添加!

示例过程

前提:如果有数据库的使用,需要先停止数据库和集群

1. 查看磁盘情况
# fdisk -l
# lsblk

2.使用fdisk 新建分区 修改ID为8e 并更新
# fdisk /dev/sdb
# partprobe

3.使用 pvcreate 创建 PV (pvscan pvdisplay)
# pvcreate /dev/sdb8

4.利用 vgextend 将 PV 加入VG (vgdisplay)
# vgextend testvg /dev/sdb8

5.利用 lvresize 将新加入的 PV 内的 PE 加入LV 中(vgdisplay vgdisplay lvdisplay lsblk df )
# lvresize -l +64 /dev/testvg/testlv

6.透过 resize2fs 将文件系统的容量确实添加( df )
# resize2fs /dev/testvg/testlv

 

 

四、缩小LV容量的过程(抽取整块分区)

1.卸载
2.使用resize2f 直接降低LV的容量

示例过程

前提:如果有数据库的使用,需要先停止数据库和集群

1.查看PV情况 (df lsblk)
# pvdisplay
# pvscan

#pvs

2.卸载

卸载之前,需要检查扩容的目录是否有用户在使用: fuser -vm /u01(如果有,可以使用kill杀掉进程)

# umount /mnt/test

3.磁盘检测LV
# e2fsck -f /dev/testvg/testlv

4.使用resize2fs 直接指定降低后的容量
# resize2fs /dev/testvg/testlv 3G

5.重新挂载
# mount /dev/testvg/testlv /mnt/test

6.使用lvresize 降低LV的容量 (pvscan pvdisplay )
#pvdisplay
#lvreszie -l -64 /dev/testvg/testlv

7.将要抽离的PV 的PE转移到 空闲PV中 (pvscan pvdisplay)
# pvmove /dev/sdb5 /dev/sdb8

8.使用vgreduce 将PV移除VG
# vgreduce testvg /dev/sdb5

9.使用pvremove 去除PV 
# pvremove /dev/sdb5

10.使用fdisk 修改ID 
# fdisk /dev/sdb


五、先缩小LV1容量,后增大LV2容量的过程(生产环境下的减小/home 增大/root)

1.卸载LV1
2.使用 e2fsck 检测一下LV1
3.使用resize2fs 重新定义LV1的大小
4.重新挂载,检验一下结果
5.使用lvreduce 或lvresize 减小LV1至指定大小
6.使用lvextend 增加LV2的大小
7.重新定义下LV2大小

示例过程

前提:如果有数据库的使用,需要先停止数据库和集群

1. 查看磁盘情况
# fdisk -l
# df -h
# lsblk

2.备份LV1的数据
# mkdir /mnt/backup
# tar -jcv -f /mnt/backup/test.tar.bz2 * 

# mv /mnt/test/* /mnt/backup/

3.卸载LV1

卸载之前,需要检查扩容的目录是否有用户在使用: fuser -vm /u01(如果有,可以使用kill杀掉进程)
# umount /mnt/test

4.使用 e2fsck 检测一下LV1
# e2fsck -f /dev/testvg/testlv

5.使用resize2fs 重新定义LV1的大小
# resize2fs -p /dev/testvg/testlv 2G

6.重新挂载,检验一下结果
# mount /dev/testvg/testlv /mnt/test
# df -h

7.使用lvreduce 或lvresize 减小LV1至指定大小
# lvresize -L 2G /dev/testvg/testlv

# lvreduce -L 2G /dev/testvg/testlv

8.使用lvextend 增加LV2的大小
# lvextend -l +100%FREE /dev/testvg/test2lv

# lvextend -L +1G /dev/testvg/test2lv

9.重新定义下LV2大小
# resize2fs -p /dev/testvg/test2lv

10.检查结果
# df -h
# lsblk

查看下其他的实例过程

# mkdir /backup 
# mv /home/* /backup/ 
# umount /home 
# lvremove /dev/centos/home 
# lvcreate -L 50G -n home cents 
# mkfs -t xfs /dev/centos/home 
# mv /backup/* /home/ 
# lvextend -L +xxxG /dev/centos/root 
# xfs_growfs root 
# rm -rf /backup

 

六、额外
缩小LV是先声明 resize2fs -p 后定义 lvresize -L 的过程
扩大LV是先定义 lvresize -L 后声明 resize2fs -p 的过程

lvresize只是扩展了lv磁盘(裸设备)的大小,resize2fs是ext4文件系统命令,会调用文件系统本身去扩容,所以还是ext4。也就是说你这个lv原来是什么文件系统现在还是什么文件系统,他只是负责调用,如果是xfs文件系统的话会有xfs的扩容缩减命令。

 

缩下VG是移除空闲的PV的过程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值