2015年4月18日土曜日

VMware NSX @SoftLayer - その8 【Data Planeクラスタ構築とVSANを試す】


Data Planeクラスタ用のESXiをインストールするdpesxi01, dpesxi02, dpesxi03を発注します。

最初の再起動までは、「VMware NSX @SoftLayer - その2 【1台目のESXi構築】」との違いを述べていきます。

【管理クラスタ所属ESXi用物理サーバーの発注】での違いは、ディスク構成とホスト名です。mgesxi0xと同じVLANに接続されるよう明示します。
ディスク構成については、VSAN用にSSDを追加すること、VSAN用にHDDを追加することです。
本稿では、VSANを動かしてみる、というレベルの検証しか考えていないので、mgesxi0xと同じ構成で発注しておき、ESXiに論理ディスクをSSDと報告する設定を入れます。

【ESXiインストール準備】⑩の「eth0とeth2について、LACPからStandard Ether Channel設定に変更するようチケットで依頼」してはいけません

ESXiインストール前に、RAIDを構成します。コンソールを表示し、サーバーを再起動させ、BIOSの表示の中で、RAIDコントローラを操作するオプションを選択します。
ESXiをインストールする論理ディスク、SSDに見せかける論理ディスク、HDDに見せかける論理ディスクを作成します。

【ESXiインストール】は同じです。

【ESXiへ管理用IPアドレス付与】はIPアドレスが異なります。

【ESXi初期設定(管理クラスタ用)】は⑩までを実行します。ホスト名が異なります。⑧は欄外の説明部分の方を参照してください。
ここではsshで接続できない場合があるようです。同セグメントからはつながるようなので、繋がるESXiを踏み台にして接続します。その場合、⑪を実行して、コンソールから元の設定に戻すとうまくいく場合があるようです。一度うまくいくと、問題なくつながるようになりました。LACPの設定をしていないからです。標準仮想スイッチがLACPをサポートしていないため、この部分の手順は少々トリッキーな方法をとらざるを得なくなるかもしれません。素直につながる可能性は半々くらいです。

NFSサーバーのマウントは後回しとします。ネットワーク設定を完了させるのが先決です。

ここで再起動します。


NSX1データセンターにdpesxi01, dpesxi02, dpesxi03ホストを追加します。
必要に応じてライセンスの割り当てを行います。


分散仮想スイッチへホストを追加します。

dvs-pod1分散仮想スイッチへホストの追加】

[dvs-pod1]-[ホストの追加と管理]:
タスク: ホストの追加
ホストの選択: dpesxi01, dpesxi02, dpesxi03
ネットワークアダプタタスクの選択: 物理アダプタの管理、VMkernelアダプタの管理
物理アダプタの管理:
  vmnic0:
    アップリンク: lag1-0
  vmnic2
    アップリンク: lag1-1
VMkernelアダプタの管理:
  vmk0:
    ポートグループ: dpg-manage1-1554

dpg-manage1-1554のフェイルオーバー順序:
  アクティブアップリンク: lag1


ここでは、管理トラフィックの切り替えが発生します。設定が間違っていてvCenterとの通信ができなくなると一部の処理がロールバックされます。この切り替えに失敗するとドツボに嵌ります。


標準仮想スイッチvSwitch0をdpesxi01, dpesxi02, dpesxi03から削除します。


esxcli network vswitch standard remove --vswitch-name=vSwitch0



VMkernel設定を追加します。

dpesxi01へVMkernel追加】

接続タイプの選択: VMkernelネットワークアダプタ
既存のポートグループの選択: dpg-vmotion1-1734
使用可能なサービス: vMotionトラフィック, Fault Toleranceのログ
IPv4設定:
  IPv4アドレス: 10.90.29.139
  サブネットマスク: 255.255.255.192
NIC設定
  MTU: 9000

接続タイプの選択: VMkernelネットワークアダプタ
既存のポートグループの選択: dpg-san1-1913
使用可能なサービス: 仮想SANトラフィック
IPv4設定:
  IPv4アドレス: 10.91.29.75
  サブネットマスク: 255.255.255.192
NIC設定
  MTU: 9000


dpesxi02へVMkernel追加】

接続タイプの選択: VMkernelネットワークアダプタ
既存のポートグループの選択: dpg-vmotion1-1734
使用可能なサービス: vMotionトラフィック, Fault Toleranceのログ
IPv4設定:
  IPv4アドレス: 10.90.29.140
  サブネットマスク: 255.255.255.192
NIC設定
  MTU: 9000

