Please enable Javascript to view the contents

Fluid 下的 Juicefs 企业版维护

 ·  ☕ 1 分钟

1. 设置环境变量

1
2
export NAMESPACE=xxx
export PVC=xxx

2. Dataset 无法就绪

2.1 Fluid 组件问题

1
kubectl -n fluid-system get pod -o wide | grep -v "Running"

可能出现没有正常启动的情况。

2.2 有异常的 Dataset

异常的资源可能导致 Fluid 资源不断重启,需要人工介入删除。

3. Fuse 问题,无法使用 PVC

3.1 没有创建 Fuse Pod

节点缺少标签,下面这个命令可以给全部节点打标签:

1
kubectl label node fluid.io/f-${NAMESPACE}-${PVC}=true --all

下面是标签的格式:

1
fluid.io/f-<namespace>-<pvc>=true

3.2 Fuse 挂载有问题

1
kubectl -n ${NAMESPACE}  logs -l release=${PVC},role=juicefs-fuse -f --max-log-requests 100
  • could not find the requested resource
1
Error from server (NotFound): the server could not find the requested resource ( pods/log ${PVC}-fuse-8xnmd)
  • fuse 报错

强制删除 fuse pod

4. Worker 问题,缓存异常

4.1 Worker PartialReady

  1. 查看 JuiceFSRuntime 的状态
1
2
3
4
kubectl -n ${NAMESPACE} get juicefsruntimes.data.fluid.io

NAME    WORKER PHASE   FUSE PHASE   AGE
${PVC}   PartialReady   Ready        32m
  1. 查看 Worker 的日志
1
2
3
kubectl -n ${NAMESPACE}  logs -l release=${PVC},role=juicefs-worker -f --max-log-requests 100

Error from server (NotFound): the server could not find the requested resource ( pods/log ${PVC}-worker-53)
  1. 删除异常的 Worker

这种 Worker 可能是正常启动的,但是 Fluid 获取不到其 stats 状态,会判断其未就绪。

1
kubectl -n ${NAMESPACE} delete pod ${PVC}-worker-53
  1. 移除异常 Worker 节点的标签

如果 worker 是使用了 nodeSelector 选择节点,应该移除改节点的标签。

5. 速度波动很大

5.1 有跨区域的 Worker 组建了分布式缓存

1
2
3
kubectl -n ${NAMESPACE}  logs -l release=${PVC},role=juicefs-worker

2025/01/16 04:12:05.546591 juicefs[189] <INFO>: add peer x.x.102.47:42769 with weight 100 [peer.go:773]

在 Worker 的日志中,通过 add peer 可以找到全部的缓存节点,检查是否有不符合预期的节点。同一个 cache group 的节点应该在同一个区域。

5.2 没有在 Worker 节点预热

JuiceFS 有两级缓存,如果在 Fuse 预热,只能在当前节点使用缓存,应该去 Worker 节点预热,才能提供给其他节点使用。


微信公众号
作者
微信公众号