Azure VMのファイルリストアをWindowsとLinuxでやってみた

Azure Backup(Recovery Services コンテナー)を使ったAzure Virtual Machine(VM)のファイルリストアをやってみました。

ファイルのリストアは、ディスクのリストア(Azure Portalで実施)、各OSにリストアしたディスクをマウント(自動生成されたスクリプトで実施)、ユーザ自身がファイルコピーする形で実施します。

今回はファイルリストアをWindowsとLinux(Cent OS)の2パターンでやってみてます。

スポンサーリンク

Azure BackupのリストアではVMのファイルリストアもできる

Azure VMのリストアについては4パターンあります。そのうちの1つにファイルリストアがあります(図の赤枠)。

※個人的にはAzure BackupからのVMリストアはすべてディスクのリストアで、それをVMまで戻すのか?ディスクまで戻すのか?という区分と理解しています。ファイルリストアの場合はディスクリストア+VMへのマウントまでがセットになっていると理解しています。

Azure VMのリストアパターン  

【MS社公式サイト記載の図】

VMのリストア(新規作成)

バックアップから新規Azure VMを作成するリストア方式になります。リストア後は新規VMとリストア対象のVM(既存VM)の2つのVMがあります。新規作成されたVMのディスクNIC、IPは新規に払い出しされます。既存のVMには何の変更はされません。

VMのリストア(既存を置換)

バックアップから既存Azure VM(リストア対象のVM)のディスクを置換するリストア方式になります。リストア後はリストア対象のVMのみがあります。VMのディスクがリストア後のディスクと置き換わる形式になります。

ディスクのリストア バックアップからディスクを作成するリストア方式になります。リストア後のディスクからVMの作成等が可能です。
ファイルのリストア

バックアップからディスクを作成とAzure VMマウント用のスクリプトが生成されます。このマウント先のディスクからファイルコピーを行い復旧します。

※なお、作成されたディスクの有効期限は12時間です。(Azure上で管理されている為、Azure Portal上でディスク自体が直接見える事はありません。

※注意点ですが、ファイルのリストアの転送速度は1GB/時間が上限になっています。その為10GB以上リストアする場合はファイルリストアを使わずに、ディスクでリストアした後にAzure VMへディスクアタッチ、OS上でマウントという作業が必要になります。

Azure VMのシステムバックアップからリストアまではこちら。

ディスクのリストアはこちら。

Azure Backupを使ってファイルリストア

Windows Serverのファイルリストア(Azure Portal)

Windows Serverでファイルリストアを実施します。

前提条件はAzure VMのバックアップ済みである事になります。なおファイルリストアはAzure VMがオンラインの状態で実施します。リストアにあたって再起動等は発生しないので一般的な使い方の場合は安心して実施出来ます。

実施手順
Recovery Services コンテナーのバックアップアイテムを選択します。バックアップの管理の種類が表示されますので、Azure Virtual Machineを選択します。

バックアップされているVM一覧が表示されます。リストア対象のVMを選択します。

バックアップ項目が表示されます。ファイルの回復を選択します。

ファイル回復の設定をします。回復ポイントを指定した後に、実行可能ファイルのダウンロードを選択します。

1分ほどするとスクリプトダウンロードが表示されるので、ダウンロードをクリックします。exeファイルがダウンロードされます。(ファイル名はIaaSVMILRExeForWindows.exe)

スクリプトを実行するためのパスワードをコピーして保管します。

※スクリプトとパスワードの一式でファイルリストアを行います。

Windows Serverのファイルリストア(OS上)

OS上でリストア作業を行います。スクリプトを実行すると自動的にディスクマウントがされます。そこからコピーする形でリストアします。

実施手順

先ほどダウンロードしたExeファイル(IaaSVMILRExeForWindows.exe)を適当なディレクトリにコピーします。今回はデスクトップにコピーしています。

 
ダブルクリックすると、コマンドプロンプトが表示されパスワード入力が要求されます。先ほどコピーしたパスワードを入力します。
Power Shellが実行されます。
完了すると、ドライブが追加されているのが分かります。
開いてみるとリストアされたディスクがマウントされている事が分かります。適時必要なファイルをコピーします。

Linux(Cent OS)のファイルリストア(Azure Portal)

Linux(Cent OS)でファイルリストアを実施します。まず前提状況としてはAzure VMのバックアップ設定をしておきます。なおファイルリストアはAzure VMがオンラインの状態で実施します。リストアにあたって再起動等は発生しません。

実施手順

バックアップ項目でファイルの回復を選択します。

※本画面までの遷移はWindowsの場合を参照ください。

バックアップされファイル回復の設定をします。回復ポイントを指定した後に、スクリプトのダウンロードを選択します。

スクリプトのダウンロード画面が表示されますのでダウンロードします。
実行用のパスワードが自動的に生成されていますのでコピーします。

Linux(Cent OS)のファイルリストア(OS上)

OS上でリストア作業を行います。スクリプトを実行すると自動的にディスクマウントがされます。そこからコピーする形でリストアします。

実施手順

ダウンロードしたスクリプトファイルをFTP等でVMにアップロードします。新規にファイル作成してファイルの中身をコピーでもOK。

※今回は/tmpの下で実行しています。

[root@update-test-02 tmp]# ls -al |grep update
-rw-r–r–. 1 root root 67409 Apr 23 08:19 update-test-02_eus2_XXXX.py

スクリプトファイルはPythonになります。コマンド実行します。

[root@update-test-02 tmp]# python  update-test-02_eus2_XXXX.py

足りないパッケージ(iSCSI)がある場合は確認メッセージが表示されます。Yを入力するとパッケージインストール後に、スクリプトが実行されディスクがマウントされている事が分かります。

Microsoft Azure VM Backup – File Recovery
______________________________________________
The script requires 'iscsi-initiator-utils’ to run
Do you want us to install 'iscsi-initiator-utils’ on this machine?
Please press 'Y’ to continue with installation, 'N’ to abort the operation. : y
Loaded plugins: langpacks, ps
Resolving Dependencies
–> Running transaction check
—> Package iscsi-initiator-utils.x86_64 0:6.2.0.874-20.el7_9 will be installed
–> Processing Dependency: iscsi-initiator-utils-iscsiuio >= 6.2.0.874-20.el7_9 for package: iscsi-initiator-utils-6.2.0.874-20.el7_9.x86_64
–> Running transaction check
—> Package iscsi-initiator-utils-iscsiuio.x86_64 0:6.2.0.874-20.el7_9 will be installed
–> Finished Dependency Resolution

Dependencies Resolved

================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
iscsi-initiator-utils x86_64 6.2.0.874-20.el7_9 updates-openlogic 423 k
Installing for dependencies:
iscsi-initiator-utils-iscsiuio
x86_64 6.2.0.874-20.el7_9 updates-openlogic 94 k

Transaction Summary
================================================================================
Install 1 Package (+1 Dependent package)

Total download size: 517 k
Installed size: 2.5 M
Downloading packages:
(1/2): iscsi-initiator-utils-6.2.0.874-20.el7_9.x86_64.rpm | 423 kB 00:00
(2/2): iscsi-initiator-utils-iscsiuio-6.2.0.874-20.el7_9.x | 94 kB 00:00
——————————————————————————–
Total 636 kB/s | 517 kB 00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : iscsi-initiator-utils-6.2.0.874-20.el7_9.x86_64 1/2
Installing : iscsi-initiator-utils-iscsiuio-6.2.0.874-20.el7_9.x86_64 2/2
Verifying : iscsi-initiator-utils-iscsiuio-6.2.0.874-20.el7_9.x86_64 1/2
Verifying : iscsi-initiator-utils-6.2.0.874-20.el7_9.x86_64 2/2

Installed:
iscsi-initiator-utils.x86_64 0:6.2.0.874-20.el7_9

Dependency Installed:
iscsi-initiator-utils-iscsiuio.x86_64 0:6.2.0.874-20.el7_9

Complete!
Please enter the password as shown on the portal to securely connect to the recovery point. : 999a111eea80e75

Connecting to recovery point using ISCSI service…

Connection succeeded!

Please wait while we attach volumes of the recovery point to this machine…

************ Volumes of the recovery point and their mount paths on this machine ************

Sr.No. | Disk | Volume | MountPath

1) | /dev/sdc | /dev/sdc1 | /tmp/update-test-02-20210423082152/Volume1

