vCenter Serverのサービスが自動起動しないときの対処法
こんにちは、じんないです。
社内の評価環境を整備しようとしたのですが、vCenter Serverに接続できませんでした。
サービスを確認するとvCenterのサービスである VMware VirtualCenter Server が実行されていません。
自動起動に設定しているのですが、前回サーバーを再起動したときにサービスが起動しなかったようです。
VMwareのKnowledge Baseによると、vCenterが使っているSQL Serverよりも先にvCenterのサービスが起動しているのが悪いのだとか。
再起動後に VMware vCenter Server サービスが自動的に開始されない (2076922)
レジストリから依存関係の設定をするようですが、実はこれ、既に設定済みでした。
色々調べてるとどうもSQL Serverで使っているポートが1433以外になっているとダメなようです
イベントログに記録されていた以下のイベントが解決への手がかりとなりました。
ソース “VMware VirtualCenter Server” からのイベント ID 1000 の説明が見つかりません。このイベントを発生させるコンポーネントがローカル コンピューターにインストールされていないか、インストールが壊れています。ローカル コンピューターにコンポーネントをインストールするか、コンポーネントを修復してください。
ではさっそく、SQL Serverが使用するポートを変更していきましょう。
対象環境
- ホストOS: Windwos Server 2012 R2
- vCenter: VMware vCenter Server 5.5
- DB: Microsoft SQL Server 2008 Express
SQL Serverが使用するポートの確認
以下のコマンドを実行して sqlservr.exe が使用するポートを確認します。
C:\> netstat -anb
面倒な人は、そもそも1433を使ってるかどうかを確認しても良いでしょう。
C:\> netstat -anb | find "1433"
1433以外になっていた場合は、以下の手順で変更してきます。
SQL Serverのポート変更
スタートメニューより SQL Server Configuration Manager を起動します。
SQL Server Network Configuration を展開して Protocols for VIM_SQLEXP を選択し TCP/IP をダブルクリックします。 ※VIM_SQLEXPの部分はお使いの環境により異なる場合があります。
IP Address タブより TCP Dynamic Ports の番号を確認します。 今回は52230となっていました。
これを1433に変更します。
SQL Serverのサービス SQL Server (VIM_SQLEXP) とvCenterのサービス VMware VirtualCenter Serverを再起動します。
あとはサーバーを再起動し、サービスを確認します。
遅延起動にしているので少し遅いですが、ちゃんと起動していました。
めでたし、めでたし。
あとがき
vCenter 6.0の構築も幾度とやってきましたが、起動に失敗したことはありませんでした。
データベースもSQL ServerからvPostgresに変更されており、起動周りも改善されているのかもしれませんね。
ではまた。