
Amanda(Advanced Maryland Automatic Network Disk Archiver)は、世界で最も人気のあるオープンソースのバックアップおよびリカバリソフトウェアであり、さまざまなバージョンのLinux、UNIX、BSD、Mac OS-X、およびMicrosoftWindowsオペレーティングを実行している100万を超えるサーバーとデスクトップを保護します。世界中のシステム。 Amandaは、テープ、ディスク、光メディア、チェンジャーをサポートしています。これにより、ディスクストレージをバックアップメディアとして使用できるようになります。バックアップの構成、開始、および検証により、30分以内にバックアップサイクルが完了します。 Amandaは、1台のスタンドアロンマシンから数百のクライアントまでの環境で正常に使用されてきました。高価なプロプライエタリバックアップソフトウェアや、最悪の場合に破損する傾向のあるカスタムバックアップスクリプトからあなたを救うことができます。
この記事では、その方法を紹介します:
- Amandaバックアップサーバーをインストールして構成します。
- バックアップパラメータを設定します。
- 構成を確認し、バックアップを確認します。
- バックアップ用にAmandaLinuxクライアントをインストールして構成します。
ステップ1:CentOS7にAmandaをインストールする
CentOS7サーバーにAmandaバックアップサーバーをインストールすることから始めます。 rootユーザーの資格情報を使用してCentOS7ホストのコマンドラインターミナルを開き、そのIPとFQDNを設定します。次のコマンドを実行して、Amandaバックアップサーバーのホスト名を設定します。
# hostnamectl set-hostname amanda-server
# vi /etc/hosts
192.168.10.177 amanda-server amanda-server.linoxide.com
アップデートとAmandaサーバーパッケージをインストールするためにインターネットに接続していることを確認してください。次のコマンドを実行して、システムを最新のアップデートとパッチでアップデートします。
# yum update
システムが更新されたら、パッケージがデフォルトのEPELリポジトリで利用できるため、「yum」コマンドを使用してAmandaバックアップサーバーのインストールを開始できます。次のコマンドを実行し、「y」キーを押して、依存関係を含めてインストールを続行します。
[root@amanda-server ~]# yum install amanda*

Amandaはxinetdによって実行されるので、これをAmandaに必要なパッケージのいくつかと一緒にシステムにインストールする必要があります。
# yum install xinetd gnuplot perl-ExtUtils-Embed

ステップ2:Xinetdサービスを開始する
これで、CentOS7オペレーティングシステムにxinetdとAmandaバックアップサーバーがインストールされました。以下に示すコマンドを使用して、「xinetd」サービスを開始しましょう。
[root@amanda ~]# service xinetd restart
次のコマンドを使用して、正常にインストールされた後にamandaがインストールされていることを確認します。
[root@amanda ~]# amadmin --version
amadmin-3.3.3

ステップ3:Amanda構成のセットアップ
まず、rootユーザーを使用していくつかのディレクトリを作成しますが、Amandaのインストール方法に応じて、おそらく「amandabackup」または「amanda」または「backup」であるAmandaユーザーを確認してください。ここでは、デフォルトの「amandabackup」を使用して、次のディレクトリ構造の所有権を割り当てています。
[root@amanda ~]# mkdir -p /amanda /etc/amanda
[root@amanda ~]# chown amandabackup /amanda /etc/amand
次に、「amandabackup」ユーザーに切り替えて、次のコマンドを実行します。
[root@amanda ~]# su - amandabackup
-bash-4.2$ mkdir -p /amanda/vtapes/slot{1,2,3,4}
-bash-4.2$ mkdir -p /amanda/holding
-bash-4.2$ mkdir -p /amanda/state/{curinfo,log,index}
-bash-4.2$ mkdir -p /etc/amanda/MyConfig
したがって、すべてのデータは「/ amanda」フォルダーの下にありますが、好きな場所に置くことができます。次に、「/ etc / amanda /MyConfig/」ディレクトリに「amanda.conf」ファイルを次の内容で追加します。
これは、Advanced Maryland Automatic NetworkDiskArchiverであるAmandaのメイン設定ファイルです。最高のエディタを使用してこの構成ファイルを開き、次の内容をその中に入れましょう。 Amandaユーザーが別の名前を持っている場合は、「dumpuser」を適切に編集する必要があることに注意してください。
-bash-4.2$ vi /etc/amanda/MyConfig/amanda.conf
org "MyConfig"
infofile "/amanda/state/curinfo"
logdir "/amanda/state/log"
indexdir "/amanda/state/index"
dumpuser "amandabackup"
tpchanger "chg-disk:/amanda/vtapes"
labelstr "MyData[0-9][0-9]"
autolabel "MyData%%" EMPTY VOLUME_ERROR
tapecycle 4
dumpcycle 3 days
amrecover_changer "changer"
tapetype "TEST-TAPE"
define tapetype TEST-TAPE {
length 100 mbytes
filemark 4 kbytes
}
define dumptype simple-gnutar-local {
auth "local"
compress none
program "GNUTAR"
}
holdingdisk hd1 {
directory "/amanda/holding"
use 50 mbytes
chunksize 1 mbyte
}
Amandaプログラムの動作を制御する構成パラメーターがいくつかあります。すべてにデフォルト値があるため、デフォルトが適切な場合は、amanda.confでパラメーターを指定する必要はありません。元のAmanda構成ファイルは、「/ etc / amanda /DailySet1/」ディレクトリにあります。
次に、単一のディスクリストエントリ(DLE)を含む「disklist」ファイルを追加します。 'disklist'ファイルは、Amandaによってバックアップされるディスクを決定します。このファイルには、includefileディレクティブまたはdisklistエントリ(DLE)が含まれています。一般的な使用法は、DLEをパーティションまたはファイルシステムとして説明することでした。
-bash-4.2$ vi /etc/amanda/MyConfig/disklist
localhost /etc simple-gnutar-local
':wq!'を使用してファイルを保存して閉じます'vi'または'vim'エディターを使用している場合。これで、構成が完了しました。次のステップに進みましょう。
ステップ4:Amanda構成を確認する
Amandaには、構成をチェックできる「amcheck」と呼ばれる優れたユーティリティがあります。それを実行して、構成の結果を提供する構成をテストします。ほとんどすべてのAmandaコマンドは、この場合のように「MyConfig」のように最初の引数として構成名をとることに注意してください。
次のコマンドを実行して、テープホストサーバーの構成を確認しましょう。
-bash-4.2$ amcheck MyConfig