接続タイプの選択: VMkernelネットワークアダプタ
既存のポートグループの選択: dpg-san1-1913
使用可能なサービス: 仮想SANトラフィック
IPv4設定:
  IPv4アドレス: 10.91.29.76
  サブネットマスク: 255.255.255.192
NIC設定
  MTU: 9000


dpesxi03へVMkernel追加】

接続タイプの選択: VMkernelネットワークアダプタ
既存のポートグループの選択: dpg-vmotion1-1734
使用可能なサービス: vMotionトラフィック, Fault Toleranceのログ
IPv4設定:
  IPv4アドレス: 10.90.29.141
  サブネットマスク: 255.255.255.192
NIC設定
  MTU: 9000

接続タイプの選択: VMkernelネットワークアダプタ
既存のポートグループの選択: dpg-san1-1913
使用可能なサービス: 仮想SANトラフィック
IPv4設定:
  IPv4アドレス: 10.91.29.77
  サブネットマスク: 255.255.255.192
NIC設定
  MTU: 9000


※MTUを9000に設定する部分については、以下のコマンドで実行できる(実機では未検証)。
esxcli network ip interface set --interface-name=vmk1 --mtu=9000
esxcli network ip interface set --interface-name=vmk2 --mtu=9000


疎通確認します。


esxcli network diag ping --count 1 --df --size 8972 --host gw-mng.pod1.example.com; echo ; \
esxcli network diag ping --count 1 --df --size 8972 --host mgesxi01.pod1.example.com; echo ; \
esxcli network diag ping --count 1 --df --size 8972 --host mgesxi02.pod1.example.com; echo ; \
esxcli network diag ping --count 1 --df --size 8972 --host mgesxi03.pod1.example.com; echo ; \
esxcli network diag ping --count 1 --df --size 8972 --host gwesxi01.pod1.example.com; echo ; \
esxcli network diag ping --count 1 --df --size 8972 --host gwesxi02.pod1.example.com; echo ; \
esxcli network diag ping --count 1 --df --size 8972 --host dpesxi01.pod1.example.com; echo ; \
esxcli network diag ping --count 1 --df --size 8972 --host dpesxi02.pod1.example.com; echo ; \
esxcli network diag ping --count 1 --df --size 8972 --host dpesxi03.pod1.example.com; echo ; \
esxcli network diag ping --count 1 --df --size 8972 --host gw-vmt.pod1.example.com; echo ; \
esxcli network diag ping --count 1 --df --size 8972 --host mgesxi01-vmt.pod1.example.com; echo ; \
esxcli network diag ping --count 1 --df --size 8972 --host mgesxi02-vmt.pod1.example.com; echo ; \
esxcli network diag ping --count 1 --df --size 8972 --host mgesxi03-vmt.pod1.example.com; echo ; \
esxcli network diag ping --count 1 --df --size 8972 --host gwesxi01-vmt.pod1.example.com; echo ; \
esxcli network diag ping --count 1 --df --size 8972 --host gwesxi02-vmt.pod1.example.com; echo ; \
esxcli network diag ping --count 1 --df --size 8972 --host dpesxi01-vmt.pod1.example.com; echo ; \
esxcli network diag ping --count 1 --df --size 8972 --host dpesxi02-vmt.pod1.example.com; echo ; \
esxcli network diag ping --count 1 --df --size 8972 --host dpesxi03-vmt.pod1.example.com; echo ; \
esxcli network diag ping --count 1 --df --size 8972 --host gw-san.pod1.example.com; echo ; \
esxcli network diag ping --count 1 --df --size 8972 --host mgesxi01-san.pod1.example.com; echo ; \
esxcli network diag ping --count 1 --df --size 8972 --host mgesxi02-san.pod1.example.com; echo ; \
esxcli network diag ping --count 1 --df --size 8972 --host mgesxi03-san.pod1.example.com; echo ; \
esxcli network diag ping --count 1 --df --size 8972 --host gwesxi01-san.pod1.example.com; echo ; \
esxcli network diag ping --count 1 --df --size 8972 --host gwesxi02-san.pod1.example.com; echo ; \
esxcli network diag ping --count 1 --df --size 8972 --host dpesxi01-san.pod1.example.com; echo ; \
esxcli network diag ping --count 1 --df --size 8972 --host dpesxi02-san.pod1.example.com; echo ; \
esxcli network diag ping --count 1 --df --size 8972 --host dpesxi03-san.pod1.example.com; echo ; \
esxcli network diag ping --count 1 --df --size 8972 --host nsxvca01.pod1.example.com; echo ; \
esxcli network diag ping --count 1 --df --size 8972 --host nsxdns01.pod1.example.com; echo ; \
esxcli network diag ping --count 1 --df --size 8972 --host nsxdns02.pod1.example.com; echo ; \
esxcli network diag ping --count 1 --df --size 1472 --host rs1.service.softlayer.com; echo ; \
esxcli network diag ping --count 1 --df --size 1472 --host rs2.service.softlayer.com



