子ページ
  • IdPClusteringTerracotta

比較バージョン

キー

  • この行は追加されました。
  • この行は削除されました。
  • 書式設定が変更されました。
コメント: Migrated to Confluence 5.3
警告

本ページの記述はIdPv2に対するものです。IdPv3ではTerracottaを用いた冗長化手順は提供されません。

Shibboleth-IdP冗長化環境構築手順書(Terracotta編)

2011年12月26日
金沢大学

- 目次 -
1. はじめに

...


1.1. 本章の目的

...


1.2. 前提条件

...


2. Terracottaの構築

...


2.1. ファイヤーウォールを解放する。

...


2.2. Terracotttaの設定ファイルの編集

...


2.3. Terracottaのインストール

...


2.4. Terracottaクライアントの設定

...


3. 起動・停止

...


3.1. Terrracottaサーバ、クライアントの起動順

...


3.2. Terracottaサーバの起動/停止

...


3.3. tomcat (Terracottaクライアント)の起動/停止

...

アンカー
_1._はじめに
_1._はじめに

アンカー
_Toc316474267
_Toc316474267
1. はじめに

アンカー
_Toc316474268
_Toc316474268
1.1. 本章の目的

本書は、JavaクラスタリングソフトウェアであるTerracottaを使用したShibboleth-IdPの冗長化環境の構築手順書です。
本書にて、TerracottaのインストールとShibboleth-IdPとの連携ができることを目的とします。

アンカー
_Toc316474269
_Toc316474269
1.2. 前提条件

Terracottaを使ったShibboleth-IdP冗長化環境を構築するにあたり、下記を前提条件とします。
前提条件

  • Shibboleth-IdPがインストールされ、認証ができる状態とします。
  • OSはCentOS(64bit)を前提とします。
  • Terracottaをインストールするサーバは2台とします。
  • 本書は下記のソフトウェアを使用して記述します。

 

ソフトウェア名

バージョン

インストール先

Terracotta

3.6.0 1

/opt/terracotta

Shibboleth-IdP

2.3.5 6

/opt/shibboleth-idp

Apache Tomcat

76.0.23 35

/usr/java/tomcat

アンカー
_Ref272941422
_Ref272941422

アンカー
_Toc316474270
_Toc316474270
2. Terracottaの構築

Terracottaを構築する全てのサーバで実施します。

アンカー
_Toc316474271
_Toc316474271
2.1. ファイヤーウォールを解放する。

Terracottaは3つのポートを使用します。
ClientからServerへのポート (デフォルトは 9510)
ServerからServerへのポート (デフォルトは 9530)
JMXを利用する場合のポート (デフォルトは 9520。本マニュアルでは利用しません。)

アンカー
_Toc316474272
_Toc316474272
2.2. Terracotttaの設定ファイルの編集

...

  • 
    # wget https://wiki.shibboleth.net/confluence/download/attachments/4358352/tc-config.xml
    
  • /opt/shibboleth-idp/conf/tc-config.xmlの設定
    赤の太字が追加、又は変更となる箇所となります。

    <?xml version="1.0" encoding="UTF-8"?>
    <tc:tc-config
        xsi:schemaLocation=http://www.terracotta.org/config http://www.terracotta.org/schema/terracotta-4.xsd
        xmlns:tc=http://www.terracotta.org/config
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

        <servers>
           <!-- START Terracotta server definitions -->
            <server name="idpNode1" host="XXX.XXX.XXX.XXX">
                <dso-port>9510</dso-port>
                <l2-group-port>9530</l2-group-port>
                <dso>
                    <persistence>
                        <mode>permanent-store</mode>
                    </persistence>
                </dso>
                <logs>/opt/shibboleth-idp/cluster/server/logs</logs>
                <data>/opt/shibboleth-idp/cluster/server/data</data>
                <statistics>/opt/shibboleth-idp/cluster/server/stats</statistics>
            </server>
            <server name="idpNode2" host="YYY.YYY.YYY.YYY">
                <dso-port>9510</dso-port>
                <l2-group-port>9530</l2-group-port>
                <dso>
                    <persistence>
                        <mode>permanent-store</mode>
                    </persistence>
                </dso>
               <logs>/opt/shibboleth-idp/cluster/server/logs</logs>
                <data>/opt/shibboleth-idp/cluster/server/data</data>
                <statistics>/opt/shibboleth-idp/cluster/server/stats</statistics>
            </server>
           <!-- END Terracotta server definitions -->
            <ha>
                <mode>networked-active-passive</mode>
                <networked-active-passive>
                    <election-time>5</election-time>
                </networked-active-passive>
            </ha>
        </servers>

        <system>
            <configuration-model>production</configuration-model>
        </system>

        <!-- terracotta client start -->
        <clients>
            <logs>/opt/shibboleth-idp/cluster/client/logs-%i</logs>
            <!--
            <statistics>/opt/shibboleth-idp/cluster/client/stats-%i</statistics>
            -->
            <modules>
                <module name="tim-vector" version="2.7.1" group-id="org.terracotta.modules"/>
                <module name="tim-tomcat-6.0" version="2.3.0"/>
            </modules>
        </clients>
        <!-- terracotta client end -->
        <application>
            <dso>
                ~~(中略)~~

                <web-applications>
                    <web-application>idp</web-application>
                </web-applications>
            </dso>
        </application>
    </tc:tc-config>

  • XXX.XXX.XXX.XXX および YYY.YYY.YYY.YYY はTerracotta を構築したサーバのIPアドレスです。

 

