mirror of
https://github.com/deepseek-ai/3FS.git
synced 2026-11-05 00:47:47 +00:00
[GH-ISSUE #39] [failed to setup single node demo] can expert write one single node run minimum system for study code and architecture. #23
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#23
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 @gaowayne on GitHub (Mar 2, 2025).
Original GitHub issue: https://github.com/deepseek-ai/3FS/issues/39
it will be great that create one single node deployment steps with concise steps.
@yiyuanliu commented on GitHub (Mar 2, 2025):
There is a test script that performs functionality testing by deploying a simple file system on a single node. You can modify this script by replacing all test commands with
sleep infinity. Then run it using the command:bash run.sh <path to 3fs binary> <path to test directory>. The script will start all necessary processes locally (fdb, mgmtd, meta, storage) and mount the filesystem with FUSE. When the script exits, it will attempt to kill all processes and unmount the filesystem.Note: 3FS still requires RDMA network even for single-node deployment.
@gaowayne commented on GitHub (Mar 2, 2025):
that is great. if I want to just test fuse client, not native client, can I skip RDMA network? I already build code well, I will try different options. 👍
@yiyuanliu commented on GitHub (Mar 2, 2025):
No, you still need an RDMA network even when using FUSE. Our storage servers only provide RDMA-based data access interfaces.
@gaowayne commented on GitHub (Mar 8, 2025):
buddy to double check with you. I need remove all scripts code
between
and
replace all these with sleep infinity, is this correct?
@gaowayne commented on GitHub (Mar 8, 2025):
@yiyuanliu buddy, I am trying to run the tests directly. but I suffer below error.
@gaowayne commented on GitHub (Mar 8, 2025):
I do have one RDMA NIC there. :)
see my ibstat:
@gaowayne commented on GitHub (Mar 11, 2025):
@yiyuanliu buddym I fixed RDMA NIC, I can run ib_send_bw well in the NIC.
now I run below commands
bash run1.sh /root/wayne/3fs/3FS/build/bin /mnt/nvme2n1/3fsdir
I still see below error
@gaowayne commented on GitHub (Mar 11, 2025):
anyone know the fix for this issue?
@yiyuanliu commented on GitHub (Mar 11, 2025):
This should be a configuration file issue. Some environment variables in the configuration file used by the test scripts need to be rendered using tools like Jinja. This step is missing in the test script. I will try to fix this problem later.
@gaowayne commented on GitHub (Mar 12, 2025):
yeah, I just re-use default source code's config file. if there is any work around that I can continue?
@gaowayne commented on GitHub (Mar 12, 2025):
@yiyuanliu if this confige file is wrong, please suggest? :)
@gaowayne commented on GitHub (Mar 12, 2025):
buddy, when you fix this issue, could you please let me know the PR, I can help you test it out
@yiyuanliu commented on GitHub (Mar 12, 2025):
#161 I modified the run.sh and configuration files, which should have resolved this issue. You can try it out, and if it works fine, I will merge it into the main branch.
@gaowayne commented on GitHub (Mar 13, 2025):
there is one build issue like below after I git pull latest include your fix as latest PR. could you please take a look at?
@yiyuanliu commented on GitHub (Mar 14, 2025):
My PR doesn't change any code, it only modifies scripts and configuration files. Could you reduce the number of parallel compilation jobs and try again? The process might have been killed due to using too much memory during compilation.
@gaowayne commented on GitHub (Mar 14, 2025):
others change the code, I update rust build now it works, and I verified mgmtd issue is fixed. :)
@gaowayne commented on GitHub (Mar 14, 2025):
@yiyuanliu I met new error now
here is crashed storage server
@yiyuanliu commented on GitHub (Mar 14, 2025):
You may see error message in
<your_test_dir>/log/storage.log.I suspect the storage server process failed to start due to insufficient memory or the process unable to lock memory. This PR #180 reduces memory usage.
@gaowayne commented on GitHub (Mar 17, 2025):
I rebuild, now I did not see storage server crash issue. but I failed to write 1.txt under test folder now.
I did not find any error in the error log. @yiyuanliu
@yiyuanliu commented on GitHub (Mar 17, 2025):
Please modify this line to
--skip-config-check 1 524288 1and try again. https://github.com/deepseek-ai/3FS/blob/main/tests/fuse/run.sh#L154@wiryls commented on GitHub (Mar 19, 2025):
@yiyuanliu hi, can I run this nice script in a docker container? I tried it and it doesn't seem to work, do I need to make more changes?
@wiryls commented on GitHub (Mar 24, 2025):
OK, i made it in a ubuntu 20.04 container after some tossing.
Some of the changes made here are as follows:
grep -E '(en|eth|ib|bond)'inrun.shkMaxDeviceCntin functionIBDevice::openAllofsrc/common/net/ib/IBDevice.cc.device_filterintotests/fuse/config/meta_main_launcher.toml, but it not works. Evendevice_filteris empty in log files.@yiyuanliu commented on GitHub (Mar 25, 2025):
Could you describe what error you encountered? It seems you've run into an RDMA network-related error, but without knowing the specific error details, I cannot provide concrete suggestions. When using RDMA networks in container environments, using privileged containers can avoid many issues.
@wiryls commented on GitHub (Apr 2, 2025):
The original question was because, when checking the logs for run failures, there was a warning like “maybe run in container“. Makes me think that scripts don't support running in containers.
It's currently working so most of the previous logs are missing. The errors that can be recalled so far are:
ADDRESSis empty thus the rest of the script to report other errors. I fix it by adding "bond" into grep.And also our node have with more than 4 IBs. It makes the following code reports an error:
github.com/deepseek-ai/3FS@dfadd59868/src/common/net/ib/IBDevice.cc (L260-L266)I tried adding
device_filter = ['...', '...']intotests/fuse/config/meta_main_launcher.tomlbut it didn't work. I can confirm that the configuration file has the field, but it is still empty in the related logs. I ended up modifying the code directly.The rest are errors caused by missing dependencies, scattered in different log files.