RHEL 8 存储与交换空间管理指南
在 RHEL 8 系统中,合理管理存储和交换空间对于系统的性能和稳定性至关重要。本文将详细介绍如何扩展逻辑卷以及管理交换空间。
扩展逻辑卷
在 RHEL 8 中,可以通过以下步骤扩展逻辑卷使用新的空间:
1. 点击“Grow”按钮。
2. 在弹出的对话框中,使用滑块选择要添加到卷的空间大小。
3. 再次点击“Grow”按钮提交更改(如果需要,可用空间可以在不同的卷组之间共享)。
完成这些步骤后,卷组将配置为使用新添加的空间。
交换空间管理
交换空间是计算机系统中用于处理内存资源受限情况的重要组成部分。当操作系统接近可用内存的极限时,它会将内存页面写入磁盘,以释放空间。当需要这些页面时,再将它们读回内存。这个磁盘区域就是交换空间。
1. 推荐的交换空间大小
RHEL 8 推荐的交换空间大小取决于多个因素,包括系统中的内存量、内存上的工作负载以及系统是否需要支持休眠。具体指南如下表所示:
| 安装的 RAM 量 | 推荐的交换空间 | 启用休眠时推荐的交换空间 |
| — | — | — |
| 2GB 或更少 | 安装的 RAM x 2 | 安装的 RAM x 3 |
| 2GB - 8GB | 安装的 RAM x 1 | 安装的 RAM x 2 |
| 8GB - 64GB | 至少 4GB | 安装的 RAM x 1.5 |
| 64GB 或更多 | 至少 4GB | 不推荐休眠 |
2. 识别当前交换空间使用情况
可以通过以下几种方法识别 RHEL 8 系统当前使用的交换空间量:
- 输出
/proc/swaps
文件:
# cat /proc/swaps
Filename Type Size Used Priority
/dev/dm-1 partition 4169724 41484 -2
-
使用
swapon命令:
# swapon
NAME TYPE SIZE USED PRIO
/dev/dm-1 partition 4G 40.5M -2
-
使用
free命令查看交换空间相对于总可用 RAM 的量:
# free
total used free shared buff/cache available
Mem: 4035436 1428276 2224596 21968 382564 2360172
Swap: 4169724 41484 4128240
3. 添加交换文件
可以通过创建文件并将其指定为交换空间来添加额外的交换空间。具体步骤如下:
1. 使用
dd
命令创建交换文件,例如创建一个 2.0 GB 的文件:
# dd if=/dev/zero of=/newswap bs=1024 count=2000000
2000000+0 records in
2000000+0 records out
2048000000 bytes (2.0 GB, 1.9 GiB) copied, 3.62697 s, 565 MB/s
- 在将文件转换为交换文件之前,确保文件具有安全的权限:
# chmod 0600 /newswap
-
使用
mkswap命令将文件转换为交换文件:
# mkswap /newswap
Setting up swapspace version 1, size = 1.9 GiB (2047995904 bytes)
no label, UUID=4ffc238d-7fde-4367-bd98-c5c46407e535
-
使用
swapon实用程序将交换文件实时添加到系统:
# swapon /newswap
-
再次运行
swapon命令,应该会报告新文件正在用作交换空间:
# swapon
NAME TYPE SIZE USED PRIO
/dev/dm-1 partition 4G 0B -2
/newswap file 1.9G 0B -3
-
可以使用
swapoff实用程序动态删除交换空间:
# swapoff /newswap
-
最后,修改
/etc/fstab文件,在系统启动时自动添加新的交换空间,添加以下行:
/newswap swap swap defaults 0 0
4. 添加交换分区
除了指定文件作为交换空间外,还可以将整个磁盘分区指定为交换空间。步骤与添加交换文件大致相同,但在分配分区之前,确保相应文件系统上的现有数据已备份或不再需要,并且文件系统已卸载。假设磁盘驱动器上有一个分区
/dev/sdb1
,操作步骤如下:
1. 使用
mkswap
实用程序将其转换为交换分区:
# mkswap /dev/sdb1
mkswap: /dev/sdb1: warning: wiping old xfs signature.
Setting up swapspace version 1, size = 8 GiB (8587833344 bytes)
no label, UUID=a899c8ec-c410-4569-ba18-ddea03370c7f
- 将新分区添加到系统交换并验证是否已添加:
# swapon /dev/sdb1
# swapon
NAME TYPE SIZE USED PRIO
/dev/dm-1 partition 4G 0B -2
/dev/sdb1 partition 8G 0B -3
-
修改
/etc/fstab文件,在启动时自动添加交换分区,添加以下行:
/dev/sdb1 swap swap defaults 0 0
5. 扩展 LVM 交换卷
默认情况下,RHEL 8 使用逻辑卷管理 (LVM) 配置交换空间。可以通过扩展用于交换空间的逻辑卷来添加交换空间,步骤如下:
1. 使用
lvdisplay
实用程序识别当前可用的交换空间量以及用于交换空间的卷组和逻辑卷:
# lvdisplay
--- Logical volume ---
LV Path /dev/rhel/swap
LV Name swap
VG Name rhel
LV UUID fwOZsF-ROwu-6eLe-2KDR-JZ0d-Pn4o-K5B0Vb
LV Write Access read/write
LV Creation host, time rhel80desktop, 2019-02-14 11:12:07 -0500
LV Status available
# open 2
LV Size <3.98 GiB
Current LE 1018
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:1
-
使用
vgs命令验证卷组上是否有可分配给交换卷的空间:
# vgs
VG #PV #LV #SN Attr VSize VFree
rhel 2 3 0 wz--n- 197.66g <22.00g
- 如果可用空间足够满足额外的交换需求,关闭交换并扩展交换逻辑卷以使用所需的可用空间:
# swapoff /dev/rhel/swap
# lvextend -L+8GB /dev/rhel/swap
Logical volume rhel/swap successfully resized.
- 重新格式化交换卷并重新启用交换:
# mkswap /dev/rhel/swap
mkswap: /dev/rhel/swap: warning: wiping old swap signature.
Setting up swapspace version 1, size = 12 GiB (12754874368 bytes)
no label, UUID=241a4818-e51c-4b8c-9bc9-1697fc2ce26e
# swapon /dev/rhel/swap
- 检查交换空间是否已增加:
# swapon
NAME TYPE SIZE USED PRIO
/dev/dm-1 partition 12G 0B -2
6. 向卷组添加交换空间
如果卷组中没有可用空间,则需要先添加空间,然后才能扩展交换空间。假设需要向系统的交换空间添加 8 GB,并且有一个 8 GB 的磁盘
/dev/sdb
可用于添加到卷组,操作步骤如下:
1. 将分区转换为物理卷:
# pvcreate /dev/sdb
Physical volume "/dev/sdb" successfully created.
如果创建失败,出现类似 “Device /dev/sdb excluded by a filter” 的消息,可能需要在创建物理卷之前擦除磁盘:
# wipefs -a /dev/sdb
/dev/sdb: 8 bytes were erased at offset 0x00000200 (gpt): 45 46 49 20
50 41 52 54
/dev/sdb: 8 bytes were erased at offset 0x1fffffe00 (gpt): 45 46 49
20 50 41 52 54
/dev/sdb: 2 bytes were erased at offset 0x000001fe (PMBR): 55 aa
/dev/sdb: calling ioctl to re-read partition table: Success
- 扩展卷组以使用这个额外的物理卷:
# vgextend rhel /dev/sdb
Volume group "rhel" successfully extended
-
使用
vgs命令验证 8 GB 空间是否已添加到卷组:
# vgs
VG #PV #LV #SN Attr VSize VFree
rhel 2 3 0 wz--n- 197.66g <8.00g
- 关闭交换空间:
# swapoff /dev/rhel/swap
- 扩展逻辑卷以使用新空间:
# lvextend -L+7.9GB /dev/rhel/swap
Rounding size to boundary between physical extents: 7.90 GiB.
Size of logical volume rhel/swap changed from <3.98 GiB (1018
extents) to <11.88 GiB (3041 extents).
Logical volume rhel/swap successfully resized.
- 重新创建逻辑卷上的交换空间:
# mkswap /dev/rhel/swap
mkswap: /dev/rhel/swap: warning: wiping old swap signature.
Setting up swapspace version 1, size = 11.9 GiB (12754874368 bytes)
no label, UUID=241a4818-e51c-4b8c-9bc9-1697fc2ce26e
- 重新启用交换空间:
# swapon /dev/rhel/swap
-
使用
swapon命令验证交换空间是否已添加到系统:
# swapon
NAME TYPE SIZE USED PRIO
/dev/dm-1 partition 11.9G 0B -2
总结
交换空间是任何操作系统处理内存资源受限情况的重要组成部分。RHEL 8 提供了一套根据系统中安装的 RAM 量来分配磁盘交换空间的指南。当这些建议不足时,可以在不重启系统的情况下添加额外的交换空间。交换空间可以以文件、磁盘或磁盘分区的形式添加,也可以通过扩展现有的配置为交换空间的逻辑卷来添加。
通过合理管理存储和交换空间,可以确保 RHEL 8 系统的性能和稳定性。
下面是添加交换空间的 mermaid 流程图:
graph TD;
A[开始] --> B{是否有可用卷组空间};
B -- 是 --> C[扩展逻辑卷];
B -- 否 --> D[添加物理卷到卷组];
D --> E[扩展卷组];
E --> C;
C --> F[关闭交换空间];
F --> G[扩展逻辑卷使用新空间];
G --> H[重新格式化交换卷];
H --> I[开启交换空间];
I --> J[验证交换空间增加];
J --> K[结束];
综上所述,在 RHEL 8 系统中,无论是扩展逻辑卷还是管理交换空间,都有明确的操作步骤和方法。通过遵循这些步骤,可以有效地管理系统的存储和交换资源,提高系统的性能和稳定性。希望本文能为你在 RHEL 8 系统的存储与交换空间管理方面提供有价值的参考。
RHEL 8 存储与交换空间管理指南(续)
存储与交换空间管理的其他要点
1. 防火墙与存储服务的交互
在 RHEL 8 系统中,防火墙对于存储服务(如 NFS、Samba 等)的正常运行至关重要。以下是不同存储服务的防火墙设置要点:
-
NFS
:
- 配置防火墙允许 NFS 服务。可以使用
firewall-cmd
命令进行操作,例如:
# firewall-cmd --permanent --add-service=nfs
# firewall-cmd --permanent --add-service=mountd
# firewall-cmd --permanent --add-service=rpc-bind
# firewall-cmd --reload
- 上述命令将 NFS 相关服务永久添加到防火墙规则中,并重新加载防火墙使其生效。
-
Samba
:
-
同样使用
firewall-cmd命令配置防火墙允许 Samba 服务:
-
同样使用
# firewall-cmd --permanent --add-service=samba
# firewall-cmd --reload
- 此命令将 Samba 服务永久添加到防火墙规则中并重新加载。
2. 网络管理与存储挂载
网络管理对于存储的挂载和使用也有重要影响。以 NetworkManager 为例,以下是一些常见的网络管理操作:
-
检查 NetworkManager 状态
:
# nmcli general status
- 启用 NetworkManager :
# systemctl enable --now NetworkManager
-
管理网络连接
:
- 列出所有连接:
# nmcli connection show
- 修改连接配置:
# nmcli connection modify <connection_name> <setting> <value>
- 例如,修改连接的 IP 地址:
# nmcli connection modify eth0 ipv4.addresses 192.168.1.100/24
- 激活连接:
# nmcli connection up <connection_name>
存储与交换空间管理的优化建议
1. 交换空间的优化
- 合理分配交换空间 :根据系统的实际需求和硬件配置,按照推荐的交换空间大小进行分配,避免过度或不足的交换空间分配。
-
定期监控交换空间使用情况
:可以使用
free、swapon等命令定期检查交换空间的使用情况,及时发现并处理异常情况。 - 优化系统内存使用 :通过优化系统中运行的应用程序和服务,减少对内存的需求,从而降低对交换空间的依赖。
2. 存储性能的优化
- 选择合适的文件系统 :根据存储设备的类型和使用场景,选择合适的文件系统,如 XFS 等,以提高存储性能。
-
定期进行文件系统检查和修复
:使用
fsck等工具定期检查和修复文件系统,确保文件系统的健康和稳定。 - 优化存储设备的 I/O 性能 :可以通过调整存储设备的参数、使用 RAID 等技术来提高存储设备的 I/O 性能。
常见问题及解决方法
1. 交换空间添加失败
- 问题描述 :在添加交换文件或分区时,可能会遇到各种错误,如权限问题、磁盘空间不足等。
-
解决方法
:
- 检查文件或分区的权限,确保具有正确的读写权限。
- 检查磁盘空间是否足够,清理不必要的文件或扩展磁盘空间。
- 检查命令的使用是否正确,确保参数设置无误。
2. 存储挂载失败
- 问题描述 :在挂载 NFS 或其他存储设备时,可能会遇到挂载失败的情况。
-
解决方法
:
- 检查网络连接是否正常,确保可以访问存储设备。
- 检查防火墙设置,确保允许存储服务的访问。
- 检查存储设备的配置是否正确,如 NFS 共享的路径、权限等。
总结
在 RHEL 8 系统中,存储和交换空间的管理涉及多个方面,包括逻辑卷扩展、交换空间管理、防火墙配置、网络管理等。通过合理的管理和优化,可以提高系统的性能和稳定性,确保系统的正常运行。
以下是存储与交换空间管理的操作步骤总结表格:
| 操作类型 | 操作步骤 |
| — | — |
| 扩展逻辑卷 | 1. 点击“Grow”按钮;2. 使用滑块选择要添加的空间大小;3. 再次点击“Grow”按钮提交更改 |
| 添加交换文件 | 1. 使用
dd
命令创建文件;2. 设置文件权限;3. 使用
mkswap
命令转换为交换文件;4. 使用
swapon
命令添加到系统;5. 修改
/etc/fstab
文件自动挂载 |
| 添加交换分区 | 1. 使用
mkswap
命令转换为交换分区;2. 使用
swapon
命令添加到系统;3. 修改
/etc/fstab
文件自动挂载 |
| 扩展 LVM 交换卷 | 1. 使用
lvdisplay
识别相关信息;2. 使用
vgs
验证可用空间;3. 关闭交换空间;4. 扩展逻辑卷;5. 重新格式化交换卷;6. 开启交换空间 |
| 向卷组添加交换空间 | 1. 将分区转换为物理卷;2. 扩展卷组;3. 关闭交换空间;4. 扩展逻辑卷;5. 重新创建交换空间;6. 开启交换空间 |
希望这些内容能帮助你更好地管理 RHEL 8 系统的存储和交换空间,确保系统的高效运行。
下面是一个关于存储与交换空间管理的综合 mermaid 流程图:
graph LR;
A[系统启动] --> B{是否需要扩展存储或交换空间};
B -- 是 --> C{选择操作类型};
C -- 扩展逻辑卷 --> D[执行扩展逻辑卷步骤];
C -- 添加交换文件 --> E[执行添加交换文件步骤];
C -- 添加交换分区 --> F[执行添加交换分区步骤];
C -- 扩展 LVM 交换卷 --> G[执行扩展 LVM 交换卷步骤];
C -- 向卷组添加交换空间 --> H[执行向卷组添加交换空间步骤];
D --> I[验证操作结果];
E --> I;
F --> I;
G --> I;
H --> I;
I -- 成功 --> J[系统正常运行];
I -- 失败 --> K[排查问题并解决];
K --> C;
B -- 否 --> J;
通过以上的操作步骤和管理方法,你可以更加从容地应对 RHEL 8 系统中存储和交换空间的各种情况,为系统的稳定运行提供有力保障。
超级会员免费看
37

被折叠的 条评论
为什么被折叠?



