一、tuned:调整调优配置文件

调优系统:

系统管理员1可以基于多种用例工作负载来调整各种设备设置,依此优化系统性能。tuned守护进程会利用反应特定工作负载要求的调优配置文件,以静态和动态两种方法应用调优调整。

配置动态调优:对于动态调优而言,tuned守护进程会监视系统活动,并根据运行时行为的变化来调整设置,从所选调优配置文件中声明的初始设置开始,动态调优会不断进行调整以适应当前工作负载。

默认情况下要手动并启用安装包

[root@localhost ~]# yum install tuned -y
正在更新 Subscription Management 软件仓库。
baseos                                                                  2.0 MB/s | 2.8 kB     00:00
AppStream                                                               1.3 MB/s | 3.2 kB     00:00
Red Hat Enterprise Linux 8 for x86_64 - AppStream (RPMs)                3.0 kB/s | 4.5 kB     00:01
Red Hat Enterprise Linux 8 for x86_64 - BaseOS (RPMs)                   3.9 kB/s | 4.1 kB     00:01
软件包 tuned-2.18.0-2.el8.noarch 已安装。
依赖关系解决。
========================================================================================================软件包         架构            版本                       仓库                                    大小
========================================================================================================
升级:tuned          noarch          2.18.0-2.el8_6.1           rhel-8-for-x86_64-baseos-rpms          316 k事务概要
========================================================================================================
升级  1 软件包总下载:316 k
下载软件包:
tuned-2.18.0-2.el8_6.1.noarch.rpm                                       117 kB/s | 316 kB     00:02
--------------------------------------------------------------------------------------------------------
总计                                                                    117 kB/s | 316 kB     00:02
运行事务检查
事务检查成功。
运行事务测试
事务测试成功。
运行事务准备中  :                                                                                         1/1 运行脚本: tuned-2.18.0-2.el8_6.1.noarch                                                           1/1 升级    : tuned-2.18.0-2.el8_6.1.noarch                                                           1/2 运行脚本: tuned-2.18.0-2.el8_6.1.noarch                                                           1/2 运行脚本: tuned-2.18.0-2.el8.noarch                                                               2/2 清理    : tuned-2.18.0-2.el8.noarch                                                               2/2 运行脚本: tuned-2.18.0-2.el8.noarch                                                               2/2 运行脚本: tuned-2.18.0-2.el8_6.1.noarch                                                           2/2 运行脚本: tuned-2.18.0-2.el8.noarch                                                               2/2 验证    : tuned-2.18.0-2.el8_6.1.noarch                                                           1/2 验证    : tuned-2.18.0-2.el8.noarch                                                               2/2
已更新安装的产品。已升级:tuned-2.18.0-2.el8_6.1.noarch                                                                         完毕!
[root@localhost ~]# systemctl is-active tuned
active

1、选择调优配置文件:

Tuned应用提供的配置文件分为以下几个类别:

节能型配置文件

性能提升型配置文件

 性能提升型配置文件中包括侧重于以下的配置文件:

存储和网络的低延迟

存储和网络的高吞吐量

虚拟机性能

虚拟化主机性能

随红帽企业Linux 8 分发的调优配置文件

调优配置文件

用途

均衡

非常适合需要在节能和性能之间进行折衷的系统

desktop

从balanced配置文件衍生而来。加快交互式应用响应速度

throughput-performance

调优系统,以获得最大吞吐量

latency-performance

非常适合需要牺牲能耗来获取延迟的服务器系统

网络延迟

从latency-performance配置文件衍生而来。它可以启用额外的网络调优参数,以提供低网络延迟。

网络吞吐量

从throughput-performance配置文件衍生而来。应用其他网络调优参数,以获得最大网络吞吐量

节能

调优系统,以最大程度实现节能

Oracle

基于throughput-performance配置文件,针对Oracle数据库负载进行优化

virtual-guest

当系统在虚拟机上运行时,调优系统以获得最高性能

virtual-host

当系统充当虚拟机的主机时,调优系统以获得最高性能

2、从命令行管理配置文件

