Replies: 4 comments
-
JuiceFS connects to the etcd with the address resolved by the local system DNS. Maybe you can debug on this function to see what really happens. |
Beta Was this translation helpful? Give feedback.
-
My local system DNS resolve ss.ts.bbxy.net to 100.80.x.x. I am not familiar to etcd, is it possible some etcd API returns the node's IP addresses and juicefs just pick one of the address to connect? The wired thing is, if it is a DNS issue, juicefs should not be able to I will try debug the function later |
Beta Was this translation helpful? Give feedback.
-
I try format and mount the fs by IP address, not domain name, juicefs is still try to connect to a LAN address.
I format and mount the fs by specifying |
Beta Was this translation helpful? Give feedback.
-
Yes, juicefs will connect to the IP (leader) returned by ETCD. |
Beta Was this translation helpful? Give feedback.
-
What happened:
I have a etcd cluster with 3 nodes. The nodes are in the same VPN (100.80.x.x). And the nodes also have an LAN address (192.168.0.x).
The nodes are located in different LAN, they can't communicate to each other directly, they have to communicate to each other via VPN(100.80.x.x). Also, I built the cluster within the VPN.
I created an juicefs storage:
Note: ss.ts.bbxy.net is resolved to 100.80.x.x
Then mount it:
Now copy a large file into
mnt
, the command stucked. juicefs printed some error logs:The logs shows that juicefs is trying to connect to 192.168.0.44 (LAN address of ss.ts.bbxy.net) and 192.168.0.33 (an other etcd node), which is a LAN address, and I can't connect to this LAN address because it's an other LAN. I think this is the cause of the copy file stuck.
The wired things is, I configure the etcd cluster and the juicefs within the VPN (100.80.x.x), it should not known there is any LAN address(192.168.0.x) and should not try to connect to such address.
What you expected to happen:
cp not stuck. And juicefs not trying to connect to a LAN address (192.168.0.x)
How to reproduce it (as minimally and precisely as possible):
Already describe above.
Anything else we need to know?
No
Environment:
JuiceFS version (use
juicefs --version
) or Hadoop Java SDK version: juicefs version 1.2.0+2024-06-18.873c47bCloud provider or hardware configuration running JuiceFS: self maintained
OS (e.g
cat /etc/os-release
): Debian trixie/sidKernel (e.g.
uname -a
):Linux 6.8.12-amd64 update reader length after write #1 SMP PREEMPT_DYNAMIC Debian 6.8.12-1 (2024-05-31) x86_64 GNU/LinuxObject storage (cloud provider and region, or self maintained): self maintained
Metadata engine info (version, cloud provider managed or self maintained): etcd Version: 3.4.33
Network connectivity (JuiceFS to metadata engine, JuiceFS to object storage): tailscaled VPN
Others:
Beta Was this translation helpful? Give feedback.
All reactions