mirror of
https://github.com/deepseek-ai/3FS.git
synced 2026-11-05 00:47:47 +00:00
[GH-ISSUE #78] [Build Guide] build 3FS with docker #43
Labels
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
deepseek-ai/3FS#43
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @Wine93 on GitHub (Mar 4, 2025).
Original GitHub issue: https://github.com/deepseek-ai/3FS/issues/78
Thanks to deepseek, we have access to the outstanding filesystem 3FS.
If you want to compile or use 3FS, here is a guide to compiling with docker for you.
Step 1: create container
Step2: install dependencies
2.1 install dependencies
2.2 install foundationdb
2.3 build and install fuse
Step 3: build 3FS
It will generates binrary shown as below once build success:
@shuiyihang commented on GitHub (Mar 4, 2025):
Thanks for your guide, I used the compiled program in the container as follows:
/opt/3fs/bin/monitor_collector_main --cfg /opt/3fs/etc/monitor_collector_main.tomlThis error has occurred. Have you encountered it
@baijing0818 commented on GitHub (Mar 4, 2025):
根据帖子提示构建的Dockerfile,你们可以尝试构建:
但是,我的思路是确保其能够类似 Ceph 进行多节点集群化部署,并直接管理本地磁盘,如果能借鉴 Ceph 的容器化架构,将 3FS 的各组件解耦成独立容器,但是采用同一镜像,不同的启动命令参数以启动不同角色容器,支持多节点集群部署,并利用 systemd 管理容器的生命周期,这样方便迁移和组件改造升级。
3FS(Fire-Flyer File System)由 集群管理(Cluster Manager) 、 元数据服务(Metadata Service) 、 存储服务(Storage Service) 和 客户端(Client) 四部分组成 (3FS/docs/design_notes.md at main · deepseek-ai/3FS · GitHub)。
那么比如:为存储服务编写/etc/systemd/system/3fs-storage@.service模板,
例如:
使每块磁盘对应一个实例名启动(实例名可采用磁盘标识或节点ID)
然后mgmtd 组建容器类似:
我感觉完全docker化目前还尚早,等市场反应,稍后应该会有各家集成。
@baijing0818 commented on GitHub (Mar 4, 2025):
另外,追加一个精简镜像构建:
示例:
以及磁盘:
@baijing0818 commented on GitHub (Mar 4, 2025):
你网络硬件不支持,没有IB网卡吧,
注意设备
@shuiyihang commented on GitHub (Mar 4, 2025):
这个问题刚刚解决了,是我的clickhouse没有配置正确。
我在Step 4: Mgmtd service遇到了新的问题,使用
/opt/3fs/bin/admin_cli -cfg /opt/3fs/etc/admin_cli.toml "init-cluster --mgmtd /opt/3fs/etc/mgmtd_main.toml 1 1048576 16"大约十几分钟终端一直被卡着,无法完成,您知道这是什么情况吗@szukeymaker commented on GitHub (Mar 5, 2025):
systemctl start foundationdb
@shuiyihang commented on GitHub (Mar 5, 2025):
thanks,it's work!
service foundationdb start@photoszzt commented on GitHub (Mar 6, 2025):
Maybe it's time to package it as daemonset and helm charts for Kubernetes.
@xiaoyaoyouyue commented on GitHub (Mar 7, 2025):
请教下,当我使用docker-compose.yaml 和Dockerfile 生成了3fs的镜像以及容器了以后,是否可以复制多分,然后来分别构件meta,storage,management,client 几个容器,来分别承担对应功能?
@Icedroid commented on GitHub (Mar 14, 2025):
@shuiyihang 大佬,这个问题你有遇到过吗?
@Icedroid commented on GitHub (Mar 14, 2025):
这个解决,要搜索源码,将有fbs.startsWith("bond")的地方,同样加个判断 fbs.startsWith("Bond")
@Icedroid commented on GitHub (Mar 14, 2025):
我也发现这个一直卡住是什么原因,我foundationdb服务是启动的
/opt/3fs/bin/admin_cli -cfg /opt/3fs/etc/admin_cli.toml "init-cluster --mgmtd /opt/3fs/etc/mgmtd_main.toml 1 1048576 16"
@gongweicher commented on GitHub (Apr 21, 2025):
hello, 我遇到了同样的问题。foundationdb服务是启动的,但执行/opt/3fs/bin/admin_cli -cfg /opt/3fs/etc/admin_cli.toml "init-cluster --mgmtd /opt/3fs/etc/mgmtd_main.toml 1 1048576 16" 会一直卡住。 求问后来如何解决的问题~
@zhulin5211314 commented on GitHub (Apr 25, 2025):
加一下fdb的日志,看下是不是版本有问题
@interestingyong commented on GitHub (Apr 27, 2025):
https://blog.open3fs.com/2025/03/28/deploy-3fs-with-m3fs.html
有人尝试过m3fs 直接部署3fs吗
@gongweicher commented on GitHub (Apr 28, 2025):
我是两个容器内foundationdb客户端/服务端的libfdb_c.so版本没对齐 打平后就OK啦~ THX
@interestingyong commented on GitHub (Apr 28, 2025):
docker cp 3fs-fdb:/usr/lib/libfdb_c.so libfdb_c.so
Successfully copied 23.7MB to /root/libfdb_c.so
root@node220:~# docker cp 3fs-mgmtd:/usr/lib/libfdb_c.so libfdb_c.so_2
Successfully copied 23.7MB to /root/libfdb_c.so_2
root@node220:
# md5sum libfdb_c.so# md5sum libfdb_c.so_2bc3b99a82c71b4ca254cc45ee042455a libfdb_c.so
root@node220:
ab004522b444ef2bfffbfdefced5d834 libfdb_c.so_2
直接替换吗 @gongweicher
@interestingyong commented on GitHub (Apr 28, 2025):
我用docker cp替换了文件 然后restart 还是不行
[2025-04-28T08:41:50.134543622+00:00 Collector: 9 Recorder.cc:98 DEBUG] Last 30s fdb_total_count_get: 1
[2025-04-28T08:44:45.474362672+00:00 admin_cli: 1 SysResource.cc:55 INFO] rlimit for number of files has already been met. 524288 <= 1048576
[2025-04-28T08:44:45.479609696+00:00 admin_cli: 1 admin_cli.cc:210 INFO] cli start cmd = "init-cluster --mgmtd /opt/3fs/etc/mgmtd_main.toml 1 1048576 16" verbose = true profile = false
[2025-04-28T08:44:45.486021728+00:00 admin_cli: 1 MetaStore.cc:32 INFO] MetaStore::initFs
[2025-04-28T08:45:15.477343466+00:00 Collector: 9 Recorder.cc:98 DEBUG] Last 30s fdb_total_count_get: 1
[2025-04-28T08:45:29.512653746+00:00 admin_cli: 1 SysResource.cc:55 INFO] rlimit for number of files has already been met. 524288 <= 1048576
[2025-04-28T08:45:29.517859276+00:00 admin_cli: 1 admin_cli.cc:210 INFO] cli start cmd = "init-cluster --mgmtd /opt/3fs/etc/mgmtd_main.toml 1 1048576 16" verbose = true profile = false
[2025-04-28T08:45:29.524296857+00:00 admin_cli: 1 MetaStore.cc:32 INFO] MetaStore::initFs
[2025-04-28T08:45:59.515701798+00:00 Collector: 8 Recorder.cc:98 DEBUG] Last 30s fdb_total_count_get: 1
@Hansyangxingxiang commented on GitHub (May 16, 2025):
build容器镜像以及容器化部署指导:
https://github.com/deepseek-ai/3FS/pull/278/files#diff-ca7e13c458ccb7bf066db5e364787a8420bc72b672d43e5bc881aaeef34b7110
@interestingyong commented on GitHub (May 16, 2025):
好人一生平安 我后续试试
@huww98 commented on GitHub (May 16, 2025):
Take a look at our approach with helm chart