Amcheckは、AmandaテープサーバーホストとAmandaクライアントホストの両方でいくつかのセルフチェックを実行します。
テープサーバーホストでは、amcheckは、夜間のamdump実行の開始時に使用されたのと同じテープチェックを実行して、次の実行用の正しいテープがマウントされていることを確認できます。また、すべてのクライアントホストでセルフチェックを実行して、各ホストが実行されていること、およびバックアップするファイルシステムのアクセス許可が正しいことを確認することもできます。
多くのホスト/ディスク式を指定できます。式に一致するディスクのみがチェックされます。式が指定されていない場合は、すべてのディスクがチェックされます。
ステップ5:テストバックアップを実行する
私たちが前進することを余儀なくされたようなエラーは見つからなかったので、テスト結果は肯定的です。バックアップを実行するためのツールは「amdump」です。出力で端末に何も出力しない構成名のみを取ります。以下に示すように、Amandaユーザーとして実行しましょう。
-bash-4.2$ amdump MyConfig
数秒かかると、おそらく出力されません。次の行で、次のコマンドを実行すると、出力に「0」が表示されます。ゼロ以外のものが表示された場合、バックアップは失敗しました。
-bash-4.2$ echo $?
0
Amdumpは、Amandaバックアッププロセスへのメインインターフェースです。指定された構成をロードし、「disklist」で指定されたすべてのディスクのバックアップを試みます。 Amdumpは通常、次の手順で示す「cron」によって実行されます。
ただし、ゼロ以外のものが表示された場合は、バックアップが失敗したことを意味します。その場合、構成ファイルと一緒に「amreport」コマンドを使用することで、バックアップに何が起こったかの便利なレポートを見ることができます。
-bash-4.2$ amreport MyConfig
Amreportは、以下の画像に示すように、Amandaバックアップ実行の要約レポートを生成します。

ステップ6:Amandaバックアップスケジューリング
'amdump'を毎日実行する場合は、cronデーモンを介してスケジュールできます。毎晩バックアップを実行することを忘れないでください。だから私たちはcronを持っています!次の行を追加しましょう。
-bash-4.2$ crontab -e
0 17 * * * amandabackup /usr/sbin/amcheck -m MyConfig
15 2 * * * amandabackup /usr/sbin/amdump MyConfig
crontabエディターを保存して閉じます。これらの回線は、毎日17:00と2:15にバックアップをスケジュールします。
rootユーザーにログインすると、次のコマンドを使用してAmadaユーザーのcronジョブを追加できます。
# su amadabackup -c "crontab -e"
ただし、Amandaのインストール方法によっては、ディストリビューションがAmandaツールを配置した場所を見つけた後、「/ usr/sbin」を別のものに変更する必要がある場合があります。コマンドラインで「whichamcheck」を使用して、プロセスの場所を見つけることができます。
# which amcheck
/usr/sbin/amcheck
Amcheckは、crontabで「-m」フラグを使用した問題についてメールで通知することができ、amdumpは毎晩喜んでレポートをメールで送信します。何かが壊れていることに気付かない場合、自動化は良くありません。したがって、「mailto」構成を「amanda.conf」ファイルに追加するだけです。
-bash-4.2$ vi /etc/amanda/MyConfig/amanda.conf
mailto "user@domain.com"
:wq!
ステップ7:Amandaバックアップクライアントのインストール
このセクションでは、前の手順でセットアップしたばかりのAmandaバックアップサーバーによってバックアップされるように仮想マシンをインストールおよび構成する方法について説明します。
別のCentOS7サーバーを使用して、Amandaクライアントのバックアップインストールをセットアップします。 amandaクライアントパッケージをインストールするには、次のコマンドを実行します。
[root@centos-bk1 ~]# yum install amanda-client xinetd

ステップ8:Amandaバックアップクライアントの構成
'/var/lib/amanda/.amandahosts'ファイルは、Amandaサーバーの場所を指定するために使用され、エディターを使用して同じファイルを開き、次のエントリを追加して、変更を保存します。
[root@centos-bk1 ~]# vi /var/lib/amanda/.amandahosts
amanada_server amandabackup
:wq!
次に、同じファイル'/var/lib/amanda/.amandahosts'に、amrecoverコマンドの使用が許可されている各AMANDAクライアントのホスト名のエントリが含まれている必要があり、'amrecover'がrootとして実行されている必要があります。
結論
Amandaは、複数のネットワーククライアントをテープベースまたはディスクベースのストレージシステムにバックアップするために単一のサーバーを簡単にセットアップできるシステム管理者の生活を簡素化します。独自のスケジューラーにより、バックアップの実行ごとに合計バックアップ時間がほぼ同じになるように、さまざまなクライアントのバックアップレベルが最適化されます。これにより、システム管理者は環境内のデータ変更率を推測する必要がなくなります。この記事がお役に立てば幸いですが、まだやるべきことがたくさんあります。それらについては次の記事で説明します。読んでいただきありがとうございます。貴重なコメントを残すことを忘れないでください。