Systemd引导的Linux禁用交换(swap)分区的正确方式
安装 kubernetes 过程中,要禁用 swap 分区,按照网上的教程操作完成之后,重启服务器,swap 分区依然挂载了,针对这个问题,将 systemd Init系统禁用交换分区的操作操作记录下来备忘
SysVinit 禁用交换分区的方式
查看交换分区状态
$ sudo swapon --show
临时禁用
$ sudo swapoff -a
永久禁用
编辑 /etc/fstab
文件,注释 swap 类型的行
$ cat -n /etc/fstab
1 # /etc/fstab: static file system information.
2 #
3 # Use 'blkid' to print the universally unique identifier for a
4 # device; this may be used with UUID= as a more robust way to name devices
5 # that works even if disks are added and removed. See fstab(5).
6 #
7 # <file system> <mount point> <type> <options> <dump> <pass>
8 # / was on /dev/sda4 during installation
9 UUID=20ba574c-bb7d-476f-9b56-d443d7181199 / ext4 errors=remount-ro 0 1
10 # /boot was on /dev/sda2 during installation
11 UUID=e1d047ba-8b90-48b0-95cc-203566c26182 /boot ext4 defaults 0 2
12 # /boot/efi was on /dev/sda1 during installation
13 UUID=2490-C1A4 /boot/efi vfat umask=0077 0 1
14 # /data was on /dev/sda5 during installation
15 UUID=690cb647-3c8c-4bbd-b61c-fc55b7d53d96 /data ext4 defaults 0 2
16 # swap was on /dev/sda3 during installation
17 # UUID=561c1ccf-96e8-49d2-bd2f-051d262fd6bf none swap sw 0 0
18 /dev/sr0 /media/cdrom0 udf,iso9660 user,noauto 0 0
本例第17行为注释掉的 swap 分区
执行以上操作之后,重启系统发现 swap 分区依然被开启了
systemd Init 系统禁用交换分区的方式
$ sudo systemctl mask dev-sdXX.swap
dev-sdXX.swap
中的 XX 为 swap 分区
示例
$ sudo systemctl mask dev-sda3.swap
Created symlink /etc/systemd/system/dev-sda3.swap → /dev/null.