チップス

バックアップについて


先日(2012年6月20日)にファーストサーバのデータ消失障害が発生し、改めてデータの大切さを知る事となりました。あらためてバックアップに関する基本的な考え方をまとめておきます。

OSの再インストールやアプリケーションのインストールは1日あれば対応できますが、企業が保管するデータは社員が何年もかけて入力したものなどがあり、そのデータが消失した場合の損害は多大なものになります。
バックアップの計画を立てる時のキーワードに静止点、復旧時間、世代管理があります。これらのキーワードの考え方については下記参考URLをご覧ください。世代管理については世代管理とはがとてもわかりやすいと思います。

ハードディスクが大容量になり、また業務メールにエスセルやパワーポイントを添付する事が多くなったりと普段使いのデータも大容量化し、データ復旧も迅速に対応する事が求められるのでお客様のニーズに合わせたバックアップ計画が必要となります。

バックアップを取る時によく使うコマンド

tar (tape archives)
wikipediaより

元来、tarはその名の通り磁気テープの操作が念頭に置かれていた。そのため現在も、tarコマンドにfオプションを付けない場合には、デフォルトでテープデバイスへとアクセスするようになっている。

fオプションのfはfileの頭文字であり、このオプションを付けることにより、現在では任意のファイルシステム上にファイルとしてアーカイブ/展開を行うことが出来る。

rsync
wikipediaより

rsync は、UNIXシステムにおいて、差分符号化を使ってデータ転送量を最小化し、遠隔地間のファイルやディレクトリの同期を行うアプリケーションソフトウェアである。類似のプログラムやプロトコルにはない rsync 独自の特徴として、ミラーサイトとの転送が双方向に高々1回で済む点がある。rsync はディレクトリ内容を表示し、ディレクトリやファイルをコピーできる。オプションでデータ圧縮や再帰も指定可能。

tarヘルプ manより

名前
tar - GNU 版 tar アーカイブ・ユーティリティー
書式
tar [ - ] A --catenate --concatenate | c --create | d --diff --compare | r --append | t --list | u --update | x -extract --get [ --atime-preserve ] [ -b, --block-size N ] [ -B, --read-full-blocks ] [ -C, --directory DIR ] [ --checkpoint ]
[ -f, --file [HOSTNAME:]F ] [ --force-local ]
[ -F, --info-script F --new-volume-script F ] [ -G, --incremental ] [ -g, --listed-incremental F ] [ -h, --dereference ] [ -i, --ignore-zeros ] [ -j, --bzip2 ] [ --ignore-failed-read ] [ -k, --keep-old-files ] [ -K, --starting-file F ] [ -l, --one-file-system ] [ -L, --tape-length N ] [ -m, --modification-time ] [ -M, --multi-volume ] [ -N, --after-date DATE, --newer DATE ] [ -o, --old-archive, --portability ] [ -O, --to-stdout ] [ -p, --same-permissions, --preserve-permissions ] [ -P, --absolute-paths ] [ --preserve ]
[ -R, --record-number ] [ --remove-files ] [ -s, --same-order, --preserve-order ] [ --same-owner ] [ -S, --sparse ] [ -T, --files-from F ] [ --null ]
[ --totals ]
[ -v, --verbose ] [ -V, --label NAME ] [ --version ]
[ -w, --interactive, --confirmation ] [ -W, --verify ]
[ --exclude FILE ] [ -X, --exclude-from FILE ] [ -Z, --compress, --uncompress ] [ -z, --gzip, --ungzip ]
[ --use-compress-program PROG ] [ --block-compress ] [ -[0-7][lmh] ]

filename1 [ filename2, ... filenameN ]
directory1 [ directory2, ...directoryN ]

説明

このマニュアル・ページではGNU版 tar , 即ち tarfile として知られているアーカイブ・ファイルにファイルを格納したり抽出する 為のアーカイブ・プログラムについて説明する。 tarfile はテープドライブ上に作成することも出来る。 しかし、 tarfile を通常のファイルに書き込む事もよく行なわれている。 tar への最初の引数は、オプション Acdrtux のいずれかでなくてはならない。 この後にはどのオプション機能を指定する事も出来る。 tar への最後の引数はアーカイブすべきファイル又はディレクトリ名である。 ディレクトリ名を指定した場合は常に、そのサブディレクトリもアーカイブに 含められる。
機能指定文字

