Skip to content

chore(storage): PVC を使用量に合わせて縮め、合計を thin プールに収める - #645

Merged
5ym merged 1 commit into
mainfrom
pvc-right-size
Oct 31, 2026
Merged

5ym merged 1 commit into
mainfrom
pvc-right-size

Conversation

@5ym

@5ym 5ym commented Oct 31, 2026

Copy link
Copy Markdown
Collaborator

なぜ

Z440 では PV の置き場が LVM の thin プール(約 340Gi)になる。thin なので PVC の合計がプールを超えても作れるが、超えて実際に埋まると、PVC の中の残量の見張り(denpa の disk.ts など)が鳴る前にプールが埋まり、全部の PVC の書き込みが止まる。

録画(denpa)は 2 週間ぶん溜まることがあり、encoded 96Gi(danything/denpa#1792)では足りない。使用量に比べて大きすぎる PVC を縮めて、録画に回す。

何を変えたか

PVC 前 後 今の使用量
forgejo-repos 50Gi 20Gi 2.4 GB
tuwunel-data 20Gi 10Gi 46 MB
clickhouse-data(Rybbit) 20Gi 5Gi 36 MB
adguardhome-work 30Gi 10Gi 52 MB(1 日 10 GB は 53 番の攻撃のぶんで、#644 で閉じた。前は 1 日 0.3 GB ほど)

使用量は DL360 の local-path を talosctl usage で測った。

縮めたあとのほかの PVC の合計は約 95Gi。残り(約 245Gi)を denpa に回す(raw 64Gi・encoded 170Gi。denpa 側の PR で変える)。

docs(decisions.md・z440-migration.md)と bootstrap/lvm-localpv-values.yaml の「合計はプールを超えてよい」を「合計はプールに収める」に直した。

注意

DL360 の local-path の PVC は縮められないので、Z440 で入れ直すまで、縮めた PVC は Argo CD の同期でエラーになる。ほかのリソースは当たる。入れ直しで新しい大きさの PVC が作られる。

🤖 Generated with Claude Code

https://claude.ai/code/session_01T9PbUfqG4pPxus99UeLiJs

LVM の thin プール(約 340Gi)では PVC の合計がプールを超えると、残量の
見張りが鳴る前にプールが埋まって全部の書き込みが止まる。録画(denpa)に
回す分を空けるため、使用量に比べて大きすぎる PVC を縮める。

- forgejo-repos 50Gi → 20Gi(使用 2.4 GB)
- tuwunel-data 20Gi → 10Gi(使用 46 MB)
- clickhouse-data 20Gi → 5Gi(使用 36 MB)
- adguardhome-work 30Gi → 10Gi(1 日 10 GB は 53 番の攻撃のぶんで、閉じた)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01T9PbUfqG4pPxus99UeLiJs
@claude

claude Bot commented Oct 31, 2026 •

Copy link
Copy Markdown

Claude finished @5ym's task in 18s —— View job


レビュー結果

大きな不具合・セキュリティ上の問題はありません。PVC の縮小は説明のとおりで、使用量に対して余裕もあります。

指摘

  • docs/z440-migration.md L138(インラインで指摘済み): 「denpa などの縮めた PVC」は不正確です。この PR で縮めるのは forgejo-repos / tuwunel-data / clickhouse-data / adguardhome-work で、denpa は含まれません。文言の修正だけで足ります。

確認事項(要確認)

  • forgejo-repos は recovery/README.md によると非公開アプリのレジストリのイメージも入っています。今は 2.4 GB ですが、イメージが増えると 20Gi に収まるかを見ておいてください。LVM では PVC の大きさが本当の上限になります。
  • adguardhome-work は 1d のクエリログ 2 本ぶんで 10Gi です。通常時は 0.3 GB/日ほどなので問題ありません。ただし攻撃が再発すると 1 日 10 GB 近くなり、10Gi は 1 日ぶんで埋まります。fix(adguardhome): 外からの平文 DNS(53)を Cilium のポリシーで捨てる #644 のポリシーが効いている前提の設計です。
  • 合計「約 95Gi + denpa 234Gi(64+170)」はプール約 340Gi に収まります。ただし余裕は 10Gi ほどです。スナップショットや thin のメタデータ用の余白も含めて足りるか、denpa 側の PR とあわせて確認してください。

テストに当たるものはありません(マニフェストとドキュメントのみの変更)。

Comment thread docs/z440-migration.md

コマンドは全部 `tools/t.ps1 --admin` のシェルで打つ([../recovery/README.md](../recovery/README.md)「道具と経路」)。
LVM への切り替えは main に入っていること(入れたあと DL360 の Argo CD は `adguardhome-work` を 30Gi に広げられずに同期のエラーを出すが、
LVM への切り替えは main に入っていること(入れたあと DL360 の Argo CD は `adguardhome-work` を 10Gi に広げられず、denpa などの縮めた PVC も縮められずに同期のエラーを出すが、

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

文言の指摘: 「denpa などの縮めた PVC」とありますが、この PR で縮めるのは forgejo-repos / tuwunel-data / clickhouse-data / adguardhome-work で、denpa はこのリポジトリの PVC ではなく(denpa 側の PR で変更)縮める対象でもありません。「forgejo-repos など縮めた PVC も」のように直した方が実態に合います。

@5ym
5ym merged commit bc7ed72 into main Oct 31, 2026
5 checks passed
@5ym
5ym deleted the pvc-right-size branch October 31, 2026 04:02
5ym added a commit to danything/denpa that referenced this pull request Oct 31, 2026
録画は 2 週間ぶん溜まることがあり、96Gi では足りない。gitops 側で
使用量に比べて大きすぎた PVC を縮めた(danything/gitops#645)ので、
空いた分を encoded に回す。AV1 で 1 時間 1〜1.5GB なので 110〜170 時間ぶん。


Claude-Session: https://claude.ai/code/session_01T9PbUfqG4pPxus99UeLiJs

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant