2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

ひとり OpenAMAdvent Calendar 2016

Day 17

OpenAMの設定データをバックアップして、リストアする

Posted at

今日やること

今日はOpenAMのバックアップとリストアについてです。
先日は監査ログという、少し運用に近い範囲のお話を取り上げましたので、もう少し続けてみたいと思います。

OpenAMのデータストア

OpenAMの設定データの格納先はLDAP(あと、ファイルも少々)となっています。ゆえに、本気でOpenAMを冗長構成でセットアップする際には、このLDAPを冗長化したり、分散させたりします。

こんな具合に...

001.jpg

しかし、このAdvent Calendarで使用しているOpenAMは、OpenAMに内蔵されているLDAPをしようしています。

こんな構成です。

002.jpg

よって、本日取り扱うお話としては、このOpenAMに内蔵されているLDAPに対してのオペレーションとなります。

余談ですが、LDAPに設定データを保持するって、今時珍しいですね。きっとSun時代の遺産によるところがあるのでしょうが、何かLDAPであることで嬉しいことってのがあるのでしょうか?どうしてもユーザー情報を格納するデータベースというイメージがあるもので...

バックアップする

では、まずバックアップを取得してみましょう。OpenAMの設定ファイル等が格納されているディレクトリ(本記事では/home/openam/openam/opends/bin/)以下にLDAPを操作するクライアントコマンドが配置されています。このなかのexport-ldifコマンドを使用します。

/home/openam/openam/opends/bin/export-ldif \
    --port 4444 \
    --hostname iam.example.com \
    --bindDN "cn=Directory Manager" \
    --bindPassword password \
    --backendID userRoot \
    --includeBranch dc=openam,dc=forgerock,dc=org \
    --excludeBranch ou=tokens,dc=openam,dc=forgerock,dc=org \
    --ldifFile /tmp/backup-`date -u +%F-%m-%s`.ldif \
    --start 0 \
    --trustAll

コマンド実行後、下記のファイルができあがります。

ll /tmp/*.ldif 
-rw------- 1 openam openam 2131287 Dec 17 00:43 /tmp/backup-2016-12-16-12-1481903027.ldif

お気づきかもしれませんが、このコマンドはOpenAMを停止することなく、実行することができます。

リストアする

リストアは同ディレクトリ以下にldapmodifyが配置されているので、それを使用します。ただし、変更内容ごとにChangeTypeをつけないと、正常にロードされません。

基本的な使い方としては前回バックアップ取得時との差分を検出し、差分のみを適用(もちろんChangeTypeもつける)した状態のLDIFを作成してからldapmodifyするみたいです。んー、めんどうですねー。

もろともバックアップ・リストア

もし、停止が許容されるのであれば、ディレクトリもろともバックアップをとっていいみたいです。

cd /home/openam/
zip \
    --recurse-paths /tmp/backup-`date -u +i5%F-%m-%S`.zip \
    openam .openamcfg/ \
    --exclude openam/openam/debug/* openam/openam/log/* \
              openam/openam/stats* openam/opends/logs/* \
              openam/opends/locks/*

リストアするときは、再度同じディレクトリに配置するだけですね~。

まとめ

忘年会ばっかで書く時間がとれなくなってきたぞ~(´ρ`)

まとめは

  • OpenAMはLDAPに設定情報を保持している
  • LDIF形式で設定情報を保持できるけど、リストアがめんどくさい
  • もろともバックアップはシステムの停止が必要だけど、簡単である。

休日に書き溜めせねば...

ばい!

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?