Skip to main content

Fujitsu

Japan

まっちーの仮想化講座
第7回:Oracle VM Server for SPARC のバックアップ(1/2)

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にて、ハッシュタグ #fjsparcOpen a new window までお願いします。