Skip navigation

Blog Posts

Total : 4,175

Blog Posts

1 2 Previous Next

Problem: vSphere ESXi 6.7 host not responding in vCenter.

 

Error in vmkernel log:

 

2019-06-08T11:02:03.118Z cpu2:2136226)MemSchedAdmit: 470: Admission failure in path: sioc/storageRM.2136226/uw.2136226

2019-06-08T11:02:03.118Z cpu2:2136226)MemSchedAdmit: 477: uw.2136226 (185844) extraMin/extraFromParent: 256/256, sioc (808) childEmin/eMinLimit: 14066/14080

2019-06-08T11:02:03.118Z cpu2:2136226)MemSchedAdmit: 470: Admission failure in path: sioc/storageRM.2136226/uw.2136226

2019-06-08T11:02:03.118Z cpu2:2136226)MemSchedAdmit: 477: uw.2136226 (185844) extraMin/extraFromParent: 33/33, sioc (808) childEmin/eMinLimit: 14066/14080

2019-06-08T11:02:03.118Z cpu2:2136226)MemSchedAdmit: 470: Admission failure in path: sioc/storageRM.2136226/uw.2136226

2019-06-08T11:02:03.118Z cpu2:2136226)MemSchedAdmit: 477: uw.2136226 (185844) extraMin/extraFromParent: 256/256, sioc (808) childEmin/eMinLimit: 14066/14080

2019-06-08T11:02:03.118Z cpu2:2136226)MemSchedAdmit: 470: Admission failure in path: sioc/storageRM.2136226/uw.2136226

 

The main Root Cause is SIOC running out of memory.

 

Resolution: N/A

Note: This known issue will be fixed in 6.7U3. which will may release in July/August 2019

Work Around:

 

Users can workaround the issue by restarting the SIOC service using the following commands on the affected ESXi Hosts:

1. Check the status of storageRM and sdrsInjector

/etc/init.d/storageRM status
/etc/init.d/sdrsInjector status


2. Stop the service

/etc/init.d/storageRM stop
/etc/init.d/sdrsInjector stop


3. Start the service

/etc/init.d/storageRM start
/etc/init.d/sdrsInjector start

 

If the issue persists even after the SIOC service is restarted, users can temporarily disable SIOC by turning off the feature from VMware Virtual Center.

 

Refer VMware KB VMware Knowledge Base

Problem: This error when running esxcli command

 

Error interacting with configuration file /etc/vmware/lunTimestamps.log: Timeout while waiting for lock, /etc/vmware/lunTimestamps.log.LOCK, to be released. Another process has kept this file locked for more than 20-30 seconds. The process currently holding the lock is smartd(PID). This is likely a temporary condition. Please try your operation again

 

ESXi host showing as Disconnected in vCenter Server is a known issue in ESXi 6.0.

 

Solution

This is a known issue affecting ESXi 6.0.  Currently, there is no resolution.

 

To work around this issue, disable smartd daemon on the host.

 

To disable smartd daemon:

 

  1. Connect to the affected ESXi host with an SSH session.
  2. Run this command to stop the smartd service:

    /etc/init.d/smartd stop

  3. Run this command to stop the smartd service from starting on reboot:

    chkconfig smartd off

NSX-T のネステッド ESXi 環境を利用したラボを構築してみます。

NSX Manager 初回ログイン後の、トランスポート ノードの作成について紹介します。

 

トランスポート ノードとは、NSX-T 独自の仮想スイッチ「N-VDS」が構成されるノードです。

NSX-T のトランスポート ノードには、ESXi ホストと NSX Edge の 2種類がありますが、

ここでセットアップするのは、ESXi の「ホスト トランスポート ノード」です。

 

前回はこちら。

自宅ラボで NSX-T 2.4 環境を構築する。Part.4

 

今回の NSX Manager でのセットアップでは、

N-VDS を使用する ESXi に NSX-T のコンポーネントをインストールします。

そのため、事前に vCenter では下記の準備をしておきます。

  • オーバーレイ ネットワークを構成するホストのクラスタ作成
    • NSX-T コンポーネントのインストールは、クラスタ単位になります。
  • ESXi ホストの vCenter とクラスタへの登録

 

NSX Manager への初回ログイン。

NSX Manager の初回ログインの画面です。

「はじめに」で、vCenter との登録から ESXi をトランスポート ノードとしてセットアップするまでの手順を、流れに沿ってすすめらられます。

これ以降の手順を個別に実施することもできますが、今回は「はじめに」から手順をすすめます。

nsx-setup-01.png

 

「トランスポート ノードのセットアップ」を進めます。

nsx-setup-02.png

 

vCenter Server の登録。

「コンピュート マネージャの追加」で、vCenter を登録します。

nsx-setup-04.png

 

事前に準備してある vCenter の、アドレスや接続情報を入力します。

このとき SSL 証明書のサムプリントを空欄ですすめると、

vCenter 実機のサムプリントで問題ないか確認画面が表示されます。

nsx-setup-05.png

 

ESXi への NSX-T コンポーネントのインストール。

vCenter を登録すると、トランスポート ノードにする ESXi のクラスタを選択できます。

nsx-setup-08.png

 

選択したクラスタに NSX-T のコンポーネントをインストールしてよいか確認メッセージが表示されます。

nsx-setup-09.png

 

しばらく待つと、ESXi ホストが「NSX インストール済み」となります。

画面更新に時間がかかることがありますが、インストール進行中でも

あえて「前へ」「次へ」ボタンをクリックしてみると、インストール完了していることがあります。

nsx-setup-11.png

 

オーバーレイ トランスポート ゾーンとオーバーレイ N-VDS の作成。

「オーバーレイ トランスポート ゾーンの作成」をすすめます。

nsx-setup-12.png

 

「オーバーレイ トランスポート ゾーンの作成」で、

