Linux KVMでの展開

Linux KVM で Nexus Dashboard クラスタを展開するための前提条件と注意事項

Linux KVM で Nexus Dashboard クラスタの展開に進む前に、KVM が次の前提条件を満たしている必要があり、次の注意事項に従う必要があります。

  • KVM フォーム ファクタが拡張性要件をサポートする必要があります。

    クラスタ フォーム ファクタに基づいて、拡張性サポートおよび共同ホストは変わります。次の表で、 Nexus Dashboard のキャパシティ プランニング ツールを使用して、仮想フォーム ファクタが展開要件を満たすことを確認できます。

  • 次に記載されている一般的な前提条件を確認して完了します: 前提条件とガイドライン

  • Nexus Dashboard VM に使用される CPU ファミリが AVX 命令セットをサポートしている必要があります。

  • KVM には十分なシステムリソースが必要です。また、各ノードには専用のディスクパーティションが必要です。参照先 システム リソースを理解する を参照してください。

  • ディスクの I/O 遅延は 20 ミリ秒以下である必要があります。

    ビジネスインサイトの Linux KVM ストレージ デバイスの I/O 遅延の確認

  • KVM の導入は、NX- OSファブリックおよびSAN の導入でサポートされています。

  • Red Hat Enterprise Linux 8.8、8.10、または 9.4 に展開する必要があります。

  • OS の再起動のシナリオで Nexus Dashboard を稼働させるには、RHEL ホスト オペレーティング システムの fstab conf ファイルに UUID を追加する必要があります。これが、RHEL オペレーティング システムの再起動時に Nexus Dashboard を保持する唯一の方法です。

  • また、 Nexus Dashboad の展開に必要な次のネットワーク ブリッジをホスト レベルで構成する必要があります。

    • 管理網ブリッジ(mgmt-bridge): Nexus Dashboad を管理するための外部ネットワーク。

    • データ網ブリッジ(data-bridge): Nexus Dashboad 内でクラスタリングを形成するために使用される内部ネットワーク。

  • 各 Nexus Dashboard ノードは異なる KVM ハイパーバイザに展開することを推奨します。

Linux KVM ストレージ デバイスの I/O 遅延の確認

Linux KVM に Nexus Dashboard クラスタを展開する場合、KVM のストレージ デバイスの遅延は 20 ミリ秒未満である必要があります。

Linux KVM ストレージ デバイスの I/O 遅延を確認するには、次の手順を実行します。

手順


ステップ 1

テスト ディレクトリを作成します。

たとえば、 test-dataという名前のディレクトリを作成します。。

ステップ 2

フレキシブル I/O テスター(FIO)を実行します。

# fio --rw=write --ioengine=sync --fdatasync=1 --directory=test-data --size=22m --bs=2300 --name=mytest

ステップ 3

コマンドを使用した後、 99.00th=[value] が 次の例のように fsync/fdatasync/sync_file_range セクションで 20 ミリ秒未満であることを確認します。


システム リソースを理解する

Linux KVM に Nexus ダッシュボード クラスターを展開する場合、KVM には十分なシステム リソースが必要です。仮想 Nexus Dashboard KVM では複数のフォーム ファクタがサポートされており、各ノードに必要なシステム リソースの量はフォーム ファクタによって異なります。

表 1. ノード当たりのリソース要件

フォーム ファクタ

vCPU の数

RAM サイズ

ディスク サイズ

1 ノードKVM(アプリ)

16

64 GB

550 GB

1 ノードKVM(データ)

32

128 GB

3 TB

3 ノードKVM(アプリ)

16

64 GB

550 GB

3 ノードKVM(データ)

32

128 GB

3 TB

次の手順を実行するときに、フォーム ファクタに関する上記の情報を知っておく必要があります: Linux KVM での Nexus ダッシュボードの展開

Linux KVM での Nexus ダッシュボードの展開

ここでは、Linux KVM で Cisco Nexus ダッシュボード クラスタを展開する方法について説明します。

始める前に

手順