tuned-adm命令可用于更改tuned守护进程的设置。tuned-adm命令可以查询当前设置,列出可用的配置文件,为系统推荐调优配置文件,直接更改配置文件或关闭调优。

系统管理员可以使用tuned-adm active来确定当前活动的调优配置文件

tuned-adm list命令列出所有可用的调优配置1文件,包括内容的配置文件和系统管理员的创建的自定义的文件

使用tuned-adm profile profilename可以将活动的配置文件切换为更符合系统当前调优要求的其他配置文件

tuned-adm recommend的输出基于各种系统特征,包括系统是否为虚拟机以及在系统安装期间选择的其他预定义类别

二、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等其它特性也很符合逻辑,因为存储池是操作系统中管理所有文件系统上述特性的重要场所。

案例

1、配置yum源,安装软件包

[root@localhost ~]# yum install stratisd -y
[root@localhost ~]# yum install stratis-cli

2、启动stratisd服务

[root@localhost ~]# systemctl enable  stratisd --now
3、创建池并扩容
[root@localhost ~]# stratis --version
2.4.2
[root@localhost ~]# stratis pool create pool1 /dev/nvme0n2
[root@kongd ~]# stratis filesystem list
[root@kongd ~]# stratis pool add-data pool1 /dev/nvme0n3
[root@kongd ~]# stratis pool list

4、永久挂载

[root@localhost ~]# tail -l /etc/fstab 

5、快照

[root@localhost ~]# stratis filesystem snapshot redhat rhce snap01

三、VDO压缩存储和删除重复数据

VDO(Virtual Data Optimize虚拟数据优化):通过压缩或删除存储设备上的数据来优化存储空间
        1、压缩和去重是为了能够更好的提供存储空间的利用率
        2、需要加载两个内核模块
                kvdo: 用于压缩
                uds: 用于去重的
        3、vdo设备位于现有的存储的顶部:
                比如块设备:/dev/nvme0n5,也可以构建在LV上。 但是能够在stratis管理分层存储上使VDO吗?不能。 在什么样的场景下,重复数据率高
                比如:
                        虚拟化场景或者云场景: 10VM 全是RHEL8系统.....
        4、实现的过程就3个步骤
                1): 消除0块
                2): 去重
                3): 压缩

案例:

1、配置yum源,安装软件包

[root@localhost ~]# mount /dev/sr0 /mnt/
mount: /mnt: WARNING: device write-protected, mounted read-only.
[root@localhost ~]# yum install ydo kmod-kvdo -y
正在更新 Subscription Management 软件仓库。
上次元数据过期检查:0:47:16 前,执行于 2022年11月07日 星期一 19时31分43秒。
未找到匹配的参数: ydo
软件包 kmod-kvdo-6.2.6.14-84.el8.x86_64 已安装。
错误:没有任何匹配: ydo

2、创建VOD卷

 3、分析一个VDO卷(deduplication重复删除数据compression压缩)

