一、tuend命令
使用环境(即可以调整的文件):
balanced:非常适合在节能和性能之间寻求折衷的系统。
desktop:源自平衡配置文件,提供交互式应用程序的更快响应。
throughput-performance:调整系统以获得最大吞吐量。
latency-performance:对于要求低延迟,以功耗为代价的服务器系统的理想选择。
network-latency:源自延迟性能配置文件,它启用其他网络调整参数以提供较低的网络延迟。
network-throughput:从吞吐量性能概要文件得出,附加的网络调整参数适用于最大的网络吞吐量。
powersave:调整系统以最大程度地节省电力。
oracle:基于吞吐量性能概要文件针对Oracle数据库负载进行了优化。
virtual-guest:优化以在虚拟访客中运行。
virtual-host:如果用于运行KVM guest虚拟机,请调整系统以获得最佳性能。
Tuned的安装和配置(RHEL8.2):
配置yum源:
配置vim源文件: vim /etc/yum.repos.d/vhost.repo name=RHEL8-BaseOS baseurl=file:///media/cdrom/BaseOS gpgcheck=0 #gpgcheck=1 #如果gpgcheck为1,需要写秘钥文件路径 #gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial [RHEL8-Appstream] name=RHEL8-Appstream baseurl=file:///media/cdrom/AppStream gpgcheck=0 #gpgcheck=1 #gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial 挂载本地源: mkdir /mnt mount /dev/sr0 /mnt 设置自动挂载 开启自动挂载 echo “mount /dev/sr0 /mnt” >> /etc/rc.local 确认挂载点 lsblk ---列出块设备 <本地源和网络源的区别> 个人理解: 本地源就是通过系统的镜像文件下载RPM包,在无法联网的情况下使用; 网络源就是通过外网的映像文件下载RPM包,联网情况下使用。 参考文献: http://c.biancheng.net/view/2931.html
下载Tuned:
yum install tuned
开启Tuned:
systemctl start tuned
选择调整配置文件的相关命令
检查当前活动的调优配置文件: tuned-adm active 列出所有可用的调整配置文件: tuned-adm list <profile命令> 将活动配置文件切换到其他配置文件,实现最大吞吐量 tuned-amd profile throughput-performance 《实现优化策略迁移》 检查系统推荐的调整配置文件 tuned-adm recommend virtual-guest 将个人配置设置为系统推荐值: tuned-adm profile virtual-guest 查看配置文件的详细信息 tuned-adm profile_info virtual-guest 关闭个人配置 tuned-adm off #关闭已调优的活动(配置文件) 确认该命令 tuned-adm active
Tuned总结:
Tuned的本质: Tuned本质上是一个Linux环境中的后台进程,在运行过程中依据配置内容监控调整系统。 Tuned的作用: 优化Linux的性能 个人理解:可以认为Tuned相当与Windows的任务管理器
参考文献:
https://ywnz.com/linuxml/6526.html#:~:text=%E5%9C%A8RHEL%E3%80%81CentOS%208%2F7%20Linux%E7%B3%BB%E7%BB%9F%E4%B8%AD%EF%BC%8Ctuned%E8%BD%AF%E4%BB%B6%E5%8C%85%E6%98%AF%E9%BB%98%E8%AE%A4%E5%AE%89%E8%A3%85%E5%B9%B6%E5%90%AF%E7%94%A8%E7%9A%84%EF%BC%8C%E5%A6%82%E6%9E%9C%E8%A6%81%E5%9C%A8CentOS%2FRHEL%E6%9C%BA%E5%99%A8%E4%B8%8A%E6%89%8B%E5%8A%A8%E5%AE%89%E8%A3%85%E5%B9%B6%E5%90%AF%E7%94%A8%E8%BD%AF%E4%BB%B6%E5%8C%85%EF%BC%8C%E8%AF%B7%E8%BF%90%E8%A1%8C%E4%BB%A5%E4%B8%8B%E5%91%BD%E4%BB%A4%EF%BC%9A%20sudo%20yum%20install,tuned%20sudo%20systemctl%20enable%20--now%20tuned (适合新手) https://blog.51cto.com/lookingdream/1899695#:~:text=Tuned%E6%9C%AC%E8%B4%A8%E4%B8%8A,%E5%AE%B9%E7%9B%91%E6%8E%A7%E8%B0%83%E6%95%B4%E7%B3%BB%E7%BB%9F%E3%80%82 (较详细)
二、stratis命令
基础认知
Stratis 是一个卷管理文件系统volume-managing filesystem(VMF) Stratis 是一个具有与 ZFS 和 Btrfs 相似功能的卷管理文件系统 使用 Stratis 从命令行管理 Linux 存储 Stratis 有三个概念: blockdevs、池和文件系统。 Blockdevs 是组成池的块设备,例如磁盘或磁盘分区。 一旦创建池,就可以从中创建文件系统。 语法格式:stratis [参数] 常用参数: fs 创建文件系统 list 列出文件系统 pool 列出文件系统的池 snapshot 创建文件系统的快照 详细信息 man stratis
stratis基础操作
安装stratis: dnf install stratis-cli stratisd 创建文件系统: stratis fs create mypool myfs1 创建一个文件系统作为现有文件系统的快照: stratis fs snapshot mypool myfs1 myfs1-experiment 列出系统中的池: stratis pool list 列出池中的文件系统: stratis fs list mypool
完整过程
一、配置和挂载yum源 dnf install stratis-cli stratisd #当你系统中有一个名为 vdg 的块设备,而且目前没有被使用或挂载 #如果vdg没有被使用但是有旧数据,需要先清除旧数据 #未清除或正在使用不可用于stratis pool create -force 二、创建名为mypool的stratis池: stratis pool create mypool /dev/vdg #如果你想从多个块设备创建一个池,只需在pool create 命令行中列出它们。你也可以稍后使用 blockdev add-data 命令添加更多的 blockdevs。请注意,Stratis 要求 blockdevs 的大小至少为 1 GiB 三、创建文件系统 #在创建一个名为mypool池后,可以从他创建一个名为myfs1的文件系统 stratis fs create mypool myfsl #使用stratis在/dev/stratis中创建挂载点目录并挂载 mkdir myfs1 mount /dev/stratis/mypool/myfs1 myfs1 #挂载并使用 四、快照的创建 #除了创建空文件系统之外,创建一个文件系统作为现有文件系统的快照 stratis fs snapshot mypool myfs1 myfs1-experiment #这样做后,你可以挂载新的 myfs1-experiment,它将初始包含与 myfs1 相同的文件内容,但它可能随着文件系统的修改而改变。 无论你对 myfs1-experiment 所做的任何更改都不会反映到 myfs1 中,除非你卸载了 myfs1 并将其销毁: umount myfs1 #卸载myfs1 stratis fs destory mypool myfs1 #销毁myfs1 进行快照并重新挂载它: stratis fs snapshot mypool myfs1-experiment myfs1 #创建快照 mount /dev/stratis/mypool/myfs1 myfs1 #挂载它 五、获取信息 stratis pool list #列出系统池 stratis fs list mypool #列出池中的文件系统 stratis blockdev list mypool #列出组成池的blockdevs 六、销毁池: #要摧毁池,首先确保从它创建的所有文件系统都被卸载并销毁 #然后使用 pool destroy 命令 umount myfsl #卸载myfsl文件系统 umount myfsl-experimper #卸载系统快照 stratis fs destroy mypool myfsl #销毁文件系统 stratis fs destroy mypool myfsl-experiment #销毁系统快照 stratis pool destroy mypool #销毁池 stratis pool list #此时应该没有池
stratis总结:
Stratis 的目标就是让 Linux 的高级存储特性更加可用。
参考文献:
https://www.cnblogs.com/luxiaodai/p/14296883.html#:~:text=Linux%20%E6%94%AF%E6%8C%81%E6%96%B0%E7%89%B9%E6%80%A7%EF%BC%8C%E4%BD%86%E7%94%B1%E4%BA%8E%E7%BC%BA%E4%B9%8F%E6%98%93%E4%BA%8E%E4%BD%BF%E7%94%A8%E7%9A%84%E8%A7%A3%E5%86%B3%E6%96%B9%E6%A1%88%EF%BC%8C%E4%BD%BF%E5%85%B6%E6%B2%A1%E6%9C%89%E8%A2%AB%E5%B9%BF%E6%B3%9B%E9%87%87%E7%94%A8%E3%80%82%20Stratis,%E7%9A%84%E7%9B%AE%E6%A0%87%E5%B0%B1%E6%98%AF%E8%AE%A9%20Linux%20%E7%9A%84%E9%AB%98%E7%BA%A7%E5%AD%98%E5%82%A8%E7%89%B9%E6%80%A7%E6%9B%B4%E5%8A%A0%E5%8F%AF%E7%94%A8%E3%80%82 (基础说明) https://zhuanlan.zhihu.com/p/38176656 (详细配置) https://www.linuxcool.com/stratis (基础操作)
## VDO命令
基础知识:
VDO(Virtual Data Optimize虚拟数据优化): 通过压缩或删除存储设备上的数据来优化存储空间 VDO层放置在现有块存储设备例如RAID设备或本地磁盘的顶部。这些块设备也可以是加密设备。存储层(如LVM logic卷和文件系统放置在VDO层的顶部。 VDO按以下顺序将三个阶段应用于数据,减少存储设备上的占用空间 零区块的排除: 在初始化阶段,整块为0的会被元数据记录下来,这个可以用水杯里面的水和沙子混合的例子来解释,使用滤纸(零块排除),把沙子(非零空间)给过滤出来,然后就是下一个阶段的处理 重复数据删除: 在第二阶段,输入的数据会判断是不是冗余数据(在写入之前就判断),这个部分的数据通过UDS内核模块来判断(U niversal D eduplication S ervice),被判断为重复数据的部分不会被写入,然后对元数据进行更新,直接指向原始已经存储的数据块即可 压缩: 一旦消零和重删完成,LZ4压缩会对每个单独的数据块进行处理,然后压缩好的数据块会以固定大小4KB的数据块存储在介质上,由于一个物理块可以包含很多的压缩块,这个也可以加速读取的性能
基础配置:
配置思路: 1、安装VDO模块 yum install vdo kmod-kvdo -y 2、创建VDO卷 vdo create --name=vdo1 --device=/dev/sdd --vdoLogicalSize=5G 3、分析一个VDO卷(deduplication重复删除数据 compression压缩) vdo status --name=vdo1 4、给vdo1一个xfs文件系统,之后挂载到/mnt/vdo1上 mkfs.xfs -K /dev/mapper/vdo1 #格式化磁盘卷 udevadm settle #刷新存储设备 mkdir /mnt/vod1 mount /dev/mapper/vdo1 /mnt/vdo1/ #创建挂载点目录并挂挂载 5、使用vdostats命令查看卷的初始统计信息和状态 vdostats --human-readable 6、创建文件 cp /run/media/root/RHEL-8-0-0-BaseOS-x86_64/images/install.img /root/install.img 7、移动文件到挂载点中,然后看一下结果 mv /root/install.img /mnt/install.1.img vdostats --human-readable 8、重新复制一遍 cp /root/install.img /mnt/vdo1/install.2.img vdostats --human-readable #查看存储空间 简单操作: [root@venus ~]# yum install vdo -y #安装配置工具 [root@venus ~]# vdo create --name=vdough --device=/dev/vdc --vdoLogicalSize=50G #创建VDO卷,名字为vdo,设备路径为/dec/vdc,VDO卷大小为50G [root@venus ~]# mkfs.xfs /dev/mapper/vdough #将该VDO卷格式化为xfs格式 [root@venus ~]# mkdir /vbread #创建挂载目录 [root@venus ~]# vi /etc/fstab #编辑/etc/fstab文件,写入配置信息 /dev/mapper/vdough /vbread xfs defaults,x-systemd.requires=vdo.service 0 0 [root@venus ~]# mount -a #挂载所有设备 [root@venus ~]# systemctl enable vdo #开机自动挂载
总结:
会发现传一个相同的文件,但是空间并不会发生变化。
参考文献:
https://blog.csdn.net/ALLLiu/article/details/102367030 完整配置