1	
Amandaで始める

かんたんバックアップ
日本仮想化技術株式会社	
大内 明	
自己紹介
•  大内明(おおうち あきら)	
•  1988年生まれ/23歳	
•  根室うまれ、根室そだち	
•  日本仮想化技術株式会社 技術部	
‒  5年目	
‒  VMwareとかXen/KVM方面担当	
•  サーバーいじり大好き	
2	
日本仮想化技術株式会社 概要
•  社名:日本仮想化技術株式会社	
‒  英語名:VirtualTech Japan Inc.	
‒  略称:日本仮想化技術/VTJ	
•  設立:2006年12月	
•  資本金:14,250,000円	
•  本社:東京都渋谷区渋谷1-1-10	
•  取締役:宮原 徹(代表取締役社長兼CEO)	
•  伊藤 宏通(取締役CTO)	
•  スタッフ:9名(うち、6名が仮想化技術専門エンジニアです)	
•  URL:http://VirtualTech.jp/	
•  仮想化技術に関する研究および開発・構築	
‒  仮想化技術に関する各種調査	
‒  仮想化技術に関連したソフトウェア、サービスの開発	
‒  仮想化技術を導入したシステムの構築	
ベンダーニュートラルな
独立系仮想化技術
専業会社	
3	
導入	
仮想化専門コンサルティングサービス
設計	
•  設計	
‒  サーバ、ストレージからネットワークまでアプリ
ケーションまで考慮した仮想化環境設計	
‒  キャパシティプランニング(ベンチマーク)	
•  導入	
‒  ハードウェアおよびソフトウェアの導入	
‒  仮想化統合(P2Vレガシーマイグレーション)	
•  運用保守	
‒  エンジニア教育	
‒  技術サポートの提供	
運用保守	
ベンダーニュートラルなワンストップ・サービスをご提供	
4	
仮想化について相談したい

•  既存環境を仮想化移行する概要設計	
•  他社提案に対する「セカンドオピニオン」	
無料コンサルティング実施中
お気軽にお問い合わせください
5	
お問い合わせ先
「仮想化環境を構築したいが、どこに相談すればいいの?」	
まずは我々にご相談ください	
http://VirtualTech.jp/	
sales@VirtualTech.jp	
050-7571-0584	
6
2	
本日の内容
•  バックアップとは	
•  Amandaの紹介	
•  私のAmandaの導入例	
•  Amandaの導入	
•  Amandaバックアップのリストア	
仮想化分ちょっと薄めです 	
7	
バックアップとは
バックアップとは
•  定期的にデータを作成・保管して、

トラブル発生時にすぐ復旧できるよう

備えること	
‒  操作ミスによるデータの損失	
‒  HDDの劣化による破損	
‒  地震や火災などの災害による物理破損	
‒  プログラムやハードウェアのファームウェア不
具合による論理破損	
9	
バックアップしてますか!?
10	
質問
バックアップしていないと

どうなるのか
•  データを失う	
•  諦めても良いデータ	
‒  手持ちのCDから取り込んだ音楽データとか 	
‒  あきらめる	
•  諦められないデータ	
‒  個人なら思い出の写真・ビデオとか、会社なら
業務データ	
‒  リカバリー業者に頼む(超高価)	
11	
バックアップを取るには
•  次の4点を決めておく	
1.  バックアップの対象データ	
2.  バックアップメディア	
3.  バックアップソフト選び	
4.  バックアップの取り方とサイクル	
12
3	
対象データ
•  どんなものをバックアップするか	
‒  文書や画像など普通のデータ	
‒  OS全体や仮想マシンのイメージ丸ごと	
•  サイズとファイル数	
‒  必要に応じてバックアップメディアを選択	
•  ファイルの更新量(サイクルに影響)	
‒  更新頻度が高いDBデータ→毎日	
‒  あまり更新されないHTMLファイル・画像

→週に1回など	
13	
バックアップメディア
•  ハードディスク(超安価)	
‒  2TBが5000円台、3TBが9000円台	
•  CD/DVD(安価)	
‒  HDDが安すぎて微妙な雰囲気に	
•  USBメモリ, SSD(比較的安価)	
‒  書き換え寿命とか心配、かも	
•  テープ(高価)	
‒  DDS: 容量少なめ・遅い	
‒  Ultrium: 大容量・高速	
14	
(参考)バックアップメディア 09
•  2009年1月時点のハードディスク相場	
‒  1TBが7000円台、1.5TBが1万円台	
•  現在	
‒  2TBが5000円台、3TBが9000円台	
•  たった2年半で、容量が倍のHDDが同じ値
段(もしくはそれ以下)で買えるように 

