0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

NVIDIA BCMのヘッドノードでens18をDHCPから固定IPへ変更し、DNS設定を整理した記録

0
Posted at

毎度、ググっても出てこない小ネタを取り扱っております。
本記事は個人的な見解であり、筆者の所属するいかなる団体にも関係ございません。

本ブログは、問題解決の為にGPT-5.4と会話した内容を元にGPT-5.4で作成しました。

1. NVIDIA Base Command Managerのヘッドノードでens18のIPアドレスとDNS設定を変更した手順

1-1. はじめに

NVIDIA Base Command Manager(以下、BCM)のヘッドノードで、外部向けインターフェースens18のIPアドレスとDNS設定を変更した際の手順をまとめます。

今回の目的は、次の2点です。

  • ens18のIPアドレスをDHCP取得から固定IPアドレス192.0.2.135へ変更する
  • DHCP由来のDNS設定を削除し、DNSサーバーを192.0.2.53に統一する

最終的には、以下の状態にできました。

  • ens18のIPアドレス: 192.0.2.135
  • デフォルトゲートウェイ: 192.0.2.1
  • DNSサーバー: 192.0.2.53
  • DHCP由来のDNS設定: 削除済み

BCM環境ではOS側の設定ファイルを直接編集するのではなく、cmshで管理されている設定を変更するのが正しい流れでした。


1-2. 変更前の状態

変更前のens18は、以下のようにDHCPでIPアドレスを取得していました。

ip a show ens18
2: ens18: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether bc:24:11:60:53:90 brd ff:ff:ff:ff:ff:ff
    altname enp0s18
    inet 192.0.2.9/24 brd 192.0.2.255 scope global dynamic ens18

ルーティングは次のようになっていました。

ip route
default via 192.0.2.1 dev ens18
192.0.2.0/24 dev ens18 proto kernel scope link src 192.0.2.9

BCM側でも、ens18はDHCPインターフェースとして認識されていました。

cmsh -c "device interfaces bcm11-headnode; list"
cmsh -c "device interfaces bcm11-headnode; get ens18 dhcp"
cmsh -c "device interfaces bcm11-headnode; get ens18 ip"
Type         Network device name  IP               Network          Start if
------------ -------------------- ---------------- ---------------- --------
physical     ens18 [dhcp]         192.0.2.9        externalnet      always
physical     ens19 [prov]         10.141.255.254   internalnet      always

yes
192.0.2.9

この状態から、ens18を固定IP化していきます。


2. IPアドレス変更前の確認

2-1. ゲートウェイ疎通を確認した

まず、現在のネットワークが正常に動いていることを確認するため、デフォルトゲートウェイへの疎通を確認しました。

ping -c 3 192.0.2.1

結果は正常で、ゲートウェイへの疎通に問題はありませんでした。


2-2. 変更予定のIPアドレスが未使用か確認した

次に、設定予定のIPアドレス192.0.2.135が他の機器で使われていないことを確認しました。

arping -D -I ens18 192.0.2.135

このとき、ARP応答は返ってきませんでした。

Sent 26 probes (26 broadcast(s))
Received 0 response(s)

そのため、192.0.2.135は未使用と判断できました。


2-3. BCM上の現在値を退避した

作業前に、現在の値を簡単に退避しておきました。

cmsh -c "device interfaces bcm11-headnode; list" > /root/bcm11-headnode.interfaces.before.txt
ip a show ens18 > /root/ens18.before.txt
ip route > /root/ip-route.before.txt

後から比較できるようにしておくと、トラブル時に戻しやすくなります。


3. ens18を固定IPアドレスへ変更した

3-1. DHCPを無効化した

まず、ens18のDHCPを無効化しました。

cmsh -c "device interfaces bcm11-headnode; set ens18 dhcp no; commit"

このとき、次の警告が表示されました。

warning: No DHCP interfaces detected, but name servers from DHCP in partition is set

この警告は、インターフェース側ではDHCPを無効化したのに、BCMのpartition設定にDHCP由来のDNS情報が残っていることを示しています。

