Nimble Storageの日本代理店が発表になったようで


2012年8月に紹介したNimble Storageですが、このたび、アセンテックが国内総代理店として取り扱うことが決まったようです。

・プレスリリース:アセンテック、ハイブリッド型ストレージシステム 「Nimble Storage」の国内販売開始
アセンテック Nimble Storage製品ページ

春ぐらいからNimble Storageの日本上陸に関する話がちらほらあり、うちの記事がNimble Storageに関する唯一の日本語記事ということもあって、サポートとかを担当しそうないろんなベンダさんのIPアドレスから、アクセスがいろいろあったのがなかなかおもしろかったですね。
(もちろん、アセンテックさんからのアクセスも結構ありました。というか、参考にしたんだから謝礼くださいw)

過去記事の紹介
Nimble Storage(2012/08/06)
SSD+SATAのハイブリッドストレージ Nimble Storageについて調べてみた(2013/05/21)
ネットワークストレージ業界の標準ハードウェアSupermicro 6036ST-6LR(2013/05/15)

Nimble Storageについて知りたい人は、2番目の記事(SSD+SATAのハイブリッドストレージ Nimble Storageについて調べてみた)。

要約
・汎用的に使えるiSCSIストレージ
・SSDはReadキャッシュとして使用する
・書き込みの高速化は「データの圧縮」と「バッファ蓄積による書き込みのシーケンシャルWrite化」などで実現
・SSDは壊れても大丈夫な構成(実データは全てHDD上にある)
・VSS(Microsoft)やSRM/VAAI(VMware)などの連携プラグインも提供済み
・筐体間レプリケーションもサポート
・Nimble Storageの筐体はSupermicro 6036ST-6LRを採用

VMware HA有効時に仮想マシンの自動起動をしたい


2023/03/06追記

警告2

vSphere 7.0 Update1以降、VMware HAを有効にするとvCLSという仮想マシンが起動するようになるという仕様変更があり、おとなしくUPS連動でシャットダウンをさせてくれなくなっています。

詳細は「vSphere 7.0 Update 1以降 vCLSという仮想マシンが勝手に起動してUPS連動シャットダウンに失敗する」を見てください。

2019/06/26追記

警告

UPSによる自動停止と自動起動が目的である場合、このページに書かれている手法は、どこにも担保されていない手法となり推奨できません。

保証がある、という方向性で考えると、UPSソリューションズの「シャットダウンボックス UPSS-SDB02」など、外部機器を用意し、そちらからコントロールする手法をお薦めします。

また、2019年現在では、UPSメーカ公式の対応手法がいくつか出てきています。

基本的には、シャットダウン時にVMware HAを無効化して、起動時はVMware HAが無効化されているのでvCSAと起動用VMが自動起動できるので、それらをまず起動してから、VMware HAを有効化し、それ以外の仮想マシンも起動する、という手法をとっています。

APC UPS「PowerChute Network Shutdown for Virtualization v4.x VMware HA環境でのサポート構成

Eaton UPS「シャットダウン for vCSA on vSphere HA by IPM 1.62」「自動起動 for vCSA on vSphere HA by IPM 1.62

よっぽどのことが無い限り、これらの手段を使うべきだと思います。

また、シャットダウンを行う仮想マシンとしてvMA(vSphere Management Assistant)を使用するといった手順が紹介されている場合がありますが、vMAはvSphere 6.5までの対応(2016年11月リリースが最終版)となっており、最新のvSphere 6.7環境ではサポートされないことに注意してください。

vMAというアプライアンスの代替は公式にはありません。
別途、Windows/Linuxをインストールした仮想マシンに対して「vSphere CLI」をインストールするか、もしくはPowerShellがインストールされたWindows/Linux/MacOSXで動作する「VMware PowerCLI」モジュールを組み込むかを行う必要があります。

追記終わり


VMware HA利用時って、ESXiの仮想マシン自動起動設定が使えません。
そんなわけで、いままではvCenter ServerとしてWindowsサーバを別途ハードウェアを用意し、そこから、スクリプトを使って仮想マシンを起動させていたりました。

しかし、いまは、vCenter Server Appliance(vCSA)。
仮想マシンでたてちゃえば、Windowsライセンスもいらないのでお気軽・・・ってことになっています。
(vCSAは、SuSE Linux+Linux版vCenter Serverです)

