Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

第9章 Identity Management のバックアップおよび復元

Red Hat Enterprise Linux Identity Management は、IdM システムを手動でバックアップして復元するソリューションを提供します。たとえば、サーバーが正常に起動またはデータ損失が発生する場合などです。バックアップ時に、システムは IdM 設定に関する情報を含むディレクトリーを作成し、保存します。復元時に、このバックアップディレクトリーを使用して、元の IdM セットアップを戻すことができます。
重要
本章で説明するバックアップおよび復元手順は、デプロイメントの残りのサーバーから失われた IdM サーバーグループの一部を再構築できない場合に限り、失われたレプリカを残りのレプリカとして再インストールしてください。
ナレッジベースのソリューション「Backup and Restore in IdM/IPA」では、複数のサーバーレプリカを維持して損失を回避する方法を説明します。バックアップバージョンには通常古いバージョンが含まれているため、同じデータを持つ既存レプリカからの再構築が推奨されます。そのため、古い情報が含まれている可能性があるためです。
バックアップおよび復元が防止する脅威のシナリオを以下に示します。
  • マシンで致命的なハードウェア障害が発生し、マシンはさらに機能しなくなりました。この場合は、以下のようになります。
    1. オペレーティングシステムをゼロから再インストールします。
    2. 同じホスト名、完全修飾ドメイン名 (FQDN)、IP アドレスでマシンを設定します。
    3. 元のシステム上に存在していた IdM に関連した IdM パッケージと同様、その他のオプションのパッケージをインストールします。
    4. IdM サーバーの完全なバックアップを復元します。
  • 分離されたマシンでのアップグレードに失敗します。オペレーティングシステムは機能し続けますが、IdM データが破損しているので、IdM システムを既知の正常な状態に復元したい理由になります。
    重要
    上記の 2 つなどのハードウェアまたはアップグレードが失敗した場合は、特別なロールを持つすべてのレプリカまたはレプリカのみ(CA)が失われた場合のみ、バックアップから復元します。同じデータがあるレプリカが存在する場合は、失われたレプリカを削除し、残りのレプリカからこれを再ビルドすることが推奨されます。
  • LDAP コンテンツに望ましくない変更が加えられました。たとえば、エントリーが削除され、元に戻します。バックアップを作成済みの LDAP データを復元すると、IdM システム自体に影響を与えずに LDAP エントリーが以前の状態に戻ります。
復元されたサーバーは、IdM の唯一の情報ソースになります。その他のマスターサーバーは復元されたサーバーから再度初期化されます。最後のバックアップ後に作成されたデータはすべて失われます。したがって、通常のシステムメンテナンスには、バックアップと復元のソリューションを使用しないでください。可能な場合は、レプリカとして再インストールして、失われたサーバーを常に再ビルドします。
バックアップ機能および復元機能はコマンドラインからのみ管理でき、IdM Web UI では使用できません。

9.1. 完全なサーバーバックアップおよびデータのみのバックアップ

IdM は以下の 2 つのバックアップオプションを提供しています。
完全な IdM サーバーバックアップ
サーバーのフルバックアップは、すべての IdM サーバーファイルと LDAP データのバックアップコピーを作成し、スタンドアロンバックアップを作成します。IdM は数百のファイルに影響します。バックアッププロセスのコピーが、設定ファイルやログファイルなど、ディレクトリー全体と特定のファイルの組み合わせで、IdM または IdM が依存する各種サービスに直接関連しているファイルのことです。サーバーのフルバックアップは raw ファイルバックアップであるため、オフラインで実行されます。サーバーのフルバックアップを実行するスクリプトは、すべての IdM サービスを停止し、バックアッププロセスの安全な部分を確保します。
データのみのバックアップ
データのみのバックアップは、LDAP データと changelog のバックアップコピーのみを作成します。プロセスが IPA-REALM インスタンスをバックアップし、複数のバックエンドをバックアップすることもできます。バックエンドには、IPA バックエンドと CA Dogtag バックエンドが含まれます。このタイプのバックアップは、LDIF(LDAP Data Interchange Format)に保存されている LDAP コンテンツのレコードもバックアップします。データのみのバックアップは、オンラインとオフラインの両方で実行できます。
デフォルトでは、IdM は、作成したバックアップを /var/lib/ipa/backup/ ディレクトリーに保存します。バックアップを含むサブディレクトリーの命名規則は次のとおりです。
  • 完全なサーバーバックアップの GMT タイムゾーンの ipa-full-YEAR-MM-DD-HH-MM-SS
  • データのみのバックアップの GMT タイムゾーンの ipa-data-YEAR-MM-DD-HH-MM-SS

9.1.1. バックアップの作成

