LVM动态卷+扩容交换分区

LVM动态卷

每个Linux使用者在安装Linux时都会遇到这样的困境:在为系统分区时,如何精确评估和分配各个硬盘分区的容量,因为系统管理员不但要考虑到当前某个分区需要的容量,还要预见该分区以后可能需要的容量的最大值。因为如果估 计不准确,当遇到某个分区不够用时管理员可能甚至要备份整个系统、清除硬盘、重新对硬盘分区,然后恢复数据到新分区。
虽然有很多动态调整磁盘的工具可以使用,例如PartitionMagic等等,但是它并不能完全解决问题,因为某个分区可能会再次被耗尽;另外一个方面这需要 重新引导系统才能实现,对于很多关键的服务器,停机是不可接受的,而且对于添加新硬盘,希望一个能跨越多个硬盘驱动器的文件系统时,分区调整程序就不能解 决问题。
因此完美的解决方法应该是在零停机前提下可以自如对文件系统的大小进行调整,可以方便实现文件系统跨越不同磁盘和分区。幸运的是Linux提供的逻辑盘卷管理(LVM,LogicalVolumeManager)机制就是一个完美的解决方案。
参考学神IT运维:
在这里插入图片描述
在这里插入图片描述
操作会用的一些查看命令:
在这里插入图片描述
创建及删除步骤

创建:linux partition-->pv-->vg-->lv-->fs-->mount
删除:umount-->lv-->vg-->pv-->linux partition

注意:创建途中出现-bash: pvcreate: command not found可 能是没有安装lvm2造成的使用yum命令或者rpm安装。

[root@network ~]# yum install lvm2

环境

环境前准备添加三块10G硬盘,两块进行合并,一块进行扩容。
在这里插入图片描述
在这里插入图片描述

创建PV

[root@network ~]# pvcreate /dev/sdb /dev/sdc

在这里插入图片描述
查看物理卷信息

[root@network ~]# pvdisplay /dev/sdb /dev/sdc

在这里插入图片描述

创建vg卷组

语法:

语法: vgcreate  vg名字  pv的名字   可以跟多个pv
[root@network ~]# vgcreate vg01 /dev/sdb /dev/sdc

在这里插入图片描述
查看VG卷组

[root@network ~]# vgdisplay vg01

在这里插入图片描述

查看所有VG内容或LV内容

[root@network ~]# vgs

VSize容量总和 VFree剩余容量
在这里插入图片描述

[root@network ~]# lvs

在这里插入图片描述

创建LV逻辑卷

格式:

lvcreate -n LV名称  -L指定lv大小的SIZE(M,G) (-l:小l 指定LE的数量) vgname
[root@network ~]# lvcreate -n lv01 -L 19.99G vg01

在这里插入图片描述

文件系统格式与挂载

[root@network ~]# mkdir /lv01
[root@network ~]# mkfs.xfs /dev/vg01/lv01
[root@network ~]# mount /dev/vg01/lv01 /lv01/
[root@network ~]# df -h

在这里插入图片描述
注意:
注意:19G合并成功,你创建的卷组都会在、/dev下面。系统结构基础讲过。
在这里插入图片描述

LVM扩容语法

extend扩展	vgextend	lvextend
扩容LV语法
扩容9.99G
[root@network ~]# lvextend -L +9.99G /dev/vg01/lv01
扩容到9.99G
[root@network ~]# lvextend -L 9.99G -r /dev/vg01/lv01
说明:在指定大小的时候,扩容9.99G和扩容到9.99G是不一样的写法
扩容VG语法
vgextend 扩容的vg  新的pv卷

添加pv扩容vg卷组

扩容PV:
将 /dev/sdd添加到PV中

[root@network ~]# pvcreate /dev/sdd

扩容VG:

[root@network ~]# vgextend vg01 /dev/sdd

查看VG01详细信息

[root@network ~]# vgdisplay vg01

在这里插入图片描述

扩容LV容量

[root@network ~]# lvextend -L +9.99G /dev/vg01/lv01

在这里插入图片描述

[root@network ~]# df -h

在这里插入图片描述
注意:

