HadoopWithSecurityセットアップ >

目次

概要

  1. 冗長化されたKerberosクラスタは、一つのAdminサービスおよびマスタKDCと、複数のスレイブKDC群によって構成されます。
  2. データベース伝播機構は、送信側(kprop)と受信側(kpropd)を兼ねることができますので、多段構成を取ることにより全体的にスケールアウトすることが可能です。Ver. 1.7より増分伝播機能(incremental propagation)もサポートされていますので、それを用いることにより効率的なデータベース複製を行うことができます。Hadoop環境では、ノード数に比例して必要なプリンシパルが増加しますので、Kerberosのスケールアウトは重要です。

モデル環境

主に、debian.pngDebian 6.0(squeeze)とcentos.pngCentOS 6.2で検証しています。

サーバ構成

ドメインgrid.example.com
No.ホスト(基本的にAレコード)役割備考
1ns00Admin、マスタKDCName Service
2ns{01..nn}スレイブKDC群クラスタのサイズにあわせて増設

VIP

ドメインgrid.example.com
No.VIPのDNS(AまたはCNAME)説明備考
krb-adminAdminのVIP初期構築時にはns00に設定

セットアップのはじめに

  1. Kerberos認証には正確な時刻合わせが要求されます。NTPデーモンなどを起動させ、システムの時刻を正確に保ってください。
  2. また、Kerberos認証ではサービスを提供するホストのDNS名を正しく逆引できる必要があります。もちろんローカルのhostsファイルで代用することも可能ですが、そのような場合には完全修飾名(FQDN)を返すように注意します(IPアドレスのすぐ後にそのホストの完全修飾名を記述し、その後に短縮名などのエイリアスをリストします)。