NFSサーバーをマウントします。


NFSサーバーをマウントする。
esxcli storage nfs add --host nfs1.pod1.example.com --share /nfs1 --volume-name nfs1
esxcli storage nfs add --host nfs2.pod1.example.com --share /nfs2 --volume-name nfs2



NSX1データセンターに新規クラスタを追加します。


【Data Planeクラスタ作成】

名前: cl-dp1
場所: NSX1
DRS: オンにする
自動化レベル: 完全自動化
移行のしきい値: 3
vSphere HA: オンにする
ホストの監視: 有効化
アドミッション コントロール: 有効化
ポリシー: ホスト障害のクラスタ許容: 1
仮想マシンの監視ステータス: 無効
監視感度: 2
EVC: Intel "Sandy Bridge" Generation
仮想 SAN: オフ



dpesxi01, dpesxi02, dpesxi03ホストをData Planeクラスタに移動します。
ドラッグアンドドロップで順次移動した後、画面表示を更新し、エラーや警告がなくなることを確認します。


VSANの設定を行います。
ここからの操作は、見慣れている人が少ないと思いますので、できるだけ画面キャプチャーも掲載したいと思います。

ストレージがどのように認識されているか確認します。


「非SSD」と認識されているので、SSDとして認識させるようにします。
実際にSSDでなくてもSSDとして認識させることができます。そんなことをすればサポート外となりますが、検証として動かしてみるレベルであれば問題ないと思います…。


~ # esxcli storage nmp device list --device=mpx.vmhba1:C0:T1:L0
mpx.vmhba1:C0:T1:L0
   Device Display Name: Local ASR7160 Disk (mpx.vmhba1:C0:T1:L0)
   Storage Array Type: VMW_SATP_LOCAL
   Storage Array Type Device Config: SATP VMW_SATP_LOCAL does not support device configuration.
   Path Selection Policy: VMW_PSP_FIXED
   Path Selection Policy Device Config: {preferred=vmhba1:C0:T1:L0;current=vmhba1:C0:T1:L0}
   Path Selection Policy Device Custom Config:
   Working Paths: vmhba1:C0:T1:L0
   Is Local SAS Device: false
   Is USB: false
   Is Boot USB Device: false
~ # esxcli storage nmp satp rule add -s VMW_SATP_LOCAL --device=mpx.vmhba1:C0:T1:L0 --option=enable_ssd
~ # esxcli storage core claiming unclaim --type device --device=mpx.vmhba1:C0:T1:L0
~ # esxcli storage core claimrule load
~ # esxcli storage core claimrule run



無事、SSDとして認識されました。同じ操作をdpesxi02, dpesxi03でも実施します。


クラスタに対し、仮想SANのライセンスを割り当てます。試用版ライセンスで試す場合には、この操作は不要です。


仮想SANをオンにし、ストレージへのディスクの追加を手動に設定します。


※オンにしようとするとvSphere HAを無効化する必要があるとのエラーが発生したので、先に無効化しました。本当?! 仕様?!


VSANへ組み込むディスクを指定します。



これで使えるようになるはずですが、今回はうまくいきませんでした。「ホストがVSAN対応クラスタ内の他のすべてのノードと通信できません」というエラーが発生しました。
前回は、物理サーバー12台のうち、2台がおかしくて、他の10台はVSANに組み込めました。その2台のうちの1台でも組み込むと、同様のエラーが発生しました。発生すると解除できません。再起動すらままなりません。再インストールしたり、組み合わせを変えてみたりして色々と試しました。一度でもこのエラーが発生するとリカバリするすべがなく、ほぼ最初からやり直しになってしまいます。その場合、VSAN上のデータを救う方法がよく分かりませんでした。
安定利用できるようになるまで、まだまだ時間が必要なのかもしれません。
そもそも、サポートされない組み合わせで試したのが悪いのかもしれません。
今回の連載は、ネットワーク仮想化がメインなので、VSANについては深入りするのをやめることとします。

dpesxi01, dpesxi02, dpesxi03については、RAIDを組みなおすところからやり直し、VMkernel設定で使用可能なサービスとして仮想SANトラフィックを選ばないようにして再構築しておきます。

0 件のコメント:

コメントを投稿