分配 GC 会默默失败
游牧民族版本
游牧族 v 2. 0.
建设日期 2026-04-21T15:42:13Z
订正7a90601f4d9bc473718311fe5167c0c1f66500ba操作系统和环境细节
德比安语Name
问题
在某些情况下,GC的分配额被标出并按日志收集,但旧数据仍留在磁盘上:
`日记克特尔-乌游牧地|(grep ea308738-40b6-f5c4-9f12-e89d46a9a1c)'
2026-07-29T10:01:16.831+0200 [INFO]客户端. gc:为GC作标记分配: anoc id=ea308738-40b6-f5c4-9f12-e89d46a9aa1c
2026-07-30T10:02:45.415+0200 [INFO]客户端. gc:垃圾收集分配: aloc id=ea308738-40b6-f5c4-9f12-e89d46a9aa1c cause="强制收集".`树/opt/nomad/data/a308738-40b6-f5c4-9f12-e89d46a9a1c'
/opt/nomad/data/alloc/ea308738-40b6-f5c4-9f12-e89d46a9a1c
=====================================================================================
数据
++++ 日志
(原始内容存档于2019-10-29) (英语).
(原始内容存档于2017-10-29) (英语).
{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢?
└──
当地
私人活动
# # # 保险库 token
{\fn华文楷体\fs16\1cHE0E0E0}秘密
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
翻译:
# # # 保险库 token
时间mount-克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克克
tmpfs on /opt/nomad/data/alloc/ea308738-40b6-f5c4-9f12-e89d46a9aa1c/foobar/机密类型tmpfs(rw,noexec, relatime,大小=1024k,inode64)
tmpfs on /opt/nomad/data/alloc/ea308738-40b6-f5c4-9f12-e89d46a9aa1c/foobar/私人类型tmpfs(rw,noexec, relatime,大小=1024k,inode64)`du-hs/opt/nomad/data/alloc/ea308738-40b6-f5c4-9f12-e89d46a9a1c'
56K/opt/游牧/数据/alloc/ea308738-40b6-f5c4-9f12-e89d46a9a1c如果API提出要求,这些同位素可得出404,但保留在客户状态数据库中: `bbolt keys/opt/nomad/data/client/state.db 分配额 ea308738-40b6-f5c4-9f12-e89d46a9a1c'
已确认( S)
用户
aloc consul acl token identities (签名)
符号
任务调整栏这不仅限于Docker Alocs 也发生在执行驱动器上.
可能与20544号类似.
- 复制步骤
我不知道怎么再现这个 在其他情况下, GC的工作只是很好。
临时缓解
现在,我们正定期运行一个脚本, 如果磁盘或inode的使用率超过80%, 则强制删除 stale alogs。 需要有一个 " NOMAD-TOKEN " ,在所有命名空间具有 " 读取工作 " 的能力。
{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢?
/ usr/bin/env bash # # 使用/bash # # 使用/bash
NOMAD ADDR="http://127.0.0.1:4646". ALLOC DIR="/opt/游牧/数据/空格"
:"${NOMAD TOKEN:? NOMAD TOKEN env var需要]".
需要 强制 gc=$ () df -H / QX awk 'NR>1{gsub (/%/), $5; 如果 ($5+0>80) 打印“ DISK” “ 5” % “ 6} 。 df -i / | awk'NR>1{gsub (/%/"),$5; 如果 ($5+0>80) 打印“ INODE” “ 5” % “ 6} 。 (中文(简体) ).
[-z"$quires 强制 gc"] 出0号出口.
回声“磁盘或inode使用率>80%。 强迫去除已腐烂的道具".
用于“$ALLOC DIR”//中的路径; do id=$( 基准名“ $path ”) ["美元"=""] 继续
代码=$( curl - s - o / dev/null - w '-'http code}"\ -H"X-游牧-Token:$NOMAD Token"(英语: (原始内容存档于2013-10-12). NOMAD ADDR/v1/accreditation/$id").
如果["$code"="404"];那么 呼出"去除所剩无几" grep"/opt/nomad/data/alloc/${id:?}". . . . . . . .
内容来源: hashicorp/nomad