一、O、前言¶
下文介绍Centos7如何扩展swap分区以及扩展后如何还原的两种方式,一种通过mkswap方式格式化磁盘来扩展swap分区,另一种通过mkswap方式格式化文件来扩展swap分区。同时介绍了以上临时扩展和永久扩展两种方法介绍。
二、mkswap方式增加交换分区大小-临时扩容¶
2.1 添加磁盘¶
1、依次点击【硬盘】-【添加】-【下一步】。

2、选择虚拟磁盘类型为SCSI,点击【下一步】。

3、选择【创建新虚拟磁盘】,点击【下一步】。

4、指定磁盘大小为5G,点击【下一步】。

5、指定磁盘文件,默认即可,点击【完成】。

2.2 开始分区¶
具体可参考Centos7如何磁盘分区
1、执行ll /dev/sd*命令查看新加的磁盘/dev/sdc。
[root@test ~]# ll /dev/sd*
brw-rw---- 1 root disk 8, 0 Oct 14 12:00 /dev/sda
brw-rw---- 1 root disk 8, 1 Oct 14 12:00 /dev/sda1
brw-rw---- 1 root disk 8, 2 Oct 14 12:00 /dev/sda2
brw-rw---- 1 root disk 8, 16 Oct 14 12:00 /dev/sdb
brw-rw---- 1 root disk 8, 17 Oct 14 12:00 /dev/sdb1
brw-rw---- 1 root disk 8, 18 Oct 14 12:00 /dev/sdb2
brw-rw---- 1 root disk 8, 21 Oct 14 12:00 /dev/sdb5
brw-rw---- 1 root disk 8, 22 Oct 14 12:00 /dev/sdb6
brw-rw---- 1 root disk 8, 32 Oct 14 12:00 /dev/sdc
brw-rw---- 1 root disk 8, 48 Oct 14 12:00 /dev/sdd
2、执行fdisk /dev/sdc命令开始磁盘分区。
[root@test ~]# fdisk /dev/sdc
3、输入【n】,新增一个磁盘分区。
Command (m for help): n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
4、输入【p】,输入分区号【1】,起始扇区位置为【2048】,因为只建一个主分区,分配大小为默认即可。
Select (default p): p
Partition number (1-4, default 1):
First sector (2048-10485759, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-10485759, default 10485759):
Using default value 10485759
Partition 1 of type Linux and of size 5 GiB is set
5、输入【p】查看分区是否成功。
Command (m for help): p
Disk /dev/sdc: 5368 MB, 5368709120 bytes, 10485760 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0xce411376
Device Boot Start End Blocks Id System
/dev/sdc1 2048 10485759 5241856 83 Linu
6、输入【w】进行分区配置保存。
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disk
2.3 格式化分区¶
1、执行mkswap /dev/sdc命令格式化/dev/sdc磁盘。
[root@test ~]# mkswap /dev/sdc
mkswap: /dev/sdc: warning: don't erase bootbits sectors
(dos partition table detected). Use -f to force.
Setting up swapspace version 1, size = 5242876 KiB
no label, UUID=0da6696e-d586-46b1-90b7-bfb294721478
2.4 扩展swap分区¶
1、执行free -m命令查看Swap分区大小,方便等下对比看。
[root@test ~]# free -m
total used free shared buff/cache available
Mem: 1819 414 1073 12 331 1249
Swap: 2047 0 204
2、执行swapon /dev/sdc命令扩展swap分区
[root@test ~]# swapon /dev/sdc
3、再次执行free -m命令查看Swap分区大小,观察到已扩充。
[root@test ~]# free -m
total used free shared buff/cache available
Mem: 1819 422 1065 12 331 1241
Swap: 7167 0 7167
2.5 缩容swap分区¶
1、当以上面的扩容后想还原,可执行swapoff /dev/sdc命令还原swap分区。
[root@test ~]# swapoff /dev/sdc
2、再次执行free -m命令查看Swap分区大小,观察到已还原。
[root@test ~]# free -m
total used free shared buff/cache available
Mem: 1819 424 1063 12 331 1238
Swap: 2047 0 2047
三、mkswap方式增加交换分区大小-永久扩容¶
1、执行vim /etc/fstab命令打开文件,文件末尾添加以下内容。
[root@test ~]# vim /etc/fstab
填写内容如下:
/dev/sdc swap swap defaults 0 0
#第一个0代表要不要备份
#第二个0代表开机自检
2、修改完成后,执行cat /etc/fstab命令查看/etc/fstab文件内容。
[root@test ~]# cat /etc/fstab
#
# /etc/fstab
# Created by anaconda on Sun Oct 9 10:12:41 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=65631159-9da0-4215-a496-43c02f846e16 /boot xfs defaults 0 0
/dev/mapper/centos-swap swap swap defaults 0 0
/dev/sdc swap swap defaults 0 0
四、使用文件制作扩展交换分区-临时扩容¶
4.1 添加磁盘¶
1、依次点击【硬盘】-【添加】-【下一步】。

