同一个磁盘中从根分区缩小空间到扩展SWAP分区空间实践步骤

操作背景:

       公司中有一部分主机在开始设计的时候,并未考虑到SWAP的大小,只是分配了物理内存的2倍-4G,导致后期应用部署完成后对系统的SWAP分区要求达不到标准。因此经过部分和领导讨论后,决定在同一块磁盘上来减少根分区的大小,并使用缩减出来的大小去增加swap分区大小的操作,这中间要保障数据的完整和业务应用不丢失。这样做既可以保障数据盘不受影响,也保证应用系统在完成后可以正常使用,也减少了以后的一些风险(比如要使用额外的磁盘来增加swap空间大小需要考虑额外磁盘的稳定等)。

操作分析:

        由于根分区和swap在开机运行的时候是处于使用状态,是不能对其进行直接操作的。考虑至此,需要使用到LINUX的救援模式,且该救援模式必须是不能执行chroot  /mnt/sysimage。单用户模式和救援模式执行chroot后都不能对根分区进行操作。

LVM原理操作步骤和注意事项回顾:

     先回顾下针对LV的扩展或缩小步骤、以及操作方法。

扩展LV

1、卸载LV

命令:umount “挂载目录”  这一步可以不用做,因LVM的2版本支持在线升级扩展空间。

2、扩展LV或先扩展VG

命令:vgextend vgdata100  /dev/sdb1  表示从pv为sdb1的分区中扩展空间到vgdata100的卷组中。

命令:lvextend -L +5G /dev/lv00/lv01 或者 lvresize -L 50G /dev/lv00/lv01

lvextend 表示增加5G,lvresize表示增加到50G,是调整后的容量。

3、检查文件系统

命令:fsck -f /dev/vg00/lv01

4、重建文件系统

  命令:resize2fs /dev/lv00/lv01

这一步很关键,重建文件系统,不用担心LV的数据会丢失,以防丢失也可以先备份下LV里的数据。

5、挂载LV

命令:mount /dev/lv001/lv01 /opt   或执行mount -a     这步可以省去

技术分享

 

缩小LV

  缩小LV需要事先知道LV中的数据容量大小,缩小容量值不应超过剩余空间容量,而且要知道减少LV容量后的新大小。可以通过lvscan来查看LV容量,通过vgdisplay来查看剩余容量。缩小空间的磁盘必须需要卸载下来,不能在线缩小正在使用中的磁盘。

1、卸载LV

命令:umount “挂载目录”

2、检查文件系统

命令:fsck -f /dev/lv00/lv01 

3、调整LV大小并重建文件系统

命令:resize2fs /dev/vg00/lv01 2G

4、减小LV容量

命令:lvreduce -L -3G /dev/vg00/lv01

5、挂载LV

  命令:mount /dev/lv001/lv01 /opt

技术分享

技术分享

 

 实际操作

    正式操作之前先在实验环境下进行2-3遍测试后,再进行现实再用的环境下进行操作。

扩展SWAP分区大小的前提条件

1、swap必须和根分区(或者说空间来源)在同一个磁盘; 不要问为什么必须在一个磁盘上
2、swap必须是LVM格式;
3、必须在救援模式模式下完成缩减/根分区的大小。因为lvm只能在线升级,缩小必须处于不使用状态下进行;

技术分享

技术分享

扩展SWAP步骤

1、先缩小根分区大小。

  a、 插入系统光盘,启动后输入linux rescue进去救援模式,不要配置网络,不要让系统根挂载到/mnt/sysimage上,所以最后的界面选择“skip

技术分享

技术分享

技术分享

b、检查是否符合条件并做好准备

技术分享

c、开始缩小根文件系统大小

技术分享

d、减小LV_根分区大小

     先检查大小并计算实际大小。

技术分享

技术分享

根据上图显示的信息计算下。此时得出lv-root的LE数量为24525,总的PE数量为25549,大小4M,所以可以减少的大小为 (25549-24525)*4M=1024*4M=4G

    减小根分区大小

技术分享

 e、重启系统,再次查看根分区情况

技术分享

技术分享

 2、开始增加swap空间大小

  1. 可以使用该步骤

         1.swapoff -v /dev/centos/swap     //关闭swap分区
         2. lvresize -L +4G /dev/centos/swap   //增加swap卷4G空间
         3.resize2fs /dev/centos/swap    //让添加的空间生效
         4.mkswap /dev/centos/swap   //建立swap分区
         5.swapon -va /dev/centos/swap   //启用swap分区

2.    或以下步骤

技术分享

技术分享

 

 

 

 

 

 

 

 

本文出自 “菜鸟” 博客,请务必保留此出处http://chier11.blog.51cto.com/4922641/1659781

文章来自:http://chier11.blog.51cto.com/4922641/1659781
© 2021 jiaocheng.bubufx.com  联系我们
ICP备案:鲁ICP备09046678号-3