RHEL官网文档阅读笔记
  zwmX4WA4Dykt 2023年11月02日 34 0


以下内容来自RedHat 官方文档,版本为RHEL 8。

blkid

External programs such as blkidblkid 通常用来获取设备的UUID,但文档中提出 blikid 会短暂阻塞设备的访问,真是个坏消息。
替代方法

ls -l /dev/disk/by-uuid/

total 0
drwxr-xr-x 2 root root  80 Aug 10 09:30 ./
drwxr-xr-x 5 root root 100 Aug 10 09:30 ../
lrwxrwxrwx 1 root root   9 Aug 10 09:30 e076fcd4-a3a2-45fa-ac25-cb77a3aa2af3 -> ../../sdc
lrwxrwxrwx 1 root root   9 Aug 10 09:30 e0d07ec2-c993-49e4-a52d-f7c373dcc344 -> ../../sdb

lsblk -f /dev/sdb

NAME FSTYPE FSVER LABEL UUID                                 FSAVAIL FSUSE% MOUNTPOINTS
sdb  swap   1           e0d07ec2-c993-49e4-a52d-f7c373dcc344                [SWAP]

XFS

XFS does not support shrinking.

##EXT4
对于条带化设备(RAID阵列),可以使用条带化提升读写性能。

mkfs.ext4 -E stride=16,stripe-width=64 /dev/sdc

可以在格式化文件系统时,指定UUID

mkfs.ext4 -U UUID /dev/sc

IO

影响IO和文件系统性能因素:

数据写入或读取特征
顺序或随机
buffered 或 Direct IO
数据与底层 geometry 保持一致
块大小
文件系统大小
日志大小和位置
记录访问时间
确保数据可靠性
预抓取数据
预分配磁盘空间
文件碎片
资源争用

相关工具见《IO和文件系统性能分析工具》

网络性能

当网卡接收数据包并在内核协议堆栈处理它们之前,内核会将这些数据包存储在 backlog 队列中。内核为每个 CPU 内核维护一个单独的队列。查询 backlog 队列:

awk '{for (i=1; i<=NF; i++) printf strtonum("0x" $i) (i==NF?"\n":" ")}' /proc/net/softnet_stat | column -t
# awk '{for (i=1; i<=NF; i++) printf strtonum("0x" $i) (i==NF?"\n":" ")}' /proc/net/softnet_stat | column -t
116805    0  1   0  0  0  0  0  0  0
39468047  0  22  0  0  0  0  0  0  0

第一列:收到的帧总数
第二列:因为完整积压队列而丢弃的帧数量
最后列:CPU 内核数

如果丢弃的数量较多,可以考虑增加 backlog 队列长度。
net.core.netdev_max_backlog 参数说明见《一文说清楚 Linux TCP 内核参数

巨型帧

巨型帧的好处:

  • 更高的吞吐量:每个帧包含更多用户数据,同时修复了协议开销。
  • CPU 使用率较低: Jumbo 帧会导致中断较少,因此可以保存 CPU
    周期。

巨型帧的缺陷:

  • 更高的延迟:大帧会延迟遵循的数据包。
  • 增加内存缓冲区使用量:大帧可以更快地填充缓冲区队列内存。

网络设备命名规则

方案

描述

示例

1

设备名称包含固件或者 BIOS 提供的索引号,用于板上的设备。如果此信息不可用或不适用,则 udev 将使用方案 2。

eno1

2

设备名称包含固件或 BIOS 提供的 PCI Express(PCIe)热插件插槽索引号。如果此信息不可用或不适用,则 udev 将使用方案 3。

ens1

3

设备名称包含硬件连接器的物理位置。如果此信息不可用或不适用,则 udev 将使用方案 5。

enp2s0

4

设备名称包含 MAC 地址。Red Hat Enterprise Linux 默认不使用这个方案,但管理员可选择性地使用它。

enx525400d5e0fb

5

传统的无法预计的内核命名方案。如果 udev 无法应用任何其他方案,则设备管理器使用这个方案。

eth0

设备命名按照 1–>5 顺序进行。

磁盘调度策略选择

场景

磁盘调度程序

传统的使用 SCSI 接口的 HDD

使用 mq-deadline 或 bfq。

高性能 SSD 或具有快速存储的 CPU 绑定系统

使用 none,特别是在运行企业级应用程序时。或者,使用 kyber

桌面或互动任务

使用 bfq。

虚拟客户端

使用 mq-deadline。使用可以多队列的主机总线适配器 (HBA) 驱动程序,使用 none。


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
zwmX4WA4Dykt