From 9de2b5816ff30dd2d2be5a81192261a652d30783 Mon Sep 17 00:00:00 2001 From: luaping <9630029+luaping@user.noreply.gitee.com> Date: Tue, 30 Aug 2022 10:19:26 +0000 Subject: [PATCH] =?UTF-8?q?rename=20Test=5FResult/openEuler=5F22.09/openEu?= =?UTF-8?q?ler=2022.09=E7=89=88=E6=9C=ACqtfs=E7=89=B9=E6=80=A7=E6=B5=8B?= =?UTF-8?q?=E8=AF=95=E6=8A=A5=E5=91=8A.md.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: luaping <9630029+luaping@user.noreply.gitee.com> --- ...13\350\257\225\346\212\245\345\221\212.md" | 69 +++++++++++------- image.png | Bin 0 -> 45860 bytes 2 files changed, 42 insertions(+), 27 deletions(-) rename "Test_Result/openEuler_22.09/openEuler XX\347\211\210\346\234\254XX\347\211\271\346\200\247\346\265\213\350\257\225\346\212\245\345\221\212\346\250\241\346\235\277.md" => "Test_Result/openEuler_22.09/openEuler 22.09\347\211\210\346\234\254qtfs\347\211\271\346\200\247\346\265\213\350\257\225\346\212\245\345\221\212.md" (48%) create mode 100644 image.png diff --git "a/Test_Result/openEuler_22.09/openEuler XX\347\211\210\346\234\254XX\347\211\271\346\200\247\346\265\213\350\257\225\346\212\245\345\221\212\346\250\241\346\235\277.md" "b/Test_Result/openEuler_22.09/openEuler 22.09\347\211\210\346\234\254qtfs\347\211\271\346\200\247\346\265\213\350\257\225\346\212\245\345\221\212.md" similarity index 48% rename from "Test_Result/openEuler_22.09/openEuler XX\347\211\210\346\234\254XX\347\211\271\346\200\247\346\265\213\350\257\225\346\212\245\345\221\212\346\250\241\346\235\277.md" rename to "Test_Result/openEuler_22.09/openEuler 22.09\347\211\210\346\234\254qtfs\347\211\271\346\200\247\346\265\213\350\257\225\346\212\245\345\221\212.md" index bc9641c..0e76d6b 100644 --- "a/Test_Result/openEuler_22.09/openEuler XX\347\211\210\346\234\254XX\347\211\271\346\200\247\346\265\213\350\257\225\346\212\245\345\221\212\346\250\241\346\235\277.md" +++ "b/Test_Result/openEuler_22.09/openEuler 22.09\347\211\210\346\234\254qtfs\347\211\271\346\200\247\346\265\213\350\257\225\346\212\245\345\221\212.md" @@ -8,28 +8,40 @@ | 日期 | 修订 版本 | 修改描述 | 作者 | | ---- | ----------- | -------- | ---- | -| | | | | -| | | | | -| | | | | +|2022-08-29| v1.0 |添加qtfs特性测试报告|鲁阿平| - 关键词: +关键词: qtfs - - -摘要: - - +摘要:qtfs是一个共享文件系统项目,可部署在host-dpu的硬件架构上,也可以部署在2台服务器之间。以客户端服务器的模式工作,使客户端能通过qtfs访问服务端的指定文件系统,就像访问本地文件系统一样。qtfs提供客户端和服务端的内核模块,以网络通信建立联系。 +服务端的线程作为客户端的代理而存在,为客户端访问服务端的文件系统提供支持。 缩略语清单: | 缩略语 | 英文全名 | 中文解释 | | ------ | -------- | -------- | -| | | | -| | | | + # 1 特性概述 -描述特性提供的基本能力 +支持挂载点传播; + +支持proc、sys、cgroup等特殊文件系统的共享; + +客户端对qtfs目录下文件的操作都被转移到服务端,文件读写可共享; + +支持在客户端对服务端的文件系统进行远程挂载; + +可以定制化处理特殊文件; + +支持远端fifo、unix-socket等,并且支持epoll,使客户端和服务端像本地通信一样使用这些文件; + +基于host-dpu架构时,底层通信方式可以支持PCIe,性能大大优于网络; + +内核模块形式开发,无需对内核进行侵入式修改。 + +共享系统文件软件架构设计-qtfs + +![输入图片说明](../../image.png) # 2 特性测试信息 @@ -37,39 +49,43 @@ | 版本名称 | 测试起始时间 | 测试结束时间 | | -------- | ------------ | ------------ | -| | | | -| | | | -| | | | +|openEuler-22.09| 2022-08-23| 2022-08-25 | +|openEuler-22.09| 2022-08-25| 2022-08-29 | | -描述特性测试的硬件环境信息 +qtfs特性测试硬件环境信息 | 硬件型号 | 硬件配置信息 | 备注 | | -------- | ------------ | ---- | -| | | | + # 3 测试结论概述 ## 3.1 测试整体结论 -测试结论可以以一句话描述,如:XX特性,共计执行XX个用例,主要覆盖了XX测试和XX测试,通过经过fuzz和7*24的长稳测试,发现问题已解决,回归通过,无遗留风险,整体质量良好;或者表格的方式进行说明 +openEuler22.09版本qtfs特性测试,主要覆盖功能测试,接口测试,可靠性测试;qtfs环境安装部署,挂载qtfs;远端挂载;实现跨主机fifo通信,基础命令行测试以及基于qtfs的Docker无感卸载方案验证,1个遗留问题 | 测试活动 | 活动评价 | | -------- | -------- | -| 接口测试 | | -| 功能测试 | | -| 专项测试 | | +| 接口测试 |覆盖qtfs文件系统下主要命令行功能 (ls、cat、echo、mkdir、rmdir、mv、cp、rm等) | +| 功能测试 |挂载qtfs,远端挂载等场景;实现跨主机fifo通信场景;基于qtfs的Docker无感卸载方案验证等场景 | + ## 3.2 约束说明 -特性使用时涉及到的约束及限制条件 +两台服务器(或虚拟机)安装openEuler 2209版本(要求内核版本5.10);两台服务器分别作为client和server + +服务端机器安装qtfs-server rpm并插入KO,拉起用户态engine进程; + +engine 4096 16 # 拉起用户态进程engine,4096为分配用户态指针大小;16为最大并发线程数量 + ## 3.3 遗留问题分析 ### 3.3.1 遗留问题影响以及规避措施 -| 问题单号 | 问题描述 | 问题级别 | 问题影响和规避措施 | 当前状态 | -| -------- | -------- | -------- | ------------------ | -------- | -| | | | | | +| 问题单号 | 问题描述 | 问题级别 | 问题影响和规避措施 | 当前状态 | +| -------- | -------- | -------- | ------------------ | -------- | +| | 本地unix socket在文件系统中尚未支持| 主要| 将使用到的unix socket替换为tcp通信|挂起| | | | | | | ### 3.3.2 问题统计 @@ -99,11 +115,10 @@ ## 4.2 后续测试建议 -后续测试需要关注点(可选) # 5 附件 -*此处可粘贴各类专项测试数据或报告* +无 diff --git a/image.png b/image.png new file mode 100644 index 0000000000000000000000000000000000000000..7b2a23865068c416d63e8302ec4e758a24082977 GIT binary patch literal 45860 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