本番環境における vSAN VMkernel ポートの VLAN/IP を無停止で変更する方法
search cancel

本番環境における vSAN VMkernel ポートの VLAN/IP を無停止で変更する方法

book

Article ID: 435718

calendar_today

Updated On:

Products

VMware vSAN

Issue/Introduction

本番環境の停止リスクやダウンタイムを伴うことなく、本番 vSAN クラスタのデータトラフィックを新しい VLAN またはサブネットに移動・リダイレクトする方法(vSAN の IP 再割り当てのアクションプラン)について説明します。

: 一部のノードでは 2 つの vSAN VMkernel インターフェイスが "up" 状態で 2 つの異なる VLAN に接続され、他のノードでは単一の vSAN VMkernel インターフェイスのみを使用するような、エアギャップによる部分的なクラスタ構成は、長期的にサポートされるソリューションではありません。
: vSAN は、同一サブネット上で複数の vSAN トラフィックタグが有効な VMkernel ポートがある構成をサポートしていません。

vSAN ネットワークのベストプラクティスについては、VMware 製品ドキュメントの vSAN のプランニングとデプロイ をご参照ください。

Environment

VMware vSAN(すべてのバージョン)

Cause

  • 環境の一部または全体で使用されている IP アドレス体系を変更する必要が生じる場合があります。
  • vSAN では、2つの VMK インターフェイスで同時に vSAN トラフィックを有効にできる "VMK" HA 機能が導入されています。
  • 本 KB では手順を順を追って説明します。なお、変更元の(古い VLAN/サブネットの)VMK インターフェイスは最終的に削除されることを前提としています。

Resolution

本 KB 記事で説明する手順は、以下の前提に基づいています。

  • vSAN クラスタが現在本番環境のデータを提供している。
  • 本番稼働中の仮想マシンを停止させることなく、本 KB の手順の完了時に新しい VLAN/サブネット上で vSAN トラフィックが流れる状態にすることを目的としている。
  • vSAN ホストは、既存の(古い)VLAN/サブネットが構成された 10G スイッチポートに接続されている。
  • vSAN ホストは、新しい VLAN/サブネットが構成された 10G スイッチポートにもすでに接続されている。
  • 新しい VLAN/サブネットが設定された新規の標準 vSwitch が追加されている、もしくは、新しい VLAN/サブネットが設定された新規のポートグループが既存の vSphere Distributed Switch (vDS) に追加されている。
  • /VSAN/IgnoreClusterMemberListupdates パラメータがデフォルト値の 0 に設定されていること。この値が 0 以外の場合、vCenter Server は ESXi ホスト上のユニキャストエージェントリストへ更新をプッシュできず、本番環境の停止につながります。
  • クラスタ内のすべてのホストで以下のコマンドを実行し、現在の設定値を確認してください。
    esxcfg-advcfg -g /VSAN/IgnoreClusterMemberListupdates
  • 出力値が 1 の場合は、以下のコマンドを実行してデフォルト値の 0 に戻してください。
    esxcfg-advcfg -s 0 /VSAN/IgnoreClusterMemberListupdates

 

必要な手順

  • まず、現在構成されている VMK インターフェイスをリスト表示する必要があります。
    • この設定例では、IP アドレスの末尾が .81、.82、.83、.84 の 4 台のホストを使用します。

  • vSAN クラスタ内の各ホストに SSH で接続し、root としてログインして以下のコマンドを入力します:
    esxcli network ip interface ipv4 get

以下のような出力が表示されます。

Name  IPv4 Address    IPv4 Netmask   IPv4 Broadcast   Address Type  Gateway        DHCP DNS
----  --------------  -------------  ---------------  ------------  -------------  --------
vmk0  192.###.###.81  255.###.###.0  192.###.###.255  STATIC        192.###.###.1  false
vmk1  192.###.###.81  255.###.###.0  192.###.###.255  STATIC        0.0.0.0        false    <<----VLAN10
vmk2  192.###.###.81  255.###.###.0  192.###.###.255  STATIC        0.0.0.0        false    <<----VLAN20

  • 次に、現在 vSAN で使用されている VMkernel インターフェイスを確認します。
    esxcli vsan network list

Interface
   VmkNic Name: vmk2     <<---- これが vSAN に使われている VMK インターフェースです
   IP Protocol: IP
   Interface UUID: ########-####-####-####-############
   Agent Group Multicast Address: 224.2.3.4
   Agent Group IPv6 Multicast Address: 2001:db8::2:3:4
   Agent Group Multicast Port: 23451
   Master Group Multicast Address: 224.1.2.3
   Master Group IPv6 Multicast Address: 2001:db8::1:2:3
   Master Group Multicast Port: 12345
   Host Unicast Channel Bound Port: 12321
   Multicast TTL: 5
   Traffic Type: vsan

  • vSAN データを新しい VLAN に移動するには、以下の手順を実行します。
    • vSphere Web Client で、各 vSAN ホストに新しい VMkernal インターフェイスを作成します(この KB では、新しいインターフェイスを vmk3 とします)。
    • 正しい vSwitch および/またはポートグループを選択していることを確認し、各ホストのこの新しい VMK インターフェイスに新しい VLAN の IP アドレスを構成します。
    • 各ホストの新しい VMK インターフェイスで vSAN を有効にします。
    • CLI から以下のコマンドを実行すると、新しい VMK インターフェイスが表示されるはずです。
      esxcli network ip interface ipv4 get

以下のような出力が表示されます。