2) | /dev/sdc | /dev/sdc2 | /tmp/update-test-02-20210423082152/Volume2

3) | /dev/sdc | /dev/sdc15 | /tmp/update-test-02-20210423082152/Volume4

The following partitions failed to mount since the OS couldn’t identify the filesystem.

************ Volumes from unknown filesystem ************

Sr.No. | Disk | Volume | Partition Type

1) | /dev/sdc | /dev/sdc14 | BIOS Boot partition

Please refer to '/tmp/update-test-02-20210423082152/Scripts/MicrosoftAzureBackupILRLogFile.log’ for more details.

************ Open File Explorer to browse for files. ************

After recovery, remove the disks and close the connection to the recovery point by clicking the 'Unmount Disks’ button from the portal or by using the relevant unmount command in case of powershell or CLI.

After unmounting disks, run the script with the parameter 'clean’ to remove the mount paths of the recovery point from this machine.

Please enter 'q/Q’ to exit…q

実行完了後に、dfコマンドでマウント状況を確認します。/tmpの下にマウントされている事が分かります。実際にlsコマンドで確認すると、リストアされている事が分かりました。後は戻したいファイルをcpコマンド等で戻します。

[root@update-test-02 tmp]#df -h
Filesystem Size Used Avail Use% Mounted on

/dev/sdc1 494M 90M 405M 19% /tmp/update-test-02-20210423082152/Volume1
/dev/sdc2 30G 2.5G 27G 9% /tmp/update-test-02-20210423082152/Volume2
/dev/sdc15 495M 12M 484M 3% /tmp/update-test-02-20210423082152/Volume4

[root@update-test-02 Volume2]# ls /tmp/update-test-02-20210423082152/Volume2
1 boot etc lib media opt root sbin sys usr
bin dev home lib64 mnt proc run srv tmp var2/Volume2

Azureバックアップセンターについてはこちら。