Skip to content

feat(talos): NIC を MAC で選ぶ (LinkAliasConfig) — Z440 への移し替えの準備 - #641

Merged
5ym merged 1 commit into
mainfrom
nic-alias-by-mac
Oct 30, 2026
Merged

5ym merged 1 commit into
mainfrom
nic-alias-by-mac

Conversation

@5ym

@5ym 5ym commented Oct 30, 2026

Copy link
Copy Markdown
Collaborator

Z440 への移し替え (docs/z440-migration.md) の準備。今日中に移す。

  • LinkAliasConfig で lan0 (DL360 の eno1)・lan1 (eno2)・jcom0 (eno4) を元の MAC (permanent_addr) で選び、bond0 のメンバーと 10.10 側の LinkConfig をその別名にする。bond0 の MAC (e6:2c:1b:1a:a0:39) は固定のまま
  • いまは DL360 の MAC だけ。 Z440 の MAC (内蔵の I218-LM・361T のポート 1 と 2) が分かったら || で足す。そうすれば同じ config で DL360 でも Z440 でも上がり、移す前に DL360 で当てて確かめられる (手順書の別案)
  • sysctl の net.ipv6.conf.eno4.disable_ipv6 はカーネルの名前でしか書けないので残す。Z440 の 361T のポート 1 の名前は移した日に足す
  • talos-boot: 名前の差し替えをやめ、実機の MAC を VM の MAC に差し替える (VM で別名が当たって bond0 と 10.10 側が上がるかを確かめる)
  • 手元で render と talosctl validate --mode metal が通るのを確かめた

DL360 には apply-config --mode=try (時間内に戻さなければ自動で元に戻る) で当てて確かめる。

🤖 Generated with Claude Code

https://claude.ai/code/session_01T9PbUfqG4pPxus99UeLiJs

bond0 のメンバーと 10.10 側を、名前 (eno1・eno2・eno4) ではなく元の MAC で選ぶ別名 lan0・lan1・jcom0 にする。
Z440 では NIC の名前が変わるので、Z440 の MAC を || で足せば同じ config で両方の箱で上がる (docs/z440-migration.md の別案)。
いまは DL360 の MAC だけ。talos-boot は MAC を VM のものに差し替える。

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

claude Bot commented Oct 30, 2026 •

Copy link
Copy Markdown

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


レビュー結果

大きな問題は見つかりませんでした。

確認した点:

  • lan0 / lan1 / jcom0 の LinkAliasConfig は、bond0 のメンバー(lan0、lan1)と 10.10 側の LinkConfig(jcom0)から参照されています。別名の取りこぼしはありません。
  • bond0 の hardwareAddr は固定のままです。ルーターの IPv6 ホスト公開が e6:2c:1b:1a:a0:39 を指している(docs/router.md)ので、これで正しいです。
  • talos-boot.yml の sed は DL360 の 3 つの MAC を VM の MAC に置き換えます。virtio-net の permanent_addr は QEMU に渡した MAC と同じなので、別名は VM でも当たるはずです。eno4 は \b 付きで $N4 に置き換わり、sysctl の行だけが対象になります(NIC の名前を書いていた箇所は無くなったため)。
  • 暗号化されたシークレットは平文で入っていません。sops のメタデータが更新されているだけです。

要確認(いずれも小さな点です):

  1. || の前提は今は効いていません。 冒頭のコメントは「両方の MAC を || で並べて」と書いていますが、今は DL360 の MAC しかありません。Z440 の MAC を足すまでは、Z440 で別名が 0 件になり bond0 が上がりません。「1 台の上でちょうど 1 つに当たること」という条件もあるので、移す前に Z440 の MAC を足す手順を docs/z440-migration.md のチェックリストに入れておくと安全です。
  2. mac(link.permanent_addr) の式。 PR 本文にある通り talosctl validate --mode metal は通っていますが、これは構文の検証です。実機で別名が当たるかは apply-config --mode=try の後に talosctl get links で lan0 / lan1 / jcom0 が付いているか確認してください。talos-boot の VM テストでも確認できます。
  3. sysctl の net.ipv6.conf.eno4.disable_ipv6。 Z440 に移した後、361T のポート 1 の名前を足し忘れると、10.10 側の RA に IPv6 の既定経路を奪われます。コメントには書いてありますが、移行手順にも「名前を足す」を入れておくと安全です。

テストは talos-boot の VM テストが実質のテストで、MAC の差し替えもそこに含まれています。追加は不要です。

@5ym
5ym merged commit 06d9ed5 into main Oct 30, 2026
5 checks passed
@5ym
5ym deleted the nic-alias-by-mac branch October 30, 2026 16:48
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