Name  IPv4 Address    IPv4 Netmask   IPv4 Broadcast   Address Type  Gateway        DHCP DNS
----  --------------  -------------  ---------------  ------------  -------------  --------
vmk0  192.###.###.81  255.###.###.0  192.###.###.255  STATIC        192.###.###.1  false
vmk1  192.###.###.81  255.###.###.0  192.###.###.255  STATIC        0.0.0.0        false    <<----VLAN10
vmk2  192.###.###.81  255.###.###.0  192.###.###.255  STATIC        0.0.0.0        false    <<----VLAN20
vmk3  192.###.###.81  255.###.###.0  192.###.###.255  STATIC        0.0.0.0        false    <<----VLAN30 上の新しい VMK

  • 次に、両方の VMK インターフェイスに vSAN トラフィックのタグが付けられていることを vSAN が認識しているか確認します。
    esxcli vsan network list

以下のように、2 つの VMK インターフェイスがリスト表示されるはずです。

Interface
   VmkNic Name: vmk2     <<---- 古い VLAN 上のオリジナル vSAN VMK
   IP Protocol: IP
   Interface UUID: ########-####-####-####-############
   Agent Group Multicast Address: 224.2.3.4
   Agent Group IPv6 Multicast Address: 2001:db8::2:3:4
   Agent Group Multicast Port: 23451
   Master Group Multicast Address: 224.1.2.3
   Master Group IPv6 Multicast Address: 2001:db8::1:2:3
   Master Group Multicast Port: 12345
   Host Unicast Channel Bound Port: 12321
   Multicast TTL: 5
   Traffic Type: vsan  <<---- vSAN トラフィック用のタグ
 
Interface
   VmkNic Name: vmk3   <<---- 新しい VLAN に構成された新しい vSAN VMK
   IP Protocol: IP
   Interface UUID: ########-####-####-####-############
   Agent Group Multicast Address: 224.2.3.4
   Agent Group IPv6 Multicast Address: 2001:db8::2:3:4
   Agent Group Multicast Port: 23451
   Master Group Multicast Address: 224.1.2.3
   Master Group IPv6 Multicast Address: 2001:db8::1:2:3
   Master Group Multicast Port: 12345
   Host Unicast Channel Bound Port: 12321
   Multicast TTL: 5
   Traffic Type: vsan   <<---- vSAN トラフィック用のタグ

  • 次に、新しい VMK インターフェイス(この例では vmk3)を使用して、すべてのホスト間の接続をテストします。
    このコマンドは、新しい VMK インターフェイス(vmk3)を使用して、他のホストの vmk3 の IP アドレスに ping を実行します。
    • MTU 1500 を使用している場合:
      vmkping -I vmk3 -s 1472 -d 192.###.###.82
      vmkping -I vmk3 -s 1472 -d 192.###.###.83
      vmkping -I vmk3 -s 1472 -d 192.###.###.84
    • MTU 9000 (ジャンボフレーム) を使用している場合:
      vmkping -I vmk3 -s 8972 -d 192.###.###.82
      vmkping -I vmk3 -s 8972 -d 192.###.###.83
      vmkping -I vmk3 -s 8972 -d 192.###.###.84

    • 各 ping の出力は以下のようになります。
      64 bytes from 192.###.###.82: icmp_seq=0 ttl=64 time=0.933 ms
      64 bytes from 192.###.###.82: icmp_seq=1 ttl=64 time=0.908 ms
      64 bytes from 192.###.###.82: icmp_seq=2 ttl=64 time=0.735 ms

      --- ping statistics ---
      3 packets transmitted, 3 packets received, +1 duplicates, 0% packet loss
      round-trip min/avg/max = 0.735/1.204/1.035 ms

  • すべてのホストが新しい VMK インターフェイスで相互に ping を実行できるようになったら、1台のホストから開始して以下の手順を実行します。
    • vSphere Web Client に移動します。
    • インベントリ ペインでホストを選択します。
    • [構成] タブをクリックします。
    • "ネットワーク" の下の [VMkernel アダプタ] を選択します。
    • 古い VMK インターフェイス (この例では vmk2) を選択し、[編集] (鉛筆アイコン) をクリックします。
    • vSAN の横にあるチェックマークを外します。これにより、元の VMK インターフェイスでの vSAN トラフィックが無効になります。

  • すべての仮想マシンがアクセス可能な状態であることを確認します。これは予防措置であり、仮想マシンへの影響はない想定です。
    • 仮想マシンが非準拠になったり、シャットダウンしたり、アクセス不能になったりし始めた場合
    • 古い VMK インターフェイスを編集し、vSAN のチェックボックスをオンにしてください。
    • 元の VMK インターフェイスで vSAN を再度有効にすると、すべてが直ちに回復するはずです。

  • すべてのホストで元の VMK インターフェイスの vSAN が無効化され (編集モードでチェックマークが外され)、すべての仮想マシン/ホストが引き続き期待通りに動作/準拠していることが確認できたら
    • 古い VMK インターフェイスを削除します。

Additional Information

  • この KB 記事の手順に正確に従えば、ネットワークの切断やデータ可用性に影響を及ぼすリスクはありません。
  • この変更はシームレスに行われるように設計されており、実行中の仮想マシンに影響を与えることはありません。
  • ただし予防措置として、本 KB では 1 ホストずつ元の VMK インターフェイスの vSAN を無効にし、仮想マシンが非準拠になったり、シャットダウンしたり、アクセス不能になったりする兆候がないか短時間監視することを推奨しています(繰り返しますが、そのような事象は発生しない想定です)。
  • より慎重にアプローチする場合は、元の VMK インターフェイスの vSAN を無効にするタイミングで、対象ホストをメンテナンスモードに切り替え、元の VMK インターフェイスを無効にし、新しい VLAN 上の全ホストへの ping 接続を再テストしてから、メンテナンスモードを終了し、次のホストに対して同じ手順を繰り返すことも可能です。