(;`ω´)!?	
15	
バックアップソフトウェア
•  Windows: 標準のバックアップ	
‒  Windows7では簡単・お手軽になった。自宅で愛用	
•  Mac: Time Machine	
‒  会社で使用中。同じく簡単・お手軽	
•  Linux: tar(?), rsync, Amanda, Bacula, 

Deja Dup	
•  VMware: VMware Data Recovery	
•  Acronis True Image, NetVault等の市販製品	
•  単純に手動(もしくはバッチファイル)でファイ
ルコピー	
16	
バックアップの取り方
•  フルバックアップ

毎回すべてのデータをバックアップ	
•  差分バックアップ

最後のフルバックアップ以降に変更さ

   れたデータをバックアップ	
•  増分バックアップ

前回のバックアップ以降に変更された

   データをバックアップ	
17	
バックアップのサイクル
•  サイクル	
‒  毎日フルバックアップ	
‒  週1回フルバックアップ+差分バックアップ	
‒  週1回フルバックアップ+増分バックアップ	
フルバックアップ	
 差分バックアップ	
 増分バックアップ	
1回のバックアッ
プ時間	
長い	
 短い	
 短い	
リストアの手間

(テープ入れ替え
とか)	
少ない	
 普通	
 多い	
18
4	
Amandaについて
Amandaとは
•  メリーランド大学で開発されたパブリックド
メインのバックアップユーティリティ	
‒  The Advanced Maryland Automatic

Network Disk Archiver の略	
•  Unix/Mac OS X/Linux/Windowsで利用

可能	
•  2011年8月現在の最新版は3.3.0	
•  http://www.amanda.org/	
20	
Amandaの特徴
•  複数マシンのデータを1台のバックアップド
ライブでバックアップすることが可能	
‒  クライアントソフトがネットワーク経由で転送	
‒  1台のみでの利用も、もちろん可能	
             バックアップ	
            対象のマシン	
バックアップ	
サーバー	
21	
Amandaの特徴
•  テープバックアップに最適化	
‒  テープチェンジャー対応	
‒  HDDなどにもバックアップ可能	
•  保持ディスク(holding disk)機能	
‒  ネットワーク経由で転送されたデータを一時的
に格納	
‒  バックアップ先メディアに問題があって書き込
みできなかった場合はここに保持する	
22	
Amandaの特徴
•  バックアップレベルを自動的に調整	
‒  データ変更量に応じてフルバックアップ・差分
バックアップを使い分ける	
‒  フルバックアップ固定に設定することも可能	
23	
Amanda利用のデメリット
•  インターネット上では日本語資料が少なめ	
‒  商用版を扱うZmanda( http://zmanda.jp/ )に
公式ドキュメントができはじめた	
‒  O REILLYの「Unixバックアップ&リカバリー」
で詳しく解説されている(¥6,600)	
24
5	
私のAmanda導入例
社内の仮想化されたサーバー
•  複数マシンをテープドライブにバックアップ	
•  AmandaサーバーはXenのDom0、バックアップ
対象はDomUなので

物理的に見ると1台で完結

しているように見える	
•  VMイメージごとではなく、

VM内の必要なデータのみ

バックアップ	
•  技術評論社 Software Design

2009/04号に記事を執筆	
26	
バックアップ対象の(仮想)マシン群	
バックアップのイメージ
バックアップサーバー(テープドライブ)	
X e n	
Dom0	
社内	
Web	
サーバ	
VM	
ファイル
サーバ	
VM	
27	
会社の公開用サーバー
•  公開用Webサーバーのコンテンツデータ等
を毎日フルバックアップ	
•  バックアップサーバーを専用に用意したた
め、省電力を重視	
‒  ジョブ開始前に、別の24時間稼働している
サーバーからWOLパケットを投げて起動	
‒  バックアップジョブ実行(メディアはHDD)	
‒  バックアップ完了後は自らシャットダウン	
‒  サーバー稼働時は80W弱で動くように構成	
28	
自宅サーバー
•  社内サーバーと同じXen環境タイプ	
•  2.5インチUSB-HDDにバックアップ	
‒  災害などが起きた場合に持ち出しが可能、、、
という想定(災害が起きた時に自宅にいれば
の話ですけどね!)	
29	
Amandaの導入
6	
Amanda導入の流れ
•  インストール	
•  設定	
‒  サーバー(バックアップ処理を実行するマシン)	
‒  クライアント(バックアップ対象のマシン)	
•  バックアップメディアの用意	
‒  今回はUSB-HDDを例とする	
•  設定確認	
•  バックアップ実行	
31	
想定する環境
•  CentOS 5系もしくは6系を想定	
‒  CentOS 5のAmandaバージョン: 2.5.0	
•  本家ではOLD扱い	
‒  CentOS 6のAmandaバージョン: 2.6.1	
•  最新ではないけれど、本家でも一応stable扱いの
バージョン	
‒  CentOS 5をサーバー、CentOS 6をクライアン
トとしても大丈夫	
32	
サーバーのインストール
•  yumでインストール	
‒  # yum ‒y install amanda-server	
•  xinetdの設定(disable=noに変更)	
‒  /etc/xinetd.d/amanda (Amandaサーバ)	
‒  /etc/xinetd.d/amandaidx (リストア時に使用)	
‒  /etc/xinetd.d/amidxtape (リストア時に使用)	
•  xinetdを再起動	
‒  # service xinetd restart	
33	
クライアントのインストール
•  yumでインストール	
‒  # yum ‒y install amanda-client	
•  xinetdの設定(disable=noに変更)	
‒  /etc/xinetd.d/amanda	
•  xinetdを再起動	
‒  # service xinetd restart	
34	
名前解決の設定
•  Amamdaではホスト名を使用して通信する
ため、DNSやhostsファイルなどで名前解決
できる必要がある	
### /etc/hosts の例 ###
# Dom0
192.168.100.8 orange.office.begi.net orange
# File Server
192.168.100.10 sebone3.office.begi.net sebone3
# Web Server
192.168.100.13 ginjiro.office.begi.net ginjiro
35	
Amanda設定時のやくそく
•  Amandaの各設定ファイルは、amandaユー
ザーで編集する	
‒  # su - amanda	
•  設定を行うのは次の2つ	
‒  /var/lib/amanda/.amandahosts	
‒  /etc/amanda/(バックアップ設定名)/各種設定
ファイル	
36
7	
amandahostsの設定
•  /var/lib/amanda/.amandahostsを編集	
‒  FQDN名とバックアップユーザ名を指定	
•  サーバー側(バックアップ対象ホストを記述)	
•  各クライアント側(サーバーのホストを記述)	
orange.office.begi.net amanda 
# バックアップ用
orange.office.begi.net root 
# リストア用
sebone3.office.begi.net amanda
sebone3.office.begi.net root
ginjiro.office.begi.net amanda
ginjiro.office.begi.net root
orange.office.begi.net amanda
37	
バックアップの設定準備
•  /etc/amanda内は1ディレクトリで1つのバッ
クアッププロジェクトという扱い	
•  DailySet1がサンプルプロジェクト	
‒  このディレクトリをコピーして使うと良い	
‒  ※今回はこのまま利用	
•  DailySet1ディレクトリに移動して、tapelist
ファイルを作成	
‒  $ cd /etc/amanda/DailySet1	
‒  $ touch tapelist; chmod 660 tapelist	
38	
amanda.confの設定(1/8)
•  バックアップに関する基本的な設定を行う	
‒  バックアップのサイクル	
‒  テープドライブのパス	
‒  テープドライブの種類	
‒  保持ディスク	
‒  バックアップ対象ディレクトリの設定	
•  サンプルは設定項目が多いが、

大体はデフォルト設定のままで良い	
39	
amanda.confの設定(2/8)
•  org DailySet1 	
‒  設定名。ディレクトリ名と同じ名前にする。	
•  mailto ginjiro@begi.net 	
‒  通知メールの送信先を指定する。	
•  dumpuser amanda 	
‒  バックアップユーザーを指定。変更しない	
•  netusage 100000Kbps	
‒  バックアップ時の転送速度の指定。誰もいない夜間に

バックアップするので、帯域は適当に大きくとった。	
org DailySet1 
 
 
# your organization name for reports
mailto "ginjiro@begi.net 
# space separated list of operators ..
dumpuser "amanda" 

 
# the user to run dumps under
netusage 100000 Kbps 

# maximum net bandwidth for Amanda, ...	
40	
amanda.confの設定(3/8)
•  月 金にフルバックアップする	
•  dumpcycle 0 weeks	
‒  1サイクルの期間の指定	
•  runspercycle 0 days	
‒  1サイクルあたりにバックアップを実行する回数の指定	
•  tapecycle 5tapes	
‒  1サイクルあたりに使用するテープの本数	
dumpcycle 0 weeks 

# the number of days in the normal ...
runspercycle 0 days # the number of amdump runs in dumpcycle..
tapecycle 5 tapes 

# the number of tapes in rotation...
41	
バックアップサイクル
•  差分バックアップも可能	
‒  フル・差分の間隔はAmandaにお任せになる	
‒  バックアップ量に応じて判断してくれる	
•  1週間を1サイクルとして、1サイクル中5日
バックアップを取る	
•  バックアップメディアは
dumpcycle*runspercycle+1本必要	
dumpcycle 1 weeks 

# the number of days in the normal ...
runspercycle 5 days # the number of amdump runs in dumpcycle..
tapecycle 6 tapes 

# the number of tapes in rotation...
42
8	
amanda.confの設定(4/8)
•  tapehanger: チェンジャーの種類	
‒  chg-manualからchg-diskに書き換える	
•  tapedev: デバイスのパス	
‒  テープデバイスなら/dev/nst0など	
‒  HDDの場合は、バックアップ先のパスを指定	
•  changerfile: コメントアウトを外す	
tpchanger "chg-disk" # the tape-changer glue script
tapedev "file:/amanda/usbdisk" # the no-rewind tape device to be
used
changerfile "/etc/amanda/DailySet1/changer"	
43	
amanda.confの設定(5/8)
•  tapetype: テープドライブの種類	
‒  次のページでドライブの設定を探して

設定ファイルの最後の方に書き加える

http://wiki.zmanda.com/index.php/Tapetype_definitions	
•  labelstr: テープの命名規則	
‒  正規表現が使用可能。	
‒  DailySet1-01, DailySet1-02 ...のようになる。	
•  amrecover_changer: リストア時のチェンジャー	
tapetype HARD-DISK 

 

# what kind of tape it is ...
labelstr ^DailySet1-[0-9][0-9]*$" 
# label constraint regex: ...
amrecover_changer "chg-disk"	
44	
tapetypeの宣言例
•  length : HDDに作成する仮想テープ1本あ
たりの容量	
‒  =1回でバックアップできる容量	
‒  バックアップ用のUSB-HDDの容量を考えて設定する	
define tapetype HARD-DISK {
comment "Dump onto hard disk"
length 2048 mbytes
}	
45	
amanda.confの設定(6/8)
•  保持ディスクの設定	
‒  各クライアントから集めたダンプデータを置く場所	
•  directory	
‒  /amanda/dumpsディレクトリを作成(所有者をamandaユーザーに)	
•  use: 200GBを確保。「-50000 Mb」を指定してもほぼ同じ	
•  chunksize: 2GB以上のファイルを扱えないOSでは2GBに
設定する。そうでなければ大きめにとる。	
holdingdisk hd1 {
comment main holding disk 
 
# コメント
directory /amanda/dumps 
 
# 保持ディスクの場所
use 200000 Mb 

 
 
 
 
# 保持ディスクとして利用できる容量
chunksize 100Gb 
 
 
 
# チャンクサイズ
}	
46	
amanda.confの設定(7/8)
•  infofile	
‒  バックアップのデータベースを格納するディレクトリ。	
‒  特に変更しない。ディレクトリを作成する必要はない。	
•  logdir	
‒  ログを格納するディレクトリ。	
•  indexdir	
‒  インデックスを格納するディレクトリ	
‒  特に変更しない。ディレクトリを作成する必要はない。	
infofile "/etc/amanda/DailySet1/curinfo" 
# database DIRECTORY
logdir "/etc/amanda/DailySet1" 
 

 
# log directory
indexdir "/etc/amanda/DailySet1/index" 
 
# index directory	
47	
amanda.confの設定(8/8)
•  バックアップ方法(dumptype)の設定	
‒  define dumptype global設定のindex yesのコメントアウトを削除す
る(リストア時に必要になる)	
•  グローバル設定の下に、それぞれのバックアップ方法の
設定が記述されている(後述)	
‒  この中にある設定を、disklistファイルで指定する。	
define dumptype global {
comment "Global definitions

(略)

index yes # コメントアウトを外す

(略)
}	
48
9	
disklistの設定
•  バックアップを取る場所の指定	
•  バックアップ方法(dumptype)の指定	
#書式
# <ホスト名> <パス> <dumptype>
# ファイルサーバー
 sebone3.office.begi.net /etc comp-user-tar
 
 
# 設定ファイル
 sebone3.office.begi.net /home comp-user-tar-sebone 
# 共有部分
# 社内WebサーバーのWebデータ部分
 ginjiro.office.begi.net /var/www/html comp-user-tar
# Dom0の各種設定データ
 orange.office.begi.net /etc comp-user-tar	
49	
使用したdumptype(1/2)
•  comp-user-tar	
•  comp-user-tar-sebone (ファイル共有部分用)	
define dumptype comp-user-tar {
user-tar 

 

# user-tarの設定を読み込み
compress client fast 
# クライアント側で高速圧縮をかける
}	
define dumptype comp-user-tar-sebone {
user-tar
compress client fast
exclude ./diskimage 
# LinuxなどのISOイメージを排除している
}	
50	
使用したdumptype(2/2)
•  comp-user-tarで読み込んだ設定	
define dumptype user-tar {
root-tar 

 
 
 
 
 
 
# root-tarの設定を読み込む
comment "user partitions dumped with tar"
priority medium 
 
 
 
 
 
# 優先度は中
}	
define dumptype root-tar {
global
program GNUTAR 
 
 
 
 
 
# GNU TARを使用
comment "root partitions dumped with tar"
compress none 

 
 
 
 
 
# 圧縮しない
index 
 
 
 
 
 
 
 
# ?
# exclude list /etc/amanda/exclude.gtar 
# 除外のサンプルらしい
priority low 
 
 
 
 
 
 
# 優先度は低
}
51	
仮想テープの準備(1/3)
•  /amanda/usbdiskにUSB-HDDをマウント	
‒  /dev/sdXの方法ではパスが変わってしまう可能
性があるため、/dev/disk/by-uuid/***の形で指
定する	
•  仮想テープの作成(ディレクトリを作る)	
‒  /amanda/usbdisk/slot1

:

/amanda/usbdisk/slot5	
‒  所有者はもちろんamandaとする	
52	
# chown amanda:disk /amanda/usbdisk/slot1
仮想テープの準備(2/3)
•  シンボリックリンクを作成	
‒  ln ‒s /amanda/usbdisk/slot1 /amanda/
usbdisk/data	
•  管理ファイルを作成する。	
‒  touch /amanda/usbdisk/info

chown amanda:disk /amanda/usbdisk/info

chmod 660 /amanda/usbdisk/info	
53	
ディレクトリ構造おさらい
/amanda/dumps -> 保持ディスク置き場
/usbdisk -> USB-HDDをここにマウント
/data -> /amanda/usbdisk/slot1のシンボリックリンク
info -> 空のファイル(chmod 660とする)
slot1 -> 空のディレクトリ
slot2 -> 空のディレクトリ
slot3 -> 空のディレクトリ
slot4 -> 空のディレクトリ
slot5 -> 空のディレクトリ
54
10	
仮想テープの準備(3/3)
•  ラベルを書き込む	
‒  $ amlabel ‒f <設定名> <ラベル名> <スロット
番号>	
‒  -fは強制でラベルを設定するという意味	
‒  ラベル番号は1から始まる(0ではない)	
$ amlabel -f DailySet1 DailySet1-01 slot 1
55	
設定の確認
•  amcheckコマンドを実行	
‒  $ /usr/sbin/amcheck DailySet1	
•  エラーが無ければ準備完了	
•  エラーがあったら、設定を見直す	
‒  hosts, .amandahostsの設定	
‒  amanda.confの設定	
‒  ファイヤーウォールが設定されていれば、ポー
ト解放(10080/udp, 10082/tcp, 10083/tcp)	
56	
設定の確認(実行例)
$ amcheck DailySet1
Amanda Tape Server Host Check
-----------------------------
Holding disk /dumps/amanda: 227924984 KB disk space available, that's
plenty
slot 1: read label `DailySet1-01', date `X'
NOTE: skipping tape-writable test
Tape DailySet1-01 label ok
Server check took 0.277 seconds
Amanda Backup Client Hosts Check
--------------------------------
Client check: 3 hosts checked in 0.051 seconds, 0 problems found
(brought to you by Amanda 2.5.0p2)
57	
バックアップの実行
•  amandaユーザーでamdumpコマンドを実行	
‒  $ /usr/sbin/dump DailySet1	
•  バックアップ中のステータスは、amstatusコ
マンドで確認可能	
‒  $ /usr/sbin/amstatus DailySet1	
‒  ダンプの進行状況などが確認できる	
•  バックアップが完了するとメールが送信さ
れる	
58	
バックアップ完了通知メール
These dumps were to tape DailySet1-01.
The next tape Amanda expects to use is: DailySet1-02.
STATISTICS:
Total Full Incr.
-------- -------- --------
Estimate Time (hrs:min) 0:00
Run Time (hrs:min) 1:38
Dump Time (hrs:min) 1:24 1:24 0:00
Output Size (meg) 44362.8 44362.8 0.0
- - - - - - - - - - - - - - - - - ( 略 ) - - - - - - - - - - - - - - - - - - 
DUMPER STATS TAPER STATS 
HOSTNAME DISK L ORIG-KB OUT-KB COMP% MMM:SS KB/s MMM:SS KB/s
-------------------------- ------------------------------------- -------------
ginjiro.offi -r/www/html 0 24420 17696 72.5 0:07 2406.0 0:04 4998.7
orange.offic /etc 0 420 160 38.1 0:00 316.7 0:02 71.9
sebone3.offi /etc 0 104780 14560 13.9 0:11 1305.7 0:05 3125.4
sebone3.offi /home 0 52564872 45395264 86.4 83:23 9073.9 12:28 60690.1
(brought to you by Amanda version 2.5.0p2)
59	
cronにジョブ登録
•  /etc/amanda/crontab.sampleを参照	
•  今回の設定	
‒  月曜日 金曜日の17時にメディアチェック	
•  amcheck ‒mは、エラー時にメールを送信する	
‒  月曜日 金曜日の25時にバックアップ実行	
•  amandaユーザーで「crontab ‒e」コマンドを
実行して、cron設定を記述する	
0 17 * * 1-5 /usr/sbin/amcheck -m DailySet1 
0 1 * * 2-6 /usr/sbin/amdump DailySet1
60
11	
リストア
•  リストアするまでがバックアップです	
‒  == 家に着くまでが遠足です	
•  おおよそ3種類のリストア方法	
‒  Amandaのバックアップデータベースを利用	
•  amrecoverによるリストア	
•  amrestoreによるリストア	
‒  Amandaを利用しないリストア	
•  ddコマンド	
61	
amrecoverによるリストア
•  対話式のリストアツール	
•  バックアップデータベースを利用	
•  ファイル毎のリストアが可能	
•  リストアするデータの日付・パス、展開先を
指定するだけ	
•  リストアに必要なテープを指示通りに入れ
ると自動的にリストアしてくれる	
62	
バックアップデータベースの
バックアップ
•  設定ファイルのディレクトリ下に配置される	
•  データベースが壊れると、amandaのリスト
アコマンドが使えない	
•  データベースのバックアップも重要!	
‒  テープではなく別のサーバーなどにコピーする
ことが推奨されている	
•  テープの場合、最新の1つ前のデータベースが

バックアップされるため	
63	
amrecoverによるリストア
•  データをリストアしたいクライアント上の

rootユーザーでamrecoverコマンドを実行	
‒  -s : バックアップサーバー	
‒  -t : テープドライブのあるサーバー	
•  大体は-sで指定するサーバーと同じ	
‒  -C : 設定名	
# amrecover ‒s orange ‒t orange ‒C DailySet1
64	
amrecoverによるリストア演習
•  社内Webの画像をリストアしてみる	
•  とりあえずrmで削除	
# ls /var/www/html/top.png
top.png
# rm -f /var/www/html/top.png
# ls /var/www/html/top.png
ls: /var/www/html/top.png: そのよ
うなファイルやディレクトリはありません
65	
amrecoverによるリストア演習
•  Webサーバーの端末からamrecoverを実行	
# amrecover -s orange -t orange -C DailySet1
AMRECOVER Version 2.5.0p2. Contacting server on orange ...
220 orange AMANDA index server (2.5.0p2) ready.
200 Access OK
Setting restore date to today (2008-11-12)
200 Working date set to 2008-11-12.
Scanning /dumps/amanda...
200 Config set to DailySet1.
200 Dump host set to ginjiro.office.begi.net.
Trying disk / ...
Trying disk rootfs ...
Can't determine disk and mount point from $CWD '/root'
amrecover> 
66
12	
amrecoverによるリストア演習
•  バックアップされているディスクを確認して

マウントする	
amrecover> listdisk 
 
 
 
← ディスクの確認
200- List of disk for host ginjiro.office.begi.net
201- /var/www/html
200 List of disk for host ginjiro.office.begi.net
amrecover> setdisk /var/www/html 
← マウント
200 Disk set to /var/www/html.
amrecover> ls
 
 
← バックアップ中の/var/www/htmlの一覧を表示
2008-11-12 wiki/
2008-11-12 top.png 
 
← リストアしたいファイル
(略)
2008-11-12 .
amrecover>
67	
amrecoverによるリストア演習
•  対象のファイルをリストア対象に追加する	
•  データのリストア先を指定する	
amrecover> add top.png
Added /top.png
amrecover>
amrecover> lpwd 
 
 
 
← Local側でのpwdコマンドと同等
/root
amrecover> lcd /var/www/html 
← Local側でのcdコマンドと同等
amrecover>
68	
amrecoverによるリストア演習
•  リストアの実行	
amrecover> extract
Extracting files using tape drive null: on host orange.
The following tapes are needed: DailySet1-02
Restoring files into directory /var/www/html
Continue [?/Y/n]? Y 
 
 
← /var/www/htmlに展開して良いですか
Extracting files using tape drive null: on host orange.
Load tape DailySet1-02 now
Continue [?/Y/n/s/t]? Y 
 
← DailySet1-02 をセットしてYを入力
./top.png 
 
 
 
 
← 展開された
amrecover>
69	
amrecoverによるリストア演習
•  リストアの確認	
•  成功!	
amrecover> exit
200 Good bye.
# ls /var/www/html
blog files index.php style.css top.png
enter.gif gewiki    screenshot tmp wiki
#
70	
amrestoreによるリストア
•  ディスク単位のリストアツール	
‒  disklistで指定したバックアップ対象ごと	
•  バックアップデータベースを利用	
•  時間の都合で割愛(同じことは次のddでも
可能と言えば可能)	
‒  過去版 ( http://virtualtech.jp/download/
090130AmandaBackup.pdf ) を参照	
71	
Amandaを利用しないリストア
•  障害などによってバックアップデータベー
スが壊れたときに覚えておくべき方法	
•  Amandaのテープフォーマットはシンプル	
‒  あえてそうなっている	
‒  各イメージの先頭32KBにイメージの情報	
‒  それ以降にイメージが格納されている	
•  mtコマンドとddコマンドでテープから取りだ
しが可能	
72
13	
Amandaを使わないリストア演習
•  テープの中身のイメージ	
•  テープのヘッダを表示	
# mt ‒f /dev/st0 rewind
# dd if=/dev/nst0 bs=32k count=1 
 
←テープ先頭から32KB分読み込む
AMANDA: TAPESTART DATE 20081106 TAPE DailySet1-03
014
1+0 records in
1+0 records out
32768 bytes (33 kB) copied, 0.081231 seconds, 403 kB/s
# dd if=/dev/nst0 bs=32k 
 
 
 
←よくわからないなにかを読み飛ばす
テープの	
ヘッダ(32KB)	
ダミー	
 イメージ1の
ヘッダ(32KB)	
イメージ1	
 イメージ2の
ヘッダ(32KB)	
イメージ2	
 つづく 	
73	
Amandaを使わないリストア演習
•  テープの中身のイメージ	
•  イメージ1のリストア	
# dd if=/dev/nst0 bs=32k count=1 
 
 
← ヘッダの取りだし
AMANDA: FILE 20081106 orange.office.begi.net /etc lev 0 comp .gz
program /bin/tar 
 
 
 
 
 
 
← Dom0の/etcらしい
To restore, position tape at start of file and run:

dd if=<tape> bs=32k skip=1 | /bin/gzip -dc | /bin/tar -f... ‒
(ddの出力結果略)
# dd if=/dev/nst0 of=1106-orange-etc bs=32k 
← イメージ1の取りだし
# tar xf 1106-orange-etc
# ls
1106-orange-etc host.conf quotatab
DIR_COLORS hosts racoon
テープの	
ヘッダ(32KB)	
ダミー	
 イメージ1の
ヘッダ(32KB)	
イメージ1	
 イメージ2の
ヘッダ(32KB)	
イメージ2	
 つづく 	
74	
USB-HDD運用の場合
•  テープの区切りごとにファイルになっている	
•  イメージ1のリストア	
# mkdir /tmp/restore
# cd /tmp/restore
# cp /amanda/usbdisk/slot1/00001.orange.office.begi.net._etc.0 . 
# dd if=00001.orange.office.begi.net._etc.0 bs=32k skip=1 | tar ‒xpf ‒
# ls
00001.orange.office.begi.net._etc.0 host.conf racoon
1106-orange-etc hosts
DIR_COLORS quotatab
75	
まとめ
•  Amandaの使い勝手	
‒  設定は慣れてないと大変(というか面倒?)	
‒  設定の山を越えれば後は簡単	
•  バックアップ重要!!	
‒  データを失う辛さに比べたら

バックアップの面倒さなんてちっぽけなもの	
‒  データを失ってから業者にリカバリを依頼する
と非常に高額なお金が必要になる	
76	
参考文献
•  Unixバックアップ&リカバリ

(オライリージャパン)	
•  amandaを使ってLTOにバックアップ	
‒  http://www.ait.pref.akita.jp/~kurosawa/
backup.html	
•  その他のページは、(個人の)

はてなブックマークにいくつか登録してます	
‒  http://b.hatena.ne.jp/Akkiesoft/バックアップ/	
77	
色々ご案内
•  日本Amandaユーザ会	
‒  Amandaのさらなる活用を探る(?)	
‒  参加はmixiコミュニティへ	
‒  http://mixi.jp/view_community.pl?id=3816284	
•  本日のセミナー資料	
•  http://VirtualTech.jp/ の、公開資料に掲載	
78

Amandaで始めるかんたんバックアップ

  • 1.
    1 Amandaで始める
 かんたんバックアップ 日本仮想化技術株式会社 大内 明 自己紹介 •  大内明(おおうち あきら) • 1988年生まれ/23歳 •  根室うまれ、根室そだち •  日本仮想化技術株式会社 技術部 ‒  5年目 ‒  VMwareとかXen/KVM方面担当 •  サーバーいじり大好き 2 日本仮想化技術株式会社 概要 •  社名:日本仮想化技術株式会社 ‒  英語名:VirtualTech Japan Inc. ‒  略称:日本仮想化技術/VTJ •  設立:2006年12月 •  資本金:14,250,000円 •  本社:東京都渋谷区渋谷1-1-10 •  取締役:宮原 徹(代表取締役社長兼CEO) •  伊藤 宏通(取締役CTO) •  スタッフ:9名(うち、6名が仮想化技術専門エンジニアです) •  URL:http://VirtualTech.jp/ •  仮想化技術に関する研究および開発・構築 ‒  仮想化技術に関する各種調査 ‒  仮想化技術に関連したソフトウェア、サービスの開発 ‒  仮想化技術を導入したシステムの構築 ベンダーニュートラルな 独立系仮想化技術 専業会社 3 導入 仮想化専門コンサルティングサービス 設計 •  設計 ‒  サーバ、ストレージからネットワークまでアプリ ケーションまで考慮した仮想化環境設計 ‒  キャパシティプランニング(ベンチマーク) •  導入 ‒  ハードウェアおよびソフトウェアの導入 ‒  仮想化統合(P2Vレガシーマイグレーション) •  運用保守 ‒  エンジニア教育 ‒  技術サポートの提供 運用保守 ベンダーニュートラルなワンストップ・サービスをご提供 4 仮想化について相談したい
 •  既存環境を仮想化移行する概要設計 •  他社提案に対する「セカンドオピニオン」 無料コンサルティング実施中 お気軽にお問い合わせください 5 お問い合わせ先 「仮想化環境を構築したいが、どこに相談すればいいの?」 まずは我々にご相談ください http://VirtualTech.jp/ sales@VirtualTech.jp 050-7571-0584 6
  • 2.
    2 本日の内容 •  バックアップとは •  Amandaの紹介 • 私のAmandaの導入例 •  Amandaの導入 •  Amandaバックアップのリストア 仮想化分ちょっと薄めです 7 バックアップとは バックアップとは •  定期的にデータを作成・保管して、
 トラブル発生時にすぐ復旧できるよう
 備えること ‒  操作ミスによるデータの損失 ‒  HDDの劣化による破損 ‒  地震や火災などの災害による物理破損 ‒  プログラムやハードウェアのファームウェア不 具合による論理破損 9 バックアップしてますか!? 10 質問 バックアップしていないと
 どうなるのか •  データを失う •  諦めても良いデータ ‒  手持ちのCDから取り込んだ音楽データとか ‒  あきらめる •  諦められないデータ ‒  個人なら思い出の写真・ビデオとか、会社なら 業務データ ‒  リカバリー業者に頼む(超高価) 11 バックアップを取るには •  次の4点を決めておく 1.  バックアップの対象データ 2.  バックアップメディア 3.  バックアップソフト選び 4.  バックアップの取り方とサイクル 12
  • 3.
    3 対象データ •  どんなものをバックアップするか ‒  文書や画像など普通のデータ ‒ OS全体や仮想マシンのイメージ丸ごと •  サイズとファイル数 ‒  必要に応じてバックアップメディアを選択 •  ファイルの更新量(サイクルに影響) ‒  更新頻度が高いDBデータ→毎日 ‒  あまり更新されないHTMLファイル・画像
 →週に1回など 13 バックアップメディア •  ハードディスク(超安価) ‒  2TBが5000円台、3TBが9000円台 •  CD/DVD(安価) ‒  HDDが安すぎて微妙な雰囲気に •  USBメモリ, SSD(比較的安価) ‒  書き換え寿命とか心配、かも •  テープ(高価) ‒  DDS: 容量少なめ・遅い ‒  Ultrium: 大容量・高速 14 (参考)バックアップメディア 09 •  2009年1月時点のハードディスク相場 ‒  1TBが7000円台、1.5TBが1万円台 •  現在 ‒  2TBが5000円台、3TBが9000円台 •  たった2年半で、容量が倍のHDDが同じ値 段(もしくはそれ以下)で買えるように 
 (;`ω´)!? 15 バックアップソフトウェア •  Windows: 標準のバックアップ ‒  Windows7では簡単・お手軽になった。自宅で愛用 •  Mac: Time Machine ‒  会社で使用中。同じく簡単・お手軽 •  Linux: tar(?), rsync, Amanda, Bacula, 
 Deja Dup •  VMware: VMware Data Recovery •  Acronis True Image, NetVault等の市販製品 •  単純に手動(もしくはバッチファイル)でファイ ルコピー 16 バックアップの取り方 •  フルバックアップ
 毎回すべてのデータをバックアップ •  差分バックアップ
 最後のフルバックアップ以降に変更さ
    れたデータをバックアップ •  増分バックアップ
 前回のバックアップ以降に変更された
    データをバックアップ 17 バックアップのサイクル •  サイクル ‒  毎日フルバックアップ ‒  週1回フルバックアップ+差分バックアップ ‒  週1回フルバックアップ+増分バックアップ フルバックアップ 差分バックアップ 増分バックアップ 1回のバックアッ プ時間 長い 短い 短い リストアの手間
 (テープ入れ替え とか) 少ない 普通 多い 18
  • 4.
    4 Amandaについて Amandaとは •  メリーランド大学で開発されたパブリックド メインのバックアップユーティリティ ‒  TheAdvanced Maryland Automatic
 Network Disk Archiver の略 •  Unix/Mac OS X/Linux/Windowsで利用
 可能 •  2011年8月現在の最新版は3.3.0 •  http://www.amanda.org/ 20 Amandaの特徴 •  複数マシンのデータを1台のバックアップド ライブでバックアップすることが可能 ‒  クライアントソフトがネットワーク経由で転送 ‒  1台のみでの利用も、もちろん可能              バックアップ             対象のマシン バックアップ サーバー 21 Amandaの特徴 •  テープバックアップに最適化 ‒  テープチェンジャー対応 ‒  HDDなどにもバックアップ可能 •  保持ディスク(holding disk)機能 ‒  ネットワーク経由で転送されたデータを一時的 に格納 ‒  バックアップ先メディアに問題があって書き込 みできなかった場合はここに保持する 22 Amandaの特徴 •  バックアップレベルを自動的に調整 ‒  データ変更量に応じてフルバックアップ・差分 バックアップを使い分ける ‒  フルバックアップ固定に設定することも可能 23 Amanda利用のデメリット •  インターネット上では日本語資料が少なめ ‒  商用版を扱うZmanda( http://zmanda.jp/ )に 公式ドキュメントができはじめた ‒  O REILLYの「Unixバックアップ&リカバリー」 で詳しく解説されている(¥6,600) 24
  • 5.
    5 私のAmanda導入例 社内の仮想化されたサーバー •  複数マシンをテープドライブにバックアップ •  AmandaサーバーはXenのDom0、バックアップ 対象はDomUなので
 物理的に見ると1台で完結
 しているように見える • VMイメージごとではなく、
 VM内の必要なデータのみ
 バックアップ •  技術評論社 Software Design
 2009/04号に記事を執筆 26 バックアップ対象の(仮想)マシン群 バックアップのイメージ バックアップサーバー(テープドライブ) X e n Dom0 社内 Web サーバ VM ファイル サーバ VM 27 会社の公開用サーバー •  公開用Webサーバーのコンテンツデータ等 を毎日フルバックアップ •  バックアップサーバーを専用に用意したた め、省電力を重視 ‒  ジョブ開始前に、別の24時間稼働している サーバーからWOLパケットを投げて起動 ‒  バックアップジョブ実行(メディアはHDD) ‒  バックアップ完了後は自らシャットダウン ‒  サーバー稼働時は80W弱で動くように構成 28 自宅サーバー •  社内サーバーと同じXen環境タイプ •  2.5インチUSB-HDDにバックアップ ‒  災害などが起きた場合に持ち出しが可能、、、 という想定(災害が起きた時に自宅にいれば の話ですけどね!) 29 Amandaの導入
  • 6.
    6 Amanda導入の流れ •  インストール •  設定 ‒ サーバー(バックアップ処理を実行するマシン) ‒  クライアント(バックアップ対象のマシン) •  バックアップメディアの用意 ‒  今回はUSB-HDDを例とする •  設定確認 •  バックアップ実行 31 想定する環境 •  CentOS 5系もしくは6系を想定 ‒  CentOS 5のAmandaバージョン: 2.5.0 •  本家ではOLD扱い ‒  CentOS 6のAmandaバージョン: 2.6.1 •  最新ではないけれど、本家でも一応stable扱いの バージョン ‒  CentOS 5をサーバー、CentOS 6をクライアン トとしても大丈夫 32 サーバーのインストール •  yumでインストール ‒  # yum ‒y install amanda-server •  xinetdの設定(disable=noに変更) ‒  /etc/xinetd.d/amanda (Amandaサーバ) ‒  /etc/xinetd.d/amandaidx (リストア時に使用) ‒  /etc/xinetd.d/amidxtape (リストア時に使用) •  xinetdを再起動 ‒  # service xinetd restart 33 クライアントのインストール •  yumでインストール ‒  # yum ‒y install amanda-client •  xinetdの設定(disable=noに変更) ‒  /etc/xinetd.d/amanda •  xinetdを再起動 ‒  # service xinetd restart 34 名前解決の設定 •  Amamdaではホスト名を使用して通信する ため、DNSやhostsファイルなどで名前解決 できる必要がある ### /etc/hosts の例 ### # Dom0 192.168.100.8 orange.office.begi.net orange # File Server 192.168.100.10 sebone3.office.begi.net sebone3 # Web Server 192.168.100.13 ginjiro.office.begi.net ginjiro 35 Amanda設定時のやくそく •  Amandaの各設定ファイルは、amandaユー ザーで編集する ‒  # su - amanda •  設定を行うのは次の2つ ‒  /var/lib/amanda/.amandahosts ‒  /etc/amanda/(バックアップ設定名)/各種設定 ファイル 36
  • 7.
    7 amandahostsの設定 •  /var/lib/amanda/.amandahostsを編集 ‒  FQDN名とバックアップユーザ名を指定 • サーバー側(バックアップ対象ホストを記述) •  各クライアント側(サーバーのホストを記述) orange.office.begi.net amanda # バックアップ用 orange.office.begi.net root # リストア用 sebone3.office.begi.net amanda sebone3.office.begi.net root ginjiro.office.begi.net amanda ginjiro.office.begi.net root orange.office.begi.net amanda 37 バックアップの設定準備 •  /etc/amanda内は1ディレクトリで1つのバッ クアッププロジェクトという扱い •  DailySet1がサンプルプロジェクト ‒  このディレクトリをコピーして使うと良い ‒  ※今回はこのまま利用 •  DailySet1ディレクトリに移動して、tapelist ファイルを作成 ‒  $ cd /etc/amanda/DailySet1 ‒  $ touch tapelist; chmod 660 tapelist 38 amanda.confの設定(1/8) •  バックアップに関する基本的な設定を行う ‒  バックアップのサイクル ‒  テープドライブのパス ‒  テープドライブの種類 ‒  保持ディスク ‒  バックアップ対象ディレクトリの設定 •  サンプルは設定項目が多いが、
 大体はデフォルト設定のままで良い 39 amanda.confの設定(2/8) •  org DailySet1 ‒  設定名。ディレクトリ名と同じ名前にする。 •  mailto ginjiro@begi.net ‒  通知メールの送信先を指定する。 •  dumpuser amanda ‒  バックアップユーザーを指定。変更しない •  netusage 100000Kbps ‒  バックアップ時の転送速度の指定。誰もいない夜間に
 バックアップするので、帯域は適当に大きくとった。 org DailySet1 # your organization name for reports mailto "ginjiro@begi.net # space separated list of operators .. dumpuser "amanda" # the user to run dumps under netusage 100000 Kbps # maximum net bandwidth for Amanda, ... 40 amanda.confの設定(3/8) •  月 金にフルバックアップする •  dumpcycle 0 weeks ‒  1サイクルの期間の指定 •  runspercycle 0 days ‒  1サイクルあたりにバックアップを実行する回数の指定 •  tapecycle 5tapes ‒  1サイクルあたりに使用するテープの本数 dumpcycle 0 weeks # the number of days in the normal ... runspercycle 0 days # the number of amdump runs in dumpcycle.. tapecycle 5 tapes # the number of tapes in rotation... 41 バックアップサイクル •  差分バックアップも可能 ‒  フル・差分の間隔はAmandaにお任せになる ‒  バックアップ量に応じて判断してくれる •  1週間を1サイクルとして、1サイクル中5日 バックアップを取る •  バックアップメディアは dumpcycle*runspercycle+1本必要 dumpcycle 1 weeks # the number of days in the normal ... runspercycle 5 days # the number of amdump runs in dumpcycle.. tapecycle 6 tapes # the number of tapes in rotation... 42
  • 8.
    8 amanda.confの設定(4/8) •  tapehanger: チェンジャーの種類 ‒ chg-manualからchg-diskに書き換える •  tapedev: デバイスのパス ‒  テープデバイスなら/dev/nst0など ‒  HDDの場合は、バックアップ先のパスを指定 •  changerfile: コメントアウトを外す tpchanger "chg-disk" # the tape-changer glue script tapedev "file:/amanda/usbdisk" # the no-rewind tape device to be used changerfile "/etc/amanda/DailySet1/changer" 43 amanda.confの設定(5/8) •  tapetype: テープドライブの種類 ‒  次のページでドライブの設定を探して
 設定ファイルの最後の方に書き加える
 http://wiki.zmanda.com/index.php/Tapetype_definitions •  labelstr: テープの命名規則 ‒  正規表現が使用可能。 ‒  DailySet1-01, DailySet1-02 ...のようになる。 •  amrecover_changer: リストア時のチェンジャー tapetype HARD-DISK # what kind of tape it is ... labelstr ^DailySet1-[0-9][0-9]*$" # label constraint regex: ... amrecover_changer "chg-disk" 44 tapetypeの宣言例 •  length : HDDに作成する仮想テープ1本あ たりの容量 ‒  =1回でバックアップできる容量 ‒  バックアップ用のUSB-HDDの容量を考えて設定する define tapetype HARD-DISK { comment "Dump onto hard disk" length 2048 mbytes } 45 amanda.confの設定(6/8) •  保持ディスクの設定 ‒  各クライアントから集めたダンプデータを置く場所 •  directory ‒  /amanda/dumpsディレクトリを作成(所有者をamandaユーザーに) •  use: 200GBを確保。「-50000 Mb」を指定してもほぼ同じ •  chunksize: 2GB以上のファイルを扱えないOSでは2GBに 設定する。そうでなければ大きめにとる。 holdingdisk hd1 { comment main holding disk # コメント directory /amanda/dumps # 保持ディスクの場所 use 200000 Mb # 保持ディスクとして利用できる容量 chunksize 100Gb # チャンクサイズ } 46 amanda.confの設定(7/8) •  infofile ‒  バックアップのデータベースを格納するディレクトリ。 ‒  特に変更しない。ディレクトリを作成する必要はない。 •  logdir ‒  ログを格納するディレクトリ。 •  indexdir ‒  インデックスを格納するディレクトリ ‒  特に変更しない。ディレクトリを作成する必要はない。 infofile "/etc/amanda/DailySet1/curinfo" # database DIRECTORY logdir "/etc/amanda/DailySet1" # log directory indexdir "/etc/amanda/DailySet1/index" # index directory 47 amanda.confの設定(8/8) •  バックアップ方法(dumptype)の設定 ‒  define dumptype global設定のindex yesのコメントアウトを削除す る(リストア時に必要になる) •  グローバル設定の下に、それぞれのバックアップ方法の 設定が記述されている(後述) ‒  この中にある設定を、disklistファイルで指定する。 define dumptype global { comment "Global definitions (略) index yes # コメントアウトを外す (略) } 48
  • 9.
    9 disklistの設定 •  バックアップを取る場所の指定 •  バックアップ方法(dumptype)の指定 #書式 # <ホスト名><パス> <dumptype> # ファイルサーバー  sebone3.office.begi.net /etc comp-user-tar # 設定ファイル  sebone3.office.begi.net /home comp-user-tar-sebone # 共有部分 # 社内WebサーバーのWebデータ部分  ginjiro.office.begi.net /var/www/html comp-user-tar # Dom0の各種設定データ  orange.office.begi.net /etc comp-user-tar 49 使用したdumptype(1/2) •  comp-user-tar •  comp-user-tar-sebone (ファイル共有部分用) define dumptype comp-user-tar { user-tar # user-tarの設定を読み込み compress client fast # クライアント側で高速圧縮をかける } define dumptype comp-user-tar-sebone { user-tar compress client fast exclude ./diskimage # LinuxなどのISOイメージを排除している } 50 使用したdumptype(2/2) •  comp-user-tarで読み込んだ設定 define dumptype user-tar { root-tar # root-tarの設定を読み込む comment "user partitions dumped with tar" priority medium # 優先度は中 } define dumptype root-tar { global program GNUTAR # GNU TARを使用 comment "root partitions dumped with tar" compress none # 圧縮しない index # ? # exclude list /etc/amanda/exclude.gtar # 除外のサンプルらしい priority low # 優先度は低 } 51 仮想テープの準備(1/3) •  /amanda/usbdiskにUSB-HDDをマウント ‒  /dev/sdXの方法ではパスが変わってしまう可能 性があるため、/dev/disk/by-uuid/***の形で指 定する •  仮想テープの作成(ディレクトリを作る) ‒  /amanda/usbdisk/slot1
 :
 /amanda/usbdisk/slot5 ‒  所有者はもちろんamandaとする 52 # chown amanda:disk /amanda/usbdisk/slot1 仮想テープの準備(2/3) •  シンボリックリンクを作成 ‒  ln ‒s /amanda/usbdisk/slot1 /amanda/ usbdisk/data •  管理ファイルを作成する。 ‒  touch /amanda/usbdisk/info
 chown amanda:disk /amanda/usbdisk/info
 chmod 660 /amanda/usbdisk/info 53 ディレクトリ構造おさらい /amanda/dumps -> 保持ディスク置き場 /usbdisk -> USB-HDDをここにマウント /data -> /amanda/usbdisk/slot1のシンボリックリンク info -> 空のファイル(chmod 660とする) slot1 -> 空のディレクトリ slot2 -> 空のディレクトリ slot3 -> 空のディレクトリ slot4 -> 空のディレクトリ slot5 -> 空のディレクトリ 54
  • 10.
    10 仮想テープの準備(3/3) •  ラベルを書き込む ‒  $amlabel ‒f <設定名> <ラベル名> <スロット 番号> ‒  -fは強制でラベルを設定するという意味 ‒  ラベル番号は1から始まる(0ではない) $ amlabel -f DailySet1 DailySet1-01 slot 1 55 設定の確認 •  amcheckコマンドを実行 ‒  $ /usr/sbin/amcheck DailySet1 •  エラーが無ければ準備完了 •  エラーがあったら、設定を見直す ‒  hosts, .amandahostsの設定 ‒  amanda.confの設定 ‒  ファイヤーウォールが設定されていれば、ポー ト解放(10080/udp, 10082/tcp, 10083/tcp) 56 設定の確認(実行例) $ amcheck DailySet1 Amanda Tape Server Host Check ----------------------------- Holding disk /dumps/amanda: 227924984 KB disk space available, that's plenty slot 1: read label `DailySet1-01', date `X' NOTE: skipping tape-writable test Tape DailySet1-01 label ok Server check took 0.277 seconds Amanda Backup Client Hosts Check -------------------------------- Client check: 3 hosts checked in 0.051 seconds, 0 problems found (brought to you by Amanda 2.5.0p2) 57 バックアップの実行 •  amandaユーザーでamdumpコマンドを実行 ‒  $ /usr/sbin/dump DailySet1 •  バックアップ中のステータスは、amstatusコ マンドで確認可能 ‒  $ /usr/sbin/amstatus DailySet1 ‒  ダンプの進行状況などが確認できる •  バックアップが完了するとメールが送信さ れる 58 バックアップ完了通知メール These dumps were to tape DailySet1-01. The next tape Amanda expects to use is: DailySet1-02. STATISTICS: Total Full Incr. -------- -------- -------- Estimate Time (hrs:min) 0:00 Run Time (hrs:min) 1:38 Dump Time (hrs:min) 1:24 1:24 0:00 Output Size (meg) 44362.8 44362.8 0.0 - - - - - - - - - - - - - - - - - ( 略 ) - - - - - - - - - - - - - - - - - - DUMPER STATS TAPER STATS HOSTNAME DISK L ORIG-KB OUT-KB COMP% MMM:SS KB/s MMM:SS KB/s -------------------------- ------------------------------------- ------------- ginjiro.offi -r/www/html 0 24420 17696 72.5 0:07 2406.0 0:04 4998.7 orange.offic /etc 0 420 160 38.1 0:00 316.7 0:02 71.9 sebone3.offi /etc 0 104780 14560 13.9 0:11 1305.7 0:05 3125.4 sebone3.offi /home 0 52564872 45395264 86.4 83:23 9073.9 12:28 60690.1 (brought to you by Amanda version 2.5.0p2) 59 cronにジョブ登録 •  /etc/amanda/crontab.sampleを参照 •  今回の設定 ‒  月曜日 金曜日の17時にメディアチェック •  amcheck ‒mは、エラー時にメールを送信する ‒  月曜日 金曜日の25時にバックアップ実行 •  amandaユーザーで「crontab ‒e」コマンドを 実行して、cron設定を記述する 0 17 * * 1-5 /usr/sbin/amcheck -m DailySet1 0 1 * * 2-6 /usr/sbin/amdump DailySet1 60
  • 11.
    11 リストア •  リストアするまでがバックアップです ‒  ==家に着くまでが遠足です •  おおよそ3種類のリストア方法 ‒  Amandaのバックアップデータベースを利用 •  amrecoverによるリストア •  amrestoreによるリストア ‒  Amandaを利用しないリストア •  ddコマンド 61 amrecoverによるリストア •  対話式のリストアツール •  バックアップデータベースを利用 •  ファイル毎のリストアが可能 •  リストアするデータの日付・パス、展開先を 指定するだけ •  リストアに必要なテープを指示通りに入れ ると自動的にリストアしてくれる 62 バックアップデータベースの バックアップ •  設定ファイルのディレクトリ下に配置される •  データベースが壊れると、amandaのリスト アコマンドが使えない •  データベースのバックアップも重要! ‒  テープではなく別のサーバーなどにコピーする ことが推奨されている •  テープの場合、最新の1つ前のデータベースが
 バックアップされるため 63 amrecoverによるリストア •  データをリストアしたいクライアント上の
 rootユーザーでamrecoverコマンドを実行 ‒  -s : バックアップサーバー ‒  -t : テープドライブのあるサーバー •  大体は-sで指定するサーバーと同じ ‒  -C : 設定名 # amrecover ‒s orange ‒t orange ‒C DailySet1 64 amrecoverによるリストア演習 •  社内Webの画像をリストアしてみる •  とりあえずrmで削除 # ls /var/www/html/top.png top.png # rm -f /var/www/html/top.png # ls /var/www/html/top.png ls: /var/www/html/top.png: そのよ うなファイルやディレクトリはありません 65 amrecoverによるリストア演習 •  Webサーバーの端末からamrecoverを実行 # amrecover -s orange -t orange -C DailySet1 AMRECOVER Version 2.5.0p2. Contacting server on orange ... 220 orange AMANDA index server (2.5.0p2) ready. 200 Access OK Setting restore date to today (2008-11-12) 200 Working date set to 2008-11-12. Scanning /dumps/amanda... 200 Config set to DailySet1. 200 Dump host set to ginjiro.office.begi.net. Trying disk / ... Trying disk rootfs ... Can't determine disk and mount point from $CWD '/root' amrecover> 66
  • 12.
    12 amrecoverによるリストア演習 •  バックアップされているディスクを確認して
 マウントする amrecover> listdisk ← ディスクの確認 200- List of disk for host ginjiro.office.begi.net 201- /var/www/html 200 List of disk for host ginjiro.office.begi.net amrecover> setdisk /var/www/html ← マウント 200 Disk set to /var/www/html. amrecover> ls ← バックアップ中の/var/www/htmlの一覧を表示 2008-11-12 wiki/ 2008-11-12 top.png ← リストアしたいファイル (略) 2008-11-12 . amrecover> 67 amrecoverによるリストア演習 •  対象のファイルをリストア対象に追加する •  データのリストア先を指定する amrecover> add top.png Added /top.png amrecover> amrecover> lpwd ← Local側でのpwdコマンドと同等 /root amrecover> lcd /var/www/html ← Local側でのcdコマンドと同等 amrecover> 68 amrecoverによるリストア演習 •  リストアの実行 amrecover> extract Extracting files using tape drive null: on host orange. The following tapes are needed: DailySet1-02 Restoring files into directory /var/www/html Continue [?/Y/n]? Y ← /var/www/htmlに展開して良いですか Extracting files using tape drive null: on host orange. Load tape DailySet1-02 now Continue [?/Y/n/s/t]? Y ← DailySet1-02 をセットしてYを入力 ./top.png ← 展開された amrecover> 69 amrecoverによるリストア演習 •  リストアの確認 •  成功! amrecover> exit 200 Good bye. # ls /var/www/html blog files index.php style.css top.png enter.gif gewiki    screenshot tmp wiki # 70 amrestoreによるリストア •  ディスク単位のリストアツール ‒  disklistで指定したバックアップ対象ごと •  バックアップデータベースを利用 •  時間の都合で割愛(同じことは次のddでも 可能と言えば可能) ‒  過去版 ( http://virtualtech.jp/download/ 090130AmandaBackup.pdf ) を参照 71 Amandaを利用しないリストア •  障害などによってバックアップデータベー スが壊れたときに覚えておくべき方法 •  Amandaのテープフォーマットはシンプル ‒  あえてそうなっている ‒  各イメージの先頭32KBにイメージの情報 ‒  それ以降にイメージが格納されている •  mtコマンドとddコマンドでテープから取りだ しが可能 72
  • 13.
    13 Amandaを使わないリストア演習 •  テープの中身のイメージ •  テープのヘッダを表示 #mt ‒f /dev/st0 rewind # dd if=/dev/nst0 bs=32k count=1 ←テープ先頭から32KB分読み込む AMANDA: TAPESTART DATE 20081106 TAPE DailySet1-03 014 1+0 records in 1+0 records out 32768 bytes (33 kB) copied, 0.081231 seconds, 403 kB/s # dd if=/dev/nst0 bs=32k ←よくわからないなにかを読み飛ばす テープの ヘッダ(32KB) ダミー イメージ1の ヘッダ(32KB) イメージ1 イメージ2の ヘッダ(32KB) イメージ2 つづく 73 Amandaを使わないリストア演習 •  テープの中身のイメージ •  イメージ1のリストア # dd if=/dev/nst0 bs=32k count=1 ← ヘッダの取りだし AMANDA: FILE 20081106 orange.office.begi.net /etc lev 0 comp .gz program /bin/tar ← Dom0の/etcらしい To restore, position tape at start of file and run: dd if=<tape> bs=32k skip=1 | /bin/gzip -dc | /bin/tar -f... ‒ (ddの出力結果略) # dd if=/dev/nst0 of=1106-orange-etc bs=32k ← イメージ1の取りだし # tar xf 1106-orange-etc # ls 1106-orange-etc host.conf quotatab DIR_COLORS hosts racoon テープの ヘッダ(32KB) ダミー イメージ1の ヘッダ(32KB) イメージ1 イメージ2の ヘッダ(32KB) イメージ2 つづく 74 USB-HDD運用の場合 •  テープの区切りごとにファイルになっている •  イメージ1のリストア # mkdir /tmp/restore # cd /tmp/restore # cp /amanda/usbdisk/slot1/00001.orange.office.begi.net._etc.0 . # dd if=00001.orange.office.begi.net._etc.0 bs=32k skip=1 | tar ‒xpf ‒ # ls 00001.orange.office.begi.net._etc.0 host.conf racoon 1106-orange-etc hosts DIR_COLORS quotatab 75 まとめ •  Amandaの使い勝手 ‒  設定は慣れてないと大変(というか面倒?) ‒  設定の山を越えれば後は簡単 •  バックアップ重要!! ‒  データを失う辛さに比べたら
 バックアップの面倒さなんてちっぽけなもの ‒  データを失ってから業者にリカバリを依頼する と非常に高額なお金が必要になる 76 参考文献 •  Unixバックアップ&リカバリ
 (オライリージャパン) •  amandaを使ってLTOにバックアップ ‒  http://www.ait.pref.akita.jp/~kurosawa/ backup.html •  その他のページは、(個人の)
 はてなブックマークにいくつか登録してます ‒  http://b.hatena.ne.jp/Akkiesoft/バックアップ/ 77 色々ご案内 •  日本Amandaユーザ会 ‒  Amandaのさらなる活用を探る(?) ‒  参加はmixiコミュニティへ ‒  http://mixi.jp/view_community.pl?id=3816284 •  本日のセミナー資料 •  http://VirtualTech.jp/ の、公開資料に掲載 78