长期支持版本

    qtfs

    介绍

    qtfs是一个共享文件系统项目,可部署在host-dpu的硬件架构上,也可以部署在2台服务器之间。以客户端服务器的模式工作,使客户端能通过qtfs访问服务端的指定文件系统,得到本地文件访问一致的体验。

    qtfs的特性:

    • 支持挂载点传播;

    • 支持proc、sys、cgroup等特殊文件系统的共享;

    • 支持远程文件读写的共享;

    • 支持在客户端对服务端的文件系统进行远程挂载;

    • 支持特殊文件的定制化处理;

    • 支持远端fifo、unix-socket等,并且支持epoll,使客户端和服务端像本地通信一样使用这些文件;

    • 支持基于host-dpu架构通过PCIe协议底层通信,性能大大优于网络;

    • 支持内核模块形式开发,无需对内核进行侵入式修改。

    软件架构

    软件大体框架图:

    qtfs-arch

    安装教程

    目录说明:

    • qtfs: 客户端内核模块相关代码,直接在该目录下编译客户端ko。

    • qtfs_server: 服务端内核模块相关代码,直接在该目录下编译服务端ko和相关程序。

    • qtinfo:诊断工具,支持查询文件系统的工作状态以及修改log级别等。

    • demotestdoc:测试程序、演示程序以及项目资料等。

    • 根目录: 客户端与服务端通用的公共模块代码。

    首先找两台服务器(或虚拟机)配置内核编译环境:

    1. 要求内核版本在5.10或更高版本。
    2. 安装内核开发包:yum install kernel-devel。
    3. 假设host服务器ip为192.168.10.10,dpu为192.168.10.11。

    服务端安装:

        1. cd qtfs_server
        2. make clean && make
        3. insmod qtfs_server.ko qtfs_server_ip=192.168.10.10 qtfs_server_port=12345 qtfs_log_level=WARN
        4. nohup ./engine 16 1 192.168.10.10 12121 192.168.10.11 12121 2>&1 &
    

    客户端安装:

        1. cd qtfs
        2. make clean && make
        3. insmod qtfs.ko qtfs_server_ip=192.168.10.10 qtfs_server_port=12345 qtfs_log_level=WARN
        4. cd ../ipc/
        5. make clean && make && make install
        6. nohup udsproxyd 1 192.168.10.11 12121 192.168.10.10 12121 2>&1 &
    

    使用说明

    安装完成后,客户端通过挂载把服务端的文件系统让客户端可见,例如:

        mount -t qtfs / /root/mnt/
    

    客户端进入"/root/mnt"后便可查看到服务端的所有文件,以及对其进行相关操作。

    文档捉虫

    “有虫”文档片段

    问题描述

    提交类型 issue

    有点复杂...

    找人问问吧。

    PR

    小问题,全程线上修改...

    一键搞定!

    问题类型
    规范和低错类

    ● 错别字或拼写错误;标点符号使用错误;

    ● 链接错误、空单元格、格式错误;

    ● 英文中包含中文字符;

    ● 界面和描述不一致,但不影响操作;

    ● 表述不通顺,但不影响理解;

    ● 版本号不匹配:如软件包名称、界面版本号;

    易用性

    ● 关键步骤错误或缺失,无法指导用户完成任务;

    ● 缺少必要的前提条件、注意事项等;

    ● 图形、表格、文字等晦涩难懂;

    ● 逻辑不清晰,该分类、分项、分步骤的没有给出;

    正确性

    ● 技术原理、功能、规格等描述和软件不一致,存在错误;

    ● 原理图、架构图等存在错误;

    ● 命令、命令参数等错误;

    ● 代码片段错误;

    ● 命令无法完成对应功能;

    ● 界面错误,无法指导操作;

    风险提示

    ● 对重要数据或系统存在风险的操作,缺少安全提示;

    内容合规

    ● 违反法律法规,涉及政治、领土主权等敏感词;

    ● 内容侵权;

    您对文档的总体满意度

    非常不满意
    非常满意
    提交
    根据您的反馈,会自动生成issue模板。您只需点击按钮,创建issue即可。
    文档捉虫
    编组 3备份