トランスポート ゾーンの名前と、N-VDS(オーバーレイ N-VDS)の名前を入力し、作成します。

nsx-setup-14.png

 

アップリンク プロファイルの作成と指定。

オーバーレイ N-VDS の「アップリンク プロファイルの作成」をします。

今回の構成では、オーバーレイ ネットワークのトンネル エンドポイント(TEP)で VLAN ID を設定するので、

アップリンク プロファイルの新規作成が必要です。

nsx-setup-15.png

 

今回のようにウィザード形式でトランスポート ノードをセットアップしない場合は、

あらかじめアップリンク プロフィルを作成しておきます。

 

アップリンク プロファイルは、名前と・・・

nsxt-setup-uplink-01.png

 

チーミング設定、トランスポート VLAN(TEP となる vmk ポートに設定する VLAN ID)、MTU を設定します。

チーミングの「アクティブ アップリンク」と「スタンバイ アップリンク」に入力する名前は、

あとで ESXi の物理 NIC(vmnic)を紐づけるために利用します。

nsxt-setup-uplink-02.png

 

作成したアップリンク プロファイルを指定して、次のステップで TEP の IP アドレスと、物理 NIC の割り当てをします。

 

オーバーレイ N-VDS の TEP アドレス/物理 NIC の指定。

ESXi は、オーバーレイ トランスポート ゾーンを、オーバーレイ N-VDS で構成します。

ここでは、N-VDS のトンネル エンドポイントとなる TEP の IP アドレスと、

オーバーレイ ネットワークの物理経路となる、物理 NIC を割り当てます。

 

IP アドレスの割り当てには、DHCP(デフォルト)か IP アドレス プールが利用できます。

IP アドレス プールを使用する場合、IP アドレス プールは、この画面から作成できます。

nsx-setup-22.png

 

IP アドレス プールには、名前、IP アドレス範囲、ネットワーク アドレス(CIDR)が必須です。

TEP が複数の L3 ネットワークで構成される場合は、ゲートウェイも入力します。

nsx-setup-23.png

 

作成した IP アドレス プールを指定します。

そして ESXi の物理 NIC に対して、先ほど作成したアップリンク プロファイル名で指定した

アップリンクの名前を割り当てます。

ちなみに、ESXi で未使用(仮想スイッチに未割り当て)の物理 NIC が 3つ以上ある場合は、

さらに vmnic3 以降も表示されます。その際は、使用する物理 NIC だけにアップリンク名を指定します。

nsx-setup-26.png

 

ESXi へのトランスポート ノードのセットアップを終了します。

nsx-setup-27.png

 

オーバーレイ トランスポート ゾーンと N-VDS の確認。

「システム」→「ファブリック」→「トランスポート ゾーン」で、

作成されたトランスポート ゾーンが確認できます。

nsx-setup-29.png

 

vSphere Client では、ESXi に N-VDS が作成され、物理 NIC が接続されたことがわかります。

nsx-setup-30.png

 

トランスポート ノードのアップリンク設定の変更。

ここまでで設定したオーバーレイ N-VDS の設定変更をしたい場合には、

vSphere Client ではなく、NSX Manager で、

トランスポート ノードのアップリンク ポリシーを設定変更します。

 

アップリンク ポリシーの設定変更。

「システム」→「ファブリック」→「プロファイル」→「アップリンク プロファイル」にて、

対象のプロファイルを選択して「編集」から設定変更します。

nsx-setup-31.png

 

ESXi へのアップリンク ポリシーの指定、物理 NIC 割り当ての変更。

「システム」→「ファブリック」→「ノード」→「ホスト トランスポート ノード」にて、

管理元で vCenter の名前を選択します。

そして、対象のノードを選択して「管理」→「編集」から設定変更します。

nsx-setup-32.png

 

つづく…

NSX-T のネステッド ESXi 環境を利用したラボを構築してみます。

今回は、ネスト内側の ESXi でのネットワーク設定について紹介します。

 

前回はこちら。

自宅ラボで NSX-T 2.4 環境を構築する。Part.3

 

イメージ図のうち赤枠の部分が、今回の対象です。

ネステッド ESXi 側での、仮想スイッチとポートグループの構成について説明します。

NSX-T_Lab-2019_setup_Part04.png

 

このラボでは、下記の 2種類のネステッド ESXi ホストを用意します。

  • オーバーレイ ネットワークへの入り口になる ESXi ホスト(NSX Edge を搭載する)
  • 一般の VM むけの オーバーレイ ネットワークを利用する ESXi ホスト

この2種類のホストは 1台のホストにすることができますが、

今回はネットワーク構成を理解しやすいように、あえて独立させました。

それぞれの、ネットワーク構成を説明します。

 

オーバーレイ ネットワークへの入り口になる ESXi ホストの構成。

NSX-T によるオーバーレイ ネットワークへの入り口となる ESXi ホストでは、

NSX Edge の VM を稼働させます。

 

ESXi から見た pNIC は、3つ(vmnic0 ~ vmnic2)用意してあります。

これの実体はネステッド ESXi の vNIC です。

 

このホストは NSX-T のオーバーレイ ネットワークの入り口となりますが、

その役割は NSX Edge VM がもつため、ESXi には NSX-T 独自の仮想スイッチである N-VDS は構成されません。

 

vmnic0 の構成。

1つめの vmnic0 は、vSS(vSwitch0)に構成して下記の通信で利用しています。

  1. ESXi の vmk0 による管理通信
  2. NSX Edge への入り口(アップリンク)となる VLAN

 

ここでの NSX Edge のアップリンクは、NSX-T による仮想スイッチ(VLAN N-VDS)に接続されます。

VLAN N-VDS は Edge VM に構成されます。そして Edge VM のポートグループ割り当てによって経路が決まるので、

