製品:Lenovo System x3250 M6(物理)
ホストOS:WindowsServer2012R2
vCenterServer 6.0
vSphere Web Client Version 6.0.0 Build 4514981
現象について:
以下の情報をもとに python.exe にてバックアップを行います。
■vCenter Server Appliance/vCenter Server 6.0 vPostgres データベースのバックアップとリストア (2091961)
https://kb.vmware.com/s/article/2091961?lang=ja
何らかの原因で vSphere Web Client が起動できなくなり vpxd サービスが手動でも起動できなくなった場合、上記バックアップからのリストアにて復旧(サービス起動、およびvSphere Web Clientの起動)することは可能でしょうか。
こんにちは。
vCenter Server 関連サービスの障害復旧についてですが、
vCenter データベース(vPostgres)のリストアで復旧できるかは、残念ながら一概には判断できません。
そのため、本番環境なのであれば、(あまり構成変更せずに)まずはVMware製品のサポートに障害解析を依頼すると安全かなと考えられます。
※vSphere Web Client のサービスまで起動しないとなると、データベース以外にも問題がありそうに考えられます。
(物理サーバとのことなので検証環境の用意は大変だとは思いますが)
python スクリプトによるデータベースのリストアを試すにしても、
類似の環境を用意して検証するか、
何らかのバックアップ ソフトウェアなどで、現状のvCenter Server をOSごとバックアップして、
現状保全した方がよさそうかなと思います。
他にも、検証環境であったり、vCenter と連携する製品(Horizonなど)を利用していないような環境であれば、
別途 vCenter Server を新規構築して、ESXi を登録しなおすような復旧も検討の余地があるかなと思います。
以上です。参考になるかどうか・・・
vpxd.log に何等かエラーは出ておりますか?
Web Client のバージョンから vCenter は 6.0u2 辺りと思われますが、
2~3年前の当時、PostgreSQL 側のバグで稀に DB が破損する事象があり、いくつか KB が出ておりました。
vCenter での該当しそうな不具合として以下のようなものが当時ありました。
VPXD stops responding and reports error: "Double register of key: 'vm-XXX' and name: '' (56353)
vpxd crashes intermittently with an error "Signal 11 received, si_code 1, si_errno 0" (52472)
※ これら不具合、vCenter 6.0u3g や 6.5u2 で Fix されたようです
上記 KB に該当するかは分かりませんが、vpxd.log などに似たようなメッセージはが出力されていませんでしょうか?
仮に問題が起きてしまった後にこれからバックアップを取得しようとするとそのデータも破損している可能性が高いです。
不具合が起きる前に取得しているデータが複数世代保存されている様であれば、
gowatana さんが示されたように既存 vCenter ではなく別で立てた vCenter にリストアして復旧の可否を試すのが良いかと思います。
そうでない場合はサポートにお問い合わせいただくのが最良かと考えます。
ご参考まで
gowatana 様、kawaman 様
ご回答、ありがとうございました。
とても参考になりました。
vpxd.log につきましては、障害が発生した際に確認させていただきます。
なお、今回の質問に対する経緯を記載させていただきます。
問題等が発生していない検証環境(vCenterServer 6.0u2)にてpython スクリプトによるデータベースのバックアップを行い、
その後、仮想マシンの設定変更やOS内での設定の変更、vCenter のユーザ、ユーザロール、ライセンスの追加を行いました。
その上で、python スクリプトによるリストアを行いましたが、上記いずれにおいてもバックアップ時の状態には戻りませんでした。
となると、PostgreSQL の復元には、質問させていただきました内容の障害に対応できるものではないかと予想し、調べましたが、明確な回答を得るに至りませんでした。
障害が発生した際には、もちろん gowatana 様の仰っておりますとおり、テクニカルサポートへの調査を依頼するつもりです。
明確な回答ではないにしろ、python スクリプトによるバックアップは定期的に取得し、障害に対応できる道筋として役立てたいと思います。
本当にありがとうございました。