が・・・VMware HA有効時は、仮想マシンの自動起動が使えない→vCSAも起動しない。
さて、どうしよう?

正規な解決手法は無い模様。

ハードウェアを追加で購入して対応する、というのであれば、UPSソリューションズの「シャットダウンボックス UPSS-SDB02」というアプライアンスを使って解決する、という手があります。

ESXiサーバだけでなんとか解決する手法はないものか、いろいろ捜索してみた結果、ESXiの起動時に実行される/etc/rc.local.d/local.shを利用して起動させる、というあたりが最適かな、という結論に。
(rc.localに関するVMwareのKB:Modifying the rc.local or local.sh file in ESX/ESXi to execute commands while booting)

警告!!!以下の手順はVMware公式の手順ではありません。

ESXi5.1の場合、ESXi Shellを有効にしてログイン、もしくはsshを有効にしてログインしたあと、/etc/rc.local.d/local.shを編集します。

元々のlocal.shはこんな感じ。

~ # cat /etc/rc.local.d/local.sh
#!/bin/sh

# local configuration options

# Note: modify at your own risk!  If you do/use anything in this
# script that is not part of a stable API (relying on files to be in
# specific places, specific tools, specific output, etc) there is a
# possibility you will end up with a broken system after patching or
# upgrading.  Changes are not supported unless under direction of
# VMware support.

exit 0

ここに仮想マシン起動のコマンドを入れ込みます。

いろいろ実験した結果、すぐに実行すると仮想マシンファイルのロック問題が発生し、vMotionができない状況が発生したりしたので、若干スリープを入れて処理を遅延させます。
・・・時間調整が面倒だったので、切りよく5分(300秒)で設定しちゃってますけどね。

#!/bin/sh

# local configuration options

# Note: modify at your own risk!  If you do/use anything in this
# script that is not part of a stable API (relying on files to be in
# specific places, specific tools, specific output, etc) there is a
# possibility you will end up with a broken system after patching or
# upgrading.  Changes are not supported unless under direction of
# VMware support.

LOGS=/vmfs/volumes/sharedstore/tmp/`hostname`.txt
date >> $LOGS
vim-cmd vmsvc/getallvms >> $LOGS
sleep 300
date >> $LOGS
vim-cmd vmsvc/getallvms >> $LOGS

for vmid in `vim-cmd vmsvc/getallvms | grep "sharedstore" | awk '{ print $1 }'`
do
        vim-cmd vmsvc/power.on $vmid
        sleep 5
done

date >> $LOGS
echo "boot finished" >> $LOGS
exit 0

書き換えた後は「auto-backup.sh」を実行します。
これを忘れると、再起動を行うとlocal.shは初期状態に戻ってしまいます。

~ # auto-backup.sh
Files /etc/vmware/dvsdata.db and /tmp/auto-backup.5979//etc/vmware/dvsdata.db differ
Saving current state in /bootbank
Clock updated.
Time: 00:37:06   Date: 09/20/2013   UTC
~ #

もしかすると、下記の様な感じの出力になるかもしれません。

~ # auto-backup.sh
--- /etc/vmware/hostd/hostsvc.xml
+++ /tmp/auto-backup.5631//etc/vmware/hostd/hostsvc.xml
@@ -8,6 +8,5 @@
   <mode>normal</mode>
   <service>
     <TSM-SSH>on</TSM-SSH>
-    <ntpd>automatic</ntpd>
   </service>
 </ConfigRoot>
\ No newline at end of file
Saving current state in /bootbank
Clock updated.
Time: 00:26:37   Date: 09/20/2013   UTC
~ #

これは、vSphere Clientから行った設定と、いまauto-backup.shで保存した設定に差異があり、vSphere Clientで行った設定が無効になったような場合に表示されます。

その場合は、もう1回、vSphere Clientから設定をやり直します。
上記の場合は、「automatic」が無くなった、ということになりますので、NTPに関する設定をやり直します。


解説

#!/bin/sh

# local configuration options

# Note: modify at your own risk!  If you do/use anything in this
# script that is not part of a stable API (relying on files to be in
# specific places, specific tools, specific output, etc) there is a
# possibility you will end up with a broken system after patching or
# upgrading.  Changes are not supported unless under direction of
# VMware support.

LOGS=/vmfs/volumes/sharedstore/tmp/`hostname`.txt

LOGS=でログファイルの出力先を指定。
「/sharedstore/tmp/」は適宜環境に応じて調整のこと。