後述の vmnic0 / vmnic2 の経路とすることも可能ですが、

今回は「ためしに NIC を切断してみる」のような実験の利便性のため、vmnic0 経路にしています。

 

この pNIC に構成される仮想スイッチには VLAN だけが通るので

(オーバーレイ ネットワークは通らない)ので、

MTU は 1500 のままでも大丈夫です。

 

VLAN N-VDS では Edge VM の中で VLAN ID をうけるため、

Edge VM での VLAN N-VDS の vNIC に接続するポートグループは、前回の投稿にあるような

VLAN ID 4095(vDS であれば VLAN トランク)の設定をしておきます。

 

vmnic1 / vmnic2 の構成。

vmnic1 と vmnic2 は、どちらか片方、またはアクティブ/スタンバイの構成にして、

NSX-T によるオーバーレイ ネットワークで利用します。

ただし、このホストは NSX Edge がオーバーレイ ネットワークの終端となります。

つまり NSX Edge VM が トンネルのエンドポイント(TEP)をもちます。

また、ここでの vmnic のチーミングは、一般的なポートグループのチーミングポリシーで設定します。

 

この pNIC に構成される仮想スイッチには オーバーレイ ネットワークが通るので

MTU は 1600 などに拡張します。

 

今回の オーバーレイ N-VDS では TEP で VLAN ID をうけるため、

Edge VM での オーバーレイ N-VDS の vNIC に接続するポートグループも、

VLAN ID 4095(vDS であれば VLAN トランク)の設定をしておきます。

nsxt-lab-esxi-type-1.png

 

オーバーレイ ネットワークを利用する ESXi ホストの構成。

NSX-T によるオーバーレイ ネットワークを VM が利用するホストで、

ESXi には NSX-T 独自の仮想スイッチである N-VDS(オーバーレイ N-VDS)が構成されます。

ESXi ホスト同士や NSX Edge とは、オーバーレイ ネットワークを通すトンネルのエンドポイント(TEP)同士で通信をします。

 

ESXi から見た pNIC は、前述の ESXi ホストと同様に、3つ(vmnic0 ~ vmnic2)用意してあります。

 

vmnic0 の構成。

1つめの vmnic0 は、vSS(vSwitch0)を構成して、ESXi の vmk0 による管理通信で利用しています。

そのため、MTU は 1500 のままです。

 

vmnic1 / vmnic2 の構成。

vmnic1 と vmnic2 は、どちらか片方、またはアクティブ/スタンバイの構成にして、

NSX-T によるオーバーレイ ネットワーク(オーバーレイ N-VDS)で利用します。

 

先ほどのホストとは異なり、vmnic に設定は、NSX-T のアップリンク プロファイルで設定します。

そのため、ESXi では特に設定を実施せず、NSX-T のセットアップまで NIC を仮想スイッチでは未使用にしておきます。

 

(のちほど)アップリンク プロファイルでは、下記のような設定をすることになります。

  • NIC のチーミング
  • オーバーレイ ネットワークが通るので、MTU は 1600 などに設定。
  • オーバーレイ N-VDS の TEP での VLAN ID の設定。

nsxt-lab-esxi-type-2.png

 

つづく・・・

自宅ラボで NSX-T 2.4 環境を構築する。Part.5

NSX-T のネステッド ESXi 環境を利用したラボを構築してみます。

今回は、ネスト外側の ESXi でのネットワーク設定について紹介します。

 

前回の投稿はこちら。

自宅ラボで NSX-T 2.4 環境を構築する。Part.2

 

1回目投稿にあるイメージ図での赤枠の部分が、今回の対象です。

物理ネットワーク ~ 物理 NIC、物理 ESXi での仮想スイッチ/ポートグループの構成について説明します。

NSX-T_Lab-2019_setup_Part03.png

 

物理(外部)ネットワーク ~ 物理 NIC の構成について。

NSX-T 環境を構成する場合、ESXi では複数の物理 NIC を利用します。

しかし、今回のラボで NSX-T をインストールするホストはネステッド ESXi なので、

物理 ESXi 側では、物理 NIC が1つだけでも十分です。

(私の自宅ラボの物理マシンが 物理 NIC ポートが1つずつしかないという事情もあります。)

そこで、物理 ESXi では、1つの 1Gbps の物理 NIC(vmnic0)だけ利用しています。

nsxt-lab-pNW-02.png

 

ラボ環境では VLAN も利用するので、物理的なネットワーク スイッチのポートでも

トランクポートに設定して対象の VLAN ID が通過できるようにしておく必要があります。

(ただ一般家庭で利用しているようなスイッチング ハブであれば、デフォルトで通るかなとは思います。)

 

MTU は、オーバーレイ ネットワークを構成するためすこし大きめ(一般的な 1500 ではなく 1600 など)に

する必要があり、物理スイッチがでもそのサイズの MTU に対応しておく必要があります。

(ちなみに、これも一般家庭で利用しているようなスイッチング ハブであれば、デフォルトで満たしているはずです。)

物理 ESXi 側での MTU は仮想スイッチで設定することになります。

 

仮想スイッチの構成について。

物理 ESXi での仮想スイッチは、標準仮想スイッチ(vSS)/分散仮想スイッチ(vDS)のどちらでも構いません。

私のラボでは、物理 ESXi 6 台でのクラスタで vDS を利用しています。

nsxt-lab-pNW-01.png

 

NSX-T でのオーバーレイ ネットワークのために、

仮想スイッチでは MTU を拡張(1600 などに)しておきます。

仮想スイッチでの MTU 設定は、仮想ポート単位ではなく、スイッチ全体での設定です。

 

vDS の場合の MTU 設定

vDS の設定の場合は、vDS で 1回 MTU の設定を変更すれば、すべての ESXi に設定反映されます。

vDS の MTU は、下記のように vDS の「設定」→「プロパティ」画面で確認できます。

