2011年11月22日
これまでOracle VM Server for SPARCの構築を行ってきましたが、もしものためにバックアップも必要となります。
そこで、今回と次回でOracle VM Server for SPARC環境のバックアップを行いたいと思います。
物理サーバ環境では、バックアップといえばディスクのバックアップですが、Oracle VM Server for SPARC環境の場合には、物理サーバ環境と同じディスクのバックアップのほかに、ILOMに保存されたドメインの構成情報のバックアップも考える必要があります。
前回までに作成したゲストドメインldom1のバックアップを実施していきます。まずはいつものように制御ドメイン上で、各ドメインの状態を確認してみましょう。
SPARC Enterprise T5120# ldm ls
NAME STATE FLAGS CONS VCPU MEMORY UTIL UPTIME
primary active -n-cv- SP 8 3968M 0.2% 16h 54m
ldom1 active -n---- 5000 8 2G 0.1% 16h 50m
始めにゲストドメインの構成情報をバックアップしましょう。
ldm list-constraintsコマンドに-xオプションをつけると、構成情報をXML形式で表示します。それを出力リダイレクションで任意のファイル名で保存します。
SPARC Enterprise T5120# ldm list-constraints -x ldom1 > /export/conf_backup/ldom1.xml
ここでは、/export/conf_backupディレクトリにldom1.xmlというファイル名で保存しました。
次にディスクのバックアップです。バックアップ対象を確認するために、仮想ディスクの構成を確認しましょう。
SPARC Enterprise T5120# ldm list -o disk
NAME
primary
VDS
NAME VOLUME OPTIONS MPGROUP DEVICE
primary-vds0 vol0 /dev/zvol/dsk/rpool/export/vdisk0
iso0 ro /ISO/Sol10u9.iso
-----------------------------------------------------------------------------------------
NAME
ldom1
DISK
NAME VOLUME TOUT ID DEVICE SERVER MPGROUP
vdisk0 vol0@primary-vds0 0 disk@0 primary
cdrom iso0@primary-vds0 1 disk@1 primary
ここでは“vdisk0”をバックアップします。vdisk0の実体はZFSボリュームですので、制御ドメイン上でZFSボリュームをバックアップします。
なお、“cdrom”はインストール媒体のISOイメージですので、バックアップは不要です。
ZFSボリュームのバックアップは、ZFSのスナップショット機能を使用することで、簡単に取ることができます。
SPARC Enterprise T5120# zfs snapshot rpool/export/vdisk0@snap
SPARC Enterprise T5120# zfs list
NAME USED AVAIL REFER MOUNTPOINT
rpool 32.1G 102G 97K /rpool
rpool/ROOT 8.41G 102G 21K legacy
rpool/ROOT/s10s_u9wos_14a 8.41G 102G 8.06G /
rpool/ROOT/s10s_u9wos_14a/var 243M 102G 243M /var
rpool/dump 4.00G 102G 4.00G -
rpool/export 15.5G 102G 36K /export
rpool/export/home 30K 102G 30K /export/home
rpool/export/vdisk0 15.5G 112G 5.21G -
rpool/export/vdisk0@snap 0 - 5.21G -
rpool/swap 4.13G 106G 16K -
ここでは、スナップショットだけを取るところまでしか紹介しませんが、実際の運用ではスナップショットをzfs sendで別媒体(ディスクやテープ)にバックアップしてくださいね。
では、バックアップしたデータをリストアしてみたいと思います。
リストアする環境を作るために、まずはldm rm-domainコマンドでいったんゲストドメインを削除します。
SPARC Enterprise T5120# ldm ls
NAME STATE FLAGS CONS VCPU MEMORY UTIL UPTIME
primary active -n-cv- SP 8 3968M 0.5% 17h 19m
ldom1 inactive ------ 8 2G
SPARC Enterprise T5120# ldm rm-domain ldom1
SPARC Enterprise T5120# ldm ls
NAME STATE FLAGS CONS VCPU MEMORY UTIL UPTIME
primary active -n-cv- SP 8 3968M 0.2% 17h 19m
再構築するには、ldm add-domainコマンドの-iオプションを使って、バックアップした構成情報(XMLファイル)を指定します。
SPARC Enterprise T5120# ldm add-domain -i /export/conf_backup/ldom1.xml
SPARC Enterprise T5120# ldm ls
NAME STATE FLAGS CONS VCPU MEMORY UTIL UPTIME
primary active -n-cv- SP 8 3968M 0.4% 17h 24m
ldom1 inactive ------ 8 2G
ドメインの再構築ができましたので、起動できるか確認しましょう。
SPARC Enterprise T5120# ldm bind ldom1
SPARC Enterprise T5120# ldm start ldom1
LDom ldom1 started
SPARC Enterprise T5120# ldm ls
NAME STATE FLAGS CONS VCPU MEMORY UTIL UPTIME
primary active -n-cv- SP 8 3968M 0.2% 17h 26m
ldom1 active -n---- 5000 8 2G 0.1% 2m
ちゃんと起動していますね。
次にディスクのリストアをしてみたいと思います。
リストアする状況を作るために、ゲストドメインにログインして、ゲストドメインの/platform配下を削除してしまいます。
※本当はこんなことやってはいけませんよ。
SPARC Enterprise T5120# telnet localhost 5000
Trying ::1...
telnet: connect to address ::1: Network is unreachable
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Connecting to console "ldom1" in group "ldom1" ....
Press ~? for control options ..
t5120-ldom1 console login: root
Password:
Last login: Sat Sep 17 10:32:22 on console
Oracle Corporation SunOS 5.10 Generic Patch January 2005
ldom1#
ldom1# rm -rf /platform/
ldom1# shutdown -y -g0 -i6
・・・省略・・・
Can't open boot_archive
Evaluating:
The file just loaded does not appear to be executable.
{0} ok
ゲストドメインがBootできなくなりましたね。
では、データをリストアして仮想ディスクを元に戻しましょう。仮想ディスクにはZFSを使用していますので、事前に取得したスナップショットをロールバックするだけで、簡単に元の状態に戻すことができます。
ロールバックする前には、ゲストドメインはinactiveの状態にする必要がありますので、制御ドメイン上でゲストドメインを停止させます。
SPARC Enterprise T5120# ldm ls
NAME STATE FLAGS CONS VCPU MEMORY UTIL UPTIME
primary active -n-cv- SP 8 3968M 0.9% 17h 32m
ldom1 active -t---- 5000 8 2G 12% 10s
SPARC Enterprise T5120# ldm stop ldom1
LDom ldom1 stopped
SPARC Enterprise T5120# ldm unbind ldom1
SPARC Enterprise T5120# ldm ls
NAME STATE FLAGS CONS VCPU MEMORY UTIL UPTIME
primary active -n-cv- SP 8 3968M 0.4% 17h 33m
ldom1 inactive ------ 8 2G
inactiveになりましたので、ロールバックしましょう。
SPARC Enterprise T5120# zfs list
NAME USED AVAIL REFER MOUNTPOINT
rpool 32.1G 102G 97K /rpool
rpool/ROOT 8.41G 102G 21K legacy
rpool/ROOT/s10s_u9wos_14a 8.41G 102G 8.06G /
rpool/ROOT/s10s_u9wos_14a/var 243M 102G 243M /var
rpool/dump 4.00G 102G 4.00G -
rpool/export 15.5G 102G 36K /export
rpool/export/home 30K 102G 30K /export/home
rpool/export/vdisk0 15.5G 112G 5.24G -
rpool/export/vdisk0@snap 3.41M - 5.21G -
rpool/swap 4.13G 106G 16K -
SPARC Enterprise T5120# zfs rollback rpool/export/vdisk0@snap
SPARC Enterprise T5120# zfs list
NAME USED AVAIL REFER MOUNTPOINT
rpool 32.1G 102G 97K /rpool
rpool/ROOT 8.41G 102G 21K legacy
rpool/ROOT/s10s_u9wos_14a 8.41G 102G 8.06G /
rpool/ROOT/s10s_u9wos_14a/var 243M 102G 243M /var
rpool/dump 4.00G 102G 4.00G -
rpool/export 15.5G 102G 36K /export
rpool/export/home 30K 102G 30K /export/home
rpool/export/vdisk0 15.5G 112G 5.21G -
rpool/export/vdisk0@snap 0 - 5.21G -
rpool/swap 4.13G 106G 16K -
スナップショットの“USED”の値が“0”ということは、スナップショットを取得した時点に戻ったことを意味します。ロールバックができたら、ドメインを起動し確認します。
SPARC Enterprise T5120# ldm bind ldom1
SPARC Enterprise T5120# ldm start ldom1
LDom ldom1 started
SPARC Enterprise T5120# ldm ls
NAME STATE FLAGS CONS VCPU MEMORY UTIL UPTIME
primary active -n-cv- SP 8 3968M 3.0% 17h 34m
ldom1 active -n---- 5000 8 2G 66% 1m
このようにZFSの機能を使って、仮想ディスクのバックアップ・リストアを簡単に行うことができます。
何かゲストドメイン上でテストするときなどは、テストをする前に仮想ディスクのスナップショットを取っておけば、簡単に戻せます。また、スナップショットが消費するディスク容量は更新分だけですので、バックアップに必要なディスク容量も最小限で済みます。ですので、Oracle VM Server for SPARCは、ZFSと組み合わせて使うことをお勧めします。
今回は、ゲストドメインのバックアップ・リストア方法をご紹介しました。もちろん、ゲストドメインだけでなく、制御ドメインのバックアップも必要になりますので、次回は制御ドメインのバックアップ方法をご紹介したいと思います。
応援メッセージはtwitterにて、ハッシュタグ #fjsparc までお願いします。