目录
一、 tuned的介绍
tuned(本地服务程序)
调整调优配置文件 ,对系统进行调优操作,根据不同的应用场景,加载不同的配置,可以选择对应的优化操作 ,系统管理员可以基于多种用例工作负载来调整各种设备设置,以此优化系统性能。tuned守护进程会利用反映特定工作负载要求的调优配置文件,以静态和动态两种方式应用调优调整。
配置静态调优tuned守护进程会在服务启动时或选择新的调优配置文件时应用系统设置。静态调优会对配置文件中由tuned在运行时应用的预定义kernel参数进行配置。对于静态调优而言,内核参数是针对整体性能预期而设置的,不会随着活跃度的变化而进行调整。
配置可以做动态调优 对于动态调优而言,tuned守护进程会监视系统活动,并根据运行时行为的变化来调整设置。 从 所选调优配置文件中声明的初始设置开始,动态调优会不断进行调优调整以适应当前工作负载。
例如,存储设备在启动和登录期间的使用率会比较高,但如果用户工作负载的内容是使用Web浏览 器和电子邮件客户端,则活动量会很少。同样,CPU和网络设备在整个工作日的高峰使用期间会出 现活动增加的情况。tuned守护进程会监视这些组件的活动并调整参数设置,以最大限度提升高活动量期间的性能,并在低活动量期间降低设置值。tuned守护进程将使用预定义调优配置文件中提供的性能参数。安装并启用TUNED。
默认情况下,红帽企业Linux8的最小安装中包含并启用了tuned款件包。要手动安装并启用该软件包
选择调优配置文件:
Tuned应用提供的配置文件分为以下几个类别:
1. 节能型配置文件
2. 性能提升型配置文件
性能提升型配置文件中包括侧重于以下方面的配置文件:
存储和网络的低延迟
存储和网络的高吞吐量
虚拟机性能
虚拟化主机性能
随红帽企业linux8分发的调优配置文件:
调优配置文件 | 用途 |
均衡 | 非常适合需要在节能和性能之间进行折衷的系统 |
desktop | 从balanced配置文件衍生而来。加快交互式应用响应速度 |
throughput-performance | 调优系统,以获得最大吞吐量 |
latency-performance | 非常适合需要牺牲能耗来获取延迟的服务器系统 |
网络延迟 | 从latency-performance配置文件衍生而来。它可以启用额外的网络调优参数,以提供低网络延迟。 |
网络吞吐量 | 从throughput-performance配置文件衍生而来。应用其他网络调优参数,以获得最大网络吞吐量 |
节能 | 调优系统,以最大程度实现节能 |
Oracle | 基于throughput-performance配置文件,针对Oracle数据库负载进行优化 |
virtual-guest | 当系统在虚拟机上运行时,调优系统以获得最高性能 |
virtual-host | 当系统充当虚拟机的主机时,调优系统以获得最高性能 |
tuned的操作指令:
## 安装tuned(调优软件包)
yum install tuned -y
## 判断该系统调优服务是否启动
systemctl is-active tuned
## 查看tuned程序所支持的配置
tuned-adm
## 查看当前活动的调优配置文件
tuned-adm active
## 列出所有可用的调优配置文件
tuned-adm list
## 改为系统推荐使用的调优配置文件
tuned-adm recommend
## 更改配置文件
tuned-adm profile virtual-guest
二、 VDO的介绍
VDO( Virtual Data Optimize 虚拟数据优化)——通过压缩或删除存储设备上的数据来优化存储空间。
1 、压缩和去重是为了能够更好的提供存储空间的利用率
2 、需要加载两个内核模块
kvdo: 用于压缩
uds: 用于去重的
3 、 vdo 设备位于现有的存储的顶部: 比如块设备:/dev/nvme0n5 ,也可以构建在 LV 上。
但是能够在 stratis 管理分层存储上使用 VDO 吗?不能。
在什么样的场景下,重复数据率高
比如: 虚拟化场景或者云场景: 10VM 全是 RHEL8 系统 .
4 、实现的过程就 3 个步骤
1 :消除0 块
2 :去重
3 :压缩
且:传一个相同的文件,但是vdo卷占用磁盘空间并不会发生变化
vdo的操作指令:
## 安装vdo包
yum install vdo kmod-kvdo -y
## 创建vdo卷(可直接对硬盘处理也可以对标准分区处理)
vdo create --name vdol --device /dev/nvme0n2 --vdoLogicalsize 15G
## 查看vdo卷是否创建成功
vdo list
## 查看vdo卷状态信息,deduplication重复删除数据;compression压缩
vdo status --name vdo1
## 使用vdostats命令卷的初始统计信息和状态
vdostats --human-readable
##移除vdo卷
vdo remove -n vdol
三、 stratis的介绍
通过 Stratis ,便捷的使用精简配置( thin provisioning ),快照( snapshots )和基于池( pool-based)的管理和监控等高级存储功能;
Stratis 是一个卷管理文件系统 volume-managing filesystem ( VMF ),类似于 ZFS 和 Btrfs 。它使用了 存储“ 池 ” 的核心思想,该思想被各种 VMF 和 形如 LVM 的独立卷管理器采用。使用一个或多个硬盘(或分区)创建存储池,然后在存储池中创建卷volume 。与使用 fdisk 或 GParted 执行的传统硬盘分区不 同,存储池中的卷分布无需用户指定。
VMF 更进一步与文件系统层结合起来。用户无需在卷上部署选取的文件系统,因为文件系统和卷已经被合并在一起,成为一个概念上的文件树(ZFS 称之为数据集 dataset , Brtfs 称之为子卷 subvolume ,Stratis 称之为文件系统),文件数据位于存储池中,但文件大小仅受存储池整体容量限制。
换一个角度来看:正如文件系统对其中单个文件的真实存储块的实际位置做了一层抽象 abstract ,而 VMF 对存储池中单个文件系统的真实存储块的实际位置做了一层抽象。
基于存储池,我们可以启用其它有用的特性。特性中的一部分理所当然地来自典型的 VMF 实现
implementation ,例如文件系统快照,毕竟存储池中的多个文件系统可以共享物理数据块 physical data block;冗余 redundancy ,分层,完整性 integrity 等其它特性也很符合逻辑,因为存储池是操作系统中 管理所有文件系统上述特性的重要场所。
上述结果表明,相比独立的卷管理器和文件系统层, VMF 的搭建和管理更简单,启用高级存储特性也更容易。
1 、将物理磁盘加入到存储池中
2 、文件系统是通过 < 精简配置 > 构建在池中
3 、文件系统是构建在池中: 那么文件系统的空间到底有多大?
通过精简配置的方式构建的
对于文件系统大小: 使用大小,就是你存储数据的大小
意义: 最开始 10M ,随着你的数据量的写入,文件系统的使用量越来越大
过程是一个动态的过程,而不再像使用 LV 一样 (LV 大小是固定的,空间不够人为的去扩容 )
扩容的过程是动态的,你往文件系统写数据,你写多少就占用多少空间
例子: 假如: 你的pool 是 100G ,你在 pool 之上构建的文件系统最开始很小 <1M >, 当你往文件系统写 数据的时候,动态的从pool 分配空间。文件系统的扩容不需要你人为的干预了。
文件系统最大的时候到 100G 之后,你可以往 pool 中+硬盘
对于一个池而言可以构建多个文件系统
4 、 stratis 是通过元数据来管理,不要人为分区和格式化。
5 、对于 stratis 而言有 stratis-cli, 还有相对应的服务 stratisd.service
stratis-cli 通过 D-BUS 和 stratisd.services 进行通信
注:一个池中可以构建多个文件系统
stratis的操作指令:
## 装stratisd包以及工具
yum install stratisd
yum install stratis-cli
## 启动stratisd服务
systemctl enable stratisd --now
## 创建池
stratis pool create pool1 /dev/nvme0n2
## 构建文件系统
stratis filesystem create fsl
stratis filesystem create pool1 fsl
stratis fs list
## 永久挂载
tail -l /etc/fstab
## 扩容
stratis pool add-data poolq /dev/nvme0n3
## 快照
stratis filesystem snapshot pool1 fsl sn1