nsxt-lab-pNW-03.png

 

vSS の場合の MTU 設定

vSS の設定の場合は、それぞれの ESXi ホストの vSS(vSwtich0 など)で、MTU の設定を変更する必要があります。

vSS の MTU 設定は、ESXi ホストで仮想スイッチの「設定の表示」を開くと確認できます。

nsxt-lab-pNW-04a.png

nsxt-lab-pNW-04.png

 

ちなみに、ネステッド ESXi 側でも MTU 1600 に設定する部分がありますが、

物理 ESXi 側でその値以上に MTU を拡張する必要はありません。

仮想スイッチについては、ネスト(入れ子)にしているというより連結している構成となるので、

通常の物理ネットワーク スイッチを連結するときのように経路上の MTU を揃えておきます。

(外側 ESXi をより大きな MTU にするというわけではなく)

 

ポートグループの構成について。

ネスト環境では、ポートグループで VLAN とセキュリティ ポリシーの設定に工夫が必要です。

 

ちょっと古い投稿ですが、下記のような設定をします。

ネステッド ESXi で仮想スイッチ側 VLAN をためす。(VLAN4095 で VST)

 

1つめのポイントは、 VLAN の設定についてです。

ネスト環境でのネットワーク構成では、

できるだけ、物理 ESXi ではなくネステッド ESXi 側のネットワーク構成を

本来構成したいネットワーク(仮想スイッチ/ポートグループ/vNIC)の設定にすると扱いやすいかなと思います。

そこで、物理 ESXi 側の仮想スイッチでは VLAN をそのまま通して、ネステッド ESXi 側の仮想スイッチで VLAN を終端させます。

この設定は、物理 ESXi で vDS/vSS のどちらを利用しているかによって設定が異なります。

 

vSS を利用している場合は、トランクポートの設定ができないので、

VLAN ID 4095 を設定することで、

すべての VLAN ID をそのまま通過させてネステッド ESXi 側の仮想スイッチに渡します。

nsxt-lab-pNW-07.png

 

vDS を利用している場合、トランクポートの設定ができるので、

ネステッド ESXi で利用する VLAN ID の範囲をトランクで設定します。

逆に、vDS では VLAN ID 4095 が設定できないので、

すべての VLAN ID を通す場合は「0-4094」のように設定します。

nsxt-lab-pNW-05.png

 

2つめのポイントは、セキュリティの設定変更です。

ネステッド ESXi の環境では、ESXi VM 自身の vNIC(ネステッド ESXi での vmnic0 などにあたる)に設定される MAC アドレスと、

ネステッド ESXi 上の vmk ポートや vNIC とで MAC アドレスとが、不一致になります。

そのため、物理 ESXi 側の仮想スイッチではセキュリティ設定を緩和(「承諾」に変更)しておく必要があります。

この設定は、vDS / vSS どちらも共通で必要です。

(ただし vDS のほうがデフォルト値がセキュリティが高く設定されており、デフォルト値は異なります。)

なお、標準的にインストールした ESXi の vmk0 ポートは vmnic0 と MAC アドレスが一致するようになっており、

この設定をしなくても、ネステッド ESXi の vmk0 だけは通信ができてしまうはずです。

nsxt-lab-pNW-06.png

 

ちなみに、物理 ESXi に直接搭載する VCSA や NSX Manager の VM については

とくにネスト環境を意識することなく普通のポートグループを割り当てます。

 

続く。

自宅ラボで NSX-T 2.4 環境を構築する。Part.4

Problem: HBA Firmware update on ESXI host

 

Resolution:

1. Copy the firmware update offline bundle to a location where you can access during the process

2. Current location: Jumpbox E:\Nawal\OfflineBundle\HBA_Firmware (copy all the folders)

3. Start the VMWare vCLI (if you have not added the path to your env variable then go to command line and go to the vCLI folder, default location à C:\Program Files (x86)\VMware\VMware vSphere CLI\bin)

4. Put the host in maintenance mode before and take it out after it is done

 

5. Run the following command: C:\Users\Nawal>vihostupdate.pl –server esxi01.domain.local –install –bundle C:\OfflineBundle\HBA_Firmware\offile-bundle\841.k1.58.1-1vmw-offile_bundle-1053111.zip

It will ask for credentials.  Login as host root

It will show you the progress and it will show you it was successful (requires reboot)

 

After reboot, SSH to the host and run this command to confirm the version (Case sensitive)

HBA.png

 

Problem: Unmount and Detach VMware Datastores

 

If you are working in project where need to unmount multiple datastores and detach from each esxi hosts is very tedious job to unmount and detach from each ESXi host.

To Make automated to reduce the time. Below are the automated powercli script to do this job faster without any manually work.

 

To modify this script only you need two thing to change in this script.  One is vCenter Server Name and another one is to specify the datastores name (which is marked in RED color to change as per your environment.) which you want to unmount and detach from ESXi hosts.

 

Solutions:

 

#############################################################################################################

##script:           Unmount_Detach-Datastore.ps1

##

##Description:      Unmounts and detaches a given datastore from all its connected hosts.

#+                  Before running make sure that the datastore doesn't have any live VMs or templates on it.

#Additional info:   http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2004605

#Additional info:   http://blogs.vmware.com/vsphere/2012/01/automating-datastore-storage-device-detachment-in-vsphere-5.html

#Additional info:   https://communities.vmware.com/docs/DOC-18008

 

 

##############################################################################################################