date >> $LOGS
vim-cmd vmsvc/getallvms >> $LOGS

この段階での、このESXiホストが管理している仮想マシン一覧を取得。

sleep 300
date >> $LOGS
vim-cmd vmsvc/getallvms >> $LOGS

300秒待ったあと、再度、仮想マシン一覧を取得。

ここでウェイトを入れなかった場合、ESXi間での共有ファイルロックがおかしくなったようで、vMotionがうまくできなくなったという事例が発生した。
どれくらい待てばいいのかという最適値は不明。とりあえず切りよく300秒としただけ。

for vmid in `vim-cmd vmsvc/getallvms | grep "sharedstore" | awk '{ print $1 }'`
do
        vim-cmd vmsvc/power.on $vmid
        sleep 5
done

仮想マシン一覧を「vim-cmd vmsvc/getallvms」で取得し、そのなかから、起動したい仮想マシンだけをうまいこと選択できるキーワードを使ってgrepで抜き出し、その最初の数字を抜き出す。
その数字の仮想マシンをpower.onする。
という感じ。

仮想マシンの台数が多いときは、この部分を2つに分けて、最初のforループでは、vCSAの起動を。
そこから2分(sleep 120)ぐらい間を置き、
次のforループでは、それ以外の仮想マシンを起動するようにした方がいいと思う。

今回は「sharedstore」という文字列が入っているものを起動させている。
ここら辺は、うまいことやる必要がある。

date >> $LOGS
echo "boot finished" >> $LOGS
exit 0

vSphere 5.5リリース



現在、VMware world 2013が開催中。
毎年、ここで新バージョンのvSphereが発表されています。

今年も当然、新しいものが発表されました。
仮想化の基本基盤としてのVMware vSphere 5.5です。

それでは早速What’s Newを見てみましょう。
What’s New in VMware vSphere 5.5 Platform

いろいろありますが、個人的に気になる点は以下の2つ。

・無償のvSphere Hypervisorにあったメモリ32GB制限が無くなった
ライセンスを買わなくても使えるvSphere Hypervisorに存在していた物理メモリ32GB制限が撤廃、というのは驚きました。
ちょっと緩和しすぎなんじゃ?とか思わなくもないです。

・「vSphere Flash Read Cache」というSSDを使ったリードキャッシュ機能
vFlashという名称で開発されていたものが「vSphere Flash Read Cache」という名前で標準搭載。
Enterprise Edition以上じゃないと使えないのかな?というところがありますが、ストレージアプライアンスみたいに、3rdパーティーでそういうのが登場してがんばろうとした矢先に、標準搭載してくる、という図式は相変わらずですね。
Proximal DataおよびPernix Dataとの相違点はどう出てくるのかな?と。

その他、いろいろな変更点が・・・

・いろんな新機能に関する操作はvSphere Web Client必須
昔ながらのvSphere Clientアプリケーションでは新機能が使えない。

・ESXiが暇な時にCPUをC-stateという省電力モードに移行させる機能をサポート

・サーバの物理メモリ最大量が4TBに(いままでは2TB)

・VMDKファイル(ディスクイメージ)が2TBを突破し、最大62TBに

・仮想マシンハードウェアバージョンが10に

・PCIe接続のSSDディスクに対するhot-add, hot-removeサポート
要は壊れても無停止交換ができるよ、と。

・vGPU機能拡充
vSphere 5.1からvGPUという仮想マシンに直接GPUデバイスを割り当てる機能がnVidia向けに提供されていたが、5.5からはIntelおよびAMD Radeonもサポート
モードが3つあり、Software,Hardware,Automatic。
制約事項がいろいろあるが条件がそろえばvMotionも可能

・Linux VMでのグラフィックアクセラレータ機能
いままでWindows VMでしか有効にならなかったグラフィックアクセラレータ機能がLinuxでも有効に
ただし、Ubuntu 12.04, Fedora 17, RHEL7以降のみ

・vSphere App HAという、簡単なアプリケーション監視を含めたHA機能サポート

・WindowsServer 2012 VM上でのMSCSサポート

・vSphere Replicationというソフトウェアでストレージのレプリケーションを行う機能の拡張実施

他にもいろいろあるようですね。

SSDを仮想環境のストレージキャッシュとして使うプロダクト(IBM,Fusion-IO,ProximalData,PernixData)


2021/04/07追記