[root@localhost ~]# vdo status --name vdo1
VDO status:Date: '2022-11-07 20:26:50-08:00'Node: localhost.localdomain
Kernel module:Loaded: trueName: kvdoVersion information:kvdo version: 6.2.6.14
Configuration:File: /etc/vdoconf.ymlLast modified: '2022-11-07 20:21:54'
VDOs:vdo1:Acknowledgement threads: 1Activate: enabledBio rotation interval: 64Bio submission threads: 4Block map cache size: 128MBlock map period: 16380Block size: 4096CPU-work threads: 2Compression: enabledConfigured write policy: autoDeduplication: enabledDevice mapper status: 0 31457280 vdo /dev/nvme0n3 normal - online online 786786 1310720Emulate 512 byte: disabledHash zone threads: 1Index checkpoint frequency: 0Index memory setting: 0.25Index parallel factor: 0Index sparse: disabledIndex status: onlineLogical size: 15GLogical threads: 1Max discard size: 4KPhysical size: 5GPhysical threads: 1Slab size: 2GStorage device: /dev/disk/by-id/nvme-VMware_Virtual_NVMe_Disk_VMware_NVME_0000UUID: VDO-ee8d5d29-da00-43f9-8019-70794c38b39dVDO statistics:/dev/mapper/vdo1:1K-blocks: 52428801K-blocks available: 20957361K-blocks used: 3147144512 byte emulation: falseKVDO module bytes used: 408542976KVDO module peak bytes used: 408542976bios acknowledged discard: 0bios acknowledged flush: 0bios acknowledged fua: 0bios acknowledged partial discard: 0bios acknowledged partial flush: 0bios acknowledged partial fua: 0bios acknowledged partial read: 0bios acknowledged partial write: 0bios acknowledged read: 261bios acknowledged write: 0bios in discard: 0bios in flush: 0bios in fua: 0bios in partial discard: 0bios in partial flush: 0bios in partial fua: 0bios in partial read: 0bios in partial write: 0bios in progress discard: 0bios in progress flush: 0bios in progress fua: 0bios in progress read: 0bios in progress write: 0bios in read: 261bios in write: 0bios journal completed discard: 0bios journal completed flush: 0bios journal completed fua: 0bios journal completed read: 0bios journal completed write: 0bios journal discard: 0bios journal flush: 0bios journal fua: 0bios journal read: 0bios journal write: 0bios meta completed discard: 0bios meta completed flush: 0bios meta completed fua: 0bios meta completed read: 4bios meta completed write: 65bios meta discard: 0bios meta flush: 1bios meta fua: 1bios meta read: 4bios meta write: 65bios out completed discard: 0bios out completed flush: 0bios out completed fua: 0bios out completed read: 0bios out completed write: 0bios out discard: 0bios out flush: 0bios out fua: 0bios out read: 0bios out write: 0bios page cache completed discard: 0bios page cache completed flush: 0bios page cache completed fua: 0bios page cache completed read: 0bios page cache completed write: 0bios page cache discard: 0bios page cache flush: 0bios page cache fua: 0bios page cache read: 0bios page cache write: 0block map cache pressure: 0block map cache size: 134217728block map clean pages: 0block map dirty pages: 0block map discard required: 0block map failed pages: 0block map failed reads: 0block map failed writes: 0block map fetch required: 0block map flush count: 0block map found in cache: 0block map free pages: 32768block map incoming pages: 0block map outgoing pages: 0block map pages loaded: 0block map pages saved: 0block map read count: 0block map read outgoing: 0block map reclaimed: 0block map wait for page: 0block map write count: 0block size: 4096completed recovery count: 0compressed blocks written: 0compressed fragments in packer: 0compressed fragments written: 0concurrent data matches: 0concurrent hash collisions: 0current VDO IO requests in progress: 0current dedupe queries: 0data blocks used: 0dedupe advice stale: 0dedupe advice timeouts: 0dedupe advice valid: 0entries indexed: 0flush out: 0instance: 0invalid advice PBN count: 0journal blocks batching: 0journal blocks committed: 0journal blocks started: 0journal blocks writing: 0journal blocks written: 0journal commits requested count: 0journal disk full count: 0journal entries batching: 0journal entries committed: 0journal entries started: 0journal entries writing: 0journal entries written: 0logical blocks: 3932160logical blocks used: 0maximum VDO IO requests in progress: 63maximum dedupe queries: 0no space error count: 0operating mode: normaloverhead blocks used: 786786physical blocks: 1310720posts found: 0posts not found: 0queries found: 0queries not found: 0read only error count: 0read-only recovery count: 0recovery progress (%): N/Areference blocks written: 0release version: 133524saving percent: N/Aslab count: 1slab journal blocked count: 0slab journal blocks written: 0slab journal disk full count: 0slab journal flush count: 0slab journal tail busy count: 0slab summary blocks written: 0slabs opened: 0slabs reopened: 0updates found: 0updates not found: 0used percent: 60version: 31write amplification ratio: 0.0write policy: sync

4、给vdo1一个xfs文件系统,之后挂载到/mnt/vdo1上

