屏蔽 Swap 分区
更新时间:2023-11-06 09:26:47
在部署业务时,会遇到使用脚本来部署的场景,如果此时业务部署脚本将程序部署在 /dev/vdb 或者 /dev/sdb,会与云服务器的 Swap 分区发生冲突,此时我们需要临时屏蔽 Swap 分区来避免冲突。
-
找到 Swap 的盘符。
#fdisk -l ... Disk /dev/vdb: 1 GiB, 1073741824 bytes, 2097152 sectors ...
-
找到 Swap block 的 pci。
# ls -lht /sys/block/vdb* lrwxrwxrwx 1 root root 0 Mar 3 22:49 /sys/block/vdb -> ../devices/pci0000:00/0000:00:08.0/virtio3/block/vdb
-
关闭 Swap。
# swapoff -a # free -m total used free shared buff/cache available Mem: 991 49 727 5 214 788 Swap: 0 0 0
-
移除 PCI。
# echo 1 > /sys/bus/pci/devices/0000\:00\:08.0/remove # free -m total used free shared buff/cache available Mem: 991 50 711 5 230 787 Swap: 0
-
确认 Swap block 已移除。
# fdisk -l Disk /dev/vda: 20 GiB, 21474836480 bytes, 41943040 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 Disklabel type: dos Disk identifier: 0x543017d3 Device Boot Start End Sectors Size Id Type /dev/vda1 * 2048 41940991 41938944 20G 83 Linux
说明 这种方法,重启后会重新加回来。