マスタサーバ(Admin、KDC)

  • 大規模な環境では、Admin+マスタKDCとその他のスレイブKDC群で構成し、AdminサービスはVIPで提供するとよいでしょう。
  1. 必要に応じて、AdminサーバとKDCをインストールします。
    1. debian.pngDebian
      $ sudo aptitude -R install krb5-admin-server krb5-kdc
    2. centos.pngCentOS
      $ sudo yum install krb5-server
  2. 設定ファイルを編集します。暗号タイプを強度の高い、比較的ポピュラーなものに限定します。note.pngただし、HadoopでどうしてもKSSL(Kerberized SSL)を利用しなければならない場合(Ver. 1.0以前)には、JDK6のバグにより弱い強度の暗号タイプ(des-cbc-crc、des-cbc-md5)をサポートしなければいけません。当然ながら推奨されませんので、できれば代替としてSPNEGO/Kerberosが導入されたバージョンのHadoop(Ver. 1.1.0、2.0.2以降)の利用をご検討ください。
    1. debian.pngcentos.png/etc/krb5.conf: CentOSではインストール時の設定ウィザードがありませんので、あらかじめ手動で適切にレルムやサーバ等を設定しておきます。
      1. [libdefaults]
      2.  default_realm = GRID.EXAMPLE.COM
      3. ...
      4. default_tgs_enctypes = aes256-cts-hmac-sha1-96 aes128-cts-hmac-sha1-96 arcfour-hmac-md5
      5. default_tkt_enctypes = aes256-cts-hmac-sha1-96 aes128-cts-hmac-sha1-96 arcfour-hmac-md5
      6. permitted_enctypes = aes256-cts-hmac-sha1-96 aes128-cts-hmac-sha1-96 arcfour-hmac-md5
      7. # NOT RECOMMENDED:
      8. # for KSSL (Kerberized SSL) on JDK 6 (http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6946669)
      9. #allow_weak_crypto = true
      10. #default_tgs_enctypes = aes256-cts-hmac-sha1-96 aes128-cts-hmac-sha1-96 arcfour-hmac-md5 des-cbc-crc des-cbc-md5
      11. #default_tkt_enctypes = aes256-cts-hmac-sha1-96 aes128-cts-hmac-sha1-96 arcfour-hmac-md5 des-cbc-crc des-cbc-md5
      12. #permitted_enctypes = aes256-cts-hmac-sha1-96 aes128-cts-hmac-sha1-96 arcfour-hmac-md5 des-cbc-crc des-cbc-md5
      13.  
      14. [realms]
      15.     GRID.EXAMPLE.COM = {
      16.         #kdc = ns00.grid.example.com
      17.         kdc = ns01.grid.example.com
      18.         kdc = ns02.grid.example.com
      19.         kdc = ns03.grid.example.com
      20.         admin_server = krb-admin.grid.example.com
      21.     }
    2. debian.png/etc/krb5kdc/kdc.confcentos.png/var/kerberos/krb5kdc/kdc.conf
      1. [realms]
      2.     GRID.EXAMPLE.COM = {
      3.         database_name = /var/lib/krb5kdc/principal
      4.         admin_keytab = FILE:/etc/krb5kdc/kadm5.keytab
      5.         acl_file = /etc/krb5kdc/kadm5.acl
      6.         key_stash_file = /etc/krb5kdc/stash
      7.         kdc_ports = 750,88
      8.         max_life = 10h 0m 0s
      9.         max_renewable_life = 7d 0h 0m 0s
      10.         #master_key_type = des3-hmac-sha1
      11.         master_key_type = aes256-cts
      12.         #supported_enctypes = aes256-cts:normal arcfour-hmac:normal des3-hmac-sha1:normal des-cbc-crc:normal des:normal des:v4 des:norealm des:onlyrealm des:afs3
      13.         supported_enctypes = aes256-cts:normal aes128-cts:normal arcfour-hmac:normal
      14.         # NOT RECOMMENDED:
      15.         # for KSSL (Kerberized SSL) on JDK 6 (http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6946669)
      16.         #supported_enctypes = aes256-cts:normal aes128-cts:normal arcfour-hmac:normal des-cbc-crc:normal des-cbc-md5:normal
      17.         default_principal_flags = +preauth
      18.     }
  3. レルムを初期化します。
    1. debian.pngDebian
      $ sudo krb5_newrealm
      This script should be run on the master KDC/admin server to initialize
      a Kerberos realm.  It will ask you to type in a master key password.
      This password will be used to generate a key that is stored in
      /etc/krb5kdc/stash.  You should try to remember this password, but it
      is much more important that it be a strong password than that it be
      remembered.  However, if you lose the password and /etc/krb5kdc/stash,
      you cannot decrypt your Kerberos database.
      Loading random data
      Initializing database '/var/lib/krb5kdc/principal' for realm 'GRID.EXAMPLE.COM',
      master key name 'K/M@GRID.EXAMPLE.COM'
      You will be prompted for the database Master Password.
      It is important that you NOT FORGET this password.
      Enter KDC database master key:
      Re-enter KDC database master key to verify:
      
      
      Now that your realm is set up you may wish to create an administrative
      principal using the addprinc subcommand of the kadmin.local program.
      Then, this principal can be added to /etc/krb5kdc/kadm5.acl so that
      you can use the kadmin program on other computers.  Kerberos admin
      principals usually belong to a single user and end in /admin.  For
      example, if jruser is a Kerberos administrator, then in addition to
      the normal jruser principal, a jruser/admin principal should be
      created.
      
      Don't forget to set up DNS information so your clients can find your
      KDC and admin servers.  Doing so is documented in the administration
      guide.
    2. centos.pngCentOS
      $ sudo kdb5_util create -s
  4. 各デーモンを起動します。
    1. debian.pngDebian
      $ sudo /etc/init.d/krb5-admin-server start
      $ sudo /etc/init.d/krb5-kdc start
    2. centos.pngCentOS: デフォルトでは自動起動設定されませんので、chkconfigで有効にします。
      $ sudo service kadmin start
      $ sudo service krb5kdc start
      $ sudo chkconfig kadmin on
      $ sudo chkconfig krb5kdc on
  5. kadmin.local コマンドで軽く動作確認します。
    $ sudo kadmin.local
    Authenticating as principal root/admin@GRID.EXAMPLE.COM with password.
    kadmin.local:  listprincs
    K/M@GRID.EXAMPLE.COM
    kadmin/admin@GRID.EXAMPLE.COM
    kadmin/changepw@GRID.EXAMPLE.COM
    kadmin/history@GRID.EXAMPLE.COM
    kadmin/ns00.grid.example.com@GRID.EXAMPLE.COM
    krbtgt/GRID.EXAMPLE.COM@GRID.EXAMPLE.COM
    kadmin.local:  quit
  6. 管理者のユーザプリンシパル(admin)を追加し、全権限を許可します。
    kadmin.local:  add_principal admin
    WARNING: no policy specified for admin@GRID.EXAMPLE.COM; defaulting to no policy
    Enter password for principal "admin@GRID.EXAMPLE.COM":
    Re-enter password for principal "admin@GRID.EXAMPLE.COM":
    Principal "admin@GRID.EXAMPLE.COM" created.
    debian.png/etc/krb5kdc/kadm5.aclcentos.png/var/kerberos/krb5kdc/kadm5.acl) を以下のように編集し、反映のためAdminサーバを再起動してからアクセスを確認します。
    1. # This file Is the access control list for krb5 administration.
    2. # When this file is edited run /etc/init.d/krb5-admin-server restart to activate
    3. # One common way to set up Kerberos administration is to allow any principal
    4. # ending in /admin  is given full administrative rights.
    5. # To enable this, uncomment the following line:
    6. # */admin *
    7.  
    8. admin *
    $ sudo /etc/init.d/krb5-admin-server restart
    ...
    $ sudo kadmin -p admin
    Authenticating as principal admin with password.
    Password for admin@GRID.EXAMPLE.COM:
    kadmin:  listprincs
    K/M@GRID.EXAMPLE.COM
    admin@GRID.EXAMPLE.COM
    alice@GRID.EXAMPLE.COM
    ...