ステップ 1

Cisco Nexus ダッシュボード イメージをダウンロードします。

  1. [ソフトウェア ダウンロード(Software Download)] ページを参照します。

    https://software.cisco.com/download/home/286327743/type/286328258

  2. 登録手続きを開始するには、 [Nexus Dashboard ソフトウェア(Nexus Dashboard Software)] をクリックします。。

  3. 左側のサイドバーで、ダウンロードするNexus Dashboardのバージョンを選択します。

  4. 次の Linux KVM向け Cisco Nexus Dashboard イメージをダウンロードします:nd-dk9<version>.qcow2

ステップ 2

ノードをホストする Linux KVM サーバーにイメージをコピーします。

ポッドを使用して次のことができます scp を使用して、次のようにイメージをコピーできます。

# scp nd-dk9.<version>.qcow2 root@<kvm-host-ip>:/home/nd-base

以下の手順は、 /home/nd-base ディレクトリにイメージをコピーしたことを前提としています。 ディレクトリの Java エージェントと一緒に展開されるときに、アプリケーションの起動時にコードをインストゥルメント化する個別のカスタムインターセプタ jar ファイルを作成する必要があります。

ステップ 3

各 KVM ホストで次の構成を行います。

  1. 編集 /etc/libvirt/qemu.conf を編集して、 Nexus Dashboard の展開に使用する予定のストレージの所有権に基づいて、ユーザーとグループが正しく設定されていることを確認します。

    これは、デフォルトの libvirtd とは異なるディスク ストレージ パスを使用する場合にのみ必要です。

  2. 編集 /etc/libvirt/libvirt.conf を編集して、 uri-default のコメントを外します。

  3. 構成ファイルが更新されたら、 libvirtd とは異なるディスク ストレージ パスを使用する場合にのみ必要です を再起動したら、ルートから systemctl restart libvirtd コマンドを使用して構成を更新します。

ステップ 4

ノードに必要なディスク イメージを作成します。

次で説明されているように: システム リソースを理解する2 つのディスク イメージを作成するには、合計 550 GB または 3 TB の SSD ストレージが必要です。

  • ダウンロードした QCOW2 イメージに基づいてディスクを起動します。

  • データ ディスク:

ステップ 5

