处理一个交换分区的问题

刚才free命令看了下,我们一个Linux服务器没有交换分区。blkid输出如下:

/dev/sda1: UUID=”755ef8da-55f2-4fa4-9cf9-2c85452de2c5″ TYPE=”ext4″
/dev/sda6: UUID=”2834448f-5701-496a-a536-c4c77acc9e4c” TYPE=”ext4″
/dev/sda7: UUID=”a4952e03-8792-4dae-b10b-b4a3960ea13c” TYPE=”ext4″
/dev/sdb1: UUID=”4d15da16-f3da-42bd-8277-cf993466d94e” TYPE=”ext4″
/dev/mapper/cryptswap1: UUID=”88733242-6c33-45c1-8464-05c2f8b79b07″ TYPE=”swap”

没有交换分区的设备号,但最后有个/dev/mapper/cryptswap1,不知道是什么东西,没接触过。

fdisk -l输出有一行如下:

/dev/sda5            2433        2918     3903763+  82  Linux swap / Solaris

说明/dev/sda5已经是创建了swap的。编辑/etc/fstab,加进这行:

/dev/sda5  none            swap    sw              0       0

运行swapon -a,输出如下:

swapon: /dev/sda5: read swap header failed: Invalid argument

读取swap头部失败,交换分区挂不上。

于是swapoff -a再mkswap /dev/sda5,此时提示设备繁忙,无法创建swap。

看来是/dev/sda5已经在使用中。google前面信息里提到的/dev/mapper/cryptswap1,原来这是一个加密分区,使用了/dev/sda5。用如下命令卸载加密分区:

# cryptsetup luksClose /dev/mapper/cryptswap1

再创建一次swap:

# mkswap /dev/sda5

上述命令创建成功,并给出一个UUID。编辑/etc/fstab文件,将这个UUID加载为交换分区,并运行:

# swapon -a

就成功挂载交换分区了,用free命令和blkid命令可以看到新分区的信息。

同时,/etc/fstab这行:

/dev/mapper/cryptswap1 none swap sw 0 0

以及/etc/crypttab这行:

cryptswap1 /dev/sda5 /dev/urandom swap,cipher=***

要注释掉,以免下次系统重启时有问题。

此条目发表在Common分类目录,贴了标签。将固定链接加入收藏夹。