弱強度暗号タイプの追加サポート(非推奨

note.pngJDK 6においては、高強度暗号タイプを用いたKSSLが正常に動作しないため、弱強度暗号タイプのサポートを追加することを余儀なくされるかもしれません。追加の手順は以下の通りですが、通常は非推奨の運用です。

  1. debian.pngcentos.png/etc/krb5.conf: 暗号タイプのサポートはこの設定ファイルの内容によりますので、必要な弱強度暗号タイプ(以下の例では、des-cbc-crc:normal および des-cbc-md5:normal)を追加します。
    1. [libdefaults]
    2.  default_realm = GRID.EXAMPLE.COM
    3. ...
    4. # NOT RECOMMENDED:
    5. # for KSSL (Kerberized SSL) on JDK 6 (http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6946669)
    6. allow_weak_crypto = true
    7. default_tgs_enctypes = aes256-cts-hmac-sha1-96 aes128-cts-hmac-sha1-96 arcfour-hmac-md5 des-cbc-crc des-cbc-md5
    8. default_tkt_enctypes = aes256-cts-hmac-sha1-96 aes128-cts-hmac-sha1-96 arcfour-hmac-md5 des-cbc-crc des-cbc-md5
    9. permitted_enctypes = aes256-cts-hmac-sha1-96 aes128-cts-hmac-sha1-96 arcfour-hmac-md5 des-cbc-crc des-cbc-md5
    10. ...
  2. (オプション)debian.png/etc/krb5kdc/kdc.confcentos.png/var/kerberos/krb5kdc/kdc.conf: kdc.conf の supported_enctypes の設定は、各コマンドで特に暗号タイプを明示指定しなかった場合にデフォルトで生成されるキーの暗号タイプをリストするものですので、必ずしも必要な弱強度暗号タイプを追加する必要はありません。むしろここでは追加せずに、各コマンドの -e オプションで都度意識的に追加した方がよいでしょう。
    1. [realms]
    2.     GRID.EXAMPLE.COM = {
    3.         database_name = /var/lib/krb5kdc/principal
    4.         admin_keytab = FILE:/etc/krb5kdc/kadm5.keytab
    5.         acl_file = /etc/krb5kdc/kadm5.acl
    6.         key_stash_file = /etc/krb5kdc/stash
    7.         kdc_ports = 750,88
    8.         max_life = 10h 0m 0s
    9.         max_renewable_life = 7d 0h 0m 0s
    10.         #master_key_type = des3-hmac-sha1
    11.         master_key_type = aes256-cts
    12.         supported_enctypes = aes256-cts:normal aes128-cts:normal arcfour-hmac:normal
    13.         # NOT RECOMMENDED:
    14.         # for KSSL (Kerberized SSL) on JDK 6 (http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6946669)
    15.         #supported_enctypes = aes256-cts:normal aes128-cts:normal arcfour-hmac:normal des-cbc-crc:normal des-cbc-md5:normal
    16.         default_principal_flags = +preauth
    17.     }
  3. Adminサーバと各KDCを再起動し反映させます。
  4. krbtgt/${REALM}@${REALM} プリンシパルの鍵を弱強度暗号タイプをサポートするように更新します。
    kadmin.local:  get_principal krbtgt/GRID.EXAMPLE.COM
    Principal: krbtgt/GRID.EXAMPLE.COM@GRID.EXAMPLE.COM
    Expiration date: [never]
    Last password change: [never]
    Password expiration date: [none]
    Maximum ticket life: 0 days 10:00:00
    Maximum renewable life: 7 days 00:00:00
    Last modified: Sat Jun 16 11:13:20 JST 2012 (db_creation@GRID.EXAMPLE.COM)
    Last successful authentication: [never]
    Last failed authentication: [never]
    Failed password attempts: 0
    Number of keys: 3
    Key: vno 1, AES-256 CTS mode with 96-bit SHA-1 HMAC, no salt
    Key: vno 1, AES-128 CTS mode with 96-bit SHA-1 HMAC, no salt
    Key: vno 1, ArcFour with HMAC/md5, no salt
    MKey: vno 1
    Attributes: REQUIRES_PRE_AUTH
    Policy: [none]
    
    kadmin.local:  change_password -randkey -e "aes256-cts:normal aes128-cts:normal arcfour-hmac:normal des-cbc-crc:normal" krbtgt/GRID.EXAMPLE.COM
    Key for "krbtgt/GRID.EXAMPLE.COM@GRID.EXAMPLE.COM" randomized.
    
    kadmin.local:  get_principal krbtgt/GRID.EXAMPLE.COM
    Principal: krbtgt/GRID.EXAMPLE.COM@GRID.EXAMPLE.COM
    Expiration date: [never]
    Last password change: Mon Apr 29 16:42:57 JST 2013
    Password expiration date: [none]
    Maximum ticket life: 0 days 10:00:00
    Maximum renewable life: 7 days 00:00:00
    Last modified: Mon Apr 29 16:42:57 JST 2013 (root/admin@GRID.EXAMPLE.COM)
    Last successful authentication: [never]
    Last failed authentication: [never]
    Failed password attempts: 0
    Number of keys: 4
    Key: vno 2, AES-256 CTS mode with 96-bit SHA-1 HMAC, no salt
    Key: vno 2, AES-128 CTS mode with 96-bit SHA-1 HMAC, no salt
    Key: vno 2, ArcFour with HMAC/md5, no salt
    Key: vno 2, DES cbc mode with CRC-32, no salt
    MKey: vno 1
    Attributes: REQUIRES_PRE_AUTH
    Policy: [none]
  5. 必要に応じて、各プリンシパルのキーを更新します。
    kadmin.local:  ktadd -e "aes256-cts:normal aes128-cts:normal arcfour-hmac:normal des-cbc-crc:normal" -k /grid/etc/keytabs/pleiades/nn.keytab host/pleiades-nn.grid.example.com
    Entry for principal host/pleiades-nn.grid.example.com with kvno 3, encryption type AES-256 CTS mode with 96-bit SHA-1 HMAC added to keytab WRFILE:/grid/etc/keytabs/pleiades/nn.keytab.
    Entry for principal host/pleiades-nn.grid.example.com with kvno 3, encryption type AES-128 CTS mode with 96-bit SHA-1 HMAC added to keytab WRFILE:/grid/etc/keytabs/pleiades/nn.keytab.
    Entry for principal host/pleiades-nn.grid.example.com with kvno 3, encryption type ArcFour with HMAC/md5 added to keytab WRFILE:/grid/etc/keytabs/pleiades/nn.keytab.
    Entry for principal host/pleiades-nn.grid.example.com with kvno 3, encryption type DES cbc mode with CRC-32 added to keytab WRFILE:/grid/etc/keytabs/pleiades/nn.keytab.
    kadmin.local:  ktadd -e "aes256-cts:normal aes128-cts:normal arcfour-hmac:normal des-cbc-crc:normal" -k /grid/etc/keytabs/pleiades/cn.keytab host/pleiades-cn.grid.example.com
    Entry for principal host/pleiades-cn.grid.example.com with kvno 3, encryption type AES-256 CTS mode with 96-bit SHA-1 HMAC added to keytab WRFILE:/grid/etc/keytabs/pleiades/cn.keytab.
    Entry for principal host/pleiades-cn.grid.example.com with kvno 3, encryption type AES-128 CTS mode with 96-bit SHA-1 HMAC added to keytab WRFILE:/grid/etc/keytabs/pleiades/cn.keytab.
    Entry for principal host/pleiades-cn.grid.example.com with kvno 3, encryption type ArcFour with HMAC/md5 added to keytab WRFILE:/grid/etc/keytabs/pleiades/cn.keytab.
    Entry for principal host/pleiades-cn.grid.example.com with kvno 3, encryption type DES cbc mode with CRC-32 added to keytab WRFILE:/grid/etc/keytabs/pleiades/cn.keytab.

クライアント

  1. 各ノードにKerberosクライアントをセットアップします。
    1. debian.pngDebian
      $ sudo aptitude -R install krb5-user
      Default Kerberos version 5 realm: GRID.EXAMPLE.COM
      Kerberos servers for your realm: ns00.grid.example.com    # KDCが複数ある場合はリストします
      Administrative server for your Kerberos realm: krb-admin.grid.example.com
    2. centos.pngCentOS: ほぼデフォルトでインストールされていますが、krb5-workstationパッケージの導入を確認します。/etc/krb5.conf を適切に編集します。
      $ sudo yum install krb5-workstation

Chefレシピ

参考までに、これらはここで説明している環境を構築するChefレシピ(ロール)になります。

HadoopクラスタのためのスレイブKDC群

  • Hadoop各ノードからのリクエストに応えるために、クラスタサイズに応じた複数のスレイブKDCを用意する必要があるでしょう。以下では、スレイブKDCの構築とKerberosデータベース伝播(kprop, Kerberos 5 Database Propagation)のセットアップについて説明します。
  • データベース伝播機構では、スレイブKDCのホストがスーパーサーバ(xinetd)経由で待ち受け(kpropd)し、マスタKDCのホストがその宛先ホストを明示してデータベースダンプファイルを転送(kprop)します。マスタKDCの障害時にはスレイブKDCのいずれかがマスタに昇格するため、マスタとスレイブとでサーバ設定に差異があるわけではありません。異なるのは、kpropコマンドでデータベースを転送するか、伝播サービス(kpropd)でそのデータベースを受け取るかのみです。

スレイブKDCの基本構築

  1. KDCサーバをインストールします。debian.png設定ファイルは後ほどコピーしますので、ウィザードでの設定はあまり重要ではありません。centos.pngCentOSの場合には、パッケージが一つですのでAdminサーバ(kadmin)もインストールされますが、最終的にはKDC(krb5kdc)のみ起動させます。
    [Debian]$ sudo apt-get install krb5-kdc
    Default Kerberos version 5 realm: GRID.EXAMPLE.COM
    Kerberos servers for your realm: ns00.grid.example.com ns01.grid.example.com
    Administrative server for your Kerberos realm: krb-admin.grid.example.com
    ...
    [CentOS]$ sudo yum install krb5-server krb5-workstation
  2. マスタKDCの設定ファイル(/etc/krb5.conf、/etc/krb5kdc/kdc.conf)をコピーします。KDCの運用ポリシーを統一する上で重要です。
  3. データベース伝播(kprop)認証用のhostプリンシパルを追加し、デフォルトのkeytabファイル(debian.pngcentos.png/etc/krb5.keytab)に追加します。
    $ sudo kadmin -p admin
    ...
    kadmin:  add_principal -randkey host/ns01.grid.example.com
    ...
    kadmin:  ktadd host/ns01.grid.example.com
    ...
  4. debian.png/etc/krb5kdc/kpropd.aclcentos.png/var/kerberos/krb5kdc/kpropd.acl)にマスタKDCとなり得るすべてのサーバのhostプリンシパルをリストし、それらからのアクセスを許可します。
    1. host/ns00.grid.example.com@GRID.EXAMPLE.COM
    2. host/ns01.grid.example.com@GRID.EXAMPLE.COM
  5. データベース伝播(kporp)サービス(受信側)の有効化
    1. debian.pngDebianの場合: スーパーサーバ(xinetd)でサービスします。CentOS 5でもこの方法を利用することができますが、次節で説明するスタンドアロンサービスとして起動させることをおすすめします。
      1. xinetdをインストールします。
        [Debian]$ sudo apt-get install xinetd
        [CentOS]$ sudo yum install xinetd
      2. /etc/xinetd.d/krb_prop でデータベース伝播サービス(kporpd)を追加します。
        1. # Debian
        2. service krb_prop
        3. # CentOS 5
        4. #service krb5_prop
        5. {
        6.     disable     = no
        7.     socket_type = stream
        8.     protocol    = tcp
        9.     user        = root
        10.     wait        = no
        11.     # Debian
        12.     server      = /usr/sbin/kpropd
        13.     # CentOS 5
        14.     #server      = /usr/kerberos/sbin/kpropd
        15. }
      3. スーパーサーバを再起動し反映させます。
        $ sudo /etc/init.d/xinetd restart
    2. centos.pngCentOSの場合: 起動スクリプトが用意されていますので、通常のスタンドアロンサービスとして起動させます。なお、CentOS 6ではkpropdサービス提供にあたってportreserveを利用していますので、スーパーサーバ経由では次回のOS再起動以降正しくサービス起動しませんのでご注意ください。
      $ sudo service kprop start
      $ sudo chkconfig kprop on