ただし、これはエラーではなく警告でした。


3-2. 固定IPアドレスを設定した

続いて、ens18のIPアドレスを192.0.2.135へ変更しました。

cmsh -c "device interfaces bcm11-headnode; set ens18 ip 192.0.2.135; commit"

このときも、同じ警告が表示されました。

warning: No DHCP interfaces detected, but name servers from DHCP in partition is set

3-3. BCM上で設定が反映されたことを確認した

設定後に、BCM側の値を確認しました。

cmsh -c "device interfaces bcm11-headnode; get ens18 dhcp"
cmsh -c "device interfaces bcm11-headnode; get ens18 ip"
cmsh -c "device interfaces bcm11-headnode; list"

結果は以下のとおりです。

no
192.0.2.135

Type         Network device name  IP               Network          Start if
------------ -------------------- ---------------- ---------------- --------
physical     ens18                192.0.2.135      externalnet      always
physical     ens19 [prov]         10.141.255.254   internalnet      always

これで、BCM上ではens18の固定IP化が完了しました。


4. DNS設定を確認した

4-1. partitionにDHCP由来のDNS設定が残っていた

先ほどの警告の原因を確認するため、partition設定を確認しました。

cmsh -c "partition use base; show"

重要な部分は次のとおりです。

Name servers                     192.0.2.53
Name servers from dhcp           192.0.2.1

つまり、BCMのpartitionには以下の2種類のDNS情報が同時に存在していました。

  • 明示的に設定されているDNSサーバー: 192.0.2.53
  • DHCP由来で残っていたDNSサーバー: 192.0.2.1

今回のようにIPアドレスを静的にした場合、DHCP由来のDNS情報は不要です。


4-2. OS側でも両方のDNSが見えていた

OS側の/etc/resolv.confでも、実際に両方のDNSサーバーが見えていました。

cat /etc/resolv.conf
nameserver 127.0.0.1
nameserver 192.0.2.53
nameserver 192.0.2.1
search cm.cluster nvidia.com eth.cluster

さらに、resolvectl statusでも同じ状態でした。

resolvectl status
DNS Servers: 127.0.0.1 192.0.2.53 192.0.2.1

この時点で、DHCP由来のDNSがOSにも反映されていることが分かります。


5. DHCP由来のDNS設定を削除した

5-1. nameserversfromdhcpを確認した

まず、cmshの対話モードに入り、対象プロパティを確認しました。

cmsh
partition use base
get nameserversfromdhcp

結果は以下のとおりです。

192.0.2.1

5-2. clearで削除した

続いて、DHCP由来DNS設定を削除しました。

clear nameserversfromdhcp

この時点で、プロンプトが未コミット状態を表す表示に変わりました。

[bcm11-headnode->partition*[base*]]%

削除後に再確認すると、値は空になっていました。

get nameserversfromdhcp

その後、commitして確定しました。

commit

再度確認すると、nameserversfromdhcpは空のままでした。

get nameserversfromdhcp

これで、DHCP由来のDNS設定はBCM上から削除されました。


6. OS側への反映を確認した

6-1. /etc/resolv.confを確認した

cmshでの変更後、OS側のDNS設定を確認しました。

cat /etc/resolv.conf

結果は以下のとおりです。

nameserver 127.0.0.1
nameserver 192.0.2.53
search cm.cluster nvidia.com eth.cluster

先ほどまで存在していた192.0.2.1が消えており、192.0.2.53だけになっていました。


6-2. resolvectl statusを確認した

続いて、systemd-resolvedの状態も確認しました。

resolvectl status

重要な部分は次のとおりです。

Global
       DNS Servers: 127.0.0.1 192.0.2.53
        DNS Domain: cm.cluster eth.cluster nvidia.com

こちらでも、DHCP由来のDNSが消えていることを確認できました。


7. 再起動後の永続化を確認した

7-1. BCM上の設定を確認した

再起動後に、BCM上の値を改めて確認しました。