注意现在扩容成功但是没有重新加载我们需要重新加载
ext4文件系统扩容使用命令语法: resize2fs  逻辑卷名称
xfs文件系统扩容使用命令语法:  xfs_growfs  挂载点
resize2fs和xfs_growfs 两者的区别是传递的参数不一样的,xfs_growfs是采用的挂载点;resize2fs是逻辑卷名称,而且resize2fs命令不能对xfs类型文件系统使用
[root@network ~]# resize2fs /dev/vg01/lv01
[root@network ~]# df -h

在这里插入图片描述

LVM缩小语法

reduce减少	vgreduce	lvreduce

许多Linux系统管理员有错误的假设,LVM不支持在线萎缩。事实是相反的,完全支持的Linux LVM在线装置萎缩。但是,是的,我们知道,当我们需要收缩LVM设备卸载受到设备。把设备安装状态前收缩的原因在于在FileSytem限制,大多数的文件系统不支持联机收缩,是他们支持在线扩展。我知道一个文件系统,支持在线缩水,btrfs的文件系统。

[root@network ~]# lvreduce -L -1G /dev/vg01/lv01
[root@network ~]# umount /lv01/
[root@network ~]# mount /dev/vg01/lv01 /lv01/

在这里插入图片描述
注意:
注意:如果是将根分区缩减,是不能在线进行的,缩减的风险往往大于扩容的风险,如缩减不成功将导致整个文件系统损毁
LV联机缩小(采用调整命令

[root@network ~]# lvresize -L 19.99G -r /dev/vg01/lv01
[root@network ~]# df -h

在这里插入图片描述

LV卸载缩小

[root@network ~]# umount /lv01/
[root@network ~]# e2fsck -f /dev/vg01/lv01
[root@network ~]# lvresize -L 19.99G -r /dev/vg01/lv01
[root@network ~]# mount /dev/vg01/lv01 /lv01
[root@network ~]# df –h

在这里插入图片描述
注意XFS是不支持在线调整的

VG减少

语法:

语法:vgreduc vgname pvname
[root@network ~]# vgreduce vg01 /dev/sdd

在这里插入图片描述
注意:
当你设备被占用的时候(Physical volume “/dev/sdc” still in use)是不能被移除的,首先要减少LV的容量。

[root@network ~]# vgs

在这里插入图片描述

LVM删除

卸载逻辑卷

[root@network ~]# umount /lv01

移除lv逻辑卷

[root@network ~]# lvremove /dev/vg01/lv01

在这里插入图片描述

[root@network ~]# lvs

在这里插入图片描述

移除VG卷组

[root@network ~]# vgremove vg01

在这里插入图片描述

移除pv

语法:

语法:pvremove  pvname

查看pv

pvs

在这里插入图片描述
移除pv

[root@network ~]# pvremove /dev/sdb
[root@network ~]# pvremove /dev/sdc
[root@network ~]# pvremove /dev/sdd

在这里插入图片描述

实战:扩容交换分区

实战场景:公司在高峰期,有时候会死机于是发现内存使用率百分百。需要你把交换分区提升2G先暂时使用。去买内存的时间肯定还会死机卡顿。需要你及时解决!但是你发现你的主盘没有多余空间了,只能从另外加的盘分配空间。

初始前:
在这里插入图片描述
调整后:
在这里插入图片描述
扩容前:
在这里插入图片描述
扩容后:
在这里插入图片描述
在这里插入图片描述
注意:因为自己的盘预留的都有空余内容:总容量214G现在才用了100多。

[root@network ~]# fdisk /dev/sda								 //分区2G空间
[root@network ~]# partprobe   								     //重新读取分区
[root@network ~]# pvcreate  /dev/sda3								  //加入pv
[root@network ~]# vgextend  centos  /dev/sda3		//加入vg而centos是vg名称
[root@network ~]# swapoff  /dev/mapper/centos-swap			    //卸载swap
[root@network ~]# lvextend  -L +2GB  /dev/mapper/centos-swap	  //扩容2G
[root@network ~]# mkswap  /dev/mapper/centos-swap				 //重建分区
[root@network ~]# swapon  /dev/mapper/centos-swap				     //挂载
[root@network ~]# free -h											//查看swap
Swap:          4.0G          0B        4.0G
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值