[root@localhost ~]# mkfs.xfs -k /dev/mapper/vdo1
mkfs.xfs: invalid option -- 'k'
unknown option -k
Usage: mkfs.xfs
/* blocksize */     [-b size=num]
/* metadata */      [-m crc=0|1,finobt=0|1,uuid=xxx,rmapbt=0|1,reflink=0|1,inobtcount=0|1,bigtime=0|1]
/* data subvol */   [-d agcount=n,agsize=n,file,name=xxx,size=num,(sunit=value,swidth=value|su=num,sw=num|noalign),sectsize=num
/* force overwrite */   [-f]
/* inode size */    [-i log=n|perblock=n|size=num,maxpct=n,attr=0|1|2,projid32bit=0|1,sparse=0|1]
/* no discard */    [-K]
/* log subvol */    [-l agnum=n,internal,size=num,logdev=xxx,version=nsunit=value|su=num,sectsize=num,lazy-count=0|1]
/* label */     [-L label (maximum 12 characters)]
/* naming */        [-n size=num,version=2|ci,ftype=0|1]
/* no-op info only */   [-N]
/* prototype file */    [-p fname]
/* quiet */     [-q]
/* realtime subvol */   [-r extsize=num,size=num,rtdev=xxx]
/* sectorsize */    [-s size=num]
/* version */       [-V]devicename
<devicename> is required unless -d name=xxx is given.
<num> is xxx (bytes), xxxs (sectors), xxxb (fs blocks), xxxk (xxx KiB),xxxm (xxx MiB), xxxg (xxx GiB), xxxt (xxx TiB) or xxxp (xxx PiB).
<value> is xxx (512 byte blocks).
[root@localhost ~]# -K选项可防止立即查看文件系统中未使用的块,从而使命令返回更快

格式化结束:

[root@localhost ~]# mkdir /d1

5、使用vdostats命令查看卷的初始统计信息和状态

[root@localhost ~]# vdostats --human-readable 
Device                    Size      Used Available Use% Space saving%
/dev/mapper/vdo1          5.0G      3.0G      2.0G  60%           N/A

6、创建文件,移动文件到挂载点,然后看一下结果

[root@localhost ~]# mount /dev/mapper/vdo1 /d1
[root@localhost ~]# cd /d1
[root@localhost d1]# ll
总用量 0
[root@localhost d1]# cd
[root@localhost ~]# ll /mnt/images/
总用量 763861
-r--r--r--. 1 root root  10078208 6月  28 00:19 efiboot.img
-r--r--r--. 1 root root 772112384 6月  28 00:09 install.img
dr-xr-xr-x. 2 root root      2048 6月  28 00:50 pxeboot
-r--r--r--. 1 root root       446 6月  28 00:50 TRANS.TBL
[root@localhost ~]# cp /mnt/images/install.img  /d1
[root@localhost ~]# vdostats --human-readable
Device                    Size      Used Available Use% Space saving%
/dev/mapper/vdo1          5.0G      3.7G      1.3G  74%            1%

7、重新复制一遍

[root@localhost ~]# cp /mnt/images/install.img  /d1/install.img
cp:是否覆盖'/d1/install.img'? y
[root@localhost ~]# vdostats --human-readable
Device                    Size      Used Available Use% Space saving%
/dev/mapper/vdo1          5.0G      3.7G      1.3G  74%           45%

RHCE——实施高级存储功能(CSA)相关推荐

  1. Stratis和VDO高级存储

    Stratis和VDO高级存储 Stratis和vdo高级存储 Stratis高级存储 简介 配置stratis服务 VDO高级存储 简介 配置VDO服务 Stratis和vdo高级存储 Strati ...

  2. sql没有足够的值_您还没有足够使用的4种高级SQL功能

    sql没有足够的值 数据科学 (DATA SCIENCE) SQL is a powerful language. SQL is a part of most of the tech stacks y ...

  3. nas网络存储服务器系统,nas网络存储是啥_NAS网络存储功能

    描述 nas网络存储是啥 NAS(Network Attached Storage)网络存储基于标准网络协议实现数据传输,为网络中的Windows / Linux / Mac OS 等各种不同操作系统 ...

  4. 使用Hyper-V集群和存储功能以达到HA

    虽然Hyper-V缺少高可用性功能,但其Windows集群和存储功能能够与VMware HA相媲美. 在Hyper-V上运行Exchange Server虚拟机的例子中,可以为邮箱存储服务器在集群里配 ...

  5. Case Study: 利用JS设计高级检索功能通过PHP获取MySQL数据

    一.目标 该笔记的目的是引导读者借助WampServer平台和MySQL数据库,利用HTML/CSS/JS/PHP设计一个含有高级检索功能的数据库网页.该功能效果如图1所示.用户在文本框中输入相应内容 ...

  6. 开启文件高级共享功能

    如果要开启文件高级共享功能,可以在"我的电脑"中执行"工具->文件夹选项"命令,接着切换到"查看"选项卡,在高级设置中清除" ...

  7. java oss 批量传输_初步使用阿里云OSS对象存储功能

    在使用之前先了解上传文件/图片的过程,首先我觉得使用阿里云对象存储功能可以分为三种方式上传到阿里云OSS中: 1).第一种方案就是:浏览器把文件传到自己的程序中,通过Java代码去给阿里云OSS服务器 ...

  8. Microsoft Dynamics CRM 2015 新增功能 介绍 高级查找功能

    查找功能. 非常强大,右上角为高级查找功能 高级查找,改进的搜索功能为用户提供了一种可以在 Web 应用程序的多个记录类型中的快速搜索方式.现在,通过在导航栏的搜索框中输入关键字,您可以在 Web 应 ...

  9. 微软发布Azure Storage不可变存储功能的正式版本

    随着新的不可变存储功能的发布,blob特性在特定的保留期间内将是不可以擦除和修改的.该特性从今年6月份开始进行预览使用,现在,微软宣布它在所有公开Azure region中正式发布. \\ 微软添加对 ...