完全なサーバーおよびデータのみのバックアップは、常に root で実行する必要がある ipa-backup ユーティリティーを使用して作成されます。
サーバーのフルバックアップを作成するには、ipa-backup を実行します。
重要
プロセスをオフラインで実行する必要があるため、サーバーのフルバックアップを実行すると、すべての IdM サービスが停止します。バックアップが完了すると、IdM サービスが再度起動します。
データのみのバックアップを作成するには、ipa-backup --data コマンドを実行します。
ipa-backup には、いくつかのオプションを追加できます。
  • --Online はオンラインバックアップを実行します。このオプションはデータのみのバックアップでのみ利用可能です。
  • --logs には、バックアップに IdM サービスのログファイルが含まれます。
ipa-backup の使用に関する詳細は、ipa-backup(1) の man ページを参照してください。

9.1.1.1. 機能停止中のボリュームに対する Insufficient Insufficient Space on volumes Involved During Backup

本セクションでは、IdM バックアッププロセスに関連するディレクトリーが、空き領域が不十分なボリュームに保存されている場合に、問題に対処する方法を説明します。

/var/lib/ipa/backup/ が含まれるボリュームには十分な領域が不足しています。

/var/lib/ipa/backup/ ディレクトリーが空き領域が不十分なボリュームに保存されている場合、バックアップを作成することができません。この問題に対処するには、以下の回避策のいずれかを使用します。
  • 別のボリュームにディレクトリーを作成し、/var/lib/ipa/backup/ にリンクします。たとえば、/home が十分な空き領域がある別のボリュームに保存されている場合は、以下を実行します。
    1. /home/idm/backup/ などのディレクトリーを作成します。
      # mkdir -p /home/idm/backup/
    2. 以下のパーミッションをディレクトリーに設定します。
      # chown root:root /home/idm/backup/
      # chmod 700 /home/idm/backup/
    3. /var/lib/ipa/backup/ に既存のバックアップが含まれている場合は、新しいディレクトリーに移動します。
      # mv /var/lib/ipa/backup/* /home/idm/backup/
    4. /var/lib/ipa/backup/ ディレクトリーを削除します。
      # rm -rf /var/lib/ipa/backup/
    5. /var/lib/ipa/backup/ のリンクを /home/idm/backup/ ディレクトリーに移動します。
      # ln -s /home/idm/backup/ /var/lib/ipa/backup/
  • 別のボリュームに保存されているディレクトリーを /var/lib/ipa/backup/ にマウントしますたとえば、/home が十分な空き領域がある別のボリュームに保存されている場合は、/home/idm/backup/ を作成し、/ var/lib/ipa/backup/ にマウントします。
    1. /home/idm/backup/ ディレクトリーを作成します。
      # mkdir -p /home/idm/backup/
    2. 以下のパーミッションをディレクトリーに設定します。
      # chown root:root /home/idm/backup/
      # chmod 700 /home/idm/backup/
    3. /var/lib/ipa/backup/ に既存のバックアップが含まれている場合は、新しいディレクトリーに移動します。
      # mv /var/lib/ipa/backup/* /home/idm/backup/
    4. /home/idm/backup//var/lib/ipa/backup/ にマウントします
      # mount -o bind /home/idm/backup/ /var/lib/ipa/backup/
    5. システムの起動時に /home/idm/backup//var/lib/ipa/backup/ に自動的にマウントするには、以下を /etc/fstab ファイルに追加します。
      /home/idm/backup/     /var/lib/ipa/backup/     none     bind     0 0

/tmp が含まれるボリューム上に十分な領域が不足しています。

/tmp ディレクトリーに十分な領域がないためにバックアップが失敗する場合は、TMPDIR 環境変数を使用して、バックアップ中に作成されるステージファイルの場所を変更します。
# TMPDIR=/path/to/backup ipa-backup
詳細は「ipa-backup command fails to finish Knowledgebase solution」を参照してください。

9.1.2. バックアップの暗号化

IdM バックアップは、GNU Privacy Guard (GPG) を使って暗号化することができます。
GPG キーを作成するには、以下を実行します。
  1. cat >keygen <<EOF を実行し、コマンドラインからファイルに必要な暗号化情報を指定して、キーの詳細を含むkeygen ファイルを作成します。
    [root@server ~]# cat >keygen <<EOF
    > %echo Generating a standard key
    > Key-Type: RSA
    > Key-Length:2048
    > Name-Real: IPA Backup
    > Name-Comment: IPA Backup
    > Name-Email: root@example.com
    > Expire-Date: 0
    > %pubring /root/backup.pub
    > %secring /root/backup.sec
    > %commit
    > %echo done
    > EOF
    [root@server ~]#
  2. backup と呼ばれる新しい鍵のペアを生成し、そのコマンドにkeygen の内容を追加します。以下の例では、パス名 /root/backup.sec および /root/backup.pub でキーペアを生成します。
    [root@server ~]# gpg --batch --gen-key keygen
    [root@server ~]# gpg --no-default-keyring --secret-keyring /root/backup.sec \
    		     --keyring /root/backup.pub --list-secret-keys
