|
|
前のページ 1 2 3 次のページ
|
|
ソフトウェアベースのスナップショット
|
スナップショットをソフトウェアベースで実装する場合のメリットは、なんといっても使用するストレージ機器の種類を選ばないということです。
安価なストレージ機器を大量に接続して使用する場合に良いのですが、残念ながらスナップショット機能のみを単独で提供しているソフトウェアベンダーはなく、ストレージ機器のリソース管理の一部の機能として提供している状況です。大規模環境においてトータル面でのストレージ管理として考える場合には、各ソフトウェアのメリットを生かしながら導入するのが良い案だと考えられます。
|
|
表2:スナップショット機能を備えるソフトウェア
|
また、ソフトウェアではありませんが、Microsoft社のWindows Server 2003には内部的にVSS(ボリューム・シャドー・コピー)と呼ばれるスナップショットのテクノロジーが導入されています。しかし、スナップショットの作成はリクエスタと呼ばれるバックアップソフトやストレージのリソース管理ソフトなど、専用のAPIを使用して開発されたアプリケーションのみに許されており、一般的なコマンドとしては用意されていません。
|
オープンソースによるスナップショット
|
オープンソースによるスナップショットで代表的なのは、最近のLinuxではほとんどが標準で組み込んでいるLVMです。元々はボリューム管理のためのツールですが、作成したボリュームに対してスナップショットを簡単に作成することができます。
OSのシステムボリュームをLVMボリュームとして作成するのは管理上でも難しい場合がありますが、特定のアプリケーション用に作成することはそれほど難しい作業ではありません。ここでは、例としてOracle Database 10gのデータファイルをLVM上に作成し、スナップショットを利用することでデータベースに対する負荷を軽減する方法を見ていきます。
|
データベースのスナップショットバックアップ〜準備
|
まず最初に、"/mnt/oradata"以下をデータファイルの配置場所と仮定してLVMによるボリュームを作成します。mountの確認をおこなった後は、忘れずに"/etc/fstab"にエントリを追加しておきます。なおこの例では、パーティション"/dev/hda5"と"/dev/hda6"を使用して"/dev/vg00/oradata"という5GBの論理ボリュームを用意しています。
|
# vgscan
vgscan -- reading all physical volumes (this may take a while...)
vgscan -- "/etc/lvmtab" and "/etc/lvmtab.d" successfully created
vgscan -- WARNING: This program does not do a VGDA backup of your volume group
# pvcreate /dev/hda5 /dev/hda6
pvcreate -- physical volume "/dev/hda5" successfully created
pvcreate -- physical volume "/dev/hda6" successfully created
# vgcreate -s 32m vg00 /dev/hda5 /dev/hda6
vgcreate -- INFO: maximum logical volume size is 2 Terabyte
vgcreate -- doing automatic backup of volume group "vg00"
vgcreate -- volume group "vg00" successfully created and activated
# lvcreate -n oradata -L 5g vg00
lvcreate -- doing automatic backup of "vg00"
lvcreate -- logical volume "/dev/vg00/oradata" successfully created
# mkfs -j /dev/vg00/oradata
# mkdir /mnt/oradata
# mount /dev/vg00/oradata /mnt/oradata
# df -k /dev/vg00/oradata
|
Filesystem |
1K-ブロック |
使用 |
使用可 |
|
使用% |
|
マウント位置 |
/dev/vg00/oradata |
5160576 |
32828 |
4865604 |
|
1% |
|
/mnt/oradata |
|
次にOracle Database 10gのデータファイルのディレクトリを変更します。また、オンライン・バックアップのためにログモードをアーカイブ・ログ・モードに変更しておきます。これらの設定はインストール時にも変更しておくことが可能です。設定後にデータファイルの設置場所を確認すると、LVMのボリュームになっていることがわかります(図2)。
|
SQL< COL NAME FORMAT A20
SQL< select FILE#,DF.NAME,TS.NAME,STATUS from v$datafile DF,v$tablespace TS where DF.TS#=TS.TS#;
|
FILE# |
|
NAME |
|
NAME |
|
STATUS |
---------- |
|
-------------------- |
|
-------------------- |
|
------- |
1 |
|
/mnt/oradata/o10g/sy |
|
SYSTEM |
|
SYSTEM |
stem01.dbf |
|
2 |
|
/mnt/oradata/o10g/un |
|
UNDOTBS1 |
|
ONLINE |
dotbs01.dbf |
|
3 |
|
/mnt/oradata/o10g/sy |
|
SYSAUX |
|
ONLINE |
saux01.dbf |
|
4 |
|
/mnt/oradata/o10g/us |
|
USERS |
|
ONLINE |
ers01.dbf |
|
FILE# |
|
NAME |
|
NAME |
|
STATUS |
---------- |
|
-------------------- |
|
-------------------- |
|
------- |
|
5 |
|
/mnt/oradata/o10g/ex |
|
EXAMPLE |
|
ONLINE |
ample01.dbf |
|
|
図2:ファイル・ディレクトリの確認
|
オンライン・バックアップのためには、各表領域に対してバックアップ・モードに変更するためのSQL構文を実行する必要があるため、あらかじめスクリプトを作成しておきます。ここでは、Oracleユーザのhomeに"orabegin.sql"および"oraend.sql"という、ぞれぞれバックアップ・モードを変更するためのスクリプトを配置しました。
バック・アップモードを変更するスクリプト
|
$ more orabegin.sql
ALTER TABLESPACE SYSTEM BEGIN BACKUP;
ALTER TABLESPACE UNDOTBS1 BEGIN BACKUP;
ALTER TABLESPACE SYSAUX BEGIN BACKUP;
ALTER TABLESPACE USERS BEGIN BACKUP;
ALTER TABLESPACE EXAMPLE BEGIN BACKUP;
exit;
$ more oraend.sql
ALTER TABLESPACE SYSTEM END BACKUP;
ALTER TABLESPACE UNDOTBS1 END BACKUP;
ALTER TABLESPACE SYSAUX END BACKUP;
ALTER TABLESPACE USERS END BACKUP;
ALTER TABLESPACE EXAMPLE END BACKUP;
exit;
|
|
前のページ 1 2 3 次のページ
|
|
|
|
著者プロフィール
バックボーン・ソフトウエア株式会社 青木 浩朗
ストレージ専業ベンダーにて、SEおよび企画を担当した後に、2001年にBakBoneSoftware入社。主に大手ベンダーのSEを担当しながら、テクニカル・マーケティングとして、各種講演や執筆活動を行っている。最近は、特にデータベースとクラスタリングに注力し、検証レポートを作成するのをライフワークとしている。
|
|
|
|