Cisco Nexus 9000v プラットフォームのトラブルシューティング
一般的なトラブルシューティング/デバッギング
次の CLI コマンドは、Nexus 9300v と Nexus 9500v の両方のプラットフォームのトラブルシューティング ヘルプを提供します。
show tech-support nexus9000v
このコマンドの出力例を次に示します。
switch# show tech-support nexus9000v
------------------ Virtual Chassis Manager Debugs ------------------
##############
# /cmn/pss/virt_cmgr.log
##############
[19-12-10 20:42:34.160609]: virt_cmgr_startup_init called
[19-12-10 20:42:34.161351]: virt_cmgr_validate_file returned success
[19-12-10 20:42:34.161390]: Version 1, VNIC_scheme 2
[19-12-10 20:42:34.161404]: VM sup1: Module no 26, upg_version 1, type 1, card_i
ndex 0, image loc None
…
…
…
すべてのハイパーバイザに共通の問題
VM が「loader >」プロンプトに落ちたときに起動する
通常、初期ブートは成功します。ただし、VM のプロビジョニング方法によっては、システム ブートが失敗し、VGA コンソールまたはシリアル コンソールに「loader >」プロンプトが表示される可能性があります。
例:
Loader Version 5.9
Loader > dir
bootflash::
.rpmstore
nxos.9.3.2.20.bin
bootflash_sync_list
.swtam
eem_snapshots
virtual-instance
scripts
platform-sdk.cmd
loader > boot nxos.9.3.2.20.bin
ブートを続行するには、「loader >」プロンプトで boot nxos.9.3.2.20.bin コマンドを入力します。
VM が「loader >」プロンプトにドロップしないようにする
Cisco Nexus 9000v をセットアップした後 (および POAP インターフェイスのセットアップに続いて)、システムのブート イメージを設定して、リロード/シャットダウン後に「loader >」プロンプトにドロップしないようにします。
例:
nx-osv9000-2# config t
Enter configuration commands, one per line. End with CNTL/Z.
nx-osv9000-2(config)# boot nxos bootflash:nxos.9.3.2.20.bin
Performing image verification and compatibility check, please wait....
nx-osv9000-2(config)# copy running-config startup-config
ブートアップ警告メッセージ
ブートアップ中に、次のような警告メッセージが表示される場合があります。
Checking all filesystems. **Warning** : Free memory available in bootflash is
553288 bytes
need at least 2 GB space for full image installation ,run df -h
このメッセージは通常、Nexus 9000v ブートフラッシュに別のイメージを保持するための十分なメモリ スペースがないことを示しています。この警告メッセージをなくすには、ブートフラッシュ スペースを解放して、別のバイナリ イメージをダウンロードできるようにします。
Nexus 9000v Mac エンコード モード ネットワーク マッピング チェック
このチェックは、Nexus 9500v プラットフォームで platform vnic scheme mac-encoded コマンドを明示的に入力した場合にのみ関係します。このコマンドは、vNIC Mac エンコード スキームを有効にします。いずれかのデータ トラフィックが通過する場合、または vNIC にマッピングされたインターフェイスに「リンクが接続されていません」状態が表示される場合は、Nexus 9000v 情報 show コマンドを参照して、正しい vNIC マッピングを確認します。
ESXi ハイパーバイザの問題
VM の電源を入れた後、Nexus 9000v のブートが表示されない
この問題の考えられる原因は、EFI ブートが VM 構成で設定されていないことです。この問題を解決するには、分散 OVA 仮想アーティファクトを使用したデプロイ後に、ESXi 展開ガイドを参照して、[仮想マシン設定の編集(Edit virtual machine settings)] > [VM オプション(VM Options)] > [ブート オプション(Boot Options)] で「BIOS」を「EFI」に変更します。
VGA 出力後に起動ログが表示されない
ESXi のブートアップ中によくある問題は、VGA コンソールに次のような出力が表示されることです。
Sysconf checksum failed. Using default values
console (dumb)
Booting nxos.9.3.2.6.bin...
Booting nxos.9.3.2.bin
Trying diskboot
Filesystem type is ext2fs, partition type 0x83
Image valid
Image Signature verification for Nexus9000v is not performed.
Boot Time: 12/5/2019 10:38:41
問題は、VGA コンソールでは、起動プロセスに次のアクティビティがないことです。スイッチ ブートアップ プロセスがハングすると誤解されることがよくあります。スイッチ ブートアップの出力を表示するには、ESXi ハイパーバイザ展開ガイドに記載されている手順に基づいて、プロビジョニングされたシリアル コンソールに接続します。
シリアル コンソールで何も起こらない場合、または「telnet: リモート ホストに接続できません: 接続が拒否されました」というエラー メッセージが表示される場合は、次の 1 つ以上の問題を示しています。
-
VM 構成のシリアル コンソール プロビジョニングが正しくありません。ESXi 導入ガイドのシリアル コンソール接続の手順を読んで、それに従ってください。
-
ESXi 6.5 deployment is the only version supported. ESXi vCenter の有効なライセンスと有効な UCS サーバー ライセンスがあることを確認してください。
-
サーバーの「セキュリティ プロファイル」に、着信接続と発信接続の両方で「ネットワーク経由で接続された VM シリアル ポート」があることを確認します。
VM の電源を切った後、「loader>」プロンプトにアクセスできない
この問題は、VM をパワーオンして期待どおりに起動したが、シリアル コンソールが正しくプロビジョニングされなかった場合に発生します。次に、「config t; boot nxos bootflash:nxos.9.3.2.20.bin」configure が実行され、保存されます。VM の電源を再度入れると、VGA コンソールにドロップします。
次の推奨事項は、ESXi ハイパーバイザでこの問題を回避するのに役立ちます。
EFI BIOS は、VM コンソールへのすべての入出力をデフォルトで設定します。VM が「loader >」プロンプトにドロップしたら、vSphere クライアントまたは VGA コンソールに移動して、「loader >」プロンプトにアクセスして、ハードディスク内のイメージを起動します。この動作を変更するには、ESXi VM 編集モードで追加の構成を追加します。次のいずれかの方法を使用します。
-
vSphere クライアントの [構成パラメータ] ウィンドウで、構成に 1 行追加します ([設定の編集] > [VM オプション] > [詳細] > [構成の編集])。
-
VM が作成されたら、efi.serialconsole.enabled = "TRUE" を .vmx ファイルに追加します。
Cisco Nexus 9000v が起動するとすぐに vCenter または UCS サーバーの接続が失われる
注意 |
vNIC を vSwitch またはブリッジに接続する場合、ネットワーク接続が正しくないと、ハイパーバイザー サーバーまたは ESXi 上の vCenter への接続が失われることがあります。 |
Cisco Nexus 9000v は、ESXi のグラフィック表現から入力された vNIC を、ハイパーバイザ サーバー内の外部または内部のネットワーキングに使用します。最初の NIC は、常に Cisco Nexus 9000v 管理インターフェイスとして使用されます。
Cisco Nexus 9000v VM の最初の NIC は管理インターフェイスです。ラボの LAN 物理スイッチまたは vSwitch (VM ネットワーク) に直接接続します。サーバー管理接続と競合する物理スイッチにデータ ポート vNIC を接続しないでください。
Cisco Nexus 9000v データ ポートが ESXi サーバーでトラフィックを渡さない
スムーズな操作を確保するには、vSwitch の特定の構成設定を有効にする必要があります。
-
Cisco Nexus 9000v に接続している vSwitch のすべてのインスタンスが「無差別モード」=「受け入れ」になっていて、UCS サーバを指していることを確認します。このオプションには、vSphere Client から [構成] > [プロパティ] > [編集] からアクセスできます。
-
vSwitch のすべてのインスタンスがすべての VLAN を通過するようにします。このオプションには、vSphere Client から [構成(Configuration)] > [プロパティ(Properties)] > [編集(Edit)] でアクセスできます。
ESXi 6.5 ハイパーバイザーは、多くの場合、ネットワーク インターフェイス アダプターを、Nexus 9000v プラットフォームでサポートされていない「E1000E」タイプにデフォルト設定します。展開後、すべてのネットワーク アダプターの種類が「E1000」であることを確認します。
KVM/QEMU ハイパーバイザの問題
KVM/QEMU コマンド ライン オプションを理解するには、基本的な Linux の知識が必要です。このハイパーバイザーに Nexus 9000v を展開するには、展開手順に従い、次の領域に注意してください。
-
ユーザー ガイドで bios.bin が推奨されていることを確認してください。
-
コマンド ラインで複数のディスク入力がサポートされている場合は、VM が他のデバイスから起動しないように、起動可能なディスクが bootindex=1 に設定されていることを確認します。
-
複雑なコマンド ラインを実装しようとしている場合は、基本的な KVM/QEMU 展開手順に従って、最初に単純なスイッチ インスタンスを起動してユーザー環境を確認します。
KVM または QEMU ハイパーバイザでのマルチキャスト
Cisco Nexus 9000v のマルチキャスト機能はブロードキャストとしてサポートされています。この機能を正しく動作させるには、この環境ですべてのブリッジ インターフェイスで IGMP マルチキャスト スヌーピングを無効にします。
次の例は、Linux プロンプトから vxlan_br1、vxlan_br2、vxlan_br3、および vxlan_br4 を無効にする方法を示しています。
echo 0 > /sys/devices/virtual/net/vxlan_br1/bridge/multicast_snooping
echo 0 > /sys/devices/virtual/net/vxlan_br2/bridge/multicast_snooping
echo 0 > /sys/devices/virtual/net/vxlan_br3/bridge/multicast_snooping
echo 0 > /sys/devices/virtual/net/vxlan_br4/bridge/multicast_snooping
LLDP、LACP などの L2 パケットを渡すには、KVM/QEMU 導入ガイドの Linux ブリッジ マスクの設定に従ってください。
Vagrant/VirtualBox の問題
VirtualBox/Vagrant でのネットワーキング
VirtualBox/Vagrant で dataplane インターフェイスを使用するには、次のことを確認してください。
-
インターフェイスが「無差別(promiscuous)」モードである必要があります。
-
VirtualBox ネットワーク設定で、無差別モードで「すべて許可」を選択します。
-
show interface mac コマンドを使用して、トポロジ内の Cisco Nexus 9000v のすべてのインスタンスに一意の MAC アドレスがあることを確認します。
VirtualBox/Vagrant での VM の通常の起動:
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Clearing any previously set forwarded ports...
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
default: Adapter 1: nat
==> default: Forwarding ports...
default: 22 (guest) => 2222 (host) (adapter 1)
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
default: SSH address: 127.0.0.1:2222
default: SSH username: vagrant
default: SSH auth method: private key
The configured shell (config.ssh.shell) is invalid and unable
to properly execute commands. The most common cause for this is
using a shell that is unavailable on the system. Please verify
you're using the full path to the shell and that the shell is
executable by the SSH user.
通常のブートアップが成功した後、vagrant ssh コマンドは Nexus 9000v スイッチ プロンプトにアクセスします。
以下は、VM のブートアップに失敗する可能性のある 1 つの例です。
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'base'...
==> default: Matching MAC address for NAT networking...
==> default: Setting the name of the VM: n9kv31_default_1575576865720_14975
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
default: Adapter 1: nat
==> default: Forwarding ports...
default: 22 (guest) => 2222 (host) (adapter 1)
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
default: SSH address: 127.0.0.1:2222
default: SSH username: vagrant
default: SSH auth method: private key
Timed out while waiting for the machine to boot. This means that
Vagrant was unable to communicate with the guest machine within
the configured ("config.vm.boot_timeout" value) time period.
If you look above, you should be able to see the error(s) that
Vagrant had when attempting to connect to the machine. These errors
are usually good hints as to what may be wrong.
If you're using a custom box, make sure that networking is properly
working and you're able to connect to the machine. It is a common
problem that networking isn't setup properly in these boxes.
Verify that authentication configurations are also setup properly,
as well.
If the box appears to be booting properly, you may want to increase
the timeout ("config.vm.boot_timeout") value.
障害をトラブルシューティングするには、次の手順を実行します。
-
メモリや vCPU などの十分なリソースが使用可能であることを確認します。PC またはサーバーで大量のメモリを消費するすべてのアプリケーションを閉じます。使用可能な空きメモリを確認してください。
-
vagrant halt –f を入力して VM の電源を切ります。
-
VM の電源を切った後、VirtualBox GUI に移動します。VM シリアル コンソールを有効にして、起動プロセスを監視し、[ポート] -> [シリアル ポートを有効にする] で考えられる問題を表示します。
または、次の VBox コマンドを使用して、このゲスト シリアル コンソールを有効にします。VM 名を見つけます。
VBoxManage list vms "n9kv_default_1575906706055_2646" {0b3480af-b9ac-47a4-9989-2f5e3bdf263f}
次に、シリアル コンソールを有効にします。
VBoxManage modifyvm n9kv_default_1575906706055_2646 --uart1 0x3F8 4
-
元の「vagrant up」を入力した同じ端末から「vagrant up」と入力して、VM の電源を再度オンにします。
-
シリアル コンソールにアクセスするには、コンピューターの別の端末から「telnet localhost 2023」と入力します。
-
シリアル コンソールからの出力を観察して、ブートアップの問題を確認します。
-
ゲスト シリアル コンソールが不要になった場合は、シリアル コンソールをオフにします。次の VBox コマンドを使用するか、VirtualBox GUI 設定に移動して [シリアル ポートを有効にする] の選択を解除します。
VBoxManage modifyvm n9kv_default_1575906706055_2646 --uart1 off