RHCE--tuned\stratis\vdo总结

一、tuned简介
对普通用户而言,Linux应用环境优化是比较困难的。领域多,范围广:CPU、存储、缓存策略、内存管理等涉及的参数。Linux内部虽然有默认设置值,可以应对大多数的情况场景,但是针对一些特殊场景,例如高性能、高并发和高可用的系统,就需要我们进行调整。
红帽Linux针对这种情况,综合多年的性能优化分析经验,自RHEL 6.3版本引入了tuned特性,由tuned和tuned-adm两个程序组成。其中 tuned是服务端程序,用来监控和收集系统各个组件的数据,并依据数据提供的信息动态调整系统设置,达到动态优化系统的目的;tuned-adm是客户端程序,用命令行的方式管理和配置 tuned,此外,tuned-adm还提供了一些预先配置的优化方案可供直接使用,比如:虚拟机-主机、虚拟机-客户机、笔记本等优化场景。
当然不同的系统和应用场景有不同的优化方案,tuned-adm预先配置的优化策略不是总能满足要求,因此tuned允许用户自己创建和定制新的调优方案。
1.安装软件
[root@localhost ~]# dnf install tuend

2.更改性能配置
[root@localhost ~]# tuned-adm profile balanced
[root@localhost ~]# tuned-adm active

3.优化配置
[root@localhost ~]# tuned-adm recommend

4.关闭
[root@localhost ~]# tuned-adm off
[root@localhost ~]# tuned-adm active

二、Stratis 管理分层存储
Stratis 是一个卷管理文件系统volume-managing filesystem(VMF),类似于 ZFS 和 Btrfs。它使用了
存储“池”的核心思想,该思想被各种 VMF 和 形如 LVM 的独立卷管理器采用。使用一个或多个硬盘(或
分区)创建存储池,然后在存储池中创建卷volume。与使用 fdisk 或 GParted 执行的传统硬盘分区不
同,存储池中的卷分布无需用户指定。
VMF 更进一步与文件系统层结合起来。用户无需在卷上部署选取的文件系统,因为文件系统和卷已经被
合并在一起,成为一个概念上的文件树,文件数据位于存储池中,但文件大小仅受存储池整体容量限
制。
RHCE--tuned\stratis\vdo总结_第1张图片
通过Stratis,可以使用精简配置(thin provisioning),快照(snapshots)和基于池(pool-based )
的管理和监控等高级存储功能。

Stratis的一些命令:
1、配置yum源,安装软件包
[root@kongd ~]# dnf install -y stratisd stratis-cli
2、启动stratisd服务
[root@kongd ~]# systemctl enable --now stratisd.service
[root@kongd ~]# systemctl is-enabled stratisd.service
enabled
3、创建池
[root@kongd ~]# stratis pool create redhat /dev/nvme0n2 #池的名字redhat,在池中
加入设备/dev/nvme0n2
[root@kongd ~]# stratis pool list
Name Total Physical Size Total Physical Used
redhat 5 GiB 52 MiB
4、构建文件系统
对于stratis管理的存储分层而言,文件系统是构建在池中的
[root@kongd ~]# stratis filesystem create redhat rhce
[root@kongd ~]# stratis filesystem list
Pool Name Name Used Created Device UUID
redhat rhce 546 MiB Jan 08 2020 00:15 /stratis/redhat/rhce
fe32e43bafa046d8b82210bcd7616ac1
5、挂载
[root@kongd ~]# mkdir /mnt/stratis
[root@kongd ~]# mount /stratis/redhat/rhce /mnt/stratis
[root@kongd ~]# df -hT | grep /mnt/stratis
#永久挂载
[root@kongd ~]# tail -1 /etc/fstab
/stratis/redhat/rhce /mnt/stratis xfs defaults,xsystemd.requires=stratisd.service 0 0
6、扩容
[root@kongd ~]# stratis pool add-data redhat /dev/nvme0n3
[root@kongd ~]# stratis pool list
Name Total Physical Size Total Physical Used
redhat 10 GiB 602 MiB
写入数据
[root@kongd ~]# dd if=/dev/zero of=/mnt/stratis/file bs=1G count=5
5368709120 bytes (5.4 GB, 5.0 GiB) copied, 13.4471 s, 399 MB/s
7、快照
[root@kongd ~]# stratis filesystem snapshot redhat rhce snap01
[root@kongd ~]# stratis filesystem list
Pool Name Name Used Created Device UUID
redhat rhce 5.53 GiB Jan 08 2020 00:15 /stratis/redhat/rhce
fe32e43bafa046d8b82210bcd7616ac1
redhat snap01 5.53 GiB Jan 08 2020 00:23 /stratis/redhat/snap01
66e1027fcb41476786b88155593374ac
#挂载快照读取数据
[root@kongd ~]# mkdir /mnt/snap
[root@kongd ~]# mount /stratis/redhat/snap01 /mnt/snap/
[root@kongd ~]# du -sh /mnt/snap/file
5.0G /mnt/snap/file
8、一个池中可以构建多个文件系统
[root@kongd ~]# stratis filesystem create redhat rhce1
[root@kongd ~]# stratis filesystem list redhat
Pool Name Name Used Created Device UUID
redhat rhce 5.53 GiB Jan 08 2020 00:15 /stratis/redhat/rhce
fe32e43bafa046d8b82210bcd7616ac1
redhat snap01 5.53 GiB Jan 08 2020 00:23 /stratis/redhat/snap01
66e1027fcb41476786b88155593374ac
redhat rhce1 546 MiB Jan 08 2020 00:26 /stratis/redhat/rhce1
ec549c4e3bb84fa18f432109f435c520
9、文件系统删除
[root@kongd ~]# stratis filesystem destroy redhat rhce1
[root@kongd ~]# stratis filesystem destroy redhat snap01
Execution failure caused by:
ERROR: low-level ioctl error due to nix error: EBUSY: Device or resource busy
#注意:文件系统需要先卸载才能删除
[root@kongd ~]# umount /mnt/snap
[root@kongd ~]# stratis filesystem destroy redhat snap01
10、删除池
[root@kongd ~]# umount /mnt/snap
[root@kongd ~]# stratis filesystem destroy redhat snap01
[root@kongd ~]# stratis filesystem destroy redhat rhce
[root@kongd ~]# stratis pool destroy redhat