function Connect-Vcenter {

    #############################################################################################

    ##Function:         Connect-Vcenter

    ##

    ##Description:      Loads the VMWare snap-in for powershell and connects to vcenter.

    ##

    ##Created by:      

    ##############################################################################################

    param(

        $vcenter

    )

    #Load snap-in

    if (-not (Get-PSSnapin -Name VMware.VimAutomation.Core -erroraction "silentlycontinue" )) {

        Write-Host "Importing VMWare Snap-in VMware.VimAutomation.Core..."  

        Add-PSSnapin VMware.VimAutomation.Core

    }

    Set-PowerCLIConfiguration -DefaultVIServerMode Single -invalidCertificateAction "ignore" -confirm:$false | out-null

    #Connect to vCenter

    if ($global:DefaultVIServers.Count -lt 1) {

        Write-Host "Connecting to vcenter server $vcenter..."     

        Connect-VIServer $vCenter

    }

}

Function Get-DatastoreMountInfo {

    #function copied from https://communities.vmware.com/docs/DOC-18008

    [CmdletBinding()]

    Param (

        [Parameter(ValueFromPipeline=$true)]

        $Datastore

    )

    Process {

        $AllInfo = @()

        if (-not $Datastore) {

            $Datastore = Get-Datastore

        }

        Foreach ($ds in $Datastore) { 

            if ($ds.ExtensionData.info.Vmfs) {

                $hostviewDSDiskName = $ds.ExtensionData.Info.vmfs.extent[0].diskname

                if ($ds.ExtensionData.Host) {

                    $attachedHosts = $ds.ExtensionData.Host

                    Foreach ($VMHost in $attachedHosts) {

                        $hostview = Get-View $VMHost.Key

                        $hostviewDSState = $VMHost.MountInfo.Mounted

                        $StorageSys = Get-View $HostView.ConfigManager.StorageSystem

                        $devices = $StorageSys.StorageDeviceInfo.ScsiLun

                        Foreach ($device in $devices) {

                            $Info = '' | Select Datastore, VMHost, Lun, Mounted, State

                            if ($device.canonicalName -eq $hostviewDSDiskName) {

                                $hostviewDSAttachState = ''

                                if ($device.operationalState[0] -eq "ok") {

                                    $hostviewDSAttachState = "Attached"                       

                                } elseif ($device.operationalState[0] -eq "off") {

                                    $hostviewDSAttachState = "Detached"                       

                                } else {

                                    $hostviewDSAttachState = $device.operationalstate[0]

                                }

                                $Info.Datastore = $ds.Name

                                $Info.Lun = $hostviewDSDiskName

                                $Info.VMHost = $hostview.Name

                                $Info.Mounted = $HostViewDSState

                                $Info.State = $hostviewDSAttachState

                                $AllInfo += $Info

                            }

                        }

                        

                    }

                }

            }

        }

        $AllInfo

    }

}

Function Detach-Datastore {

    #function based on code found here https://communities.vmware.com/docs/DOC-18008

    [CmdletBinding()]

    Param (

        [Parameter(ValueFromPipeline=$true)]

        $Datastore

    )

    Process {

        if (-not $Datastore) {

            Write-Host "No Datastore defined as input"

            Exit

        }

        Foreach ($ds in $Datastore) {

            $hostviewDSDiskName = $ds.ExtensionData.Info.vmfs.extent[0].Diskname

            if ($ds.ExtensionData.Host) {

                $attachedHosts = $ds.ExtensionData.Host

                Foreach ($VMHost in $attachedHosts) {

                    $hostview = Get-View $VMHost.Key

                    $StorageSys = Get-View $HostView.ConfigManager.StorageSystem

                    $devices = $StorageSys.StorageDeviceInfo.ScsiLun

                    Foreach ($device in $devices) {

                        if ($device.canonicalName -eq $hostviewDSDiskName) {

                            #If the device is attached then detach it (I added this to the function to prevent error messages in vcenter when running the script)

                            if ($device.operationalState[0] -eq "ok") {

                                $LunUUID = $Device.Uuid

                                Write-Host "Detaching LUN $($Device.CanonicalName) from host $($hostview.Name)..."

                                $StorageSys.DetachScsiLun($LunUUID);

                            }

                            #If the device isn't attached then skip it (I added this to the function to prevent error messages in vcenter when running the script)

                            else {

                                Write-Host "LUN $($Device.CanonicalName) is not attached on host $($hostview.Name)..."

                            }

                        }

                    }

                }

            }

        }

    }

}

Function Unmount-Datastore {

    #function based on code found here https://communities.vmware.com/docs/DOC-18008

    [CmdletBinding()]

    Param (

        [Parameter(ValueFromPipeline=$true)]

        $Datastore

    )

    Process {

        if (-not $Datastore) {

            Write-Host "No Datastore defined as input"

            Exit

        }

        Foreach ($ds in $Datastore) {

            $hostviewDSDiskName = $ds.ExtensionData.Info.vmfs.extent[0].Diskname

            if ($ds.ExtensionData.Host) {

                $attachedHosts = $ds.ExtensionData.Host

                Foreach ($VMHost in $attachedHosts) {

                    $hostview = Get-View $VMHost.Key

                    $mounted = $VMHost.MountInfo.Mounted

                    #If the device is mounted then unmount it (I added this to the function to prevent error messages in vcenter when running the script)

                    if ($mounted -eq $true) {

                        $StorageSys = Get-View $HostView.ConfigManager.StorageSystem

                        Write-Host "Unmounting VMFS Datastore $($DS.Name) from host $($hostview.Name)..."

                        $StorageSys.UnmountVmfsVolume($DS.ExtensionData.Info.vmfs.uuid);

                    }

                    #If the device isn't mounted then skip it (I added this to the function to prevent error messages in vcenter when running the script)

                    else {

                        Write-Host "VMFS Datastore $($DS.Name) is already unmounted on host $($hostview.Name)..."

                    }

                }

            }

        }

    }

}

#VARIABLES

#Parameters

$vcenter = "VCS01.domain.local"