cmsh -c "partition use base; get nameservers"
cmsh -c "partition use base; get nameserversfromdhcp"
cmsh -c "device interfaces bcm11-headnode; get ens18 ip"

結果は以下のとおりです。

192.0.2.53
192.0.2.135

nameserversfromdhcpは空のままで、ens18のIPアドレスも192.0.2.135のままでした。


7-2. OS側の設定も確認した

OS側の/etc/resolv.confも確認しました。

cat /etc/resolv.conf
nameserver 127.0.0.1
nameserver 192.0.2.53
search cm.cluster nvidia.com eth.cluster

再起動後も、DNSサーバーは192.0.2.53のみになっていました。

これにより、今回の設定変更が一時的なものではなく、BCM管理下の永続設定として保存されていることを確認できました。


8. 最終的な状態

8-1. IPアドレス設定

最終的なens18のIPアドレス設定は以下のとおりです。

  • IPアドレス: 192.0.2.135
  • サブネット: 192.0.2.0/24
  • デフォルトゲートウェイ: 192.0.2.1

8-2. DNS設定

最終的なDNS設定は以下のとおりです。

  • DNSサーバー: 192.0.2.53
  • DHCP由来DNS: 削除済み
  • /etc/resolv.confにも反映済み

9. 今回のポイント

9-1. IPアドレス変更だけでは不十分な場合がある

今回の作業では、IPアドレスをDHCPから固定へ変えただけでは完了しませんでした。

partition側にName servers from dhcpが残っていたため、警告が表示され、OS側でも不要なDNSサーバーが見えていました。

そのため、BCM環境ではIPアドレス変更に加えて、DNS設定の整合性まで確認する必要があります。


9-2. BCM管理の設定はcmshで確認・変更する

今回の変更対象は、OSの一時設定ではなく、BCMの管理情報でした。

そのため、次のような項目はcmshで確認・変更する必要があります。

  • device interfaces ...
  • partition use base
  • nameservers
  • nameserversfromdhcp

設定後にcommitし、再起動後も値が残っていることを確認するのが重要です。


10. 実際に使ったコマンド一覧

10-1. IPアドレス確認と変更

ip a show ens18
ip route

cmsh -c "device interfaces bcm11-headnode; list"
cmsh -c "device interfaces bcm11-headnode; get ens18 dhcp"
cmsh -c "device interfaces bcm11-headnode; get ens18 ip"

ping -c 3 192.0.2.1
arping -D -I ens18 192.0.2.135

cmsh -c "device interfaces bcm11-headnode; set ens18 dhcp no; commit"
cmsh -c "device interfaces bcm11-headnode; set ens18 ip 192.0.2.135; commit"

10-2. DNS確認と変更

cmsh -c "partition use base; show"
cat /etc/resolv.conf
resolvectl status

cmsh
partition use base
get nameserversfromdhcp
clear nameserversfromdhcp
commit
get nameserversfromdhcp

11. まとめ

11-1. 今回の結論

NVIDIA Base Command Managerのヘッドノードでens18のIPアドレスを変更する場合は、cmshでDHCPを無効化し、固定IPアドレスを設定します。

ただし、それだけでは不十分な場合があります。

今回の環境では、partition側にDHCP由来のDNS設定が残っていたため、以下もあわせて実施しました。

  • ens18を固定IP 192.0.2.135 に変更
  • nameserversfromdhcp を削除
  • DNSサーバーを 192.0.2.53 に整理
  • 再起動後も設定が残ることを確認

11-2. 同じような作業をするときの注意点

同じような作業を行う場合は、次の流れで進めると分かりやすいと思います。

  1. 現在のIPアドレスとゲートウェイを確認する
  2. 変更先IPアドレスが未使用か確認する
  3. cmshでDHCPを無効化する
  4. cmshで固定IPを設定する
  5. partitionのDNS設定を確認する
  6. 必要ならnameserversfromdhcpを削除する
  7. /etc/resolv.confresolvectl statusでOS側反映を確認する
  8. 再起動後に永続化を確認する
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?