HAだけじゃ足りません

VMUGでお話をしようと思っていたのですが、機を逃したお話をします。

昨年IAサーバで稼動していたOracleDBのサーバを専用クラスタ(Esx2台分)に移行しており、元の規模が小さいシステムだったこととコスト削減のためシングルサーバとしてゲスト作成されていました。

先日このESXサーバが購入8ヶ月でOS領域用のRaidコントローラが予兆なく故障し、ゲストOSは稼動し続けていたのですがvCenterからはESXもゲスト応答なしとなり、メンテナンスモードへの移行すら受け付けない状態となりました。当然、vMotionも掛からないためゲストOSをシャットダウンしてインベントリからの削除、稼動するESXで再登録しようとしたところ、それも受け付けませんでした。

このため、障害のあったESXで稼動する他のゲストOSもシャットダウンの上でESXをシャットダウンし、ESXをシャットダウンしましたがそれでも出来ずESXをvCenterから一度登録を削除することでインベントリから削除し再登録作業を行う事ができましたが、VMDKファイルレベルでの問題等もありました。

何がいいたいか?というとコスト削減のためにOracleクラスタを作成しゲストをシングルサーバで構築する場合に上記のようなトラブルを考慮し、Oracleクラスタ単位でメンテナンスウィンドウを最低2時間、出来れば4時間設ける事が重要です。

なお、このメンテナンスウィンドウは実作業としてvCenterからESXの切り離し待ち時間で1時間、ESXのシャットダウンに異常に時間がかかり20-30分程度、その後の起動チェックやVMDKファイルの修正で30分程度で最低2時間、ベンダの協力の下での対応の場合、ベンダの調査力なども関係しますので最低2時間程度は見たうが良いので合計4時間程度としました。

まず使いませんが

建屋間での移設かUSB-HDDでデフラグでも考えない限り使いませんが
先日、K君に『移設するESXのゲストバックアップにUSB接続のディスクでも使いたいよね』と言ってやってもらったESXにUSBマウントした際のコマンドです。

 

当初はNTFSだったので、それを一度FAT32変換しようとしたらWindowsのバージョンの問題で出来ず、しょうがなくデバイスマネージャのディスク管理からディスク情報も消して以下のコマンドで行ってもらいました。

きっとK君は『コマンド残しておいてね』に二つの意味(後学の為とここに書くため)とは思っていないでしょう。

# USBディスクにラベルを作成
[root@ESX:~] partedUtil mklabel /dev/disks/mpx.vmhba37\:C0\:T0\:L0 gp
t

# USBディスクのラベルが設定されたことを確認
[root@ESX:~] partedUtil getptbl /dev/disks/mpx.vmhba37\:C0\:T0\:L0
gpt
60801 255 63 976773168

# ディスクのブロックサイズを確認
[root@ESX:~] eval expr $(partedUtil getptbl /dev/disks/mpx.vmhba37\:C
0\:T0\:L0 | tail -1 | awk '{print $1 " \\* " $2 " \\* " $3 " - 1"}')
976768064


# パーティションの作成
[root@ESX:~] partedUtil setptbl /dev/disks/mpx.vmhba37\:C0\:T0\:L0 gp
t "1 2048 976768064 AA31E02A400F11DB9590000C2911D1B8 0"
gpt
0 0 0 0
1 2048 976768064 AA31E02A400F11DB9590000C2911D1B8 0

# VMFSフォーマット
[root@ESX:~] vmkfstools -C vmfs5 -S USB-Disk /dev/disks/mpx.vmhba37\:
C0\:T0\:L0:1
create fs deviceName:'/dev/disks/mpx.vmhba37:C0:T0:L0:1', fsShortName:'vmfs5
', fsName:'USB-Disk'
deviceFullPath:/dev/disks/mpx.vmhba37:C0:T0:L0:1 deviceFile:mpx.vmhba37:C0:T
0:L0:1
ATS on device /dev/disks/mpx.vmhba37:C0:T0:L0:1: not supported
.
Checking if remote hosts are using this device as a valid file system. This
may take a few seconds...
Creating vmfs5 file system on "mpx.vmhba37:C0:T0:L0:1" with blockSize 104857
6 and volume label "USB-Disk".
Successfully created new volume: 5afa98a0-a5a32bfe-32c9-0894ef4bc506

