linux磁盘管理--swap扩容防OOM

19 篇文章 0 订阅

三种基本方法

1. 基本分区制作

查看当前交换分区

[root@localhost ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:            972         202         646           7         123         634
Swap:          2047           0        2047

查看当前交换分区信息

[root@Hs ~]# swapon -s
文件名                          类型            大小    已用    权限
/dev/dm-1                               partition       2097148 0       -2

  • 思路:

    1.从磁盘分出一个主分区
    2.初始化swap
    3.挂载
    4.查看结果

    • 操作:
      创建主分区
    [root@Hs ~]# fdisk /dev/sdb
    欢迎使用 fdisk (util-linux 2.23.2)。
    
    更改将停留在内存中,直到您决定将更改写入磁盘。
    使用写入命令前请三思。
    
    Device does not contain a recognized partition table
    使用磁盘标识符 0x926f095f 创建新的 DOS 磁盘标签。
    
    命令(输入 m 获取帮助):n
    Partition type:
       p   primary (0 primary, 0 extended, 4 free)
       e   extended
    Select (default p): p
    分区号 (1-4,默认 1):
    起始 扇区 (2048-20971519,默认为 2048):
    将使用默认值 2048
    Last 扇区, +扇区 or +size{K,M,G} (2048-20971519,默认为 20971519):+2G  
    分区 1 已设置为 Linux 类型,大小设为 2 GiB
    
    命令(输入 m 获取帮助):w
    The partition table has been altered!
    
    Calling ioctl() to re-read partition table.
    正在同步磁盘。
    [root@Hs ~]# lsblk
    NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    sda               8:0    0   20G  0 disk 
    ├─sda1            8:1    0    1G  0 part /boot
    └─sda2            8:2    0   19G  0 part 
      ├─centos-root 253:0    0   17G  0 lvm  /
      └─centos-swap 253:1    0    2G  0 lvm  [SWAP]
    sdb               8:16   0   10G  0 disk 
    └─sdb1            8:17   0    2G  0 part 
    sr0              11
    

    初始化swap

    [root@Hs ~]# mkswap /dev/sdb1     
    正在设置交换空间版本 1,大小 = 2097148 KiB
    无标签,UUID=b6ebd584-5bcf-43b1-b920-638e28a0a142
    
    

    挂载
    不能用mount临时挂载

    [root@Hs ~]# vi /etc/fstab 
    
    #
    # /etc/fstab
    # Created by anaconda on Thu May 26 19:55:13 2022
    #
    # 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=48decabb-c323-4d1a-982b-c95e21f55062 /boot                   xfs     defaults        0 0
    /dev/mapper/centos-swap swap                    swap    defaults        0 0
    /dev/sdb1 swap  swap    defaults        0 0
    
    

    查看结果

    [root@Hs ~]# swapon -a
    [root@Hs ~]# swapon -s
    文件名                          类型            大小    已用    权限
    /dev/dm-1                               partition       2097148 0       -2
    /dev/sdb1                               partition       2097148 0       -3
    
    

2. LVM制作

  • 思路:
  1. 从磁盘划分一个主分区
  2. 把新划分出来的分区制作成pv添加到vg组里面
  3. lv扩容
  4. mkswap初始化
  5. 查看结果
  • 操作:
    查看当前swap的信息

    [root@Hs ~]# lsblk
    NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    sda               8:0    0   20G  0 disk 
    ├─sda1            8:1    0    1G  0 part /boot
    └─sda2            8:2    0   19G  0 part 
      ├─centos-root 253:0    0   17G  0 lvm  /
      └─centos-swap 253:1    0    2G  0 lvm  [SWAP]
    sdb               8:16   0   10G  0 disk 
    └─sdb1            8:17   0    2G  0 part [SWAP]
    sr0              11:0    1  4.4G  0 rom  
    
    

    从磁盘分出一个主分区

    [root@Hs ~]# fdisk /dev/sdb
    欢迎使用 fdisk (util-linux 2.23.2)。
    
    更改将停留在内存中,直到您决定将更改写入磁盘。
    使用写入命令前请三思。
    
    
    命令(输入 m 获取帮助):n
    Partition type:
       p   primary (1 primary, 0 extended, 3 free)
       e   extended
    Select (default p): p
    分区号 (2-4,默认 2):
    起始 扇区 (4196352-20971519,默认为 4196352):       
    将使用默认值 4196352
    Last 扇区, +扇区 or +size{K,M,G} (4196352-20971519,默认为 20971519):+2G
    分区 2 已设置为 Linux 类型,大小设为 2 GiB
    
    命令(输入 m 获取帮助):w
    The partition table has been altered!
    
    Calling ioctl() to re-read partition table.
    
    WARNING: Re-reading the partition table failed with error 16: 设备或资源忙.
    The kernel still uses the old table. The new table will be used at
    the next reboot or after you run partprobe(8) or kpartx(8)
    正在同步磁盘。
    [root@Hs ~]# lsblk
    NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    sda               8:0    0   20G  0 disk 
    ├─sda1            8:1    0    1G  0 part /boot
    └─sda2            8:2    0   19G  0 part 
      ├─centos-root 253:0    0   17G  0 lvm  /
      └─centos-swap 253:1    0    2G  0 lvm  [SWAP]
    sdb               8:16   0   10G  0 disk 
    └─sdb1            8:17   0    2G  0 part [SWAP]
    sr0              11:0    1  4.4G  0 rom    
    [root@Hs ~]# partprobe 
    Warning: 无法以读写方式打开 /dev/sr0 (只读文件系统)。/dev/sr0 已按照只读方式打开。
    [root@Hs ~]# lsblk
    NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    sda               8:0    0   20G  0 disk 
    ├─sda1            8:1    0    1G  0 part /boot
    └─sda2            8:2    0   19G  0 part 
      ├─centos-root 253:0    0   17G  0 lvm  /
      └─centos-swap 253:1    0    2G  0 lvm  [SWAP]
    sdb               8:16   0   10G  0 disk 
    ├─sdb1            8:17   0    2G  0 part [SWAP]
    └─sdb2            8:18   0    2G  0 part 
    sr0              11:0    1  4.4G  0 rom  
    

    制作pv加入卷组实现扩容

    [root@Hs ~]# pvcreate /dev/sdb2
      Physical volume "/dev/sdb2" successfully created.
    [root@Hs ~]# vgextend centos /dev/sdb2
      Volume group "centos" successfully extended
    [root@Hs ~]# vgs
      VG     #PV #LV #SN Attr   VSize  VFree 
      centos   2   2   0 wz--n- 20.99g <2.00g
    [root@Hs ~]# pvs
      PV         VG     Fmt  Attr PSize   PFree 
      /dev/sda2  centos lvm2 a--  <19.00g     0 
      /dev/sdb2  centos lvm2 a--   <2.00g <2.00g
    [root@Hs ~]# lvextend -L +1.9G /dev/centos/swap
      Rounding size to boundary between physical extents: 1.90 GiB.
      Size of logical volume centos/swap changed from 2.00 GiB (512 extents) to 3.90 GiB (999 extents).
      Logical volume centos/swap successfully resized.
    
    

    实现扩容
    扩容之前因为刚加进去的pv没有实现文件系统所以要swap格式化一下
    但是/dev/centos/swap系统可能在使用所以需要先把它关闭,swap格式化之后在开启

    [root@Hs ~]# swapoff -a
    [root@Hs ~]# mkswap /dev/centos/swap 
    mkswap: /dev/centos/swap: warning: wiping old swap signature.
    正在设置交换空间版本 1,大小 = 4091900 KiB
    无标签,UUID=645044b0-b037-4ad5-b9ce-43daea760246
    [root@Hs ~]# swapon -a
    [root@Hs ~]# swapon -s
    文件名                          类型            大小    已用    权限
    /dev/dm-1                               partition       4091900 0       -2
    /dev/sdb1                               partition       2097148 0       -3
    
    

3. file制作

  • 思路:

    1.dd从空设备里拿一个空块到交换分区里
    2. swap初始化
    3. 编辑配置文件
    4. 更改权限
    5. 开启

  • 操作:

    [root@Hs ~]# dd if=/dev/zero of=/swap3.img bs=1M count=2048
    记录了2048+0 的读入
    记录了2048+0 的写出
    2147483648字节(2.1 GB)已复制,30.8372 秒,69.6 MB/秒
    [root@Hs ~]# mkswap /swap3.img 
    正在设置交换空间版本 1,大小 = 2097148 KiB
    无标签,UUID=f5dc9b1c-b30a-4c81-97eb-3e95c25b468d
    [root@Hs ~]# vi /etc/fstab 
    
    #
    # /etc/fstab
    # Created by anaconda on Thu May 26 19:55:13 2022
    #
    # 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=48decabb-c323-4d1a-982b-c95e21f55062 /boot                   xfs     defaults        0 0
    /dev/mapper/centos-swap swap                    swap    defaults        0 0
    /dev/sdb1 swap  swap    defaults        0 0
    /swap3.img swap swap    defaults        0 0
    ~            
    [root@Hs ~]# chmod 600 /swap3.img 
    [root@Hs ~]# swapon -a 
    [root@Hs ~]# swapon -s
    文件名                          类型            大小    已用    权限
    /dev/dm-1                               partition       4091900 0       -2
    /dev/sdb1                               partition       2097148 0       -3
    /swap3.img                              file    2097148 0       -4
                                                     
    
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值