「Linux」- 创建 SWAP 分区

  CREATED BY JENKINSBOT

注意事项

磁盘操作有风险,先备份数据,谨防数据丢失!!!磁盘操作有风险,先备份数据,谨防数据丢失!!!磁盘操作有风险,先备份数据,谨防数据丢失!!!磁盘操作有风险,先备份数据,谨防数据丢失!!!磁盘操作有风险,先备份数据,谨防数据丢失!!!磁盘操作有风险,先备份数据,谨防数据丢失!!!磁盘操作有风险,先备份数据,谨防数据丢失!!!磁盘操作有风险,先备份数据,谨防数据丢失!!!磁盘操作有风险,先备份数据,谨防数据丢失!!!磁盘操作有风险,先备份数据,谨防数据丢失!!!磁盘操作有风险,先备份数据,谨防数据丢失!!!磁盘操作有风险,先备份数据,谨防数据丢失!!!磁盘操作有风险,先备份数据,谨防数据丢失!!!磁盘操作有风险,先备份数据,谨防数据丢失!!!

第一步、创建新分区,以用作交换分区

该步骤的目的是创建新分区,用作交换分区。你可以使用 cfdisk、sfdisk、fdisk 进行创建。

创建分区

下面是使用 fdisk 的示例:

# fdisk /dev/sdb

Welcome to fdisk (util-linux 2.32).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help): n // ---------------------------------------------------------------------------- 创建一个分区
All primary partitions are in use.
Adding logical partition 6
First sector (199235584-234441647, default 199235584): [ENTER] // ------------------------------------- 分区起始位置,使用默认值即可
Last sector, +sectors or +size{K,M,G,T,P} (199235584-234441647, default 234441647): +8G // ------------ 分区大小

Created a new partition 6 of type 'Linux' and of size 8 GiB.

Command (m for help): t // ---------------------------------------------------------------------------- 修改分区类型
Partition number (1-6, default 6): [ENTER] // --------------------------------------------------------- 指定被修改分区类型的分区
Hex code (type L to list all codes): 82 // ------------------------------------------------------------ 设置为交换分区

Changed type of partition 'Linux' to 'Linux swap / Solaris'.

Command (m for help): w // ---------------------------------------------------------------------------- 保存修改
The partition table has been altered.
Syncing disks.

通知内核

通知内核分区表发生了变化:

# partprobe

至此,我们得到/dev/sdb6来作为交换分区。

注意事项

1)`###’后面的是说明;
2)`[ENTER]’表示输入回车键;
3)由于环境不一样,输入的指令或者参数也会有所差异;
4)建议具有“磁盘知识”和“fdisk或者相关工具使用经验“

第二步、激活交换分区

使用命令 mkswap 来激活交换分区:

# mkswap /dev/sdb6
Setting up swapspace version 1, size = 8 GiB (8589930496 bytes)
no label, UUID=c1649e61-3c86-4c43-9de1-c5500a22ac73

否则挂载交换分区(swapon /dev/sdb6)时,会产生”swapon: /dev/sdb6: read swap header failed“错误提示。

第三步、挂载交换分区

执行命令挂载交换分区:

# swapon /dev/sdb6

持久化修改

如果要持久化修改,可以将/dev/sdb6 none swap sw 0 0写入/etc/fstab中。

第四部、查看状态

使用swapon –show命令来查看所有交换分区的状态:

# swapon --show
NAME      TYPE      SIZE USED PRIO
/dev/sdb5 partition   8G   0B   -2

遇到的问题

unable to inform the kernel of the change

How do I use new fdisk table without reboot (kpartx)?

问题描述:

使用fdisk调整分区后,再用partprobe命令通知内核分区表发生了变化。此时,产生如下错误:

Error: Partition(s) 4, 5 on /dev/sdb have been written, but we have been unable to inform the kernel of the change,
probably because it/they  are in use.  As a result, the old partition(s) will remain in use.  You should reboot now
before making further changes.

解决方案:
重启系统(目前我们没有找到其他方法)

参考文献

Create a Linux Swap File
How do I use new fdisk table without reboot (kpartx)?