vCenter ServerのSQLサーバーは個別で作ると構築難度が一気に上がる

今やサーバーを仮想化するのは当たり前になってきました。


その中で、セキュリティの観点からもシンクライアントを使う企業が増えてきました。


そして、サーバーの仮想化で最もよく見かけるのが、VMwareです。近年の仮想化はVMwareがけん引してきたと言っても過言ではないと思います。


また、規模によりますが、管理するサーバーが多い場合は、vCenterサーバーを使います。


このvCenterサーバーですが、データベースでよく使われるのがMicrosoftSQLサーバーです。


このSQLサーバーですが、個別で構築する場合は構築何度が一気に上がります。


vCenterサーバーのインストール時にSQL Expressを同一のサーバーにインストールするのであれば、何も考えずに誰でも構築する事ができます。


しかし、別のサーバー上にMicrosoft SQL server standardを構築する場合は、簡単には構築できません。


最近、vCenter Serverの構築があって、同じく個別でSQLサーバーを構築する必要があるので、久しぶりにVMwareの公開している情報をチェックしてみました。

>>vCenter Server データベースの準備(VMware)


ちなみに、以下はvCenter Serverの構成方法を抜粋してみました。
 

Microsoft SQL Server データベースの構成
vCenter Server のリポジトリMicrosoft SQL データベースを使用するには、vCenter Server で使用できるようにデータベースを構成します。
手順
 
1.vCenter Server 用の SQL Server データベースおよびユーザーの作成
vCenter Server 用のデータベースとユーザーを作成する必要があります。プロセスを単純化するために、スクリプトを使用することができます。

2.データベース ロールおよび VMW スキーマの手動作成によるデータベースの権限の設定
vCenter Server 5.x で使用できるこの推奨される方法を使用すると、vCenter Server データベースの管理者は、vCenter Server ユーザーおよび管理者に対する権限の付与に、Microsoft SQL Server のデータベース ロールが使用されるように設定できます。

3.dbo スキーマおよび db_owner データベース ロールを使用した、データベース権限の設定
Microsoft SQL Server データベースを使用する場合、vCenter Server データベース ユーザーに権限を割り当てる最もシンプルな方法は、データベース ロール [db_owner] を使用することです。. vCenter データベースおよび MSDB データベースの両方で、vCenter Server データベース ユーザーに [db_owner] ロールを割り当てます。

4.dbo スキーマおよび db_owner データベース ロールを使用した vCenter Server ユーザーを作成するためのスクリプトの使用
dbo スキーマおよび db_owner データベース ロールを使用してデータベースの権限を設定する場合は、スクリプトを使用して db_owner のデータベース ロールを持った vCenter Server ユーザーを作成できます。

5.Microsoft SQL Server データベース スキーマおよびロールを作成するためのスクリプトの使用
ここで説明する SQL データベースの推奨される構成方法では、既存の dbo スキーマを使用する代わりに、カスタムのスキーマ VMW を作成します。

6.(オプション) Microsoft SQL Server データベース オブジェクトを手動で作成するためのスクリプトの使用
ここで説明する SQL データベースを構成する方法を使用して、データベース オブジェクトを手動で作成できます。

7.SQL ServerODBC 接続の構成
vCenter Server ユーザーを作成したら、SQL Server データベースとの接続を確立します。この接続は、vCenter Server システムをインストールするために必要です。

8.Microsoft SQL ServerTCP/IPJDBC 用の構成
Microsoft SQL Server データベースで TCP/IP が無効になっていて、動的ポートが設定されていない場合、JDBC 接続は閉じたままになります。接続が閉じていると、vCenter Server の統計に不具合が発生します。サーバの TCP/IPJDBC 用に構成できます。

9.(オプション) データベース モニタリングを有効にするための Microsoft SQL Server のデータベース ユーザーの構成
vCenter Server のデータベース モニタリングは、データベース サーバの状況および健全性をシステム管理者が評価するために使用できるメトリックを取得します。データベース モニタリングを有効にすることで、システム管理者は、データベース サーバのリソース不足が原因で発生する vCenter のダウンタイムを防止できます。
 
これだけ見たら、かなり難度が高い事が分かります。同一筐体にSQL Expressをインストールする場合は、単純にウィザードに従いクリックするだけですが、個別に構築する場合は、上記の準備が必要になります。


また、上記ドキュメントは5.5のバージョンになりますので、ちょっと古いです。


しかもデータベースの権限設定方法が複数あるので、これも悩ませるポイントですね。


ちなみに、以前、構築した時に経験したエラー、トラブルを紹介します。

>>vCenterServer5.5の構築時に(警告 30214、エラー25003)でインストールに失敗する件

これは以下のエラーが出たときのものですね。

”警告 30214。Phone Homeデータコレクタのユーティリティを正しく実行できませんでした。詳細は、システム一時フォルダにあるログファイル(phoneHomeという名前)およびvminst.logを参照してください。この機能は、インストール後にアプリケーションユーザーインターフェースによって有効または無効にすることができることをご注意ください。”

 

”エラー25003。セットアップ中に、vCenter Serverリポジトリの作成に失敗しました。この失敗の一般的な原因は次の通りです。
-データベースが大文字と小文字を区別しないモードでインストールされている。
-データベースがリモートでクライアントのバージョンがデータベースのバージョンと一致しない。
詳細については、VMwareナレッジベース(http://kb.vmware.com)で「エラー25003」を検索してください。”


ちなみにこちらは、ODBCの設定で、Windows認証ではなく、vpxuserユーザーに変更したところ、上記の二つの警告、エラーは表示されなくなり、インストールが無事完了しました。


自宅のパソコンのリソースだと環境を構築できないので、残念ながら手順を作成できませんが、個別で構築する場合は上記の公開情報が参考になると思います。


構築るまでに時間がある方や、自宅に高スペックのマシンがある方は、検証してみる事をオススメします。