三、VDO压缩存储和删除重复数据
虚拟数据优化(Virtual Data Optimize,VDO)使用重复数据删除,压缩和精简配置的形式为Linux提供
了内联数据缩减,即通过删除存储设备上的重复数据或者压缩数据来优化存储空间。设置VDO卷时,可
以指定要在其上构造VDO卷的块设备以及计划提供的逻辑存储量。

VDO的一些命令:
1、安装VDO模块,需要的软件包是kmod-kvdo vdo
[root@kongd ~]# dnf install -y vdo kmod-kvdo
2、创建VDO卷
[root@kongd ~]# vdo create --name=vdo1 --device=/dev/nvme0n2 –
vdoLogicalSize=5G
Creating VDO vdo1
Starting VDO vdo1
Starting compression on VDO vdo1
VDO instance 0 volume is ready at /dev/mapper/vdo1
说明:这里我们指定了vdoLogicalSize,这个值可以比我们实际磁盘大许多。原因是我们将从重复数据删除
中得到很多空间。
3、分析一个VDO卷(deduplication删除重复数据 compression压缩)
[root@kongd ~]# vdo list
vdo1
[root@kongd ~]# vdo status --name vdo1
VDO status:
Date: ‘2020-01-08 01:08:30+08:00’
Node: kongd.com
Kernel module:
Loaded: true
Name: kvdo
Version information:
kvdo version: 6.2.0.293
Configuration:
File: /etc/vdoconf.yml
Last modified: ‘2020-01-08 01:06:34’

4、给vdo1一个xfs文件系统,之后挂载到/mnt/vdo1上
-K选项可防止立即丢弃文件系统中未使用的块,从而使命令返回更快
[root@kongd ~]# mkfs.xfs -K /dev/mapper/vdo1
meta-data=/dev/mapper/vdo1 isize=512 agcount=4, agsize=327680 blks
= sectsz=4096 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1, rmapbt=0
= reflink=1
data = bsize=4096 blocks=1310720, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=4096 sunit=1 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
#刷新存储设备
[root@kongd ~]# udevadm settle
[root@kongd ~]# mkdir /mnt/vdo1
[root@kongd ~]# mount /dev/mapper/vdo1 /mnt/vdo1
#设置开机自动挂载
[root@kongd ~]# tail -1 /etc/fstab
/stratis/redhat/rhce /mnt/stratis xfs defaults,x-systemd.requires=vdo.service
0 0
5、使用vdostats命令查看卷的初始统计信息和状态
[root@kongd ~]# vdostats --human-readable
Device Size Used Available Use% Space saving%
/dev/mapper/vdo1 5.0G 3.0G 2.0G 60% 98%
可以看到我们还没有写任何数据,但是已经有3GB,60%的空间正在使用中了!这是因为“通用重复数据删除索
引”已被写入磁盘。这基本上是一个数据库,用于记录slab指纹及其位置。这就是使重复数据删除成为可能的
原因。
6、查看去重功能是否开启
[root@kongd ~]# vdo status --name=vdo1 | grep Deduplication
Deduplication: enabled
7、复制文件到挂载点查看
[root@kongd ~]# cp /media/cdrom/images/install.img /mnt/vdo1/
[root@kongd ~]# vdostats --human-readable
Device Size Used Available Use% Space saving%
/dev/mapper/vdo1 5.0G 3.4G 1.6G 68% 2%
8、再次复制两个相同文件查看
[root@kongd ~]# cp /media/cdrom/images/install.img /mnt/vdo1/install.img1
[root@kongd ~]# cp /media/cdrom/images/install.img /mnt/vdo1/install.img2
[root@kongd ~]# vdostats --human-readable
Device Size Used Available Use% Space saving%
/dev/mapper/vdo1 5.0G 3.4G 1.6G 68% 64%
[root@kongd ~]# du -sh /mnt/vdo1/
1.4G /mnt/vdo1/
总结:会发现传一个相同的文件,但是占用磁盘空间并不会发生变化。

你可能感兴趣的:(linux,服务器)