$DSName = "VMFS_DS_01","VMFS_DS_02","VMFS_DS_03","VMFS_DS_04","VMFS_DS_05","VMFS_DS_06","VMFS_DS_07","VMFS_DS_08","VMFS_DS_09","VMFS_DS_10"

#SCRIPT MAIN

clear

Connect-Vcenter $vcenter

$datastore = Get-Datastore -Name $DSName

$CanonicalName = $datastore.ExtensionData.Info.Vmfs.Extent[0].DiskName

$GoAhead = Read-Host "Are you sure that you want to unmount and detach: `n$DSName `n$CanonicalName`nfrom all its connected hosts?"

if ($GoAhead -eq "yes" -or $GoAhead -eq "y" -or $GoAhead -eq "Y") {

    Write-Host "Unmounting datastore $DSName..."  

    $datastore | Unmount-Datastore

    Write-Host "Detaching datastore $DSName from hosts..."

    $datastore | Detach-Datastore

}

$DSName

$CanonicalName

Problem: Update VMware ESXi patch to hosts through VMware ESXCLI

 

Resolution:

 

Step 1. Download the latest patch bundle from the VMware Web site. VMware ESXi patches are cumulative!  Each patch bundle (.zip archive) includes all the updates from prior patches.

Step 2. Upload the patch bundle (zip) to a central datastore with the vSphere Client, vSphere Web Client,

Step 3. Enable SSH - In the vSphere Web client start the SSH service and make a SSH session to the ESXi host

Step 4. Put the host in maintenance mode

        vim-cmd hostsvc/maintenance_mode_enter or esxcli system maintenanceMode set –-enable yes

Step 5. Install the patch bundle.

Using esxcli with the install method has the possibility of overwriting existing drivers. If you are using third-party ESXi images, VMware recommends using the update method to prevent an unbootable state. The following command will install the patch bundle:

 

esxcli software vib update -d /vmfs/volumes/DatastoreName/ESXi550-201709001.zip

After the patch bundle is installed check the message. It must say “The update completed successfully, but the system needs to be rebooted for changes to be effective.”

 

Step 6. Reboot the host by entering the following command: reboot

 

Step 7. Make a SSH session to the ESXi host and exit maintenance mode:

           vim-cmd hostsvc/maintenance_mode_exit or esxcli system maintenanceMode set --enable no

Real Problem in VMware SRM 6.5.1 version post installation and configuration faced in customer environment.

 

Error: Cannot complete login due to an incorrect user name or password.

Cause: Cannot retrieve SRM properties

 

--> Connecting with an SSO-based account works without errors or connectivity issues.

 

Resolution:

 

This is a known issue with Active Directory authentication from Single Sign On.

 

To fix this issue, required service account to configure identity source to use Active Directory as LDAP Authentication.

 

1. Login to the vSphere Web Client as administrator@vsphere.local

2. From the home location, navigate to >>Administration >>Single Sign-on >>Configuration and select the Identity Sources tab

3. Click the green + to add an Identity source

4. In the Identity Source page, select Active Directory as a LDAP Server.

5. Fill in the Identity Source Settings information for your Active Directory domain

Name: Label for identification
Base DN for users: The Distinguished Name (DN) of the starting point for directory server searches. Example: If your domain name is domain.internal the DN for the entire directory is "DC=domain, DC=internal".
Domain name: Your domain name. Example: "domain.internal"
Domain alias: Your netbios name. Example: "AA"
Base DN for groups: The Distinguished Name (DN) of the starting point for directory server searches.
Primary server URL: AD Server URL. You can either query the local directory (Port 389), or the global catalog (Port 3268). Example: "ldap://DC01.domain.local:3268"
Secondary Server URL: “ldap://DC02.domain.local:3268”
Username: A user in the AD Domain with at least browse privileges. Example AA\vCenterSSO

6. Click Finish.

7. After clicking Finish, this should add the domain to the list

8. Now check the SRM properties login with domain id where given SRM access.

 

Refer VMware KB 2147590

Hello All,

 

Below are the powercli script to help to deploy bulk blank virtual machines quickly instead of create manually.

 

=====================================================================================================================

<#

.SYNOPSIS

        Citrix VMs Shell Creation

    .DESCRIPTION

        This script is for Deploy Multiples Blank Virtual Machines Shells for Citrx VMs which are streaming from Gold Image

    .NOTES

        Author: Nawal Singh

  Date: 03/05/2019

 

    #>

#Connection to vCenter

 

 

$mycred = Get-Credential

Connect-VIServer "vcs01.domain.local" -Credential $mycred

 

Write-Progress -Activity "Deploying VM's" -Status "Working" ;

 

New-VM -VMHost "vSphere_ESX_01.domain.local" -Name VMCTX01 -Datastore VMFS_DS_01 -NumCpu 6 -MemoryGB 16 -DiskGB 20 -DiskStorageFormat Thin -PortGroup PG_VLAN_101  -Floppy -CD -location Citrix -GuestId windows7Server64Guest

New-VM -VMHost "vSphere_ESX_02.domain.local" -Name VMCTX02 -Datastore VMFS_DS_01 -NumCpu 6 -MemoryGB 16 -DiskGB 20 -DiskStorageFormat Thin -PortGroup PG_VLAN_101  -Floppy -CD -location Citrix -GuestId windows7Server64Guest

New-VM -VMHost "vSphere_ESX_03.domain.local" -Name VMCTX03 -Datastore VMFS_DS_02 -NumCpu 6 -MemoryGB 16 -DiskGB 20 -DiskStorageFormat Thin -PortGroup PG_VLAN_101  -Floppy -CD -location Citrix -GuestId windows7Server64Guest

New-VM -VMHost "vSphere_ESX_04.domain.local" -Name VMCTX04 -Datastore VMFS_DS_02 -NumCpu 6 -MemoryGB 16 -DiskGB 20 -DiskStorageFormat Thin -PortGroup PG_VLAN_101  -Floppy -CD -location Citrix -GuestId windows7Server64Guest

 

