アクセラと+αな生活
アクセラとα350と共に過ごす気まぐれ日記です。
Firefox ブラウザ無料ダウンロード
2017年08月
≪07月  1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28  29  30  31    09月≫
スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
さて、バックアップ環境も無事構築できたところで、リストア(復元のこと)も手順化しておかないといけませんね。
バックアップはとっているけど、「どうやってリストアしたらいいの???」「リストアの手順を間違えて、元に戻らなくなった、どうしよう???」なんてことにならないためにも、リストア手順を明確化しておく必要があります。

リストアが必要な状況は障害が発生している時。。。
あせったりしますし、正確に作業しないと元に戻りませんので、事前に手順化しておくことが重要です。

原点に戻って。。
バックアップは何故必要なのでしょうか?
それは、データは1度失うと復旧できないからです。
このような事態を避けるために予備のデータをとっておく、つまりバックアップをするわけで、リストアできないバックアップでは意味がありません。

バックアップさえとっていれば安心。。。ではなく、バックアップしたデータでリストアができて初めて安心であると言えるのです。
ですので、バックアップしたデータでリストアができることを確認するようにして下さい。


さておき。
今回のバックアップはファイル単位のバックアップですので、リストアはデータファイルのリストアとなります。
Oracle などのアーカイブログ(データベースの更新情報)適用は範囲外とします。

【リストア手順】
リストアは常に行うものではありませんし、どのファイルをリストアする必要があるかは状況により変わるので、シェル化や自動実行はしません。

流れとしては、業務の停止→バックアップ領域のマウント→ファイルリストア→業務の起動→データのリストア確認→バックアップ領域のアンマウントという流れになります。

1.業務の停止
 業務を停止しないと、ファイルの上書きできないなどでリストアができない場合もありますし、メモリ上に展開している内容とファイルの内容で整合性がとれない場合もあります。
 今回は PostgreSQL が業務停止が必要とします。
 PostgreSQL の停止は「# /etc/rc.d/init.d/postgresql stop」で行います。
 障害ですでに PostgreSQL が起動しない状態であれば、停止は不要です。
2.バックアップ領域のマウント
 mount コマンドでバックアップしている領域をマウントします。
 うちの Vine ちゃんの環境では「/dev/hdd1」を「/mnt/backup」にマウントします。
 「# mount /dev/hdd1 /mnt/backup」
3.ファイルリストア
 PostgreSQL のデータファイルをリストアすると仮定します。
 PostgreSQL のデフォルトのデータファイルは「/var/lib/pgsql/data」配下、データベースは「/var/lib/pgsql/data/base」配下に作成されます。
 今回は「/var/lib/pgsql/data」配下全てを rsync コマンドを使用してリストアすることとします。
 「# rsync -a --delete /mnt/backup/var/lib/pgsql/data/ /var/lib/pgsql/data/」
 ※リストア元、リストア先を逆にすると、せっかくバックアップしたデータも上書きされて消えてしまいます。。。
  ここはあせらず、バックアップしたデータを再度バックアップするくらいの余裕を持って作業するくらいがいいかもww

4.業務の起動
 PostgreSQL の起動は「# /etc/rc.d/init.d/postgresql start」で行います。
5.データのリストア確認
 データがリストアされているかを確認します。
 「psql」を起動して、「select」などでトランザクションデータがリストアされているかを確認します。
6.バックアップ領域のアンマウント
 リストアが正常に行われているいことが確認できたら、バックアップ領域をアンマウントします。
 「# umount /mnt/backup」
 
これでリストアは完了となります。
ここでは PostgreSQL のデータベースリストアとしてます。
間違って消したドキュメントのリストアであれば、リストアするファイルに読み替えて下さい。

私は使用していませんが、PostgreSQL には「pg_dump」、「pg_dumpall」というデータベースのダンプ(バックアップ)コマンド、「pg_restore」というリストアコマンドがあります。
(データファイルを直接バックアップ、リストアするので、使用してません)
PostgreSQL のデータベースだけならば、「pg_dump」、「pg_dumpall」でバックアップ、「pg_restore」でリストアという運用もできます。

このように手順化しておけば、いざという時に役に立ちます。
できれば、この手順が杞憂で終わり、実際に作業することがないことを祈ります。

コメント
この記事へのコメント
URL :
コメント :
パスワード :
管理者にだけ表示を許可する
 
トラックバック
この記事のトラックバックURL
Template designed by アクセラと+αな生活

Powered by .
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。