15.2. 障害復旧
15.2.1. Red Hat Satellite のバックアップ手順 リンクのコピーリンクがクリップボードにコピーされました!
手順15.2 Red Hat Satellite のバックアップ手順
/backup ディレクトリーを使用します。次のコマンドを root システムアカウントで実行してください。
注記
- バックアップの場所を準備します。
umask 0027 export BDIR=/backup mkdir $BDIR chgrp postgres $BDIR chmod 770 $BDIR cd $BDIR - 設定ファイルとデータファイルをバックアップします。
# tar --selinux -czvf config_files.tar.gz \ /etc/katello \ /etc/elasticsearch \ /etc/candlepin \ /etc/pulp \ /etc/gofer \ /etc/grinder \ /etc/pki/katello \ /etc/pki/pulp \ /etc/qpidd.conf \ /etc/sysconfig/katello \ /etc/sysconfig/elasticsearch \ /root/ssl-build \ /var/www/html/pub/* \ # tar --selinux -czvf elastic_data.tar.gz /var/lib/elasticsearch - リポジトリーをバックアップします。リポジトリー内の RPM ファイルにはすでに圧縮が適用されており、これ以上圧縮することができません。そのためインスタンスのサイズによっては、作成されるバックアップのアーカイブ (
pulp_data.tar) が非常に大きくなる可能性があります。リポジトリーのバックアップ方法として 2 つのオプションがあります。オプション 1: オンラインでのリポジトリーのバックアップすべてのタイムスタンプのチェックサムを実行し、リポジトリーをバックアップしてからチェックサムを再び実行します。
# find /var/lib/pulp -printf '%T@\n' | md5sum # tar --selinux -cvf pulp_data.tar /var/lib/pulp /var/www/pub # find /var/lib/pulp -printf '%T@\n' | md5sum両方のチェックサムが一致すれば、オンラインバックアップは正確に行なわれ、使用可能であることになります。チェックサムが一致しない場合はリポジトリーのバックアップを再度実行します。注記
チェックサムが一致するようrsyncコマンドを使ってファイルのコピーをスピードアップします。オプション 2: オフラインでのリポジトリーのバックアップPulp サーバーを停止してからバックアップを行います。バックアップが完了してから Pulp サーバーを再起動します。
# service pulp-server stop # tar --selinux -cvf pulp_data.tar /var/lib/pulp /var/www/pub # service pulp-server start注記
Pulp サーバーがダウンすると、Red Hat Satellite および yum クライアントは接続を維持することができなくなります。サーバーがアイドル状態の間は、Red Hat Satellite で行なわれるリポジトリー関連のアクションはすべて失敗します。 - データベースをバックアップします。オフラインでのデータベースのバックアップ
次のコマンドを使ってオフラインでのバックアップを行います。
tar --selinux -czvf mongo_data.tar.gz /var/lib/mongodb tar --selinux -czvf pgsql_data.tar.gz /var/lib/pgsql/data/警告
オフラインのバックアップを行うには、Red Hat Satellite が完全に非アクティブな状態でなければなりません。Satellite が実行されている間にこの手順を実行すると、データが破損する可能性があります。この方法では、PostgreSQL と MongoDB のデータベースのデータをすべてアーカイブします。このバックアップはメンテナンス期間に行うことを推奨します。PostgreSQL データベースのバックアップRed Hat Satellite の PostgreSQL データベースの名前を確認します。デフォルトのデータベース名は
foremanschemaとcandlepinです。すべてのデフォルト値については、katello-configureの man ページか、または/usr/share/katello/install/default-answer-fileを参照してください。Red Hat Satellite のインスタンスがデフォルト名を使用していない場合は、katello-configure.confを確認します。このファイルには、katello-configureコマンドに指定するすべてのオプションが保存されているので、ここでdb_nameを検索します。# grep db_name /etc/katello/katello-configure.confpg_dumpコマンドを実行してオンラインでデータベースのバックアップを作成します。PostgreSQL や Red Hat Satellite を停止する必要はないため、このプロセスによりログインしているユーザーをブロックすることはありません。ただし、データベースのサイズによってはこのプロセスが完了するまでに数分の時間がかかる場合があります。# runuser - postgres -c "pg_dump -Fc foremanschema > /backup/foreman.dump" # runuser - postgres -c "pg_dump -Fc candlepin > /backup/candlepin.dump"注記
PostgreSQL のバックアップについてさらに詳しくはpg_dumpの man ページを参照するか、または http://www.postgresql.org/docs/8.4/static/backup.html をご覧ください。MongoDB データベースのバックアップデータベースを実行中に、オンラインツールを使って pulp データベース (MongoDB) をバックアップします。バックアップディレクトリーで次のコマンドを実行します。
# mongodump --host localhost --out $BDIR/mongo_dumpこのツールにより、JSON ファイルを含む/backup/mongo_dump/pulp_databaseディレクトリーが作成されます。注記
さらに詳しくは、mongodumpの man ページを参照するか、または http://www.mongodb.org/display/DOCS/Backups をご覧ください。 - バックアップのプロセスを確認します。このプロセスにより、次のようなアーカイブファイルとディレクトリーが作成されます。
# ls $BDIR candlepin.dump config_files.tar.gz elastic_data.tar.gz katello.dump mongo_dump/ pulp_data.tarデータベースに対してオプションのオフラインによるバックアップを行った場合は、次のファイルも表示されます。mongo_data.tar.gz pgsql_data.tar.gzRed Hat Satellite がバックアップされます。Red Hat Satellite がオンラインになるはずです。