KVM ホストに ルート root ユーザーとしてログインし、各ノードで次の手順を実行します。

  1. ストレージ ディスク(raw ディスクまたは LVM)を /opt/cisco/nd ディレクトリにマウントします。

  2. スクリプト /root/create_vm.sh をルート ディレクトリに作成します。

    (注)  

     

    この情報を手動で入力する場合は、これらの行の後に空白がないことを確認します。

    次に記載されている情報に基づき システム リソースを理解する 使用しているフォーム ファクタに合わせてスクリプトを作成します:

    • 1 ノードまたは 3 ノードKVM の場合(app)フォーム ファクタ:

      #!/bin/bash -ex
      
      # Configuration
      # Name of Nexus Dashboard Virtual machine
      name=nd1
      
      # Path of Nexus Dashboard QCOW2 image.
      nd_qcow2=/home/nd-base/nd-dk9.4.1.1i.qcow2
      
      # Disk Path to storage Boot and Data Disks.
      data_disk=/opt/cisco/nd/data
      
      # Management Network Bridge
      mgmt_bridge=mgmt-bridge
      
      # Data Network bridge
      data_bridge=data-bridge
      
      # Data Disk Size
      data_size=500G
      
      # CPU Cores
      cpus=16
      
      # Memory in units of MB.
      memory=65536
      
      # actual script
      rm -rf $data_disk/boot.img
      /usr/bin/qemu-img convert -f qcow2 -O raw $nd_qcow2 $data_disk/boot.img
      rm -rf $data_disk/disk.img
      /usr/bin/qemu-img create -f raw $data_disk/disk.img $data_size
      virt-install \
      --import \
      --name $name \
      --memory $memory \
      --vcpus $cpus \
      --os-type generic \
      --osinfo detect=on,require=off \
      --check path_in_use=off \
      --disk path=${data_disk}/boot.img,format=raw,bus=virtio \
      --disk path=${data_disk}/disk.img,format=raw,bus=virtio \
      --network bridge=$mgmt_bridge,model=virtio \
      --network bridge=$data_bridge,model=virtio \
      --console pty,target_type=serial \
      --noautoconsole \
      --autostart
    • 1 ノードまたは 3 ノードKVM の場合(data)フォーム ファクタ:

      #!/bin/bash -ex
      
      # Configuration
      # Name of Nexus Dashboard Virtual machine
      name=nd1
      
      # Path of Nexus Dashboard QCOW2 image.
      nd_qcow2=/home/nd-base/nd-dk9.4.1.1i.qcow2
      
      # Disk Path to storage Boot and Data Disks.
      data_disk=/opt/cisco/nd/data
      
      # Management Network Bridge
      mgmt_bridge=mgmt-bridge
      
      # Data Network bridge
      data_bridge=data-bridge
      
      # Data Disk Size
      data_size=3072G
      
      # CPU Cores
      cpus=32
      
      # Memory in units of MB.
      memory=131072
      
      # actual script
      rm -rf $data_disk/boot.img
      /usr/bin/qemu-img convert -f qcow2 -O raw $nd_qcow2 $data_disk/boot.img
      rm -rf $data_disk/disk.img
      /usr/bin/qemu-img create -f raw $data_disk/disk.img $data_size
      virt-install \
      --import \
      --name $name \
      --memory $memory \
      --vcpus $cpus \
      --os-type generic \
      --osinfo detect=on,require=off \
      --check path_in_use=off \
      --disk path=${data_disk}/boot.img,format=raw,bus=virtio \
      --disk path=${data_disk}/disk.img,format=raw,bus=virtio \
      --network bridge=$mgmt_bridge,model=virtio \
      --network bridge=$data_bridge,model=virtio \
      --console pty,target_type=serial \
      --noautoconsole \
      --autostart

ステップ 6

以前のステップを繰り返し、2 番目と 3 番目のノードを展開して、すべての VM を開始します。

(注)  

 

単一のノードクラスタを展開している場合は、この手順をスキップできます。

ステップ 7

ノードのコンソールのいずれかを開き、ノードの基本情報を設定します。

  1. いずれかのキーを押して、初期設定を開始します。

    初回セットアップユーティリティの実行を要求するプロンプトが表示されます。

    [ OK ] Started atomix-boot-setup.
           Starting Initial cloud-init job (pre-networking)...
           Starting logrotate...
           Starting logwatch...
           Starting keyhole...
    [ OK ] Started keyhole.
    [ OK ] Started logrotate.
    [ OK ] Started logwatch.
    
    Press any key to run first-boot setup on this console...
  2. 次を入力して確認します: admin パスワード

    このパスワードは rescue-user の SSH ログインと GUI の初期パスワードで使用されます。

    (注)  

     

    すべてのノードに同じパスワードを指定する必要があります。指定しない場合、クラスタ作成に失敗します。

    Admin Password:
    Reenter Admin Password:
  3. 管理ネットワーク情報を入力します。

    Management Network:
      IP Address/Mask: 192.168.9.172/24
      Gateway: 192.168.9.1
  4. 最初のノードのみ、「クラスタ リーダー」として指定します。

    クラスタ リーダー ノードにログインして、設定を完了し、クラスタの作成を完了します。

    Is this the cluster leader?: y
  5. 入力した譲歩をレビューし、確認します。

    入力した情報を変更するかどうかを尋ねられます。すべてのフィールドが正しい場合は、次を選択して続行します: n クリックします。入力した情報を変更する場合は、次を入力して、 あり 基本設定スクリプトを再起動します。

    Please review the config
    Management network:
      Gateway: 192.168.9.1
      IP Address/Mask: 192.168.9.172/24
    Cluster leader: yes
    
    Re-enter config? (y/N): n

ステップ 8

