pg_rmanによるオンラインバックアップ


Table of Contents

↑

はじめに

pg_rmanを利用してPostgreSQL9.1のデータベースをオンラインバックアップします。

↑

pg_rmanについて

pg_rmanはPostgreSQLのオンラインバックアップ/リストアを管理するツールです。
PITRでのバックアップ/リストアの運用がとても便利になるため導入をおすすめします。

↑

postgresqlのインストールについて

postgresqlは下記の通りインストールしています。
PostgreSQL9.1のインストール

↑

プロンプトについて

  • プロンプトによる実行ユーザは以下の通りです。
    #  ←rootで実行$ ←postgresユーザで実行
↑

インストール環境

  • OS
    • CentOS 6.2 (kernel 2.6.32-220.4.2.el6.x86_64)
  • パッケージ
    • postgresql91-libs-9.1.2-1PGDG.rhel6.x86_64
    • postgresql91-9.1.2-1PGDG.rhel6.x86_64
    • postgresql91-server-9.1.2-1PGDG.rhel6.x86_64
↑

pg_rmanインストール/設定

↑

pg_rmanのインストール

↑

ダウンロード

  • pg_rmanを下記サイトからダウンロードします。
↑

インストール

  • pg_rmanをrpmでインストールします。
    # rpm -ivh http://pg-rman.googlecode.com/files/pg_rman-1.2.3-1.pg91.rhel6.x86_64.rpm
↑

pg_rmanの設定

  • バックアップカタログの初期化します。バックアップカタログはバックアップファイルや管理情報の保存領域です。
    $ pg_rman init -B  /var/lib/pgsql/9.1/pg_rman -D /var/lib/pgsql/9.1/dataINFO: ARCLOG_PATH is set to '/var/lib/pgsql/9.1/backups'INFO: SRVLOG_PATH is set to '/var/lib/pgsql/9.1/data/pg_log'
  • pg_rman用の環境変数を追加します。
    $ vi ~postgres/.bash_profileexport BACKUP_PATH=/var/lib/pgsql/9.1/pg_rman 
  • pg_rman.iniで設定を行います。
    $ vi /var/lib/pgsql/9.1/pg_rman/pg_rman.iniARCLOG_PATH='/var/lib/pgsql/9.1/backups'SRVLOG_PATH='/var/lib/pgsql/9.1/data/pg_log'BACKUP_MODE = FCOMPRESS_DATA = YESKEEP_ARCLOG_FILES = 10KEEP_ARCLOG_DAYS = 10KEEP_DATA_GENERATIONS = 3KEEP_DATA_DAYS = 120KEEP_SRVLOG_FILES = 10KEEP_SRVLOG_DAYS = 10
↑

バックアップ

↑

サンプルデータの登録

  • 検証用DBを作成して、現在の時間をデータとして登録しておきます。


↑

バックアップ実行

  • バックアップを実行します。この時データベースを停止する必要はありません。
    $ pg_rman backup --backup-mode=full --with-serverlog


  • 全ての未検証バックアップを検証します。
    $ pg_rman validate 


  • バックアップを確認します。



  • 検証用のデータを追加します。
↑

リストア

↑

リストア実行

  • データベースを停止します。(-mでバックエンドを中断させます)
    $ pg_ctl stop -m immediate
  • リストアを実行します。
  • データベースを起動します。
    $ pg_ctl start
  • データが復旧していることを確認します。
このエントリーをはてなブックマークに追加
Last-modified: 2012-04-01 (日) 19:43:01   最終更新のRSS