マスタKDCの基本構築

  1. KDCはすでにインストール済ですので、kprop認証用のhostプリンシパルを追加し、デフォルトのkeytabファイル(debian.pngcentos.png/etc/krb5.keytab)に追加します。
    $ sudo kadmin.local
    ...
    kadmin:  add_principal -randkey host/ns00.grid.example.com
    ...
    kadmin:  ktadd host/ns00.grid.example.com
    ...
  2. /etc/krb5kdc/kpropd.aclcentos.png/var/kerberos/krb5kdc/kpropd.acl)にマスタKDCとなり得るすべてのサーバのhostプリンシパルをリストし、アクセスを許可します。
    1. host/ns00.grid.example.com@GRID.EXAMPLE.COM
    2. host/ns01.grid.example.com@GRID.EXAMPLE.COM
  3. フェイルオーバーした場合、現マスタKDCがスレイブKDCに転用される可能性もありますので、データベース伝播サービス(kporpd)の設定を行なっておいても構いません。ただし、kpropd.acl 設定ファイルなどが存在するとそのままではAdminデーモンが起動できませんので、そのような場合にはリネームしておきます。

データベース伝播

  1. 手動による最初のデータベース転送
    1. スレイブKDCにはデータベースが存在しませんので、マスタKDCでデータベースをダンプし、それをスレーブKDCに転送します。
      [Debian]$ sudo kdb5_util dump /var/lib/krb5kdc/slave_datatrans
      [CentOS]$ sudo kdb5_util dump /var/kerberos/krb5kdc/slave_datatrans
      $ sudo kprop ns01.grid.example.com
      Database propagation to ns01.grid.example.com: SUCCEEDED
    2. スレイブKDCでマスタKDCと同じデータベースマスタキーを設定し(stashファイルに保存し)、はじめてKDCサーバを起動させることができます。マスタキーを用意する他の方法としては、マスタのstashファイル(debian.png/etc/krb5kdc/stashcentos.png/var/kerberos/krb5kdc/.k5.${REALM})をセキュアな経路でコピーしても構いません。
      $ sudo kdb5_util stash
      kdb5_util: Can not fetch master key (error: No such file or directory). while reading master key
      kdb5_util: Warning: proceeding without master key
      Enter KDC database master key:
      $ sudo /etc/init.d/krb5-kdc start
  2. 最初の伝播動作が確認できましたら、cronなどで定期実行するようにします(例: krb5-kprop)。
  3. 十分な数のスレーブKDCが用意できましたら、マスタKDCは参照先から削除する(/etc/krb5.conf)とよいでしょう。
    1. [realms]
    2.     GRID.EXAMPLE.COM = {
    3.         #kdc = ns00.grid.example.com
    4.         kdc = ns01.grid.example.com
    5.         kdc = ns02.grid.example.com
    6.         kdc = ns03.grid.example.com
    7.         admin_server = krb-admin.grid.example.com    # VIP on the Master (ns00)
    8.     }

メンテナンスまたはフェイルオーバー

  1. メンテナンスまたは障害のマスタサーバ
    1. 各サービス(Admin、KDC、kprop定期実行cron)が停止していることを確認します。
    2. 可能であれば、最新のデータベースをダンプしてサルベージします。
    3. スレイブKDCとして復帰させる場合には、kprop定期実行cronを無効化し、データベース伝播サービス(kpropd)を起動させます。
  2. マスタに昇格させるサーバ
    1. データベース伝播サービス(kpropd)を停止し、一度KDCも停止させます。
    2. できる限り最新のデータベースをロードします。マスタサーバからサルベージしたものが、または別途高頻度でダンプしているものが、またはkpropdで受信したものが最新かもしれません。
    3. KDCを起動させます。
    4. 必要ならばVIPを設定し、(必要に応じてインストールし)Adminサーバを起動させます。
    5. kprop定期実行のcronを有効にします。※kpropdの自動起動が有効であれば無効にします。

リソース


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2013-06-29 (土) 12:11:43 (3079d)