1. はじめに
IBM CloudのVirtual Server for VPCにおいては、現在システムバックアップを取得する機能がありません。
そこで、本記事では、IBM CloudのVPCのVSI(Virtual Server)のシステム・バックアップ方法について、Virtual Server for Classicとの違いを元に、Virtual Server for VPCの機能を利用したシステムバックアップの代替策を記載します。
後半では、いくつかのパラメータの変化を確認しました。
Image Templateを取得しているためデータや設定は基本的に変更されていないはずですが、Image templateという複数のサーバーを生成する仕組みの上で、元のサーバーと変わってしまっていないかという箇所を重点的に選択して確認してみました。
RHEL版システムバックアップ・リストア代替案
RHEL版は以下に記載しておりますので、ご参照ください。
IBM Cloud: VSI for VPC のシステム・バックアップ取得・リストア方法 (代替策) 〜RHEL版〜
Virtual Private Cloud (VPC)のシステムバックアップ、及び、代替策
しかしながら、IBM CloudのVPC上のVSIにはClassicのような、イメージからブートする・ロードするといった機能に相当する機能がなく、VPCのVSIでOSのリカバリが必要となった場合、新たにVSIを作成する方法しかございません。この場合、通常のオペレーションでは、IPアドレスなどが変更されてしまい、システムバックアップとしては利用できないこととなります。
そこでシステムバックアップの代替策として、VSIのimage template機能を利用した手順をご案内いたします。この手順に則れば、OSの構成やソフトウェアの導入・構成など、起動ディスクに関する構成情報をリストアすることが可能となり、システムバックアップと同等の効果を得ることができます。(あくまで代替案ですので、ご理解ください...)
バックアップ手順:
1. boot volumeのイメージを作成
リストア手順:
1. リストア対象のVSIを削除
2. イメージリストア用のAPIコマンドの作成(そこで、IPアドレスを指定)
3. APIコマンドの実行
システムリストアで、元のVSIと同じIPアドレスを付与する場合、IPアドレスがかぶらないように、新規VSI作成前に古いVSIを削除しておく必要があります。
2. VPC上のVSIのバックアップ作成 & リストアストア手順について
以下の流れに沿って、手順についてご紹介いたします。
1. 今回利用したバックアップ対象環境概要
2. イメージを利用したバックアップ手順
3. リストア手順
4. リストア後の確認(パラメータなどの変更点の確認)
2-1. 今回利用したバックアップ対象環境概要
今回利用したVSIの概要について説明いたします。イメージ作成するVSIのOSは以下の通りです。
- OS: Windows Server 2019 Standard Edition (amd64)
2-2 バックアップの取得(boot volumeイメージの作成)
VSIの詳細画面からアクションメニュー → インスタンスの停止を選択し、対象のVSIを停止します。
※ boot volumeイメージの作成する場合は、システム停止が必須となります。
- VSIの詳細画面から
アクションメニュー
→インスタンスの停止
を選択し、対象のVSIを停止します。
3. システム・リストア方法
3-0. 削除前の注意
サーバーを削除する前に、以下をご確認ください。
- カスタム・イメージから作成された新規VSIにログインする際は、古いVSIのログインパスワードを使用する必要があります(2022年1月5日現在)。対応され次第、更新いたします。
- 可能であれば一度同じVPC or 異なるVPCで、Image templateを使ってサーバーが正しくプロビジョニングできることを確認する。
- 異なるVPCであれば同じIPアドレスが使用可能です。
- Boot volumeも自動削除を無効にしておき、万が一消去された設定があったときにリストアできるように備えておく。新環境の十分な確認を以って削除する。
3-1. リストア対象のVSIを削除
VSIの詳細画面からアクションメニュー
→ インスタンスの削除
を選択し、対象のVSIを停止します。
3-2. イメージリストア用のAPIコマンドの作成(そこで、IPアドレスを指定)
1.インスタンス作成画面にて、オペレーティング・システム
→ カスタム・イメージ
からリストア対象VSIのイメージを選択し、サンプルAPI呼び出しの取得
をクリックします。
2.以下のような画面が表示されるので赤枠部分をクリックしてコピーし、シェルスクリプトとして保存します。
(create_vsi.shファイルを作成し、コピーしたものを中にペースト)
3.IPアドレスの指定がないので、primary_netowork_interface
内に primary_ipv4_address
フィールドを追加します。
(省略)
"primary_network_interface": {
"name": "eth0",
"primary_ipv4_address": "10.1.0.8", # <- この行を追加
"allow_ip_spoofing": false,
"subnet": {
"id": "02e7-ff96ff2a-fa27-4d88-b855-98fb85112636"
},
"security_groups": [
{
"id": "r022-1a2bb9f2-7647-4332-8a1b-eb925fb6e160"
}
]
},
(省略)
3-3. リストアのAPIコマンドの実行
1.IAMトークンの取得 コピーしたAPIを実行する際に$iam_tokenを使用するので、以下のコマンドでIAMトークンを取得します。
アクセストークン取得に関しての詳細はこちら。
# export iam_token=`ibmcloud iam oauth-tokens | awk '{printf $4}'`
2.シェルスクリプトを実行すると、VSIが作成されます。
# sh create_vsi.sh
{"bandwidth":4000,"boot_volume_attachment":......
(省略)
3.VSI作成されたことを確認
これで無事にリストアすることができました。
IPアドレスもリストア対象のVSIと同じものが割り当てられています。
4. リストア後の確認(パラメータなどの変更点の確認)
リストア前後の変更点を、以下のパラメータで確認してみます。
1. ホスト名
1. IPアドレス・MACアドレス
2. system uuid
3. WindowsのSID
4-1. ホスト名
ホスト名は変更されません。
PS C:\Users\Administrator.VSI-BACKUP-WIND> hostname
vsi-backup-wind
PS C:\Users\Administrator.VSI-BACKUP-WIND>
PS C:\Users\Administrator.VSI-BACKUP-WIND> hostname
vsi-backup-wind
PS C:\Users\Administrator.VSI-BACKUP-WIND>
4-2. IPアドレス、MACアドレス
MACアドレスは変更されています。
PS C:\Users\Administrator.VSI-BACKUP-WIND> ipconfig
Windows IP Configuration
Ethernet adapter Ethernet:
Connection-specific DNS Suffix . :
Link-local IPv6 Address . . . . . : fe80::f46c:823:559d:ed1e%5
IPv4 Address. . . . . . . . . . . : 10.1.0.8
Subnet Mask . . . . . . . . . . . : 255.255.255.240
Default Gateway . . . . . . . . . : 10.1.0.1
PS C:\Users\Administrator.VSI-BACKUP-WIND> getmac
Physical Address Transport Name
=================== ==========================================================
02-00-09-12-7D-F4 \Device\Tcpip_{84A7D803-3165-45C3-9507-4A4901706286}
PS C:\Users\Administrator.VSI-BACKUP-WIND>
PS C:\Users\Administrator.VSI-BACKUP-WIND> ipconfig
Windows IP Configuration
Ethernet adapter Ethernet:
Connection-specific DNS Suffix . :
Link-local IPv6 Address . . . . . : fe80::78cc:c448:f68:363c%5
IPv4 Address. . . . . . . . . . . : 10.1.0.8
Subnet Mask . . . . . . . . . . . : 255.255.255.240
Default Gateway . . . . . . . . . : 10.1.0.1
PS C:\Users\Administrator.VSI-BACKUP-WIND> getmac
Physical Address Transport Name
=================== ==========================================================
02-00-01-12-7D-F4 \Device\Tcpip_{84A7D803-3165-45C3-9507-4A4901706286}
PS C:\Users\Administrator.VSI-BACKUP-WIND>
4-3. system uuid
system uuidは異なるidが付与されていました。
PS C:\Users\Administrator.VSI-BACKUP-WIND> wmic csproduct
Caption Description IdentifyingNumber Name SKUNumber UUID Vendor Version
Computer System Product Computer System Product Standard PC (i440FX + PIIX, 1996) C9DA2E0F-3DF7-4882-8E0C-DA5CBA37CF5F QEMU pc-i440fx-4.2
PS C:\Users\Administrator.VSI-BACKUP-WIND>
PS C:\Users\Administrator.VSI-BACKUP-WIND> wmic csproduct
Caption Description IdentifyingNumber Name SKUNumber UUID Vendor Version
Computer System Product Computer System Product Standard PC (i440FX + PIIX, 1996) F198CB7B-B96D-4051-A1AB-F90EF89D4B47 QEMU pc-i440fx-4.2
PS C:\Users\Administrator.VSI-BACKUP-WIND>
4-4. WindowsのSID
Windows SIDに変化はありませんでした。
PS C:\Users\Administrator.VSI-BACKUP-WIND> whoami /user
USER INFORMATION
----------------
User Name SID
============================= ==========================================
vsi-backup-wind\administrator S-1-5-21-717884812-772969075-746249257-500
PS C:\Users\Administrator.VSI-BACKUP-WIND>
PS C:\Users\Administrator.VSI-BACKUP-WIND> whoami /user
USER INFORMATION
----------------
User Name SID
============================= ==========================================
vsi-backup-wind\administrator S-1-5-21-717884812-772969075-746249257-500
PS C:\Users\Administrator.VSI-BACKUP-WIND>
5. リカバリの際にも元のVSIを残しておく運用方法を取りたいと言う場合
最初からCLIかAPIを使ってsecondary Interfaceを定義して利用するIP addressを明示的に指定してください。リカバリの際には、一旦異なるprimary IP addressで新たなVSIを作成し、元のVSIからsecondary IP addressを削除して、新たなVSIにsecondary interfaceとそのIP addressを明示的に指定して追加することで、secondary IP addressを旧VSIから新VSIに移動してください。
注意
Imageの作成の際には、VSIを停止する必要があるので、日常的なシステムバックアップとして使うことは難しいと思います。OSのupgradeなど、停止を伴う作業の際に、Imageの作成をし直すなどの工夫が必要でしょう。
参考
IPアドレス指定のプロビジョニングに関して、こちらを参考にさせていただきました。
IBM Cloud: VPCのVSIをIPアドレス指定でプロビジョニングする方法