2、选择虚拟磁盘类型为SCSI,点击【下一步】。

3、选择【创建新虚拟磁盘】,点击【下一步】。

4、指定磁盘大小为5G,点击【下一步】。

5、指定磁盘文件,默认即可,点击【完成】。

4.2 开始分区¶
具体可参考Centos7如何磁盘分区
1、执行ll /dev/sd*命令查看新加的磁盘/dev/sdd。
[root@test ~]# ll /dev/sd*
brw-rw---- 1 root disk 8, 0 Oct 14 12:00 /dev/sda
brw-rw---- 1 root disk 8, 1 Oct 14 12:00 /dev/sda1
brw-rw---- 1 root disk 8, 2 Oct 14 12:00 /dev/sda2
brw-rw---- 1 root disk 8, 16 Oct 14 12:00 /dev/sdb
brw-rw---- 1 root disk 8, 17 Oct 14 12:00 /dev/sdb1
brw-rw---- 1 root disk 8, 18 Oct 14 12:00 /dev/sdb2
brw-rw---- 1 root disk 8, 21 Oct 14 12:00 /dev/sdb5
brw-rw---- 1 root disk 8, 22 Oct 14 12:00 /dev/sdb6
brw-rw---- 1 root disk 8, 32 Oct 14 12:00 /dev/sdc
brw-rw---- 1 root disk 8, 48 Oct 14 12:00 /dev/sdd
2、执行fdisk /dev/sdd命令开始磁盘分区。
[root@test ~]# fdisk /dev/sdd
3、输入【n】,新增一个磁盘分区。
Command (m for help): n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
4、输入【p】,输入分区号【1】,起始扇区位置为【2048】,因为只建一个主分区,分配大小为默认即可。
Select (default p): p
Partition number (1-4, default 1):
First sector (2048-10485759, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-10485759, default 10485759):
Using default value 10485759
Partition 1 of type Linux and of size 5 GiB is set
5、输入【p】查看分区是否成功。
Command (m for help): p
Disk /dev/sdd: 5368 MB, 5368709120 bytes, 10485760 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x9c3487a3
Device Boot Start End Blocks Id System
/dev/sdd1 2048 10485759 5241856 83 Linux
6、输入【w】进行分区配置保存。
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disk
4.3 创建文件¶
1、执行dd if=/dev/zero bs=1024m count=4 of=/swapfile命令创建一个名为swapfile且大小为4G的文件,其中bs代表一个多少m,count代表数量。
[root@test ~]# dd if=/dev/zero bs=1024M count=4 of=/swapfile
4+0 records in
4+0 records out
4294967296 bytes (4.3 GB) copied, 3.00933 s, 1.4 GB/s
4.4 格式化分区¶
1、执行mkswap /swapfile命令格式化/dev/sdd磁盘。
[root@test ~]# swapon /swapfile
swapon: /swapfile: read swap header failed: Invalid argument
[root@test ~]# mkswap /swapfile
Setting up swapspace version 1, size = 4194300 KiB
4.5 修改Swapfile权限¶
1、执行chmod 600 /swapfile命令将/swapfile权限设置为600
[root@test ~]# chmod 600 /swapfile
[root@test ~]# ll /swapfile
-rw------- 1 root root 4294967296 Oct 15 10:04 /swapfile
4.6 扩展swap分区¶
1、执行free -m命令查看Swap分区大小,方便等下对比看。
[root@test ~]# free -m
total used free shared buff/cache available
Mem: 1819 414 1073 12 331 1249
Swap: 2047 0 204
2、执行swapon /swapfile命令扩展swap分区
[root@test ~]# swapon /swapfile
3、再次执行free -m命令查看Swap分区大小,观察到已扩充。
[root@test ~]# free -m
total used free shared buff/cache available
Mem: 1819 457 1003 12 358 1190
Swap: 6143 0 6143
4.7 缩容swap分区¶
1、当以上面的扩容后想还原,可执行swapoff /swapfile命令还原swap分区。
[root@test ~]# swapoff /swapfile
2、再次执行free -m命令查看Swap分区大小,观察到已还原。
[root@test ~]# free -m
total used free shared buff/cache available
Mem: 1819 424 1063 12 331 1238
Swap: 2047 0 2047
五、使用文件制作扩展交换分区-永久扩容¶
1、执行vim /etc/fstab命令打开文件,文件末尾添加以下内容。
[root@test ~]# vim /etc/fstab
填写内容如下:
/swapfile swap swap defaults 0 0
#第一个0代表要不要备份
#第二个0代表开机自检
2、修改完成后,执行cat /etc/fstab命令查看/etc/fstab文件内容。
[root@test ~]# cat /etc/fstab
#
# /etc/fstab
# Created by anaconda on Sun Oct 9 10:12:41 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=65631159-9da0-4215-a496-43c02f846e16 /boot xfs defaults 0 0
/dev/mapper/centos-swap swap swap defaults 0 0
/swapfile swap swap defaults 0 0