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クライアント)の起動/停止
アンカー |
---|
| _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.1 | /opt/terracotta |
Shibboleth-IdP | 2.3.6 | /opt/shibboleth-idp |
Apache Tomcat | 6.0.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の設定ファイルの編集
- 下記URLからtc-config.xml をダウンロードします。
https://wiki.shibboleth.net/confluence/download/attachments/4358352/tc-config.xml
書式設定済み |
---|
# cd /opt/shibboleth-idp/conf/
# 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のインストール
アンカー |
---|
| _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
|
以上。