前の手順を繰り返して、2 番目と 3 番目のノードの初期情報を構成します。

最初のノードの設定が完了するのを待つ必要はありません。他の 2 つのノードの設定を同時に開始できます。

(注)  

 

すべてのノードに同じパスワードを指定する必要があります。指定しない場合、クラスタ作成に失敗します。

2 番目と 3 番目のノードを展開する手順は同じですが、 Cluster Leader ではないことを示す必要がある点が異なります。。

ステップ 9

初期ブートストラップ プロセスを待機して、すべてのノードで完了します。

管理ネットワーク情報を入力して確認したら、最初のノード(Cluster Leader ではないことを示す必要がある点が異なります。)の初期セットアップはネットワーキングを設定し、UI を表示します。この UI を使用して、他の 2 つのノードを追加し、クラスタの導入を完了します。

Please wait for system to boot: [#########################] 100%
System up, please wait for UI to be online.

System UI online, please login to https://192.168.9.172 to continue.

ステップ 10

ブラウザを開き、次のページにアクセスします: https://<node-mgmt-ip> GUI を開きます。

残りの設定ワークフローは、ノードの GUI の 1 つから実行します。展開したノードのいずれか 1 つを選択して、ブートストラッププロセスを開始できます。他の 2 つのノードにログインしたり、これらを直接構成したりする必要はありません。

前の手順で入力したパスワードを入力し、[ログイン(Login)] をクリックします。 ログイン

ステップ 11

次のページのフィールドに必要な情報を入力します: 基本情報 (これは、 クラスタの立ち上げ ウィザードのページです)。

  1. APIC と CSSM 間の後続の通信では、 クラスタ名には、Nexus Dashboard クラスタの名前を入力します。

    クラスター名は、次の基準に従う必要があります: RFC-1123 必要があります。

  2. APIC と CSSM 間の後続の通信では、 [Nexus Dashboard の実装タイプを選択(Select the Nexus Dashboard Implementation type)]で、次のいずれかを選択します。 LAN または SAN それから [Next] をクリックします。 Nextの「Configuring RAID Levels」の章を参照してください。

ステップ 12

次に ノードの詳細 ページで、最初のノードの情報を更新します。

前の手順の初期ノード構成時に現在ログインしているノードの管理ネットワークと IP アドレスを定義しましたが、他のプライマリ primary ノードを追加し、クラスタを作成する進む前に、ノードのデータ ネットワーク情報も指定する必要があります。

  1. APIC と CSSM 間の後続の通信では、 クラスタ接続について、クラスターが L3 HAモードで展開されている場合は、次を選択します。 BGP。それ以外の場合は、次を選択します。 L2

    テレメトリで使用される永続的な IP アドレス機能には、BGP 構成が必要です。この機能については、 BGP 構成と永続的な IP アドレス 「永続的な IP アドレス」セクションで詳しく説明します。次に記載されています。 Cisco Nexus Dashboard ユーザー ガイド

    (注)  

     

    BGP をこの時点で、またはクラスタの展開後に Nexus ダッシュボード GUI で有効にすることができます。BGP が構成されている場合は、残りのすべてのノードで BGP を構成する必要があります。ノードのデータネットワークに異なるサブネットがある場合は、ここで BGP を有効にする必要があります。

  2. [削除 Edit 最初のノードの横にある [編集(Edit)] ボタンをクリックします。

    ノードの シリアル番号(Serial Number), 管理ネットワーク 情報と、 タイプ は自動的に入力されますが、その他の情報を入力する必要があります。

  3. APIC と CSSM 間の後続の通信では、 [名前(Name)]に、サービス ノードのノード名を入力します。

    ノードの [名前(Name)] がホスト名として設定されるため、RFC-1123 に従っている必要があります。 RFC-1123 必要があります。

    (注)  

     

    名前を変更する必要があるものの、 [名前(Name)] フィールドが編集できない場合には、CIMC の検証を再度実行して、この問題を修正してください。

  4. APIC と CSSM 間の後続の通信では、 タイプで、 プライマリ(Primary)

    クラスタの最初の 3 つのノードは [プライマリ( Primary)] に設定する必要があります。 プライマリ(Primary)。より大規模なスケールを有効にする必要がある場合は、後の手順でセカンダリ ノードを追加します。

  5. リスト データネットワーク エリアに、ノードのデータ ネットワーク情報を入力します。

    データ ネットワークの IP アドレス、ネットマスク、およびゲートウェイを入力します。オプションで、ネットワークの VLAN ID を指定することもできます。構成に VLAN が不要な場合は、 [VLAN ID] フィールドを空白のままにします。. BGP 場合、 クラスタ接続に対し、ASN を入力します。

    前のページで IPv6 機能を有効にした場合は、IPv6 アドレス、ネットマスク、およびゲートウェイも入力する必要があります。

    (注)  

     

    IPv6 情報を提供する場合は、クラスタ ブートストラップ プロセス中に行う必要があります。後で IP アドレス構成を変更するには、クラスタを再展開する必要があります。

    クラスタ内のすべてのノードは、 IPv4 のみ、IPv6 のみ、またはデュアル スタック IPv4/IPv6 のいずれかで構成する必要があります。

  6. . BGP 場合、 クラスタ接続 で [BGP] を選択した場合、 BGPピアの詳細 エリアに、ピアの IPv4 アドレスとASN を入力します。

    [ IPv4 BGP ピアの追加 をクリックして、ピアを追加することもできます。

    前のページで IPv6 機能を有効にした場合は、ピアの IPv6 アドレスと ASN も入力する必要があります。

  7. [保存(Save)] を [Save] をクリックして、変更を保存します。

ステップ 13

次に ノードの詳細 画面で、 ノードの追加 をクリックして、クラスターに 2 番目のノードを追加します。

単一ノード クラスタを展開する場合は、この手順をスキップします。

  1. リスト 展開の詳細 エリアで、 管理 IP アドレス および パスワード(Password) を 2番目のノード用に指定します。

    ノードの初期構成手順で、管理ネットワーク情報とパスワードを定義しました。

  2. 登録手続きを開始するには、 検証(Validate) をクリックして、ノードへの接続を確認します。

    ノードの シリアル番号(Serial Number) および 管理ネットワーク 情報は、接続が検証されると、自動的に入力されます。

  3. ノードの [名前(Name)] 名前を指定します。

  4. [バーチャルアカウント(Virtual Account)] ドロップダウン リストから、 タイプ ドロップダウンで、[プライマリ(Primary)] を選択します。 プライマリ(Primary)

    クラスタの最初の 3 つのノードは [プライマリ( Primary)] に設定する必要があります。 プライマリ(Primary)。より大規模なスケールを有効にする必要がある場合は、後の手順でセカンダリ ノードを追加します。

  5. リスト データネットワーク エリアに、ノードの [データネットワーク] 情報を指定します。 データネットワーク 参照してください。

    データ ネットワークの IP アドレス、ネットマスク、およびゲートウェイを指定する必要があります。オプションで、ネットワークの VLAN ID を指定することもできます。ほとんどの導入では、[VLAN ID] フィールドを空白のままにできます。

    前の画面で IPv6 機能を有効にした場合は、IPv6 アドレス、ネットマスク、およびゲートウェイも入力する必要があります。

    (注)  

     

    IPv6 情報を提供する場合は、クラスタ ブートストラップ プロセス中に行う必要があります。後で IP 構成を変更するには、クラスタを再展開する必要があります。

    クラスタ内のすべてのノードは、 IPv4 のみ、IPv6 のみ、またはデュアル スタック IPv4/IPv6 のいずれかで構成する必要があります。

  6. (オプション)クラスタが L3 HA モードで展開されている場合は、 BGPの有効化 をデータ ネットワークに対しオンにします。

    永続 IP アドレス機能には BGP 設定が必要です。この機能については、 BGP 構成と永続的な IP アドレス 「永続的なIPアドレス」セクションで詳しく説明します。次に記載されています。 Cisco Nexus Dashboard ユーザー ガイド

    (注)  

     

    BGP をこの時点で、またはクラスタの展開後に Nexus ダッシュボード GUI で有効にすることができます。

    BGP を有効にする際、次の情報も入力する必要があります。

    • ASN このノードの ASN(BGP 自律システム番号)。

      すべてのノードに同じ ASN を構成することも、ノードごとに異なる ASN を構成することもできます。

    • 純粋な IPv6 の場合、 ルータ ID も指定します。

      ルータ ID は、1.1.1.1 などの IPv4 アドレスである必要があります。 1.1.1.1

    • BGPピアの詳細、ピアの IPv4 または IPv6 アドレスとピアの ASN を含む BGP ピアの詳細です。

  7. [保存(Save)] を [Save] クリックして変更を保存します。

  8. クラスタの最後の(3 番目の)プライマリ ノードでこの手順を繰り返します。

ステップ 14

リスト ノードの詳細 ページで、入力した情報を確認してから、次をクリックします。 Next

ステップ 15

[Spyware] 構成モード を選択します(クラスターの)。

  1. 登録手続きを開始するには、 永続的サービスIP/プールの追加 により、1 つ以上の永続 IP アドレスを提供します。

    永続IPアドレスの詳細については、次のセクションを参照してください: Nexus Dashboardの 永続 IP アドレス セクションに指定します。

  2. [削除(Delete)] を [Next] をクリックします。 クリックします。

ステップ 16

次に まとめ [サマリー(Summary)] 画面で設定情報を見直して確認し、[保存(Save)] をクリックしてクラスタを構築します。 [Save]

ノードのブート ストラップとクラスタの起動中に、全体的な進捗状況と各ノードの個々の進捗状況がUIに表示されます。ブートストラップの進行状況が表示されない場合は、ブラウザでページを手動で更新し、ステータスを更新してください。

クラスタが形成され、すべてのサービスが開始されるまでに最大 30 分かかる場合があります。クラスタの設定が完了すると、ページが Nexus ダッシュボード GUI にリロードされます。

ステップ 17

クラスタが健全であることを検証します。

クラスタが使用可能になったら、ノードの管理 IP アドレスのいずれかを参照してアクセスできます。デフォルトの admin ユーザーのパスワードは、 rescue-user のものと同じです。これは、最初のノードで選択したパスワードです。この間、UI は上部に「サービスのインストールが進行中です。Nexus Dashboard の設定タスクは現在無効になっています」という意味のバナーを表示します。

すべてのクラスターが展開され、すべてのサービスが開始されると、 異常レベル に変更するには、 Home > Overview で、クラスタが正常であることを確認できます。

または、 SSHを使用し、ノードのデプロイメント時に入力したパスワードを使用し、 rescue-user として、任意の 1 つのノードにログインできます。 acs health コマンドで、ステータスを確認します。

  • クラスタが収束している間、次の出力が表示されることがあります:

    $ acs health
    k8s install is in-progress
    
    $ acs health
    k8s services not in desired state - [...]
    
    $ acs health
    k8s: Etcd cluster is not ready
  • クラスタが稼働している場合は、次の出力が表示されます。

    $ acs health
    All components are healthy

(注)  

 

場合によっては、ノードの電源を再投入(電源をオフにしてから再度オン)すると、この段階でスタックが停止することがある可能性があります。

deploy base system services

これは、 etcd 物理 Nexus Dashboard クラスタの再起動後のノードの etcd の問題が原因です。

この問題を解決するには、 acs reboot clean コマンドを該当するノードで入力します。

ステップ 18

Nexus Dashboard を展開したら、このリリースの 収集ページ でこのリリースの構成情報を確認してください。


次のタスク

次のタスクは、ファブリックとファブリック グループを作成することです。詳細については、 ファブリックとファブリック グループの作成 の記事を参照してください。このリリースの Cisco Nexus Dashboard のコレクションページ に記載されています。。