Disconnect-VIServer -Server *  -Force -Confirm:$false

 

==========================================================================================================================

 

 

NSX-T の機能を確認できるように、ネステッド ESXi 環境を利用したラボを構築してみます。

ネスト環境として土台になる、外側の vCenter での設定について紹介します。

ここでは、VM の配置と、リソース割り当てについて紹介します。

 

前回はこちら。

自宅ラボで NSX-T 2.4 環境を構築する。Part.1

 

前提となるサーバの準備。

まずは、DNS / NTP / NTP / vCenter(VCSA)を用意しておきます。

これらのサーバは、vSphere にとっては、NSX-T を利用するか、ネスト環境であるかどうか

にかかわらず必要であり、特にネスト特有ではない一般的な手順で構築します。

ポイントは、下記のあたりかなと思います。

  • DNS サーバには、NSX Manager の 正引き/逆引きの設定(A / PTR レコード)も登録しておきます。
  • 共有データストアにする NFS サーバを VM として用意する場合も、ここに配置しておきます。
  • VCSA は、最小(tiny)サイズでのデプロイでも NSX-T の動作確認は可能です。

nsxt-lab-base-01.png

 

NSX Manager デプロイのポイント。

NSX Manager をデプロイして、起動しておきます。

nsxt-lab-base-02.png

 

NSX-T 2.4 の NSX Manager には、従来の NSX Manager と Controller 機能が統合されました。

NSX Unified Appliance という OVA ファイル(ファイル名は nsx-unified-appliance-2.4.1.0.0.13716579.ova)をデプロイします。

NSX Manager および利用可能なアプライアンスのインストール

 

デプロイ時のポイントは下記かなと思います。

  • 「nsx-manager nsx-controller」というロールを選択しておきます。
  • 最小サイズは「Cloud Service Manager」むけのもので、NSX Manger のサービスが起動できなくなるので、16GB メモリ / 4 vCPU以上のサイズを選択しておきます。

nsxt-lab-base-11.png

 

また、NSX Manager の VM は vCPU / メモリ(vRAM)の割り当てが大きいので、

小規模のラボむけに、リソース予約をあえて解除してから VM を起動します。

nsxt-lab-base-12.png

 

ESXi VM 設定のポイント。

ネステッド ESXi にする、ESXi VM の設定についてです。

nsxt-lab-base-03.png

 

ESXi VM では、ネステッド ハイパーバイザ上で VM を起動するため、

vCPU で「ハードウェア仮想化」を有効化しておきます。

仮想スイッチとポートグループの設定には工夫が必要です。※次回紹介する予定です。

 

そして、ESXi は、普通のインストーラ ISO ファイルからインストールします。

nsxt-lab-base-13.png

 

次は、土台になる外側の vCenter での、ネットワーク設定における工夫について紹介します。

 

つづく!

自宅ラボで NSX-T 2.4 環境を構築する。Part.3

I have attached the procedure the change the VM NIC E1000 to VMXNET3 in VMware environment. If help please comment it.

 

Note: Downtime is required for this change.

 

 

Following are the PowerCLi script to create bulk dvSwitch port groups in vCenter 5.5/6.0/6.5/6.7

 

1. First create dvswitch in vCenter with any name as per your convenient. For example I created dvswitch with the name of "dvs_Internal" as showed below.

2. Copy the below script in notepad and pest it

3. Modify the vCenter name , dvswitch name where mentioned dvswitch name as "dvs_Internal". Also, change the port group name and VLAN number as per your requirement.

4. save the notepad as example dvPortGroupCreation.ps1

5. Now you can open the VMware vSphere PowerCLI and run the script.

6. it will show the progress of creation the dvport groups in the powercli screen.

7. once script completed you can login to vCenter server via webclient and you can see the new port groups.

 

Note: This script tested in test/dev/prod environment and working without any issue. 

===========================================================================================================================

    <#

.SYNOPSIS

       Network Configuration

    .DESCRIPTION

          This script Create VM DVPort groups

    .NOTES

        Author: Nawal Singh

 

    #>

#Connection to vCenter

 

 

$mycred = Get-Credential

Connect-VIServer "VCS01.domain.local" -Credential $mycred

 

Write-Progress -Activity "Creating DvPort Groups" -Status "Working" ;

 

#This section configures the dvport Groups

 

Get-VDSwitch -Name "dvs_Internal" | New-VDPortgroup -Name "dPG_VLAN_101" -NumPorts 128 -VLanId 101

Get-VDSwitch -Name "dvs_Internal" | New-VDPortgroup -Name "dPG_VLAN_102" -NumPorts 128 -VLanId 102

Get-VDSwitch -Name "dvs_Internal" | New-VDPortgroup -Name "dPG_VLAN_103" -NumPorts 128 -VLanId 103

Get-VDSwitch -Name "dvs_Internal" | New-VDPortgroup -Name "dPG_VLAN_104" -NumPorts 128 -VLanId 104

Get-VDSwitch -Name "dvs_Internal" | New-VDPortgroup -Name "dPG_VLAN_105" -NumPorts 128 -VLanId 105

Get-VDSwitch -Name "dvs_Internal" | New-VDPortgroup -Name "dPG_VLAN_106" -NumPorts 128 -VLanId 106

Get-VDSwitch -Name "dvs_Internal" | New-VDPortgroup -Name "dPG_VLAN_107" -NumPorts 128 -VLanId 107

Get-VDSwitch -Name "dvs_Internal" | New-VDPortgroup -Name "dPG_VLAN_108" -NumPorts 128 -VLanId 108

Get-VDSwitch -Name "dvs_Internal" | New-VDPortgroup -Name "dPG_VLAN_109" -NumPorts 128 -VLanId 109