アンカー
_Toc316474273
_Toc316474273
2.3. Terracottaのインストール

...

  • 
    
    # sudo rm terracotta-3.6.0.tar.gz    ←解凍後、削除します。

...

  • 
    
  • 下記に合わせシンボリックリンクを張ります。

    書式設定済み
    # cd /opt

    
    # ln -s terracotta-3.6.0 terracotta

...

  • 
    
  • Terracotta Integration Module (TIM)  をインストールします。

    書式設定済み
    # cd /opt/terracotta/bin

    
    # ./tim-get.sh

...

  •  install tim-vector 2.7.1

...

  • 
    # ./tim-get.sh

...

  •  install tim-tomcat-6.0 2.3.0

...

  • 
    

アンカー
_Toc316474274
_Toc316474274
2.4. Terracottaクライアントの設定

  • tomcatの起動ファイルにTerracottaクライアントの起動コマンドを追加します。
    Terracotta クライアントは tomcat のサービスとして起動します。

    書式設定済み
    # vi /etc/init.d/tomcat6
    

    ~~(省略)~~

    export TC_INSTALL_DIR=/opt/terracotta
    export TC_CONFIG_PATH=/opt/shibboleth-idp/conf/tc-config.xml

    ~~(省略)~~

    start(){

...

  •     # if [ -z $(/sbin/pidof

...

  • java)

...

  • ];

...

  • then

...


  •     if [ -z

...

  • $(/sbin/pidof

...

  • tomcat)

...

  • ];

...

  • then

...


  •         echo "Starting tomcat"

            . $TC_INSTALL_DIR/platform/bin/dso-env.sh --q

...

  •         export JAVA_OPTS=$TC_JAVA_OPTS $JAVA_OPTS

            /usr/java/tomcat/bin/startup.sh
            touch /var/lock/subsys/tomcat
        else
            echo "tomcat allready running"
        fi
    }

  • dso-boot-hotspot_linux_160_23.jarがterracottaクライアント起動時に最新化されるようにします。

    書式設定済み
    # vi /opt/terracotta/platform/bin/make-boot-jar.sh
    

    exec "${JAVA_HOME}/bin/java" \
        -Dtc.install-root="${TC_INSTALL_DIR}" \
        -cp "${TC_INSTALL_DIR}/lib/tc.jar" \
        com.tc.object.tools.BootJarTool make "$@" - -w

アンカー
_Toc316474275
_Toc316474275
3. 起動・停止

アンカー
_Toc316474276
_Toc316474276
3.1. Terrracottaサーバ、クライアントの起動順

  • 下記の順で起動してください。

    1. Terracotta サーバ
    2. Terracotta クライアント

...

アンカー
_Toc316474277
_Toc316474277
3.2. Terracottaサーバの起動/停止

  • 起動

    Terracottaサーバ :  idpNode1の場合
    # /opt/terracotta/bin/start-tc-server.sh -n idpNode1 -f /opt/shibboleth-idp/conf/tc-config.xml &

    Terracottaサーバ :  idpNode2の場合
    # /opt/terracotta/bin/start-tc-server.sh -n idpNode2 -f /opt/shibboleth-idp/conf/tc-config.xml &

...

  • Terracottaサーバがクラスタリングされている場合は先に起動したサーバがActiveとなります。

  • 停止

    書式設定済み
    # /opt/terracotta/bin/stop-tc-server.sh
    

アンカー
_Toc316474278
_Toc316474278
3.3. tomcat (Terracottaクライアント)の起動/停止

  • 起動

    書式設定済み
    # /etc/init.d/tomcat6 start
    
  • 停止

    書式設定済み
    # /etc/init.d/tomcat6 stop
    






以上。