子ページ
  • IdPClusteringTerracotta

このページの古いバージョンを表示しています。現在のバージョンを表示します。

現在のバージョンとの相違点 ページ履歴を表示

バージョン 1 次のバージョン »

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

2011年12月26日
金沢大学


はじめに

本章の目的

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

前提条件

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

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


ソフトウェア名

バージョン

インストール先

Terracotta

3.6.0

/opt/ terracotta

Shibboleth-IdP

2.3.5

/opt/ shibboleth-idp

Apache Tomcat

7.0.23

/usr/java/tomcat




Terracottaの構築

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

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

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

Terracotttaの設定ファイルの編集

  • 下記URLからtc-config.xml をダウンロードします。

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アドレスです。



Terracottaのインストール

  • 下記URLからterracotta-3.6.0.tar.gzをダウンロードします。

http://www.terracotta.org/http://terracotta.org/downloads/open-source/destination?name=terracotta-3.6.0.tar.gz&bucket=tcdistributions&file=terracotta-3.6.0.tar.gz

  • Terracottaサーバにアップロードします。

    /opt/terracotta-3.6.0.tar.gz


  • 下記手順で terracotta-3.6.0.tar.gz を解凍します。
    1. cd /opt
  1. tar terracotta-3.6.0.tar.gz

  2. sudo rm terracotta-3.6.0.tar.gz   ←解凍後、削除します。|
  • 下記に合わせシンボリックリンクを張ります。
    1. cd /opt
  1. ln -s terracotta-3.6.0 terracotta|
  • Terracotta Integration Module (TIM)  をインストールします。
    1. cd /opt/terracotta/bin
  1. ./tim-get.sh install tim-vector 2.7.1
  2. ./tim-get.sh install tim-tomcat-6.0 2.3.0|

    Terracottaクライアントの設定

  • tomcatの起動ファイルにTerracottaクライアントの起動コマンドを追加します。

Terracotta クライアントは tomcat のサービスとして起動します。

  1. 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クライアント起動時に最新化されるようにします。
    1. 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



    起動・停止

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

  • 下記の順で起動してください。
    1. Terracotta サーバ
  1. Terracotta クライアント|

    Terracottaサーバの起動/停止

  • 起動

    Terracottaサーバ :  idpNode1の場合

  1. /opt/terracotta/bin/start-tc-server.sh -n idpNode1 -f /opt/shibboleth-idp/conf/tc-config.xml &

    Terracottaサーバ :  idpNode2の場合
  2. /opt/terracotta/bin/start-tc-server.sh -n idpNode2 -f /opt/shibboleth-idp/conf/tc-config.xml &|
    Terracottaサーバがクラスタリングされている場合は先に起動したサーバがActiveとなります。
  • 停止
    1. /opt/terracotta/bin/stop-tc-server.sh

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

  • 起動
    1. /etc/init.d/tomcat6 start

  • 停止
    1. /etc/init.d/tomcat6 stop







以上。

  • ラベルがありません