最新文章

  1. python axis 1_科学网—Python初学之解读MDFA模块(2):解读 def rwalk(X, axis=-1) - 刘磊的博文...
  2. java分享第六天(冒泡排序)
  3. go与Java微服务对比_微服务架构对比-Go语言中文社区
  4. virtio驱动_0020 virtio-blk简易驱动
  5. Mybatis实现多表关联多条件查询
  6. $(function(){}) 与(function(){})()在执行时的优先级
  7. ABAP web service schema node的处理
  8. mybaties与hibernate的不同点
  9. iostat命令详解_对iostat输出结果的理解
  10. html表格分页打印样式,vue部分打印(多页自动分页、打印样式自定义、多页打印表格页面顶部带表头)...
  11. 汽车常识全面介绍 - 刹车系统
  12. Oracle P6培训系列:16为作业分配资源的预算数量
  13. 语义噪声 | 语义网:重新发明轮子,创新者的窘境
  14. matlab怎么表示二元函数,如何用Matlab画二元函数?
  15. Java - Certificate has been revoked
  16. 系统分析与控制_多智能体协同控制研究中各定位系统分析
  17. 【总结】最系统化的CV内容,有三AI所有免费与付费的计算机视觉课程汇总(2022年12月)...
  18. 基于SARIMA、XGBoost和CNN-LSTM的时间序列预测对比
  19. Git版本控制管理——补丁
  20. 前端:时间( ISO)标准时间转换为时间戳

热门文章

  1. fitbit手表中文说明书_Fitbit OS达到3.0版,这是新功能
  2. Fitbit面临着对女性时期设定限制的愤怒
  3. 六、OpenStack入门 之 扩展话题
  4. 中国成人血脂异常防治指南(2016 年修订版)-学习笔记
  5. JAVA代码计算1900年到所求年份共多少天。
  6. java故事之以月引序
  7. HPUX——配置apa
  8. 阿里云配置SSH密钥连接
  9. Linux(ubuntu)中删除除了一个文件之外的所有文件
  10. 参加计算机社团的英语作文,参加社团的英语作文短文欣赏