Fusion IO → 2014年にSanDiskに買収。SanDisk Flashsoft(終了済)
ProximalData AutoCache → 2014年11月頃にSamsungに買収? Samsung ProximalData(終了済)
PernixData FVP→ 2016年にNutanixに買収された(2019年EoL)
OCZ → 2013年に東芝に買収されたあと、2019年に東芝メモリがKIOXIAになったが、移管されなかった?

また、VMware vSphere純正として登場したvFlash Read Cache。なんと、2019年にvSphere 6.7 Update 2で終息してしまった。vSANで分散ストレージ作ればいいでしょ、ということになったようだ。

では、2021年現在で提供されているESXiサーバ側でストレージキャッシュを持つような似たようなプロダクトとして何があるのか?

Virtunet Systems社「VirtuCache」で、ESXi 7.0U2のコンパチにも掲載されている

ぐらいしかないらしい。


サーバ本体に入れたPCIe接続のSSD(Fusion-IOなど)や、普通のSSDなどを、ストレージキャッシュとして使おうというソフトウェアをIBMが出してきた。

IBMプレスリリース:「仮想化環境の高速な処理を実現するFlashCache Storage Accelerator
クラウドWatchでの紹介記事:「日本IBM、フラッシュメモリを用いて仮想環境での処理を高速化するキャッシュソフト

これと類似のソフトウェアというのは、すでにいくつか製品がある。

Fusion-IO ioTurbine
 これはFusion-IO専用
 高速化をはかれるストレージは「Designed for all major SAN and NAS storage systems」とあるので
 FC/SAS/iSCSI/NFSなのかな?と思われる。
 vSphere ESXi用にインストールして使う

ProximalData AutoCache
 Fusion-IO,LSI Nytro WarpDriveなどのPCIe系や、普通のSSDに対応
 高速化をはかれるストレージは、FC/SAS/iSCSIハードウェアイニシエータ/iSCSIソフトウェアイニシエータ
 そして、NFS、と多岐に渡る。
 評価中だけど、特に問題はなさげ。
 vSphere ESXi用にインストールして使う

PernixData FVP
 Fusion-IO,LSI Nytro WarpDriveなどのPCIe系や、普通のSSDに対応
 高速化をはかれるストレージは、FC/SAS/iSCSIとある。
 評価してみようと手配中・・・
 vSphere ESXi用にインストールして使う

今回のIBM FlashCache Storage Acceleratorの特異な点は「FlashCache Storage Acceleratorは、VMware ESXi 5.0/5,1および、Windows Server 2008/2012、Red Hat Enterprise Linux 5/6に対応しています。」という点かも?
これが、Hyper-VとKVMの仮想化環境にも対応しているという意味であれば、他ではない特徴と言えますね。

・・・ほんとにそうなのかな????
FlashCache Storage Acceleratorの製品ページは日米ともにないので、詳細がよくわかりません。


2013/08/21追記

 

IBM FlashCache Storage Acceleratorは、Fusion-ioのioTurbineをベースとし、Fusion-IO以外の製品にも対応させたもの、だそうです。

IBM US側で製品ページ「IBM FlashCache Storage Accelerator」も公開されました。
ただ、ここに掲載されているデータシートの対応システムには、「VMware ESXi 5.0, ESXi 5.1」という記載のみ。
ほんとに、Hyper-VやKVMに対応するの???


2013/10/22 追記

 

SANRAD VXL SoftwareおよびOCZ VXL VMware Acceleration
 SANRAD社が開発したものを、FlashストレージベンダのOCZが買収してるもの
 この製品はESXi向け
 SANRAD社の方の資料を見ると、FC/SAS/iSCSI/NFS全般に使用できるようだ。
日本だとASK社取扱で、そのページには「VMware ESX、Citrix Xen、Microsoft Hyper-V対応」って書かれているのが謎。
 OCZ社のページだと、「VMware ESX」としか書かれてない。

KindleストアにてvSphere 5.0と4.1のHA/DRSなどに関する電子書籍が0円!



YELLOW BRICKにて「Reminder: Free Kindle copy of vSphere 5 and 4.1 Clustering Deepdive」という記事がアップされてた。

見てみると、6/5と6/6は、Kindle版の「vSphere 5.0 Clustering Deepdive」と「vSphere 4.1 HA and DRS Deepdive」が0ドルだと。

日本でもやってるのかな?と見てみたら、やってるじゃないですか!

いそげっ!