PostgreSQLのバックアップ&リストア手法その1:使えば分かるPostgreSQL運用&チューニング(4)(3/3 ページ)
データベースの運用において、まず考えなければいけないのはバックアップです。ハードウェアに障害が発生したときはもちろんですが、マシンを変更する場合やPostgreSQLのメジャーバージョンアップを行う場合にもバックアップ、リストアは必要になります。そこで本稿では、バックアップとリストア方法について説明します。
(2)OSコマンド(rsyncなど)、バックアップツールによるバックアップ
OS側で用意されているコマンドやサードパーティ製のバックアップツールを利用したバックアップ方法は、PostgreSQLを停止してデータベースクラスタをコピーすれば完了です。リストアは、データベースクラスタのディレクトリを置き換えるだけです。この方法の利点は何といっても単純明快なことですが、以下の欠点があります。
- 一貫性を保ったバックアップを取得するために、PostgreSQLを停止しなければならない
- CPUアーキテクチャが異なる環境やメジャーバージョン(先頭2けた)が異なるPostgreSQLへはリストアできない
- バックアップファイルのサイズが、PostgreSQLのダンプツールを使用した場合に比べて大きくなりがち
OSコマンドとしては、tar、cpio、dump、rsync などのコマンドが使用できますが、なかでも差分バックアップができるrsync は特に有用です。
rsyncによる差分バックアップ
rsync を利用する場合は、PostgreSQLを運用中にいったんrsync を実行したうえでPostgreSQLを停止し、再度rsync を実行する方法が多く取られます。2回目のrsync は1回目のrsync でコピーしたものの差分のみをコピーするため、コピー時間が短くなり、結果的にPostgreSQLの停止時間を最小限に抑えることができるからです。
以上、2種類のバックアップ、リストアについて説明しました。
次回はPITRと呼ばれる機能を利用したバックアップについて説明します。
●バックアップ先は信頼できるメディアを
最後に、当たり前のことですが、いずれのバックアップ手段を取るにしても、データベースと同じハードディスク上にバックアップを保存してしまうと、ハードディスクが壊れたときにせっかくのバックアップも取り出せなくなってしまいます。
バックアップファイルはデータベースと別の信頼できるハードディスクに保存するか、テープなどのメディアに保存するよう検討してください。
Copyright © ITmedia, Inc. All Rights Reserved.