本帖最后由 DevOpsSec 于 2019-11-12 18:59 编辑
1. 新建磁盘分区作为swap分区
该方法需要磁盘还有剩余空间没有分区使用,可以进行分区创建swap分区
1.1 停止所有swap分区
以root身份进入控制台(登录系统),输入
[Bash shell] 纯文本查看 复制代码
[root@linux-node1 ~]# swapoff -a
1.2 创建新分区
用fdisk命令(例:`# fdisk /dev/sdb`)对磁盘进行分区,添加swap分区,新建分区,在fdisk中用“t”命令将新添的分区id改为82(Linux swap类型),最后用w将操作实际写入硬盘(没用w之前的操作是无效的)。
1.3 格式化swap分区
格式化swap分区,这里的sdb2要看您加完后p命令显示的实际分区设备名
[Bash shell] 纯文本查看 复制代码
[root@linux-node1 ~]# mkswap /dev/sdb2
1.4 启动新swap分区
[Bash shell] 纯文本查看 复制代码
[root@linux-node1 ~]# swapon /dev/sdb2
1.5 修改/etc/fstab文件
为了让系统启动时能自动启用这个交换分区,可以编辑/etc/fstab,加入下面一行
[Bash shell] 纯文本查看 复制代码
[root@linux-node1 ~]# tail -1 /etc/fstab
/dev/sdb2 swap swap defaults 0 0
2. 用文件作为swap分区
使用用文件作为Swap分区,操作简单,就算是磁盘没有剩余空间可以分区也可以增加swap分区
2.1 创建swap分区文件
创建要作为swap分区的文件:增加1GB大小的交换分区,则命令写法如下,其中的count等于想要的块的数量(bs*count=文件大小)。
[Bash shell] 纯文本查看 复制代码
[root@linux-node1 ~]# mkdir -p /opt/swapfile/swapfile
[root@linux-node1 ~]# dd if=/dev/zero of=/opt/swapfile/swapfile bs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 15.1481 s, 70.9 MB/
[root@linux-node1 ~]# ll -h /opt/swapfile/swapfile
-rw-r--r--. 1 root root 1.0G Sep 7 15:32 /opt/swapfile/swapfile
或者
[root@linux-node1 ~]# fallocate -l 1G /opt/swapfile/swapfile
[root@linux-node1 ~]# ll -h /opt/swapfile
-rw-r--r--. 1 root root 1.0G Sep 7 15:34 /swapfile
2.1 格式化文件
[Bash shell] 纯文本查看 复制代码
[root@linux-node1 ~]# mkswap /opt/swapfile/swapfile
Setting up swapspace version 1, size = 1048572 KiB
no label, UUID=960b6a76-0191-470f-9c71-34750e268332
2.2 启用swapfile文件
[Bash shell] 纯文本查看 复制代码
[root@linux-node1 ~]# chmod 0600 /opt/swapfile/swapfile
[root@linux-node1 ~]# swapon /opt/swapfile/swapfile
> 报错:swapon: /opt/swapfile/swapfile: insecure permissions 0644, 0600 suggested.
> 解决:chmod 0600 /opt/swapfile/swapfile
2.3 修改/etc/fstab
使系统开机时自启用,在文件/etc/fstab中添加一行
[Bash shell] 纯文本查看 复制代码
/opt/swapfile/swapfile swap swap defaults 0 0
|