今回は Reduced Downtime Upgrade (RDU) 実施後に元の vCenter Server へ切り戻せるか
やってみます。
Reduced Downtime Upgrade (RDU) はメジャーバージョンアップグレードと動作は似ていて、
ターゲット vCenter Server をデプロイした後、ソース vCenter Server から構成のコピー
を行い、最後にターゲット vCenter Server に切り替えるといった動作となります。
メジャーバージョンアップグレードの場合、ターゲット vCenter Server の電源を落とした後、
ソース vCenter Server の電源を入れることでアップグレード前のバージョンへ切り戻しが
行えます。
今回は興味で Reduced Downtime Upgrade (RDU) においてもメジャーバージョン
アップグレードと同様に ターゲット vCenter Server の電源を落としてから
ソース vCenter Server の電源を入れることで切り戻しが行えるのか確認を行ってみます。
なお、上述の通り、あくまでも興味での検証となるので本番環境等で切り戻しが必要となる
場合には事前に取得していたバックアップ等を使用することをお勧めします。
環境
ソース vCenter Server(RDU 実施前の vCenter Server) : 8.0 U2e
ターゲット vCenter Server(RDU 実施後の vCenter Server) : 8.0 U3d
vCenter Server の IP アドレス : 192.168.1.40
RDU 実行時に使用した一時 IP アドレス : 192.168.1.45
メジャーバージョンアップグレードと同様の手順で切り戻しが行えるか確認してみた
RDU 実施後にはソース vCenter Server の電源は落ち、ターゲット vCenter Server
が起動している状態となります。
(vCSA80U2e がソース vCenter Server、vCSA80U3d_rdu_test が
ターゲット vCenter Server)
そのため、vCSA80U3d_rdu_test をシャットダウンし、vCSA80U2e を起動してみます。
起動してみましたが、ホスト名が RDU 実行時に設定した一時アドレスに紐作くものとなって
おり、IP アドレスも表示されませんでした。
また、ほとんどのサービスが起動しておらず使用できる状態ではありません。
以上の状況から RDU 実行後はメジャーバージョンアップグレードと同様にターゲット
vCenter Server の電源を落として、ソース vCenter Server の電源を入れるだけでは切り戻し
は行えないようでした。
であれば、バックアップからリストアすることがベストな対応にはなりますが、上記状態から
何とか元に戻せないかを行ってみます。
(RDU 実施前にスナップショットを取得していれば、当該スナップショットへのリバートも
行えます。)
バックアップを使用せずに切り戻す方法
RDU 関連の VMware KB について調べてみると以下のような KB を見つけました。
Manually cancel the RDU (Reduced Downtime Upgrade) workflow on vCenter Server
KB の内容を見ると RDU 実行後はターゲット vCenter Server の動作へ影響を与えない
ためにソース vCenter Server のネットワーク及びサービスを無効にするとのことで、
KB のResolution に記載の手順を実行することで復元できるようです。
ということで、KB の Resolution に記載の [/usr/lib/vmware-vlcm/public/
upgrade_cancellation.sh] をソース vCenter Server のコンソール画面から実行してみます。
※ターゲット vCenter Server の電源は落とした状態
上記コマンド実行直後に復旧するといったわけでは無かったので、一度 vCenter Server
を再起動するとネットワークも元通りになり、サービスも正常に起動できるようになりました。
root@ss040 [ ~ ]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:50:56:a6:7a:a5
inet addr:192.168.1.40 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:13228 errors:0 dropped:652 overruns:0 frame:0
TX packets:13485 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:19222165 (19.2 MB) TX bytes:11671342 (11.6 MB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:263536 errors:0 dropped:0 overruns:0 frame:0
TX packets:263536 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:230742763 (230.7 MB) TX bytes:230742763 (230.7 MB)
root@ss040 [ ~ ]# uname -n
ss040.home.com
root@ss040 [ ~ ]# service-control --status --all
Running:
applmgmt lookupsvc lwsmd observability observability-vapi pschealth vc-ws1a-broker vlcm vmafdd vmcad vmdird vmonapi vmware-analytics vmware-certificateauthority vmware-certificatemanagement vmware-cis-license vmware-content-library vmware-eam vmware-envoy vmware-envoy-hgw vmware-envoy-sidecar vmware-hvc vmware-infraprofile vmware-perfcharts vmware-pod vmware-postgres-archiver vmware-rhttpproxy vmware-sca vmware-sps vmware-stsd vmware-topologysvc vmware-trustmanagement vmware-updatemgr vmware-vapi-endpoint vmware-vdtc vmware-vmon vmware-vpostgres vmware-vpxd vmware-vpxd-svcs vmware-vsan-health vmware-vsm vsphere-ui vstats vtsdb wcp
Stopped:
vmcam vmware-imagebuilder vmware-netdumper vmware-rbd-watchdog vmware-vcha
まとめ
今回はメジャーバージョンアップグレードと同じ方法で切り戻せるのか?と興味が出てきた
ため実験してみました。
RDU 実施後に切り戻しを行いたい場合には、事前に取得していたバックアップからするのが
良いかと思いますが、バックアップが無い等の状況になった際には参考になれば幸いです。
(一応設定が元に戻ってるかは確認したほうが良いと思います。(AD 参加の設定や ID ソースなど))