Get-VDSwitch -Name "dvs_Internal" | New-VDPortgroup -Name "dPG_VLAN_110" -NumPorts 128 -VLanId 110

Get-VDSwitch -Name "dvs_Internal" | New-VDPortgroup -Name "dPG_VLAN_111" -NumPorts 128 -VLanId 111

Get-VDSwitch -Name "dvs_Internal" | New-VDPortgroup -Name "dPG_VLAN_112" -NumPorts 128 -VLanId 112

Get-VDSwitch -Name "dvs_Internal" | New-VDPortgroup -Name "dPG_VLAN_113" -NumPorts 128 -VLanId 113

 

Disconnect-VIServer -Server *  -Force -Confirm:$false

===========================================================================================================================

I have attached my written VMware V2V Migration Plan which is attached as reference to help VMware architect/Infrastructure Architect and solution architect to build plan as per their company and customer requirement..

NSX-T の機能を確認できるように、ネステッド ESXi 環境を利用したラボを構築してみます。

今回は、構築する NSX-T 環境の概要を紹介します。

 

今回のラボ構成の方針。

現時点で NSX-T に取り組む場合は、新技術のキャッチアップを目的とすることが多いかなと思います。

そこで、ソフトウェアはできるだけ新しいものを利用します。

  • NSX-T 2.4.1
  • vCenter Server 6.7 U2 / ESXi 6.7 U2

 

私の自宅ラボには高スペックなマシンがないので、VM 配置/リソース設定に工夫をしています。

  • 本当は手軽に物理マシン 1台でネスト環境を構成したいが、スペック不足のため複数台の物理 ESXi ホストを使用。
  • VCSA と NSX-T Manager などはリソース割り当てが大きいので、あえてネスト環境よりも外(NSX-T 環境の vCenter より外)に配置。
    • ただし実環境では、これらは NSX-T 環境の vCenter で管理することになるはずです。
  • 各 VM の構成/リソース割り当ては、推奨値以下のものもあり。
    • NSX Manager は VM のリソース予約を解除。そしてクラスタ構成ではなくシングル構成にする。
    • NSX Edge は最小のサイズ。
  • ネステッド ESXi でのメモリ節約のため、共有データストアは vSAN ではなく NFS にする。

NSX-T_Lab-2019_setup-VM.png

 

ネットワークまわりの構成は、ラボ目的での環境構築として意図的に下記のような構成としています。

作成するラボでは、主に操作感(GUI / API)、オーバーレイ ネットワーク、ファイアウォール機能を確認するつもりです。

  • NSX Edge は、あえてオーバーレイ ネットワークを構成するクラスタとは別のクラスタに配置。
    • これは、NSX Edge 専用のクラスタが必要、というわけではありません。
    • ESXi のトランスポート ノードと、Edge トランスポート ノードとで、搭載する側の ESXi の構成差異を見やすくするため。
  • Tier-0 ルータのアップリンク(オーバーレイ ネットワークへの入り口)は管理ネットワークと兼用。
    • NSX 特有のネットワークに入るまでの部分はシンプルにしたかったため。
  • Tier-0 ルータではルーティング プロトコルを利用せず、たんにスタティックルートで NSX のネットワークへ。
  • オーバーレイの TEP(VTEP)には VLAN ID を付与。
  • オーバーレイ ネットワークの、元 / 先 / それ以外、として 3ノードの ESXi を用意。
  • NFS データストアの接続は、NSX が構成するネットワークとは直接的に関係しないので、vmk0 の管理ネットワークを兼用。
  • オーバーレイ ネットワークで利用する pNIC ポート(ESXi VM の vNIC)はあえて複数構成。
    • アップリンク プロファイルを理解しやすいように複数本(vmnic1 + vmnic2 のような)で冗長化。

NSX-T_Lab-2019-NW.png

※そのうち物理 / 論理構成を分けて、アドレス例も入れてあらためて・・・

 

実際に構築する NSX-T ラボの様子。

まず、ラボ全体を管理する vCenter の vSphere Client(HTML5 Client)です。

vCenter 6.7 では、基本的にこの vSphere Client を利用します。

 

物理 ESXi ホストには、vCenter(VCSA)、NSX Manger、NFS サーバ、ESXi VM といったものが配置されます。

それぞれ、役割の想像がしやすそうな VM 名にしてみました。

ここでの「ESXi VM」とは VM に ESXi をインストールしたもの(ネステッド ESXi)で、

通常の ESXi と同様に VM を起動したり、vCenter から管理したりできます。

nsxt-lab-01-ext.png

 

そして次は、「ネステッド ESXi + NSX-T」環境を管理する vCenter の、vSphere Client です。

上記のスクリーンショットにある lab-esxi-~ という VM は、この vCenter に ESXi として登録してあります。

この環境では、すでに NSX-T との連携がされており、ESXi に「N-VDS」という

NSX-T ならではの特別な仮想スイッチが構成されています。

nsxt-lab-02-nested.png

 

最後に、NSX Manager の画面です。

これは、上記のスクリーンショットと同じ環境を NSX Manager から見たところです。

NSX for vSphere(NSX-V)では、vSphere Client から NSX の設定をしていましたが、

NSX-T では、NSX Manager が提供する別の UI から、NSX の設定をすることになります。

nsxt-lab-03-mgr.png

 

では、これから下記のような流れでポイントを紹介していこうと思います。

  • 土台になる、外側の物理 ESXi ホスト(の vCenter)での設定。
  • NSX-T と連携する vCenter(ネステッド ESXi を利用した環境)での設定。
  • NSX-T 環境のセットアップ。

 

つづく。

自宅ラボで NSX-T 2.4 環境を構築する。Part.2

1 2 Previous Next

Actions

Looking for a blog?

Can't find a specific blog? Try using the Blog page to browse and search blogs.