文档首页/ 弹性云服务器 ECS/ 故障排除/ 磁盘空间管理/ Linux如何创建swap分区/swap文件
更新时间:2024-08-15 GMT+08:00

Linux如何创建swap分区/swap文件

适用场景

本节操作以CentOS 6.8操作系统云服务器为例,指导用户创建swap分区。

约束与限制

操作过程中涉及创建指定大小的文件,请确认系统磁盘空间有足够的空余空间。

场景一:使用块设备创建swap

  1. 执行以下命令,新建一个分区(以2G为例)。

    fdisk /dev/vdb

    回显信息如下:

    Command (m for help): n
    Partition type:
       p   primary (0 primary, 0 extended, 4 free)
       e   extended
    Select (default p): 
    Using default response p
    Partition number (1-4, default 1): 
    First sector (2048-20971519, default 2048): 
    Using default value 2048
    Last sector, +sectors or +size{K,M,G} (2048-20971519, default 20971519): +2G
    Partition 1 of type Linux and of size 2 GiB is set
    Command (m for help): p
    
    Disk /dev/vdb: 10.7 GB, 10737418240 bytes, 20971520 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
    Disk label type: dos
    Disk identifier: 0x1f02f438
    
       Device Boot      Start         End      Blocks   Id  System
         /dev/vdb1       2048     4196351     2097152   83   Linux
    
    Command (m for help): w
    The partition table has been altered!
    
    Calling ioctl() to re-read partition table.
    Syncing disks.
  2. 执行以下命令,将新建的分区创建为swap。

    mkswap /dev/vdb1

  3. 执行以下命令,激活swap分区。

    swapon /dev/vdb1

  4. 执行以下命令,查询已启动的swap。

    swapon -s

  5. 执行以下命令,查询swap分区UUID。

    blkid |grep swap |awk '{print $2}'

    UUID="1ee90e3c-1538-453b-9240-ad430f835f6f" 
  6. 执行以下命令,实现swap开机自动挂载,将挂载信息写入/etc/fstab。

    swap的UUID从步骤4.执行以下命令,查询swap分区UUID。获取。本例中执行命令如下。

    echo "UUID=1ee90e3c-1538-453b-9240-ad430f835f6f swap swap defaults 0 0" >>/etc/fstab

  7. 执行以下命令,挂载swap。

    mount -a

场景二:使用文件模拟的块设备做swap分区

使用文件模拟的块设备做swap性能较之直接使用块设备性能较差。

  1. 执行以下命令,创建1G的swap文件。

    dd if=/dev/zero of=/swapfile bs=1M count=1000

  2. 执行以下命令,更改文件为swap。

    chmod 600 /swapfile

  3. 执行以下命令,更改文件属性为swap。

    mkswap /swapfile

  4. 执行以下命令,启用swap。

    swapon /swapfile

  5. 执行以下命令,实现swap开机自动挂载,将swap文件挂载写入/etc/fstab。

    echo "/swapfile swap swap defaults 0 0" >>/etc/fstab

  6. 执行以下命令,挂载swap。

    mount -a