• Linux比较重要命令使用总结


    一、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
    ​
    
    将活动配置文件切换到其他配置文件,实现最大吞吐量
    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
    完整配置
  • 相关阅读:
    【Mac】Indesign 2023 Mac(ID2023) v18.5中文版安装教程
    小程序入门——详细教程
    Google 为造芯再掀“抢人大战”,英特尔 17 年老将加入
    上位机模块之通用重写相机类
    【软考】系统集成项目管理工程师(十)项目质量管理
    【代码精读】optee_os的启动
    proto转换Dart | 项目使用Protobuf | flutter 使用grpc
    Unity 编辑器资源导入处理函数 OnPostprocessTexture :深入解析与实用案例
    std::future, std::async, std::promise
    【大咖说Ⅰ】北邮博导石川教授:图机器学习及其应用
  • 原文地址:https://blog.csdn.net/Newcomer_L/article/details/127755836