GPG で暗号化したバックアップを作成するには、以下のオプションを指定して、生成されたバックアップキーを ipa-backup に渡します。
  • --gpg: 暗号化されたバックアップを実行するように ipa-backup に指示します。
  • --gpg-keyring=GPG_KEYRING: ファイル拡張子なしで GPG キーリングへのフルパスを提供します。
以下に例を示します。
[root@server ~]# ipa-backup --gpg --gpg-keyring=/root/backup
注記
gpg2 が機能するには外部プログラムが必要になるため、システムが gpg2 ユーティリティーを使用して GPG キーを生成すると、問題が発生する可能性があります。この状況でコンソールから純粋にキーを生成するには、キーを生成する前に pinentry-program /usr/bin/pinentry-curses 行を.gnupg/gpg-agent.conf ファイルに追加します。

9.1.3. バックアップ中のディレクトリーおよびファイルの一覧

ディレクトリー:
/usr/share/ipa/html
/root/.pki
/etc/pki-ca
/etc/pki/pki-tomcat
/etc/sysconfig/pki
/etc/httpd/alias
/var/lib/pki
/var/lib/pki-ca
/var/lib/ipa/sysrestore
/var/lib/ipa-client/sysrestore
/var/lib/ipa/dnssec
/var/lib/sss/pubconf/krb5.include.d/
/var/lib/authconfig/last
/var/lib/certmonger
/var/lib/ipa
/var/run/dirsrv
/var/lock/dirsrv
files:
/etc/named.conf
/etc/named.keytab
/etc/resolv.conf
/etc/sysconfig/pki-ca
/etc/sysconfig/pki-tomcat
/etc/sysconfig/dirsrv
/etc/sysconfig/ntpd
/etc/sysconfig/krb5kdc
/etc/sysconfig/pki/ca/pki-ca
/etc/sysconfig/ipa-dnskeysyncd
/etc/sysconfig/ipa-ods-exporter
/etc/sysconfig/named
/etc/sysconfig/ods
/etc/sysconfig/authconfig
/etc/ipa/nssdb/pwdfile.txt
/etc/pki/ca-trust/source/ipa.p11-kit
/etc/pki/ca-trust/source/anchors/ipa-ca.crt
/etc/nsswitch.conf
/etc/krb5.keytab
/etc/sssd/sssd.conf
/etc/openldap/ldap.conf
/etc/security/limits.conf
/etc/httpd/conf/password.conf
/etc/httpd/conf/ipa.keytab
/etc/httpd/conf.d/ipa-pki-proxy.conf
/etc/httpd/conf.d/ipa-rewrite.conf
/etc/httpd/conf.d/nss.conf
/etc/httpd/conf.d/ipa.conf
/etc/ssh/sshd_config
/etc/ssh/ssh_config
/etc/krb5.conf
/etc/ipa/ca.crt
/etc/ipa/default.conf
/etc/dirsrv/ds.keytab
/etc/ntp.conf
/etc/samba/smb.conf
/etc/samba/samba.keytab
/root/ca-agent.p12
/root/cacert.p12
/var/kerberos/krb5kdc/kdc.conf
/etc/systemd/system/multi-user.target.wants/ipa.service
/etc/systemd/system/multi-user.target.wants/sssd.service
/etc/systemd/system/multi-user.target.wants/certmonger.service
/etc/systemd/system/pki-tomcatd.target.wants/pki-tomcatd@pki-tomcat.service
/var/run/ipa/services.list
/etc/opendnssec/conf.xml
/etc/opendnssec/kasp.xml
/etc/ipa/dnssec/softhsm2.conf
/etc/ipa/dnssec/softhsm_pin_so
/etc/ipa/dnssec/ipa-ods-exporter.keytab
/etc/ipa/dnssec/ipa-dnskeysyncd.keytab
/etc/idm/nssdb/cert8.db
/etc/idm/nssdb/key3.db
/etc/idm/nssdb/secmod.db
/etc/ipa/nssdb/cert8.db
/etc/ipa/nssdb/key3.db
/etc/ipa/nssdb/secmod.db
ログファイルとディレクトリー:
/var/log/pki-ca
/var/log/pki/
/var/log/dirsrv/slapd-PKI-IPA
/var/log/httpd
/var/log/ipaserver-install.log
/var/log/kadmind.log
/var/log/pki-ca-install.log
/var/log/messages
/var/log/ipaclient-install.log
/var/log/secure
/var/log/ipaserver-uninstall.log
/var/log/pki-ca-uninstall.log
/var/log/ipaclient-uninstall.log
/var/named/data/named.run

このページには機械翻訳が使用されている場合があります (詳細はこちら)。