備忘録:仮想ハードウェア

P2Vしたマシンが仮想ハードウェアのバージョンが11で稼動させたい環境が対応しておらず、バージョン下げる必要がありました。

念のため、スナップを取ってESXにsshで接続しvmxファイルを開いて『virtualHW.version』を11から8に書き換えて起動しました。

あっさり動いてしまって非常に残念です。

業者さんのところにシンクラ見てきました。

これまで利用していた某社のシンクライアントの単価が上がりすぎて、今の職場では購入許可が出ず、他メーカも当たることになりました。
ということで、某赤いシンクライアントを出す某社の子会社様と取引があるので、お伺いして見てきました。Windows10 IOT自体は悪くないのですが、初期状態でユーザに触らせたくないアプリやWindows Search、Windowsキーが有効になっているせいで『ファイル名を指定して実行』が利用できてしまうなどの問題がある点に関して、提供マニュアルで利用不可に出来るか、開発側に確認して頂くようお願いしました。

管理ソフトに関しては、某社らしいデザインだったというイメージと説明いただいた方が管理者権限を持っていなかったので詳細までチェックできませんでしたが、他社の管理ソフトを逆に見て頂きました。シンクラですので最低限の機能があれば、いいんですよね。PC管理ほどの情報は不要だと伝わっていることを祈ります。

ゲストOSの作り方というのは

本年度頭に採用したK君、実はかなりやり手でこういう仕様でサーバ構築して!というだけで想定の8割がたの物を作ってくれるぐらいなのですが、そんな彼にヘンジン扱いされる今日この頃です。

やはり人によって性能差が出る物ですね、不思議な物です。
そんな彼に64bitOSのVDIを作ってもらったのですが、一応手順には『飛ばしても良いが推奨』と記載したデフラグを飛ばしたようで、画像操作系のソフトをインストールしたら異常に起動に掛かるわけです。初め認証かなにかのせいで処理が重いのか?と思っていたのですが、そのマシンをテンプレにもう一台作ってみてもやけに重いんです。
幸いにも社内がvCenterがサイロ化してるので、まずはFlexPod環境からSASのHDD環境のFC-SANのLenovo環境に移してみるが、やっぱり遅いのでまさかなーと思いつつデフラグ…断片化率20%・・・おおぃっ!と思いつつFC-SANとFlexPod両方とも、データストアがフラグメントしていないESXのOS領域にコピーしました。

……更に、違う問題に気がついてしまいました。UCS 220M4ですが、サーバハード上のSASでもLenovoより処理が遅かったので、とりあえず業者さんと相談して新ファーム/ドライバがないか調べる事にしました。

さて、デフラグの話に戻りますが、海外のコミュニティなどでもどちらがいいのか?KB等みるとどっちともいえる書き込みはないといった内容で終わっているケースが多く、日本でもVMtoolsに圧縮機能があった頃の書き込み等では、やるだけ無駄という書き込みが目立ちます。ですが、今回画像処理ソフトが1分近く経過してもまともに起動しなかったのが、デフラグを掛けるだけで正常な起動速度になった事からも、ゲストOSであってもフラグメント自体はよろしくないという事が実証できたのではないでしょうか?SSDは大きな意味は得づらいと思いますよ?早いですし。
シンプロの場合は忘れずにsdeleteとpunchzeroしましょう

タイトルなし

前回、どのような基準で仮想環境を選択したか、を記載していますがvSANを否定するつもりはありません。出来るだけメンテナンスフリーでないと手が足りないのでアップデートの頻繁にあるvSANはうちの環境では選択できない、というだけのことです。vExpertが言ってはいけない気がしますが、vSANにするなら実際の利用者に話を聞いている限りでは運用時数が少ないとはいえ、Nutanixのほうがいい気もします。後の課題としては、SSD仕入れ先を一社に絞って安く仕入れているメーカさんの発表前だったのですが某社のNutanixも見させてもらいましたが、価格がちょっと高いのがネックで少々導入しづらかったイメージです。ひょっとしたら今ならSSD単価が下がったメーカさんだともう少し状況が変わるかもしれませんが、うちの環境では以前に某ソフトでストレージ間ミラーリングした仮想デスクトップ環境でトラブル頻発(ストレージサーバの電源抜いたらサーバが落ちて片肺がまるっとすっ飛んだ、等)したせいで、上長が毛嫌いしてしまっているので残念ながら選択にすら上げさせてもらえないでしょう。
Nutanixのハードを長期検証させて欲しいという思いと抱えている仕事量の天秤が心にのしかかりますorz

