• X 如何扩容缩减swap分区


    如何扩容缩减swap分区
    
    
    
    一.swap简单介绍
    二.通过swap分区文件增加减少swap空间
    1.扩展
    2.缩减(删除)
    三.通过LVM扩容缩减swap空间
    1.扩容
    2.缩减
    一.swap简单介绍
    ​ swap交换内存主要是指当物理内存不够用时,系统会启用硬盘的一部分空间来充当服务器内存,而默认情况下swap内存会有一些设置标准,它与物理内存的大小也是有关系的:
    
    Ram大小     Swap大小     激活Swap后合计大小
    256MB     256MB     512MB
    512MB     512MB     1GB
    1GB     1GB     2GB
    3GB     2GB     5GB
    4GB     2GB     6GB
    6GB     2GB     8GB
    8GB     3GB     11GB
    12GB     3GB     15GB
    16GB     4GB     20GB
    32GB     6GB     38GB
    64GB     8GB     72GB
    128GB     11GB     139GB
    
    
    
    官方官方建议在RAM是2到4.5G时,swap是RAM的2倍;如果RAM大于等于4G则swap等于RAM即可
    
    当预先设置的Swap分区空间不足,这个时候需要增加其大小,今天总结两种增减swap大小的方法。
    
    通过swap分区文件增加swap空间
    通过LVM扩容缩减swap空间
    话不多说,直接开始。实验用centos7机器。
    
    目标增减swap2G。
    
    二.通过swap分区文件增加减少swap空间
    1.扩展
    先查看一下当前swap大小
    [root@fei-7 ~]# free -h
                  total        used        free      shared  buff/cache   available
    Mem:           1.9G        164M        1.3G        7.6M        491M        1.7G
    Swap:          2.0G          0B        2.0G
    #当前swap2G
    
    
    
    创建一个2G的文件
    [root@fei-7 mnt]# dd if=/dev/zero of=/mnt/swap bs=1M count=2048
    2048+0 records in
    2048+0 records out
    2147483648 bytes (2.1 GB) copied, 19.3321 s, 111 MB/s
    
    [root@fei-7 mnt]# du -h /mnt/swap                #查看一下创建的文件
    2.0G    /mnt/swap
    
    
    
    将文件格式化为swap
    [root@fei-7 mt]# mkswap /mnt/swap 
    Setting up swapspace version 1, size = 2097148 KiB
    no label, UUID=c44df16e-2eb3-4132-9363-b0d32324c6a8
    
    
    
    挂载并查看swap分区
    [root@fei-7 mnt]# swapon /mnt/swap         #将swap分区文件
    swapon: /mnt/swap: insecure permissions 0644, 0600 suggested.
    
    [root@fei-7 mnt]# free -h
                  total        used        free      shared  buff/cache   available
    Mem:           1.9G        163M         17M        7.5M        1.8G        1.7G
    Swap:          4.0G          0B        4.0G
    #此时swap增加为2G
    
    
    
    
    将分区信息写入/etc/fstab,如果不写入文件,则在下次启动后恢复原样。
    [root@fei-7 mnt]# vim /etc/fstab 
    
    [root@fei-7 mnt]# cat /etc/fstab 
    
    #
    # /etc/fstab
    # Created by anaconda on Sat Feb 15 17:41:54 2020
    #
    # Accessible filesystems, by reference, are maintained under '/dev/disk'
    # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
    #
    /dev/mapper/centos-root /                       xfs     defaults        0 0
    UUID=0362beab-af6c-4573-8907-b3eb62e36a81 /boot                   xfs     defaults        0 0
    /dev/mapper/centos-swap swap                    swap    defaults        0 0
    /dev/sr0                /media                  iso9660 defaults        0 0
    /mnt/swap               swap                    swap    defaults        0 0 #写在了最后一行
    
    
    
    完成之后重新启动检查,看是否依然是4G
    重启后检查一下swap组成
    [root@fei-7 ~]# swapon -s
    Filename                Type        Size    Used    Priority
    /mnt/swap                                  file    2097148    0    -2
    /dev/dm-1                                  partition    2097148    0    -3
    #现在看来很成功
    
    
    所以以上是通过swap分区文件增加swap空间的具体操作步骤。
    
    2.缩减(删除)
    卸载刚才挂载的swap文件。
    [root@fei-7 ~]# swapoff /mnt/swap 
    [root@fei-7 ~]# free -h
                  total        used        free      shared  buff/cache   available
    Mem:           1.8G        128M        1.5G        9.4M        203M        1.5G
    Swap:          2.0G          0B        2.0G
     #卸载后swap分区恢复2G
    
    
    
    删除/etc/fstab下添加的挂载信息
    [root@fei-7 ~]# vim /etc/fstab 
    
    [root@fei-7 ~]# cat /etc/fstab 
    
    #
    # /etc/fstab
    # Created by anaconda on Sat Feb 15 17:41:54 2020
    #
    # Accessible filesystems, by reference, are maintained under '/dev/disk'
    # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
    #
    /dev/mapper/centos-root /                       xfs     defaults        0 0
    UUID=0362beab-af6c-4573-8907-b3eb62e36a81 /boot                   xfs     defaults        0 0
    /dev/mapper/centos-swap swap                    swap    defaults        0 0
    /dev/sr0                /media                  iso9660 defaults        0 0
    
    
    
    最后将swap文件删除
    [root@fei-7 ~# rm -rf /mnt/swap 
    1
    通过swap分区文件增加或者缩减swap空间这种方法较为简单,建议使用这种方法。
    
    三.通过LVM扩容缩减swap空间
    查看一下当前系统swap分区情况
    
    [root@fei-7 ~]# free -h
                  total        used        free      shared  buff/cache   available
    Mem:           1.8G        138M        1.4G        9.4M        229M        1.4G
    Swap:          2.0G          0B        2.0G
    #确认是2G大。
    
    
    
    1.扩容
    如果对LVM还不熟悉,可以在此先了解一下:linux LVM逻辑卷相关命令及创建,修改过程
    
    先查看一下逻辑卷(lvm)和逻辑卷(vg)组详细情况
    [root@fei-7 ~]# lvdisplay /dev/centos/swap        #swap文件可以在/etc/fstab或lsblk命令看到
      --- Logical volume ---
      LV Path                /dev/centos/swap
      LV Name                swap                     #当前逻辑卷名称
      VG Name                centos                   #找到所属卷组名:centos
      LV UUID                m4d0ur-Iz58-UAfd-tIPd-N5gM-Eqf8-NQvbvv
      LV Write Access        read/write
      LV Creation host, time xiaoagiao, 2020-02-15 17:41:53 +0800
      LV Status              available
      # open                 2
      LV Size                2.00 GiB                 #大小
      Current LE             512
      Segments               1
      Allocation             inherit
      Read ahead sectors     auto
      - currently set to     8192
      Block device           253:1
    
    
    
    [root@fei-7 ~]# vgdisplay centos
      --- Volume group ---
      VG Name               centos
      System ID             
      Format                lvm2
      Metadata Areas        2
      Metadata Sequence No  5
      VG Access             read/write
      VG Status             resizable
      MAX LV                0
      Cur LV                2
      Open LV               2
      Max PV                0
      Cur PV                2
      Act PV                2
      VG Size               108.99 GiB
      PE Size               4.00 MiB
      Total PE              27902
      Alloc PE / Size       27902 / 108.99 GiB
      Free  PE / Size       0 / 0                        #可以看到centos这个逻辑卷组并没有剩余空间了,如果有剩余空间可以直接添加到lv中。此时没有剩余则采取添加硬盘方式扩容。
      VG UUID               VWTn40-zXfH-77PH-riAc-HC1U-5lqQ-1juay8
    
    
    
    此时添加一块硬盘,并查看。
    
    
    
    [root@fei-7 ~]# fdisk -l |grep sd
    Disk /dev/sda: 21.5 GB, 21474836480 bytes, 41943040 sectors
    /dev/sda1   *        2048     2099199     1048576   83  Linux
    /dev/sda2         2099200    41943039    19921920   8e  Linux LVM
    Disk /dev/sdb: 107.4 GB, 107374182400 bytes, 209715200 sectors
    /dev/sdb1            2048   188745727    94371840   83  Linux
    Disk /dev/sdc: 5368 MB, 5368709120 bytes, 10485760 sectors          #新添加的磁盘/dev/sdc
    
    
    
    将这个硬盘空间创建为物理卷
    [root@fei-7 ~]# pvcreate /dev/sdc
      Physical volume "/dev/sdc" successfully created.
      
      [root@fei-7 ~]# pvs                      #查看一下当前物理卷
      PV         VG     Fmt  Attr PSize   PFree
      /dev/sda2  centos lvm2 a--  <19.00g    0 
      /dev/sdb1  centos lvm2 a--  <90.00g    0 
      /dev/sdc          lvm2 ---    5.00g 5.00g     #这就是新建的
    
    
    
    接下来扩展centos这个卷组
    [root@fei-7 ~]# vgextend centos /dev/sdc    
      Volume group "centos" successfully extended
      
    [root@fei-7 ~]# vgdisplay centos
      --- Volume group ---
      VG Name               centos
      System ID             
      Format                lvm2
      Metadata Areas        3
      Metadata Sequence No  6
      VG Access             read/write
      VG Status             resizable
      MAX LV                0
      Cur LV                2
      Open LV               2
      Max PV                0
      Cur PV                3
      Act PV                3
      VG Size               <113.99 GiB
      PE Size               4.00 MiB
      Total PE              29181
      Alloc PE / Size       27902 / 108.99 GiB
      Free  PE / Size       1279 / <5.00 GiB                   #刚才剩余0.现在剩余5G
      VG UUID               VWTn40-zXfH-77PH-riAc-HC1U-5lqQ-1juay8
    
    
    
    到这一步之前分为两种情况:
    
    如果在第一步查看centos这个卷组时,发现有剩余空间,则直接进行横线下操作。
    若没有剩余,和演示的一样,则按照步骤依次进行。
    接下来真正进行扩容,分为四步(卸载,扩展,格式化,挂载)
    
    卸载swap分区
    [root@fei-7 ~]# swapoff /dev/mapper/centos-swap
    1
    扩展swap逻辑卷
    [root@fei-7 ~]# vgs                                          #先看一下centos这个卷组为5G
      VG     #PV #LV #SN Attr   VSize    VFree 
      centos   3   2   0 wz--n- <113.99g <5.00g
      
    [root@fei-7 ~]#  lvextend -L +2G /dev/mapper/centos-swap         #给swap这个逻辑卷添加2G
      Size of logical volume centos/swap changed from 2.00 GiB (512 extents) to 4.00 GiB (1024 extents).
      Logical volume centos/swap successfully resized.
      
    [root@fei-7 ~]# vgs                                                #现在剩余3G
      VG     #PV #LV #SN Attr   VSize    VFree 
      centos   3   2   0 wz--n- <113.99g <3.00g
      
    [root@fei-7 ~]# lvs 
      LV   VG     Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
      root centos -wi-ao---- 106.99g                                                    
      swap centos -wi-a-----   4.00g             #此时逻辑卷swap共4G
    
    
    
    
    格式化新swap分区
    [root@fei-7 ~]# mkswap /dev/mapper/centos-swap     
    mkswap: /dev/mapper/centos-swap: warning: wiping old swap signature.
    Setting up swapspace version 1, size = 4194300 KiB
    no label, UUID=4be30881-944a-42c2-8d3e-d8fbd183b698
     
    
    
    重新挂在swap分区
    [root@fei-7 ~]# swapon /dev/mapper/centos-swap           #挂载
    [root@fei-7 ~]# free -h
                  total        used        free      shared  buff/cache   available
    Mem:           1.8G        130M        1.5G        9.4M        168M        1.5G
    Swap:          4.0G          0B        4.0G                    
    
    
    到此处,LVM扩容swap完成
    
    2.缩减
    其实就是缩减这个名为swap的逻辑卷
    
    卸载swap分区
    缩减逻辑卷
    [root@fei-7 ~]# lvreduce -L 2G /dev/mapper/centos-swap 
      WARNING: Reducing active logical volume to 2.00 GiB.
      THIS MAY DESTROY YOUR DATA (filesystem etc.)
    Do you really want to reduce centos/swap? [y/n]: y
      Size of logical volume centos/swap changed from 4.00 GiB (1024 extents) to 2.00 GiB (512 extents).
      Logical volume centos/swap successfully resized.
      
      
    [root@fei-7 ~]# lvs
      LV   VG     Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
      root centos -wi-ao---- 106.99g                                                    
      swap centos -wi-a-----   2.00g  #此时已经变回2G
      
    [root@fei-7 ~]# pvs
      PV         VG     Fmt  Attr PSize   PFree 
      /dev/sda2  centos lvm2 a--  <19.00g     0 
      /dev/sdb1  centos lvm2 a--  <90.00g     0 
      /dev/sdc   centos lvm2 a--   <5.00g <5.00g   #centos卷组变回5G
    
    
    
    格式化swap分区
    [root@fei-7 ~]# mkswap /dev/mapper/centos-swap 
    mkswap: /dev/mapper/centos-swap: warning: wiping old swap signature.
    Setting up swapspace version 1, size = 2097148 KiB
    no label, UUID=e6c3f988-8125-4574-8242-e7f3efcff1f5
    
    
    重新挂载
    [root@fei-7 ~]# swapon /dev/mapper/centos-swap 
    [root@fei-7 ~]# free -h
                  total        used        free      shared  buff/cache   available
    Mem:           1.8G        128M        1.5G        9.4M        169M        1.5G
    Swap:          2.0G          0B        2.0G    #重新变回2G
    
    
    – 以上是通过LVM扩容缩减swap空间全过程 –
    ————————————————
    版权声明:本文为CSDN博主「小萝卜112」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/wdwangye/article/details/109371782
  • 相关阅读:
    无限分类 引用传值
    jQeury 自动、手动左右切换
    $_POST 为空时 真正的值
    php isset 备忘
    php empty 备忘
    无限分级函数 简单 引用绑值
    无限分级 层次输出 demo
    利用新版ShareSDK进行手动分享(自定义分享界面)
    eclipse 快捷方式大全
    ViewPager onPageChangeListener总结
  • 原文地址:https://www.cnblogs.com/chendian0/p/14672185.html
Copyright © 2020-2023  润新知