以下のオプションのいずれかを指定しなくてはならない:
-A, --catenate, --concatenate
アーカイブに tar ファイルを追加する
-c, --create
新しいアーカイブを作成する
-d, --diff, --compare
アーカイブとファイル・システムとの差分を取る
--delete
アーカイブから削除する(磁気テープ上の
tarfile に使う事は出来ない)
-r, --append
アーカイブの最後にファイルを追加する
-t, --list
アーカイブ内容の一覧を表示する
-u, --update
アーカイブ内の同名のファイルより新しいものだけを追加する
-x, --extract, --get
アーカイブからファイルを抽出する

その他のオプション

--atime-preserve
ダンプしたファイルのアクセス時刻を変えない
-b, --block-size N
ブロック・サイズをN*512 バイトとする (デフォルトは N=20)
-B, --read-full-blocks
読み込みと同時にブロック化し直す (4.2BSDのパイプからの読み込み用)
-C, --directory DIR
DIRにcdしてから動作を行なう
--checkpoint
アーカイブの読み込み中にディレクトリ名を出力する
-f, --file [HOSTNAME:]F
Fというアーカイブ・ファイルまたはデバイスを使う(デフォルトは/dev/rmt0)
--force-local
アーカイブ・ファイル名にコロンがあってもローカルファイルとして扱う
-F, --info-script F --new-volume-script F
各テープの最後でスクリプトFを実行する(-M が仮定される)
-G, --incremental
旧GNU形式のインクリメンタル・バックアップにより作成/一覧表示/抽出を行なう
-g, --listed-incremental F
新GNU形式のインクリメンタル・バックアップにより作成/一覧表示/抽出を行なう
-h, --dereference
シンボリック・リンクをダンプしない;リンクが指し示すファイルをダンプする
-i, --ignore-zeros
アーカイブ内のゼロのみからなるブロック(通常はEOFを意味する)を無視する
-j, --bzip2

.bz2ファイルからの抽出を行なうためにアーカイブをbzip2にフィルターする
--ignore-failed-read
読み込み不能なファイルに対して非ゼロ返り値で終了しない
-k, --keep-old-files
ファイルが既存の場合は、アーカイブから抽出したファイルで上書きしない
-K, --starting-file F
アーカイブ内のファイルFから作業を開始する
-l, --one-file-system
ローカルなファイル・システムに限定してアーカイブを作成する
-L, --tape-length N
N*1024バイト書き込んだ後にテープを交換する
-m, --modification-time
ファイルの変更時間は抽出しない
-M, --multi-volume
マルチ・ボリュームのアーカイブの作成/一覧表示/抽出を行なう
-N, --after-date DATE, --newer DATE
DATEより新しいファイルだけを格納する
-o, --old-archive, --portability
ANSI形式ではなく、V7形式のアーカイブを書き込む
-O, --to-stdout
ファイルを標準出力に書き出す
-p, --same-permissions, --preserve-permissions
許可情報を全て抽出する
-P, --absolute-paths
ファイル名の先頭の`/'を取り除かない
--preserve
-p -s と同様
-R, --record-number
メッセージとともにアーカイブ内でのレコード数を出力する
--remove-files
アーカイブに追加した後にファイルを削除する
-s, --same-order, --preserve-order
アーカイブと一致させるために、抽出するファイルの名前をソートする
--same-owner
アーカイブ内のファイルのものと同じ所有属性でファイルを抽出する
-S, --sparse
疎らなファイルを効率的に処理する
-T, --files-from F
抽出又は作成するファイルの名前をファイルFから読み込む
--null
nullで終わる名前を-Tで読み込み、-Cを無効にする
--totals
--createで書き込まれた全バイト数を出力する
-v, --verbose
処理したファイルの一覧を詳しく出力する
-V, --label NAME
ボリューム名がNAMEというアーカイブを作成する
--version
tarプログラムのバージョン番号を出力する
-w, --interactive, --confirmation
すべての動作に対して確認を求める
-W, --verify
アーカイブの書き込み後に照合を試みる
--exclude FILE
ファイルFILEを除外する
-X, --exclude-from FILE
FILEに記載されているファイルを除外する
-Z, --compress, --uncompress
アーカイブをcompressにフィルターする
-z, --gzip, --ungzip
アーカイブをgzipにフィルターする
--use-compress-program PROG
アーカイブをPROGにフィルターする(PROGは-dオプションを解するものでなくては ならない)
--block-compress
圧縮プログラムの出力をブロック化してテープに書き込む
-[0-7][lmh]
ドライブと密度を指定する

参考URL

バックアップは重要だ
バックアップ世代の数え方
「バックアップ早わかり」講座[前編] バックアップとテープストレージの基礎
「バックアップ早わかり」講座[中編]バックアップシステムの構築


   チップス