最近ではAWSとvCenterというのが専ら話題に上がるキーワードなので、今更だと思いますが、AWS Direct Connectを利用する予定があります、、とは言っても、AWS専門にしたSIerに要件伝えて構築してもらう形で後は初歩的なネットワークの設計、例えばどこでNATするとかロードバランサ入れるだのサーバ追加方法どうするか、とかそういう話に終始すると思います。

さて、最後にUserCon2018で『FC-SANでベンダに組んでもらったが、ストレージがマルチパスではなく、シングルパスになっていて遅くてどうしようもなかった』という話を聞いて、2年前に『ユーザによるVMware View for IAサーバ構築ガイド』というタイトルでパフォーマンスチューニングの仕方や構築時の注意点とか纏めていたのを思い出しました。
精査は必要ですが、順番に載せようと思います。

NetAppでバグ引きました

利用中の去年導入した仮想サーバ基盤はコンバージドインフラなわけですが
NetApp A300/200(ONTAP9.1P5)でBug#1026931 : :PCI error triggered from uncorrectable ECC memory error condition on CNA portを引きました。

配線のないポートもCNAポートになっていたので、発生確率を下げるためにFCポートモードに変更し、とりあえずコントローラの戻しだけをまず実施しました。
問題はコントローラの戻しだけでも2-3分程度の通信断が発生し、ファームアップでも同じく発生するとのことで、ストレージの集約度が上がるほどメンテナンス時間が短くなるため、ファームアップまでは簡単にはできない状況です。

このため、メンテナンスウィンドウを広げるためにフルSSDRaidを組んだESXを増設する事にしました。もちろん今回はこのメンテのためだけではなく本社にある古いサーバを仮想化し、その上でESXごと移設することも目的としています。しかしながら、正直、この方法を導入から1年で実施しなければならない状況になると思っていませんでした。ですが、ESXにSSDの環境を用意する事で、通常はこのSSD環境でデータ抽出などのSQL実行環境として利用し、ストレージコントローラのメンテがどうしても必要な場合にはデータ抽出用の環境を停止&ストレージvMotionの上で、メンテナンスウィンドウ内に停止できないシステムをこのSSD環境にvMotionするという方法で、ストレージ2セット購入するほどのシステム冗長性が求められないのであれば、アリだと思います。

SSD入りESXを初めから入れれば良いじゃない、というツッコミはナシでお願いします。導入コスト的に厳しいのですよ。

ちなみにコンバージドインフラ導入に関しては、FC-SAN構成、フルSSDのNutanix、vSAN、コンバージドインフラと検討し、
FC-SAN構成(安定性◎、導入期間×、導入コスト×、増設コスト×、技術は枯れている)
フルSSDのNutanix(安定性…は良さそう◎、導入期間◎、導入コスト△、増設コスト×)
vSAN(安定性…話を聞いている限り疑問がある△、導入期間◎、導入コスト◎、増設コスト◎)
コンバージド(安定性○、導入期間○、導入コスト▼、増設コスト○、要求技術レベル:超高)
といった、評価でした。
vSANやNutanixは入れて運用していないので判断しかねますが、基礎技術的には簡単だと思えます。
コンバージドは入れてからの感想ですね。最低限MTU9000化を全てのESXのNICNFSストレージで行う事さえ行えば基本的な性能は普通に出ますが、その先までやるかどうか、Oracleのクエリもかなり特殊な物だけのようでESXのパラメータ変更が必要のようですので。

後は、FlexpPodでFabric InterConnectとポートを増設するためのFabricExtenderとありますが、正直この二つはNFSアクセス速度が出ないなどの問題が出た場合に、切り分けが難しいので別の物のほうが良いと思います。