RHCSA-B4. 创建交换分区swap

Posted 白-胖-子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RHCSA-B4. 创建交换分区swap相关的知识,希望对你有一定的参考价值。

红帽RHCE考试上午-RHCSA(RH134)

serverb.example.com 任务

4. 创建交换分区swap

任务要求

  • 向serverb 添加一个756MiB 的额外的交换分区。交换分区应在系统启动时自动挂载。
  • 不要删除或以任何方式改动系统上的任何现有交换分区。
    注意:后边几道题也会用到磁盘空间,考试时仅有3块硬盘,只能省着点用

完成步骤

  1. 先查看当前系统的分区情况
    fdisk -l
  2. 找一个非系统盘的空闲分区进行操作
    fdisk /dev/vdb #找一个指定的空分区格式化成交换分区
  3. 创建新分区
fdisk命令 输入m 获取帮助
n # 新建分区 
设置分区号(2-128, 默认2) # 回车确认
第一个扇区(1000001-7877778,默认1002678): # 回车确认
上个扇区,+sectors 或+size{K,M,G,T,P} (1002678-9876578, 默认9876557):
`+756M`  # 注意是大写的M
t # 进入分区类型选择
L # 查看分区代码
82 # 设置分区为swap分区
p # 看一下分好的分区情况
w # 保存

echo -e 'n\\n\\n\\n+756M\\nt\\n82\\nw\\n' | fdisk /dev/vdb
4. 格式化分区

mkswap /dev/vdb1

  1. 编辑fstab设置开机自动挂载
vim /etc/fstab ## 设置开启自动挂载
  /dev/vdb1 swap swap defaults 0 0
  1. 刷新一下分区
    mount -a
  2. 使用命令激活所有swap分区
    swapon /dev/vdb1
    swapon -s
  3. 重启验证
    init 6
lsblk
fdisk -l #查看当前分区 
fdisk /dev/vdb #找一个指定的空分区格式化成交换分区
    n
    #回车
    #回车
    +756M
    t
    82
    w
mkswap /dev/vdb1
vim /etc/fstab ## 设置开启自动挂载
  /dev/vdb1 swap swap defaults 0 0
swapon -a #检查所有交换分区
swapon -s #检查
free -m #检查

考察的知识点

分区工具fdisk和gdisk

fdisk -l [-u] [device...] #查看分区
fdisk [device...] #管理MBR分区
gdisk [device...] #类fdisk 的GPT分区工具
  • 常用子命令
p 分区列表
t 更改分区类型
n 创建新分区
d 删除分区
v 校验分区
u 转换单位
w 保存并退出
q 不保存并退出

非交互式创建分区

echo -e 'n\\np\\n\\n\\n+2G\\nw\\n' | fdisk /dev/sdc

swap交换分区

  • 当没有足够的 RAM 保存系统处理的数据时会将数据写入 swap 分区,当系统缺乏 swap 空间时,内核会因 RAM 内存耗尽而终止进程。
  • swap在一定程度上可以缓解内存溢出

交换分区实现过程

  1. 创建交换分区或者文件
  2. 使用mkswap写入特殊签名
  3. 在/etc/fstab文件中添加适当的条目
  4. 使用swapon -a 激活交换空间
  • 创建交换分区实例
[root@centos8 ~]#echo -e 'n\\np\\n\\n\\n+2G\\nt\\n82\\nw\\n' | fdisk /dev/sdc
[root@centos8 ~]#mkswap /dev/sdc1
Setting up swapspace version 1, size = 2 GiB (2147479552 bytes)
no label, UUID=d3140a7a-65b7-4cb7-8a2b-12d38aa98c6f
[root@centos8 ~]#blkid /dev/sdc1
/dev/sdc1: UUID="d3140a7a-65b7-4cb7-8a2b-12d38aa98c6f" TYPE="swap" PARTUUID="b094d43d-01"
[root@centos8 ~]#vim /etc/fstab
UUID=d3140a7a-65b7-4cb7-8a2b-12d38aa98c6f swap swap defaults 0 0
[root@centos8 ~]#swapon -a
[root@centos8 ~]#free -h
total used free shared buff/cache available
Mem: 3.7Gi 264Mi 3.2Gi 9.0Mi 261Mi 3.2Gi
Swap: 4.0Gi 0B 4.0Gi
[root@centos8 ~]#cat /proc/swaps
Filename Type Size Used Priority
/dev/sda5 partition 2097148 0 -2
/dev/sdc1 partition 2097148 0 -3

以文件实现swap功能

  • 对了,你么看错,确实可以用一个可以读写的文件作为swap
[root@centos8 ~]#dd if=/dev/zero of=/swapfile bs=1M count=1024
[root@centos8 ~]#mkswap /swapfile
[root@centos8 ~]#blkid /swapfile >> /etc/fstab
[root@centos8 ~]#/etc/fstab
/swapfile swap swap defaults 0 0 #不要用UUID,使用文件的路径
[root@centos8 ~]#chmod 600 /swapfile #防篡改
[root@centos8 ~]#swapon -a
[root@centos8 ~]#swapon -s
Filename Type Size Used Priority
/dev/sda5 partition 2097148 0 -2
/swapfile file 1048572 0 -3

以上是关于RHCSA-B4. 创建交换分区swap的主要内容,如果未能解决你的问题,请参考以下文章

centos 创建swap 交换分区

Linux 7.7设置交换分区SWAP

Linux系统KVM虚拟机实战LVM逻辑卷之扩展Swap交换分区

linux创建swap分区

Linux系统下创建swap交换分区

linux内存不足,swap交换分区创建