
3FS部署怎么选Docker对比物理机跑通6.6 TiB/s读吞吐完整指南【免费下载链接】3FSA high-performance distributed file system designed to address the challenges of AI training and inference workloads.项目地址: https://gitcode.com/gh_mirrors/3f/3FS本文对比 3FS 的两种部署方式Docker 容器化构建与物理机部署。面向需要为 AI 训练或推理工作负载落地分布式文件系统的工程师帮你在 10 分钟内定下选型。方案速览维度Docker 容器化构建物理机部署适用对象开发、CI/CD、版本验证生产集群、AI 训练/推理上手成本低拉取官方 build 镜像3 条命令开始编译高Step 0~8 共 9 步手工流程 数据布局脚本性能特点定位为构建环境不承担数据面NVMe 直挂 RDMA180 节点实测聚合读 ~6.6 TiB/s关键文件dockerfile/、官方 build 镜像deploy/README.md、deploy/systemd/方案一Docker 容器化构建环境结论3FS 仓库中 Docker 的定位是「标准化构建环境」而非生产运行容器不要指望在容器里跑满数据面性能。是什么dockerfile/提供 4 个 DockerfileUbuntu 22.04、CentOS Stream 9、OpenCloudOS 9、Ubuntu 20.04预装 clang-14、FoundationDB 客户端 7.3.63、libfuse 3.16.2meson 编译动态静态库与 Rust 工具链官方另提供两个预制构建镜像TencentOS-4docker.io/tencentos/tencentos4-deepseek3fs-build:latestOpenCloudOS-9docker.io/opencloudos/opencloudos9-deepseek3fs-build:latest关键步骤容器内git clone https://gitcode.com/gh_mirrors/3f/3FS cmake -S . -B build -DCMAKE_BUILD_TYPERelWithDebInfo -DSHUFFLE_METHODg10 cmake --build build -j 32代价与限制容器只解决「编译环境一致性」部署到生产时 storage 仍需物理机直挂 NVMe组件间通信依赖 RDMAInfiniBand 或 RoCE见docs/design_notes.md。必须显式传-DSHUFFLE_METHODg10或g11不同编译器版本编译的二进制可能不兼容README.mdBuild 3FS 一节。方案二物理机部署6 节点最小集群 9 步搭建结论物理机部署是官方生产路径deploy/README.md给出最小集群1 meta 5 storage的完整流程。最小集群节点配置节点配置metaUbuntu 22.04128GB承载 FDB、ClickHouse、monitor、mgmtd、metastorage1~5512GB14TB SSD × 16RoCE关键步骤Step 0~8 摘选编译产物拷入/opt/3fs/bin导入监控表deploy/sql/3fs-monitor.sql依次启动 monitor、admin_cli、mgmtd 并初始化集群chain table ID1、chunk 1MiB、stripe 16admin_cli -cfg admin_cli.toml init-cluster --mgmtd mgmtd_main.toml 1 1048576 16SSD 格式化为 XFS 并提升 AIO 上限mkfs.xfs -L data${i} -s size4096 /dev/nvme${i}n1 sysctl -w fs.aio-max-nr67108864用deploy/data_placement/src/model/data_placement.py解出 3 副本链布局5 节点 × 16 盘 × 6 target再upload-chains、upload-chain-table通过deploy/systemd/服务文件启动 storage 与 FUSE 客户端挂载到/3fs/stage。代价与限制每个服务需要 3 个 tomllauncher/main/app*_main.toml改动必须用admin_cli set-config重新上传到 mgmtdFoundationDB 客户端libfdb_c.so版本须与服务端一致deploy/README.md前置条件数据面至少需要 2 个 storage 服务单机测试可在同一机器部署多实例绕过。数据说话结论仓库README.md提供三组物理机实测基准Docker 侧的性能损耗仓库无数据本文不给出参考值。基准集群规模结果大块读压测180 storage 节点2×200Gbps IB 16×14TiB NVMe 500 客户端聚合读 ~6.6 TiB/sGraySort25 storage2×400Gbps 50 计算节点110.5 TiB / 8192 分区30 分 14 秒均值 3.66 TiB/minKVCache 读每节点 1×400Gbps NIC峰值 40 GiB/s客户端侧一个关键数据点FUSE 客户端 4KiB 小块读上限约 400K IOPS继续加线程不涨内核自旋锁竞争出自docs/design_notes.md小读高 IOPS 场景应改用 USRBIO 零拷贝原生接口配套基准工具为benchmarks/fio_usrbio/的 fio 引擎。选型决策路径场景推荐方案一句话理由开发 / CI 编译验证Docker 构建镜像FDB 7.3.63、libfuse 3.16.2、Rust 全预装免手工装依赖小测试集群按deploy/README.md搭 6 节点物理机官方指南可直接复现含数据布局脚本AI 训练生产物理机 RDMA USRBIOFUSE 小读 IOPS 封顶零拷贝才能吃满 NVMe RDMA 带宽推理 KVCache物理机 400Gbps NIC实测峰值 40 GiB/s容量显著大于 DRAM 缓存落地建议与避坑锁死编译参数全集群统一-DSHUFFLE_METHODg10或g11混用编译器会产生不兼容二进制依据README.md。mgmtd 配置敏感init-cluster后 mgmtd 起不来多半是mgmtd_main.toml有误改它必须清空 FoundationDB 数据重新初始化依据deploy/README.mdFAQ。客户端与服务分离生产环境不要在服务节点上部署 FUSE 客户端指南明确建议依据deploy/README.mdStep 8。混合组合构建与 CI 用 Docker服务层 mgmtd/meta 无状态可多实例自动接管storage 必须落物理机直挂 NVMe依据docs/design_notes.md。资源速查部署指南deploy/README.md构建镜像与 Dockerfiledockerfile/服务配置模板configs/链表/数据布局生成deploy/data_placement/fio 基准测试插件benchmarks/fio_usrbio/【免费下载链接】3FSA high-performance distributed file system designed to address the challenges of AI training and inference workloads.项目地址: https://gitcode.com/gh_mirrors/3f/3FS创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考