Menu Close

Red Hat Training

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

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

Red Hat Enterprise Linuxnbsp;Hat Enterprise Linuxnbsp;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 データおよび変更ログのバックアップコピーのみを作成します。このプロセスは IPA-REALM インスタンスをバックアップし、複数のバックエンドのバックアップを作成することも、単一のバックエンドのみをバックアップします。バックエンドには IPA バックエンドと CA Dogtag バックエンドが含まれます。このタイプのバックアップは、LDIF(LDAP データ交換形式)に保存されている 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. バックアップの作成

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

9.1.1.1. バックアップ中ボリューム上に十分な領域がない場合の回避策

本セクションでは、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を参照してください。

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

GPG(GNU Privacy Guard)暗号化を使用して IdM バックアップを暗号化できます。
GPG キーを作成するには、以下を実行します。
  1. 鍵の詳細を含む keygen ファイルを作成します。たとえばcat >keygen <<EOFを実行して、コマンドラインからファイルに必要な暗号化の詳細を指定します。
    [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
ファイル:
/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