From nakano.hiroaki @ nttcom.co.jp Tue Jul 9 10:39:17 2013 From: nakano.hiroaki @ nttcom.co.jp (=?ISO-2022-JP?B?GyRCQ2ZMbiEhOShPLxsoQg==?=) Date: Tue, 09 Jul 2013 10:39:17 +0900 Subject: [Ultramonkey-l7-develop 948] Re: =?iso-2022-jp?b?djMuMS4wGyRCTVElSSUtJWUlYSVzJUgwRhsoQigxLzMp?= In-Reply-To: <51D533A8.50301@nttcom.co.jp> References: <51D28E0D.3070607@nttcom.co.jp> <51D28F02.3050503@nttcom.co.jp> <51D52FF1.2000104@nttcom.co.jp> <51D533A8.50301@nttcom.co.jp> Message-ID: <51DB69C5.10700@nttcom.co.jp> 中野@幕張です。 修正版です。 (2013/07/04 17:34), 中野 宏朗 wrote: > 中野@幕張です。 > > (2013/07/04 17:18), 竹田 健二 wrote: >> 中野さん >> >> 竹田@幕張です >> >> v3.1.0用ドキュメントの作成ありがとうございます。 >> >> インストールマニュアル(uml7-install_manual_3.1.0_ja.txt)について、 >> 細かいですが1点コメントです。 >> >> 「3.1 l7directord の設定方法」の項について >> >>  ×uml7-administration_manual_3.0.0_ja >>  ○uml7-administration_manual_v3.3_ja >> >> ではないでしょうか。 >> #確認したところ、もとのドキュメントでも間違っているようですね… > > ご指摘ありがとうございます。 > 修正しておきます。 > > ・・・install_manualはultramonkey-l7のバージョンが > ついていて、administration_manualはドキュメント自体の > バージョンなんですよね。 > > ややこしい(´Д`) > > # つか、最初に作った人なんで統一しなかったんだよ(´・ω・`) > >> 以上、よろしくお願いします。 >> >> >> (2013/07/02 17:27), 中野 宏朗 wrote: >>> >>> >>> (2013/07/02 17:23), 中野 宏朗 wrote: >>>> 中野@幕張です。 >>>> >>>> v3.1.0リリースに向けて、文書一覧にあるUltraMonkey-L7関連 >>>> ドキュメントをバージョンアップさせるつもりです。 >>>> 以下の文書についてv3.1.0対応版ドラフトを作ってみたので、 >>>> レビューをお願いします。 >>>> >>>> ・UltraMonkey-L7 インストールマニュアル3.1版->3.2版 >>>> [変更点] >>>> - UMのtar ballファイル名 >>>> - log4cxxのRHEL6パッチとrpmがsourceforgeにあることを追記 >>>> >>>> ・UltraMonkey-L7 管理マニュアル v3.2版->v3.3版 >>>> [変更点] >>>> - VirtualService 追加時の session-thread-pool-size オプション >>>> に関する記述を追記 >>>> + l7vsadm >>>> + l7directord.cf >>>> - l7vs.cfにおける、server_connect_timeout の追記 >>>> >>>> ・UltraMonkey-L7 Pacemaker環境インストールマニュアル 1.0版(新規) >>>> これまでHeartbeat2までのドキュメントしか存在しなかったこと、 >>>> v3.1.0にてPacemaker用のsample.crmを用意したことから、 >>>> Heartbeat2ドキュメントをベースにPacemaker用ドキュメントを >>>> 新規作成。 >>>> >>>> 以上です。 >>>> >>> >>> >>> >>> _______________________________________________ >>> Ultramonkey-l7-develop mailing list >>> Ultramonkey-l7-develop @ lists.sourceforge.jp >>> http://lists.sourceforge.jp/mailman/listinfo/ultramonkey-l7-develop >>> >> >> > -- 中野 宏朗 (NAKANO Hiroaki) -------------- next part -------------- ?UltraMonkey-L7 インストールマニュアル v3.2 ================================================================================ [変更履歴] 2005.10.18 [v1.0] 初版 2005.11.15 [v1.1] マニュアルの不備を修正 2006.07.07 [v1.2] tcps 非カーネルパッチ版公開に伴う修正 2007.01.19 [v1.3] 追加機能に伴う修正 2007.10.12 [v1.3.1] l7vs-0.6.1 公開に伴う一部関連修正 2007.10.12 [v1.4] l7vs-1.0.0 公開に伴う一部関連修正 2008.05.30 [v1.5] v2.0.0-x 公開に伴う一部関連修正 2008.07.09 [v1.5.1] l7vs インストール時注意事項追記 2008.12.16 [v1.5.2] tar.gz ファイル名誤記修正 2008.12.16 [v1.6] v2.1.0-0 公開に伴う一部関連修正 2009.01.27 [v1.7] v2.1.1-0 公開に伴う一部関連修正 2009.03.25 [v1.8] v2.1.2-0 公開に伴う一部関連修正 2009.06.17 [v1.9] v2.1.2-2 公開に伴う一部関連修正 2009.08.18 [v1.10] v2.1.3-0 公開に伴う一部関連修正 2010.04.23 [v2.0] boostインストール時の使用オプション追加 2010.08.20 [v3.0] net-snmpインストール追加 2012.02.15 [v3.1] コマンド実行手順に混入していた全角文字を半角に修正 2013.06.27 [v3.2] v3.1.0対応 ================================================================================ 1 前提条件 1.1 主な仕様 1.2 事前準備 2 L7 フレームワーク (l7vsd) のインストールと設定 2.1 L7 負荷分散フレームワークのインストール 2.2 L7 負荷分散フレームワークの起動方法 2.3 L7 負荷分散フレームワークの動作確認 3 L7 サーバ監視設定ツール (l7directord) の設定 3.1 l7directord の設定方法 3.2 l7directord の起動方法 3.3 l7directord の動作確認 ================================================================================ 1 前提条件 本マニュアルが想定する環境を以下に示します。 -------------------------------------------------------------------------------- 1.1 主な仕様 1.1.1 ハードウェア(推奨) CPU: Xeon 5160 3.00GHz 相当、メモリ: 4GB 相当、HDD: 10GB 相当 Ethernet: 1000BASE-T、1000BASE-SX 1.1.2 主なソフトウェア OS: Red Hat Enterprise Linux 5.9(kernel2.6.18-348) i386 版, x86_64 版 OS: Red Hat Enterprise Linux 6.4(kernel2.6.32-358) i386 版, x86_64 版 L7 負荷分散フレームワーク (l7vsd) L7 サーバ監視設定ツール (l7directord) 1.1.3 本マニュアルで使用する資材   ultramonkey-l7-3.1.0.tar.gz apache-log4cxx-0.10.0.tar.gz boost_1_44_0.tar.bz2 (RHEL5のみ) (※) 本マニュアルでは、上記のソースを使用することとして記述しております。 異なるバージョン等使用する際には注意願います。 -------------------------------------------------------------------------------- 1.2 事前準備 1.2.1 log4cxx 1.2.1.1 log4cxx のダウンロード log4cxx-0.10.0 を以下のサイトよりダウンロードします。 http://logging.apache.org/log4cxx/download.html 1.2.1.2 apr ライブラリのインストール RPM パッケージからapr-devel.i686 をインストール(x86_64 環境では apr-devel.x86_64) # yum install apr-devel.i686       または # yum install apr-devel.x86_64 これで apr ライブラリのインストールは終了です。 1.2.1.3 apr-util ライブラリのインストール RPM パッケージからapr-util-devel.i686 をインストール(x86_64 環境では apr-util-devel.x86_64) # yum install apr-util-devel.i686 または # yum install apr-util-devel.x86_64 1.2.1.3 log4cxx のインストール log4cxx ライブラリを解凍してインストールを行います。 # tar zxvf apache-log4cxx-0.10.0.tar.gz # cd apache-log4cxx-0.10.0 # ./autogen.sh # ./configure # make # make install 注意)RHEL6.0では、gccのバージョンの関係でmake時にエラーが出るため、 以下の修正が必要となります。       #includeを追加       apache-log4cxx-0.10.0/src/main/cpp/inputstreamreader.cpp       apache-log4cxx-0.10.0/src/main/cpp/socketoutputstream.cpp       apache-log4cxx-0.10.0/src/examples/cpp/console.cpp       #includeを追加       apache-log4cxx-0.10.0/src/examples/cpp/console.cpp patchをgitから、修正済みパッケージをダウンロード画面から取得できます。 これで log4cxx のライブラリインストールは終了です。 1.2.2 OpenSSL ライブラリのインストール RPM パッケージからopenssl-devel.i686 をインストール(x86_64 環境では openssl-devel.x86_64) # yum install openssl-devel.i686 または # yum install openssl-devel.x86_64 これで OpenSSL のライブラリインストールは終了です。 1.2.3 Boost RHEL5に同梱されているBoostのバージョンにUM-L7が対応していないため、 RHEL6とインストール手順が異なります。 RHEL5を利用する場合は手順(1.2.3.1 ,1.2.3.2)を、RHEL6を利用する場合は、 手順(1.2.3.3)をご覧下さい。 1.2.3.1 Boost のダウンロード(RHEL5) boost-1.44.0 を以下のサイトよりダウンロードします。 http://www.boost.org/ 1.2.3.2 boost ライブラリのインストール(RHEL5) boost_1_44_0.tar.bz2 を展開してinstallを行います。 # tar jxvf boost_1_44_0.tar.bz2 # cd boost_1_44_0 # ./bootstrap.sh # ./bjam --layout=tagged install 1.2.3.3 boost ライブラリのインストール(RHEL6) RPM パッケージからboost.i686 をインストール(x86_64 環境では boost-devel.x86_64) # yum install boost-devel.i686       または # yum install boost-devel.x86_64 これで boost ライブラリのインストールは終了です。 1.2.4 Perl モジュールのインストール ヘルスチェックに必要な Perl モジュールをインストールします。使用する 監視方法によって必要となるモジュールが異なりますので、以下に従って必 要なモジュールをインストールします。(括弧なしは CPAN 経由のみ、括弧あ りは RHEL のメディアから RPM パッケージでインストールもできます) 1. HTTP 監視に必要なモジュール libwww-perl (perl-libwww-perl) 2. HTTPS 監視に必要なモジュール libwww-perl (perl-libwww-perl) Crypt::SSLeay (perl-Crypt-SSLeay) Net::SSLeay (perl-Net-SSLeay) IO-Socket::SSL (perl-IO-Socket-SSL) 3. IMAP Mail::IMAPClient 4. LDAP Net::LDAP 5. DNS Net::DNS (perl-Net-DNS) 6. MySQL DBI (perl-DBI) DBD::mysql (perl-DBD-MySQL) 7. PostgreSQL DBI (perl-DBI) DBD::Pg (perl-DBD-Pg) 8. IPv6対応モジュール IO::Socket::INET6 (perl-IO-Socket-INET6) (※) CPAN 経由でインストールする場合の例 # cpan -i Crypt::SSLeay (※) RPM パッケージでインストールする場合の例 # rpm -ivh perl-Crypt-SSLeay-0.57-16.el6.i686.rpm yum でインストールする場合の例 # yum install perl-Crypt-SSLeay 1.2.5 net-snmp ライブラリのインストール RPM パッケージからnet-snmp-devel-5.5-21.el6.i686.rpm をインストール(x86_64 環境では net-snmp-devel-5.5-21.el6.x86_64.rpm) # yum install net-snmp-5.5-21.el6.i686 # yum install net-snmp-devel-5.5-21.el6.i686 または # yum install net-snmp-5.5-21.el6.x86_64 # yum install net-snmp-devel-5.5-21.el6.x86_64 1.2.6 ld.so.cacheを更新 log4cxxとBoostは/usr/local/lib配下にインストールされるため、ld.so.cacheを更新します。 # echo "/usr/local/lib" > /etc/ld.so.conf.d/local.conf # ldconfig ================================================================================ 2 フレームワークのインストールと設定 2.1 L7 負荷分散フレームワークのインストール 2.1.1 L7 負荷分散フレームワークのインストール 2.1.1.1 l7vsd のインストール ultramonkey-l7-3.1.0.tar.gz を展開します。 # tar zxvf ultramonkey-l7-3.1.0.tar.gz # cd ultramonkey-l7-3.1.0 # ./configure # make # make install 注意: make 実行時に次のようなエラーが発生する場合、 src/Makefile.am: required file './compile' not found make: *** [Makefile.in] Error 1 一度 # automake --add-missing --copy を実行した後、再度 # ./configure から実行して下さい。 補足: configure マクロには以下のオプションがあります。 --with-l7vs_moddir=[MODULE DIRECTORY] プロトコルモジュール及びスケジュールモジュールをインストールする ディレクトリを指定します。デフォルトは /usr/(libdir)/l7vs です。 libdir は ILP64 や ILP32 だとlib、LP64 や LLP64 だと /usr/lib64 です。 --with-l7vsadm-sockdir=[SOCKET DIRECTORY] l7vsadm と l7vsd の通信に使用するソケットファイルを格納するディレ クトリを指定します。デフォルトは /var/run/l7vs です。 --with-l7vs-maxvs=[NUM] l7vsd の VirtualService の上限を指定します。デフォルトは 64 個で す。これは 32bit 環境と 64bit 環境で登録できる最大数が変動するた め、その差異を埋めるためにどちらの環境でも登録できる 64 個で制限 しています。もし、64bit 環境でかつ 64 個以上の VirtualService を 登録する必要がある場合には、この数字を増やすことで対応可能です。 32bit 環境でも増やすことは出来ますが、その数について保証出来ませ ん。 (予期しない挙動をすることがあります) 2.2.1 L7 負荷分散フレームワークの起動 # /etc/init.d/l7vsd start 2.3 L7 負荷分散フレームワークの動作確認 2.3.1 l7vsd の正常起動を確認 # /etc/init.d/l7vsd status l7vsd running with pid: (PID) が表示されていることを確認します。 ================================================================================ 3 L7 サーバ監視設定ツールのインストールと設定 3.1 l7directord の設定方法 l7directord は設定ファイルを /etc/ha.d/conf/l7directord.cf に持ちます。 UltraMonkey-L7 管理マニュアル (uml7-administration_manual_v3.3_ja) 参照 し、適宜設定を行ってください。 3.2 l7directord の起動方法 # /etc/init.d/l7directord start 3.3 l7directord の動作確認 # /etc/init.d/l7directord status を実行し、無事に起動できているかを確認してください。 ================================================================================ From nakano.hiroaki @ nttcom.co.jp Tue Jul 9 10:40:05 2013 From: nakano.hiroaki @ nttcom.co.jp (=?ISO-2022-JP?B?GyRCQ2ZMbiEhOShPLxsoQg==?=) Date: Tue, 09 Jul 2013 10:40:05 +0900 Subject: [Ultramonkey-l7-develop 949] Re: =?iso-2022-jp?b?djMuMS4wGyRCTVElSSUtJWUlYSVzJUgwRhsoQigyLzMp?= In-Reply-To: <51D68132.60503@lab.ntt.co.jp> References: <51D28E0D.3070607@nttcom.co.jp> <51D28F25.1070003@nttcom.co.jp> <51D68132.60503@lab.ntt.co.jp> Message-ID: <51DB69F5.1020001@nttcom.co.jp> 中野@幕張です。 修正版です。 (2013/07/05 17:17), Hibari Michiro wrote: > 中野様 > > 雲雀です。お疲れ様です。 > > 以下、「uml7-administration_manual_v3.3_ja.txt」へのコメントです。 > >> # UltraMonkey-L7からリアルサーバへの接続タイムアウト値(秒) # 0から2147483647までを指定できます(デフォルト: 30) # 0の時はタイムアウトなし( server_connect_timeout = 30 > デフォルト値を0に変更しようと思います。 > #もともとなかった機能なので、デフォルトは無効にするのが > #よいと考えているので。 > > お手数ですが、ドキュメントもデフォルト0としておいて > 頂けますでしょうか。 > > 以上、宜しくお願いいたします。 > > > (2013/07/02 17:28), 中野 宏朗 wrote: >> >> (2013/07/02 17:23), 中野 宏朗 wrote: >>> 中野@幕張です。 >>> >>> v3.1.0リリースに向けて、文書一覧にあるUltraMonkey-L7関連 >>> ドキュメントをバージョンアップさせるつもりです。 >>> 以下の文書についてv3.1.0対応版ドラフトを作ってみたので、 >>> レビューをお願いします。 >>> >>> ・UltraMonkey-L7 インストールマニュアル3.1版->3.2版 >>> [変更点] >>> - UMのtar ballファイル名 >>> - log4cxxのRHEL6パッチとrpmがsourceforgeにあることを追記 >>> >>> ・UltraMonkey-L7 管理マニュアル v3.2版->v3.3版 >>> [変更点] >>> - VirtualService 追加時の session-thread-pool-size オプション >>> に関する記述を追記 >>> + l7vsadm >>> + l7directord.cf >>> - l7vs.cfにおける、server_connect_timeout の追記 >>> >>> ・UltraMonkey-L7 Pacemaker環境インストールマニュアル 1.0版(新規) >>> これまでHeartbeat2までのドキュメントしか存在しなかったこと、 >>> v3.1.0にてPacemaker用のsample.crmを用意したことから、 >>> Heartbeat2ドキュメントをベースにPacemaker用ドキュメントを >>> 新規作成。 >>> >>> 以上です。 >>> >> >> >> _______________________________________________ >> Ultramonkey-l7-develop mailing list >> Ultramonkey-l7-develop @ lists.sourceforge.jp >> http://lists.sourceforge.jp/mailman/listinfo/ultramonkey-l7-develop > > -- 中野 宏朗 (NAKANO Hiroaki) -------------- next part -------------- ?UltraMonkey-L7 管理者マニュアル v3.3【v3.1.x対応版】 ================================================================================ [変更履歴] 2005.10.25 [v1.0] 初版 2005.11.15 [v1.1] マニュアルの不備を修正 2006.03.02 [v1.2] オプションの説明を追加 2006.07.07 [v1.3] 目次見直し及びkssl補足説明追加に伴う修正 2007.01.19 [v1.4] 追加機能に伴う修正 2007.02.19 [v1.4.1] l7directord の不具合修正に伴う URL パーシステンス部分の修正 2007.10.12 [v1.4.2] l7vs-0.6.1公開に伴う一部関連修正 2007.10.12 [v1.5] l7vs-1.0.0公開に伴う一部関連修正(未実装分記述削除) 2008.1.6 [v1.6] UM-L7 1.0.1-0 リリースに伴う,l7directord.cf サンプルの修正 2008.1.6 [v1.7] sessionless プロトコルモジュールの設定例を追記 2008.4.13 [v1.8] l7vsd-1.x-lilith-rc-1リリースに伴う修正 2008.5.30 [v1.9] v2.0.0-xリリースに伴う修正 2008.12.17 [v2.0] v2.1.0-0リリースに伴う修正 2009.01.27 [v2.1] v2.1.1-0リリースに伴う修正(sslidモジュールのオプション記述 修正) 2009.03.17 [v2.2] v2.1.2-0リリースに伴う修正(ipモジュールのオプション記述) 2009.06.17 [v2.3] v2.1.2-2リリースに伴う修正(cinsert,cpassive,crewriteモジュ ール関連の記述を削除) 2010.08.17 [v3.0] v3.0.0に伴う修正 2011.03.03 [v3.1] tproxyの対応カーネルを修正 2011.11.22 [v3.2] statisticのショートオプションを修正 2013.06.27 [v3.3] v3.1.0リリースに伴う修正 ================================================================================ 1 前提条件 1.1 フレームワーク部について 1.2 プロトコル処理部について 1.3 スケジュール部について 1.4 制御コマンド部について 1.5 リアルサーバ監視処理部について 1.6 冗長化構成について 2 l7vsadm コマンドの説明 2.1 コマンド概要 2.2 コマンド一覧 2.3 コマンド書式一覧 2.4 各コマンド説明 2.5 ProtocolModuleオプション説明 3 l7vsadm設定例 3.1 SSL Session IDモジュールの設定例 3.2 Sessionlessモジュールの設定例 3.3 IP addressモジュールの設定例 4 L7サーバ監視設定ツールの説明 4.1 設定ファイル(l7directord.cf)の説明 4.2 l7directord.cfのサンプルの説明 4.3 サンプル 5 Replication機能 5.1 Replication機能の説明 6 UltraMonkey-L7設定ファイルの説明 6.1 設定ファイル(l7vs.cf)の説明 6.2 l7vs.cfのサンプルの説明 7 SSL設定ファイルの説明 7.1 設定ファイル(sslproxy.target.cf)の説明 7.2 sslproxy.target.cfのサンプルの説明 8 その他 8.1 snmpdの説明 8.2 Transparent Proxy 機能について ================================================================================ 1 前提条件 UltraMonkey-L7 とは、Linux 上で動作する Layer7 負荷分散ソフトウェアです。 次のような機能部から構成されています。 -------------------------------------------------------------------------------- 1.1 フレームワーク部について Layer7 の情報に基づいた負荷分散の基盤となる機能部です。 これにProtocolModuleを組み合わせることにより、各種プロトコルに対応した負荷 分散を実現します。 -------------------------------------------------------------------------------- 1.2 プロトコル処理部について 各種プロトコルに対する Layer7 負荷分散の振り分け条件を決定する機能部です。 プロトコル処理部としては、以下のProtocolModuleがあります。Client パケットを 待たずに RealServer が先行して応答するプロトコル (SMTP, FTP等) で振り分けを 行う場合は、sessionless または ip モジュールを使う必要があります。 ・sessionless RealServer への振り分けをスケジュール部に任せ UltraMonkey-L7 では何も行わ ない Sessionless モジュール。 ・ip Client の IP アドレスを元に RealServer への振り分けを行うモジュール。 ・sslid RealServer 側で付与された SSL Session ID を UltraMonkey-L7 で管理すること でセッション管理をする SSL Session ID モジュール -------------------------------------------------------------------------------- 1.3 スケジュール部について VirtualServiceからRealServerに対し、負荷分散による振り分けの重み条件を決定 する機能部です。 スケジューリング方式としては、以下の方式があり、対応するScheduleModuleを指 定することで最適なスケジュール方式を選択できます。 ・rr 利用可能な RealServer に対して、均等にリクエストを割り当てるラウンドロビ ン方式 ・wrr RealServer 毎に設定された負荷値により、クライアントからのリクエストを割り 当てる重み付け振り分け方式 ・lc 接続中のコネクションが最も少ない RealServer に対してリクエストを割り当て る最小コネクション方式 -------------------------------------------------------------------------------- 1.4 制御コマンド部について フレームワーク部に対してVirtualServiceの生成・削除や振り分け先サーバの設定、 UltraMonkey-L7の機能制御等を行うためのコマンドを提供します。 -------------------------------------------------------------------------------- 1.5 リアルサーバ監視処理部について リアルサーバの監視を行うための機能部です。制御コマンド部を介して各種設定を 行う機能も提供します。(詳細は 4 を参照) -------------------------------------------------------------------------------- 1.6 冗長化構成について UltraMonkey-L7は単体では冗長化機能をもっていません。しかし、OSSクラスタソフト のPacemakerを利用した冗長化構成を想定し、Pacemaker用のRAや設定サンプルを 用意しています。(詳細は「Manual_for_Heartbeat」の「for_Pacemaker」ドキュメン トを参照) ================================================================================ 2 l7vsadm コマンドの説明 -------------------------------------------------------------------------------- 2.1 コマンド概要 l7vsadm コマンドは、以下の基本書式で実行します。 [基本書式] l7vsadm -[制御種別オプション] -[パラメータオプション] [設定値] ... l7vsadmのコマンドオプションには、どのような設定、制御を行うか指定する制御 種別オプションと、制御種別対応の設定内容を指定するパラメータオプションがあ ります。 さらに、パラメータオプションには、フレームワークに対して各種設定、制御を行 うためのオプション以外に、各ProtocolModuleごとの各種設定を行うための ProtocolModule オプションがあります。 (ProtocolModuleオプションの詳細は、2.5を参照) -------------------------------------------------------------------------------- 2.2 コマンド一覧 l7vsadm コマンドで実行可能なコマンドの一覧を以下に示します。 (1) List 表示コマンド (詳細は 2.4.1 を参照) フレームワークの各種情報 (VirtualService、RealServer の登録情報など) の 内容を表示するコマンド (2) VirtualService 設定コマンド (詳細は 2.4.2 を参照) 指定した VirtualService の追加、削除、および指定した VirtualService に 設定されているパラメータを変更するコマンドおよび、登録されている全ての VirtualService を一括削除するコマンド (3) RealServer 設定コマンド (詳細は 2.4.3 を参照) 指定した VirtualService に対する RealServer の追加、削除、および指定し た RealServer に設定されているパラメータを変更するコマンド (4) Replication 機能制御コマンド (詳細は 2.4.4 を参照) Replication 機能に関する各種制御 (Replication 機能の開始/停止、強制的に 即時 Replicate 実行、Replication データのダンプ)を行うコマンド (5) ログ機能制御コマンド (詳細は 2.4.5 を参照) ログ機能に関する各種制御 (負荷分散プロセス動作ログレベルの変更) を行う コマンド (6) SNMPAgent 制御コマンド (詳細は 2.4.6 を参照) SNMPAgentに関する各種制御(SNMPAgentの有効/無効、MIB収集間隔の変更、 ログトラップ発出機能の有効/無効、ログトラップ発出レベルの変更、 HTTPリクエスト統計情報のクリア)を行うコマンド (7) パラメータ管理機能制御コマンド (詳細は2.4.7 を参照) パラメータ管理機能に関する各種制御 (設定パラメータの再読み込み) を行う コマンド (8) Help表示コマンド (詳細は 2.4.8 を参照) コマンドの書式、および使用方法を表示するコマンド -------------------------------------------------------------------------------- 2.3 コマンド書式一覧 l7vsadm コマンドで実行可能なコマンドの書式一覧を以下に示します。 (各オプションの説明、使用方法の詳細は 2.4 を参照) l7vsadm -A -t service-address -m proto-module [module-args] [-s scheduler] [-u connection-count] [-b sorry-server] [--masq|--tproxy] [-f sorry-flag] [-Q QoSval-up] [-q QoSval-down] [-z ssl-config-file] [-O socket-option] [-L access-log-flag] [-a access-log-file [logrotate-args]] [--session-thread-pool-size val-size] l7vsadm -E -t service-address -m proto-module [module-args] [-s scheduler] [-u connection-count] [-b sorry-server] [--masq|--tproxy] [-f sorry-flag] [-Q QoSval-up] [-q QoSval-down] [-L access-log-flag] l7vsadm -D -t service-address -m proto-module [module-args] l7vsadm -C l7vsadm -a|e -t service-address -m proto-module [module-args] -r server-address [-w weight] [--masq|--tproxy] l7vsadm -d -t service-address -m proto-module [module-args] -r server-address l7vsadm -R -s replication-switch l7vsadm -R -f l7vsadm -R -d l7vsadm -L -c log-category -l log-level l7vsadm -S [-f snmp-flag] [-i update-interval] [-t log-trap-flag]         [-l log-trap-level] l7vsadm -S -r [-t service-address -m proto-module] l7vsadm -P -r reload-parameter l7vsadm -l [-n] l7vsadm -V [-n] l7vsadm -K [-n] l7vsadm -h -------------------------------------------------------------------------------- 2.4 各コマンド説明 以下に各コマンドの書式、オプション説明、使用方法を示します。 指定必須パラメータオプションは、該当する書式で指定する必要があるオプション であり、指定可能パラメータオプションは、該当する書式で指定でき、省略も可能 なオプションであることを示します。 また、各オプションの括弧内の記述は long 表現のオプションになります。 2.4.1 List表示コマンド ・書式 l7vsadm l7vsadm -l [-n] l7vsadm -K [-n] l7vsadm -V [-n] ・制御種別オプション(必須) -l(--list) :設定情報のlistを表示する。 -K(--key) :key情報を含む設定情報のlistを表示する。 -V(--verbose) :設定情報の詳細listを表示する。 ・指定必須パラメータオプション なし ・指定可能パラメータオプション -n(--numeric) :Endpoint(IP-Address:port) の名前解決を行わないで表示 する。 ・説明 List表示コマンドの各オプションにより出力される情報は以下のとおり。 1) -l 指定時 ・Version情報 [UltraMonkey-L7 の Version] ・VirtualService 情報 [Protocol、VirtualService の Endpoint、 ProtocolModule 名、ScheduleModule 名] ・RealServer 情報 [RealServer の Endpoint、パケット転送方式 Scheduler の weight、サーバ接続数情報] 2) -K 指定時 ・Version情報 [UltraMonkey-L7 の Version] ・VirtualService 情報 [Protocol、VirtualService の Endpoint、 ScheduleModule 名、SSL設定ファイル名、 ソケットオプション、アクセスログフラグ、 アクセスログファイル名、 アクセスログローテーション設定文字列] ・RealServer 情報 [RealServer の Endpoint、パケット転送方式 Scheduler の weight、サーバ接続数情報] 3) -V 指定時 ・Version情報 [UltraMonkey-L7のVersion]   ・Log情報 [負荷分散プロセスのLogカテゴリ、 Logカテゴリの動作Log-Level]   ・Replication情報 [Replication機能状態(モード)]   ・SNMP情報 [SNMPAgent機能状態(active/inactive)、 ログトラップ状態(on/off)、トラップ発出ログレベル]                  [MIB情報の最小収集間隔、SNMPAgent起動日時、 最後リクエスト日時、最後トラップ日時]                  [GETリクエスト総数、SETリクエスト総数、トラップ総数]   ・VirtualService情報 [Protocol、VirtualServiceのEndpoint、 ProtocolModule名、Scheduler名、                  ProtocolModuleオプション文字列]   ・RealServer情報  [RealServerのEndpoint、パケット転送方式 Schedulerのweight、サーバ接続数情報]                  [Sorry Server   SorryServerのEndpoint、パケット転送方式] [Max Connection 接続上限値] [Sorry Flag Sorryフラグ] [SSL Config File SSL設定ファイル] [Access Log アクセスログフラグ] [Access Log File アクセスログファイル] [Access Log Rotate アクセスログローテーション設定文字列]                  [TCP_DEFER_ACCEPT enable/disable]                  [TCP_NODELAY   enable/disable]                 [TCP_CORK   enable/disable]                  [TCP_QUICKACK enable/disable/auto]                  [Current Upload / Limit     上りスループット値(Mbps)/ QoS(上り)のQoS値(Mbps)]                  [Current Download / Limit    下りスループット値(Mbps)/ QoS(下り)のQoS値(Mbps)]                  [HTTP Total Requests HTTPリクエスト総数]                  [HTTP GET Requests HTTP GETリクエスト総数]                  [HTTP POST Requests HTTP POSTリクエスト総数] 2.4.2 VirtualService 設定コマンド 1) VirtualService の追加 ・書式 l7vsadm -A service-address -m protocol-module [module-args] [-s schedule-module] [-u connection-count] [-b sorry-server] [-f sorry-flag] [--masq|--tproxy] [-Q up-stream-QoS-bps] [-q down-stream-QoS-bps] [-z ssl-config-file] [-O socket-option] [-L access-log-flag] [-a access-log-file [logrotate-args]] [--session-thread-pool-size val-size] ・制御種別オプション(必須) -A(--add-service) :VirtualService を追加する。 ・指定必須パラメータオプション -t(--tcp-service) :VirtualService の Endpoint を指定する。 (例) IPv4:-t 10.10.0.1:80 (例) IPv6:-t [::1]:80 -m(--proto-module):ProtocolModule 名を指定する。 (例) -m sessionless ProtocolModule 名に続いて ProtocolModule オプ ション (module-args) を指定することができる。 (例) -m sslid --timeout 100 指定できる ProtocolModule、および ProtocolModule オプションの詳細は、2.5 を参照 ・指定可能パラメータオプション -s(--scheduler) :ScheduleModule 名を指定する。 (例) -s rr, -s lc, -s wrr 指定できる ScheduleModule は rr(RoundRobin), wrr(WeightedRoundRobin), lc(LeastConnection) 指定しない場合のデフォルトは rr となる。 -u(--upper) :VirtualService への接続数の上限値を設定する。 上限値を超えた接続は SorryServer 接続となる。 設定可能な範囲は、0?100000 の整数値で、指定 しない場合のデフォルト値は 0(上限なし、 SorryServer 接続しない)となる。 -b(--bypass) :SorryServer の Endpoint を指定する。 (例:-t sorry01:http, -t 10.10.0.1:80) 0.0.0.0:0 を指定した場合、SorryServer の Endpoint をクリアすることができる。 -f(--flag) :Sorry 状態設定フラグを設定する。 設定可能な値は、0 または 1 で、1 を指定すると Sorry 状態となり、0 を指定すると Sorry 状態解 除となる。 指定しない場合のデフォルト値は 0 (Sorry 状態解 除) となる。 --masq :SorryServer へのパケット転送方式を Masquarade 方式とし、SorryServer からは UltraMonkey-L7 サーバからの接続に見える。--tproxy を指定しない 場合、この方式がデフォルトとなる。 --tproxy :SorryServer へのパケット転送方式を Transparent Proxy 方式とし、SorryServer からは Client が直 接接続しているように見える。 本機能を使用する場合は 8.2 の設定が必要となる。 -Q(--qos-up) :Client から VirtualService に対する帯域制限値 を bps で設定する。 設定可能な範囲は、0?999 の整数値 + 単位(最大 999K, 999M, 999G) で、指定しない場合のデフォル ト値は 0 (制限なし) となる。 単位には、K(キロ)、M(メガ)、G(ギガ)を指定 する必要がある。 -q(--qos-down) :RealServer から VirtualService に対する帯域制 限値を設定する。 設定可能な範囲は、0?999 の整数値 + 単位(最大 999K, 999M, 999G) で、指定しない場合のデフォル ト値は 0 (制限なし) となる。 単位には、K(キロ)、M(メガ)、G(ギガ)を指定 する必要がある。 -z(--ssl) :VirtualService に対して Client と SSL 通信する 際の SSL 設定ファイルをフルパスで設定する。 設定するフルパスの最大長は半角文字で最大256文 字指定可能である。このオプションが指定された場 合は VirtualService と Client 間の通信処理にお いて SSL 処理機能が利用されるようになり、指定 されなかった場合は従来通りの動きをする。 また、このオプションを指定する際、プロトコルモ ジュールとして sslid を指定するとエラーとなる。 -O(--sockopt) :VirtualService や RealServer との接続で使う ソケットオプションを設定する場合に指定する。 指定可能なオプションは以下で、コンマ区切りで指 定可能。 ※ VirtualService の追加時のみ設定可能で、変更 できません。 deferaccept - VirtualService のリスナーソケッ トに TCP_DEFER_ACCEPT を設定。 設定するとTCPの接続が完了した後、 Client よりデータパケットが到着 するまで接続完了と見なさなくなる。 ※ クライアントから接続後、リク エストが必ずしも送信されない 場合(SMTP, FTPなど)には、指定 しない事。 nodelay - Client 及び RealServer との通信 用ソケットに TCP_NODELAY を設定。 設定するとパケット送信時に MTU で決められているサイズ(通常1500 バイト)に満たなくても即座に送信 する。 cork - Client 及び RealServer との通信 用ソケットに TCP_CORK を設定。 設定すると TCP_NODELAY とは逆に なるべくデータをまとめる挙動を 行う。 quickackon - Client 及び RealServer との通信 用ソケットに TCP_QUICKACK を常 に設定。設定するとパケットが連 続して来た場合に、一つ一つのパ ケットに対して即座に ACK を返す。 quickackoff - Client 及び RealServer との通信 用ソケットの TCP_QUICKACK を常 にクリアする。設定すると全ての パケットに対して遅延 ACK タイム アウトを待ってから ACK を返す。 -L(--access-log) :アクセスログ出力フラグを設定する。 設定可能な値は、0 または 1 で、1 を指定すると アクセスログを出力し、0 を指定するとアクセス ログ出力解除となる。 指定しない場合のデフォルト値は 0 (アクセスロ グ出力解除) となる。 -a(--access-log-name) :アクセスログ出力先ファイルを指定する。アク セスログ出力フラグを出力に設定した場合、 必須指定項目。アクセスログローテーション設 定を logrotate-args として設定可能。 logrotate-args を省略した場合、設定ファイ ルに記載されたデフォルト設定にてローテー ションをおこなう。 ただし、既に追加済みの VirtualService にて 指定したアクセスログ出力先と同一の出力先を 指定した場合は、アクセスログローテーション 設定を変更する事はできない。 また、logrotate-args を省略した場合、既に追 加済みの VirtualService のアクセスログロー テーションの設定でローテーションを行う。 logrotate-args として設定可能なオプションは 以下。 --ac-rotate-type(必須): ローテーションのタイプとして、"date", "size", "datesize"の何れかを指定する。 --ac-rotate-max-backup-index(必須): バックアップファイルの最大数を 1 以上 12 以下の範囲で指定する。 --ac-rotate-max-filesize (--ac-rotate-typeにて "size", "datesize" 指定時必須): ログの最大サイズを指定する。 設定可能な範囲は、65535 ? ULONG_MAX まで の数値の整数値で、指定単位には、K(キロ)、 M(メガ)、G(ギガ)を指定可能。 また、K、M、Gを指定した場合、その値をバイ ト単位に変換した結果が65535 ? ULONG_MAX までの値でなければいけない。 --ac-rotate-rotation-timing (--ac-rotate-type にて "date", "datesize" 指定時必須): ローテーションを行うタイミングを "year", "month", "week", "date", "hour" の何れか で指定する。 --ac-rotate-rotation-timing-value (--ac-rotate-type にて "date", "datesize" 指定時必須): ローテーションを行う日付・時刻を指定する。 指定書式は以下。 --ac-rotate-rotation-timing "year" 時: "MM/dd hh:mm" (毎年MM月dd日hh時mm分) --ac-rotate-rotation-timing "month" 時: "dd hh:mm" (毎月dd日hh時mm分) --ac-rotate-rotation-timing "week" 時: "WEEK hh:mm" (毎週WEEK曜日hh時mm分) --ac-rotate-rotation-timing "date" 時 "hh:mm" (毎日hh時mm分) --ac-rotate-rotation-timing "hour" 時 "mm" (毎時mm分) 設定可能な値は、MM(1?12), dd(1?31), hh(0?23), mm(0?59), WEEK("sun", "mon", "tue", "wed", "thu", "fri", "sat") --session-thread-pool-size val-size:該当VirtualServiceでのスレッドプール数 を指定する。値の範囲は1?18446744073709551615の整数値。 省略時はl7vs.cfで設定した値になる。 ・説明 -t, -m で指定した VirtualService を新たに登録する。 指定されなかった指定可能パラメータオプションは初期値に設定される。 指定できるスケジューラの特徴は以下のとおり。 rr - Round Robin(ラウンドロビン): 利用可能な実サーバに対して均等にリクエストを割り当てる。 wrr - Weighted Round Robin(重み付けラウンドロビン): 利用可能な実サーバに対して重み付けに従って、リクエストを割り 当てる。重み付けは、-w オプションで指定。 lc - Least-Connection(最少コネクション) : 接続中のコネクションが最も少ないリアルサーバに対して、リクエ ストを割り当てる。 SorryServer 関連の設定については、以下の注意が必要。 ・VirtualService がサービス提供不可状態(Sorry 状態)となった 場合に回避するためのサーバの Endpoint を設定する。 サービス提供不可状態(Sorry 状態)には以下の 3 つがある。 ・-u オプションで指定したコネクション数を超えた場合 ・接続可能な RealServer が存在しない場合 ・-f オプションで明示的に Sorry 状態に設定された場合 (※) アクセスログ関連の設定については、以下の注意が必要。 アクセスログ出力ファイル設定(--access-log-name)は、VirtualService の変更コマンドで変更することができない。そのため、アクセスログ出力 フラグ(--access-log)を 0 から 1 に変更する可能性がある場合は、 あらかじめ VirtualService の追加時にアクセスログ出力ファイル設定を 行っておく必要がある。 2) VirtualService の削除 ・書式 l7vsadm -D -t service-address -m proto-module [module-args] ・制御種別オプション(必須) -D(--delete-service) :指定した VirtualService を削除する。 ・指定必須パラメータオプション -t(--tcp-service) :VirtualService の Endpoint を指定する。 (例) IPv4:-t 10.10.0.1:80 (例) IPv6:-t [::1]:80 -m(--proto-module) :ProtocolModule 名を指定する。 (例) -m sessionless ・指定可能パラメータオプション なし ・説明 -t, -m で指定した VirtualService を削除する。 3) VirtualService の一括削除 ・書式 l7vsadm -C ・制御種別オプション(必須) -C(--flush) :登録されているすべての VirtualService を一括 削除する。 ・指定必須パラメータオプション なし ・指定可能パラメータオプション なし ・説明 登録されている全 VirtualService が削除される。 4) VirtualService の変更 ・書式 l7vsadm -E -t service-address -m protocol-module [module-args] [-s schedule-module] [-u connection-count] [-b sorry-server] [-f sorry-flag] [--masq|--tproxy] [-Q up-stream-QoS-bps] [-q down-stream-QoS-bps] [-L access-log-flag] ・制御種別オプション(必須) -E(--edit-service) :指定した VirtualService の設定情報を変更す る。 ・指定必須パラメータオプション 以下のパラメータは変更前の VirtualService を特定するために指定し、 これらのパラメータの変更は変更コマンドでは出来ないため、変更する 場合は削除コマンド、追加コマンドで行う必要がある。 -t(--tcp-service) :VirtualService の Endpoint を指定する。 (例) IPv4:-t 10.10.0.1:80 (例) IPv6:-t [::1]:80 -m(--proto-module) :ProtocolModule 名を指定する。 (例) -m sessionless ProtocolModule 名に続いて ProtocolModule オプ ション (module-args) を指定することができる。 (例) -m sessionless --forwarded-for 指定できる ProtocolModule、および ProtocolModule オプションの詳細は、2.5を参照 ・指定可能パラメータオプション 以下が変更可能なパラメータである。 ・指定可能パラメータオプション -s(--scheduler) :ScheduleModule 名を指定する。 (例) -s rr, -s lc, -s wrr 指定できる ScheduleModule は rr(RoundRobin), wrr(WeightedRoundRobin), lc(LeastConnection)。 指定しない場合のデフォルトはrrとなる。 -u(--upper) :VirtualService への接続数の上限値を設定する。 上限値を超えた接続はSorryServer接続となる。 設定可能な範囲は、0?100000 の整数値で、指定し ない場合のデフォルト値は 0(上限なし、 SorryServer 接続しない)となる。 -b(--bypass) :SorryServer の Endpoint を指定する。 (例:-t sorry01:http, -t 10.10.0.1:80) 0.0.0.0:0 を指定した場合、SorryServer の Endpoint をクリアすることができる。 -f(--flag) :Sorry 状態設定フラグを設定する。 設定可能な値は、0 または 1 で、1 を指定すると Sorry 状態となり、0 を指定すると Sorry 状態解 除となる。 指定しない場合のデフォルト値は 0 (Sorry 状態解 除) となる。 --masq :SorryServer へのパケット転送方式を Masquarade 方式とし、SorryServer からは UltraMonkey-L7 サーバからの接続に見える。-tproxy を指定しない 場合、この方式がデフォルトとなる。 --tproxy :SorryServer へのパケット転送方式を Transparent Proxy 方式とし、SorryServer からは Client が直 接接続しているように見える。 本機能を使用する場合は 8.1 の設定が必要です。 -Q(--qos-up) :Client から VirtualService に対する帯域制限値 を bps で設定する。 設定可能な範囲は、0?999 の整数値 + 単位(最大 999K, 999M, 999G) で、指定しない場合のデフォル ト値は 0 (制限なし) となる。 単位には、K(キロ)、M(メガ)、G(ギガ)を指定 する必要がある。 -q(--qos-down) :RealServer から VirtualService に対する帯域制 限値を設定する。 設定可能な範囲は、0?999 の整数値 + 単位(最大 999K, 999M, 999G) で、指定しない場合のデフォル ト値は 0 (制限なし) となる。 単位には、K(キロ)、M(メガ)、G(ギガ)を指定 する必要がある。 -L(--access-log) : アクセスログ出力フラグを設定する。 設定可能な値は、0 または 1 で、1 を指定すると アクセスログを出力し、0 を指定するとアクセスロ グ出力解除となる。 ・説明 -t, -m で指定した VirtualService の設定情報を指定可能パラメータオ プションで指定した値に変更する。 指定必須パラメータオプションの値を変更することはできない。 登録時に ProtocolModule オプション (module-args) を指定した場合は 指定が必要。 指定されなかった指定可能パラメータオプションの値は変更されない。 指定できるスケジューラの特徴は以下のとおり。 rr - Round Robin(ラウンドロビン): 利用可能な実サーバに対して均等にリクエストを割り当てる。 wrr - Weighted Round Robin(重み付けラウンドロビン): 利用可能な実サーバに対して重み付けに従って、リクエストを割り 当てる。重み付けは、-w オプションで指定。 lc - Least-Connection(最少コネクション) : 接続中のコネクションが最も少ないリアルサーバに対して、リクエ ストを割り当てる。 SorryServer 関連の設定については、以下の注意が必要。 ・VirtualService がサービス提供不可状態(Sorry 状態)となった 場合に回避するためのサーバの Endpoint を設定する。 サービス提供不可状態(Sorry 状態)には以下の 3 つがある。 ・-u オプションで指定したコネクション数を超えた場合 ・接続可能な RealServer が存在しない場合 ・-f オプションで明示的に Sorry 状態に設定された場合 (※) アクセスログ関連の設定については、以下の注意が必要。 アクセスログ出力ファイル設定(--access-log-name)は、VirtualService の変更コマンドで変更することができない。そのため、アクセスログ出力 フラグ(--access-log)を 0 から 1 に変更する可能性がある場合は、 あらかじめ VirtualService の追加時にアクセスログ出力ファイル設定を 行っておく必要がある。 2.4.3 RealServer 設定コマンド 1) RealServer の追加 ・書式 l7vsadm -a -t service-address -m proto-module [module-args] -r server-address [-w weight] [--masq|--tproxy] ・制御種別オプション(必須) -a(--add-server) :指定した VirtualService に RealServer を追加 する。 ・指定必須パラメータオプション -t(--tcp-service) :VirtualService の Endpoint を指定する。 (例) IPv4: -t 10.10.0.1:80 (例) IPv6: -t [::1]:80 -m(--proto-module) :ProtocolModule 名を指定する。 (例) -m sessionless -r(--real-server) :追加する RealServer の Endpoint を指定する。 (例) IPv4: -r 10.10.0.1:80 (例) IPv6: -r [::1]:80 ・指定可能パラメータオプション -w(--weight) :RealServer への振り分けに使用する weight 値を 設定する。 設定可能な範囲は、0?100 の整数値で、指定しな い場合のデフォルト値は 1(振り分け可)となる。 0 を指定した場合は、振り分け不可となる。 --masq :RealServer へのパケット転送方式を Masquarade 方式とし、RealServer からは UltraMonkey-L7 サーバからの接続に見える。-tproxy を指定しない 場合、この方式がデフォルトとなる。 --tproxy :RealServer へのパケット転送方式を Transparent Proxy 方式とし、RealServer からは Client が直 接接続しているように見える。 ・説明 -t, -m で指定した VirtualService に -r で指定した RealServer を新 たに登録する。 指定されなかった指定可能パラメータオプションは初期値に設定される。 2) RealServer の削除 ・書式 l7vsadm -d -t service-address -m proto-module [module-args] -r server-address ・制御種別オプション(必須) -d(--delete-server):指定した VirtualService から RealServer を削 除する。 ・指定必須パラメータオプション -t(--tcp-service) :VirtualService の Endpoint を指定する。 (例) IPv4: -t 10.10.0.1:80 (例) IPv6: -t [::1]:80 -m(--proto-module) :ProtocolModule 名を指定する。 (例) -m sessionless -r(--real-server) :追加する RealServer の Endpoint を指定する。 (例) IPv4: -r 10.10.0.1:80 (例) IPv6: -r [::1]:80 ・指定可能パラメータオプション なし ・説明 -t, -m で指定した VirtualService から -r で指定した RealServer を 削除する。 3) RealServer の変更 ・書式 l7vsadm -e -t service-address -m proto-module [module-args] -r server-address [-w weight] ・制御種別オプション(必須) -e(--edit-server) :指定した VirtualService の RealServer 情報を 変更する。 ・指定必須パラメータオプション -t(--tcp-service) :VirtualService の Endpoint を指定する。 (例) IPv4: -t 10.10.0.1:80 (例) IPv6: -t [::1]:80 -m(--proto-module) :ProtocolModule 名を指定する。 (例) -m sessionless -r(--real-server) :追加する RealServer の Endpoint を指定する。 (例) IPv4: -r 10.10.0.1:80 (例) IPv6: -r [::1]:80 ・指定可能パラメータオプション -w(--weight) :RealServer への振り分けに使用する weight 値を 設定する。 設定可能な範囲は、0?100 の整数値で、指定しな い場合のデフォルト値は 1(振り分け可)となる。 0 を指定した場合は、振り分け不可となる。 ・説明 -t, -m で指定した VirtualService に登録されている -r で指定した RealServer の設定情報を指定可能パラメータオプションで指定した値に 変更する。 指定必須パラメータオプションの値を変更することはできない。 指定されなかった指定可能パラメータオプションは変更されない。 2.4.4 Replication 機能制御コマンド ・書式 l7vsadm -R -s replication-switch l7vsadm -R -f l7vsadm -R -d ・制御種別オプション(必須) -R(--replication) :Replication 機能の制御コマンドを実行する。 ・指定必須パラメータオプション -s(--switch) :Replication 機能の開始/停止を指定する。 start を指定すると Replication 機能開始となり stop を指定すると Replication 機能停止となる。 -f(--force) :データを強制即時レプリケーションする。 -d(--dump) :Replication データのダンプを実行する。 ・指定可能パラメータオプション なし ・説明 Replication 機能の各種制御(Replication 機能の開始/停止、強制的に 即時レプリケーション、Replication データのダンプ)を行う。 2.4.5 ログ機能制御コマンド ・書式 l7vsadm -L -c log-category -l log-level ・制御種別オプション(必須) -L(--log) :ログ機能の制御コマンドを実行する。 ・指定必須パラメータオプション -c(--category) :l7vsd の出力ログレベルを変更する場合に、変更する l7vsd のログカテゴリ文字列を指定する。 指定できるログカテゴリは、以下の説明を参照のこと all を指定した場合は、全ログカテゴリのログレベル が一括して変更される。 -l(--level) :負荷分散プロセスの出力ログを指定した動作ログレベ ルに変更する。 指定できるログレベルは、fatal, error, warn, info, debug の 5 種類。 ・指定可能パラメータオプション なし ・説明 ログ機能の各種制御(負荷分散プロセス動作ログレベルの変更)を行う。 ログカテゴリ文字列は省略形の文字列で指定することも可能である。 ログカテゴリ文字列の一覧を以下に示す。 指定可能ログカテゴリ文字列 (省略形) l7vsd_network (nw) l7vsd_network_qos (nw_qos) l7vsd_network_bandwidth (nw_bw) l7vsd_network_num_connection (nw_conn) l7vsd_network_access (nw_acc) l7vsd_mainthread (mth) l7vsd_virtualservice (vs) l7vsd_virtualservice_thread (vs_th) l7vsd_session (ss) l7vsd_session_thread (ss_th) l7vsd_realserver (rs) l7vsd_sorryserver (sorry) l7vsd_module (mod) l7vsd_replication (rep) l7vsd_replication_sendthread (rep_sth) l7vsd_parameter (para) l7vsd_logger (logger) l7vsd_command (cmd) l7vsd_start_stop (stastp) l7vsd_system (sys) l7vsd_system_memory (sys_mem) l7vsd_system_endpoint (sys_ep) l7vsd_system_signal (sys_sig) l7vsd_system_environment (sys_env) l7vsd_snmpagent (agent) l7vsd_protocol (prot) l7vsd_schedule (sched) all (省略形なし) 2.4.6 SNMPAgent制御コマンド ・書式 l7vsadm -S [-f snmp-flag] [-i update-interval] [-t log-trap-flag] [-l log-trap-level] l7vsadm -S -r [-t service-address -m proto-module]   ・制御種別オプション(必須)   -S(--snmp) : SNMPAgentの制御コマンドを実行する。   ・指定必須パラメータオプション   なし。   ・指定可能パラメータオプション -f(--flag) : SNMPAgent機能の有効/無効を指定する。   指定できる値は、1と0の2種類   1を指定するとSNMPAgent機能有効となり、0を指定するとSNMPAgent   機能無効となる   -i(--interval) : SNMPAgent機能のMIB情報の最小収集間隔の秒数を指定する。   指定できる値は、0以上の整数。  指定された収集期間が0の場合、MIB情報キャッシュが無効となる。    -t(--logtrap) : SNMPAgentのログトラップ発出機能の有効/無効を指定する。   指定できる値は、1と0の2種類   1を指定するとSNMPAgentのログトラップ機能有効となり、   0を指定するとSNMPAgentのログトラップ機能無効となる。   -l(--logtraplevel) : SNMPAgentのログトラップ発出レベルを指定する。   指定できるログレベルは、fatal、error、warn、info、debugの   5種類。   -r(--refresh) : HTTPリクエスト統計情報をクリアする。   -rオプションに続いて仮想サービスを指定することができる。   仮想サービスが指定する時、当該仮想サービスのHTTP統計情報を   クリアする。   仮想サービスが指定しない時、全ての仮想サービスのHTTP統計   情報をクリアする。   HTTP統計情報をクリアした際、 サーバ接続数情報(InactConn)も   クリアする。   ・説明    SNMPAgentの各種制御(SNMPAgent機能の有効/無効、MIB収集間隔の変更、   SNMPAgentのログトラップ発出機能の有効/無効、ログトラップ発出レベルの変更、   HTTPリクエスト統計情報のクリア)を行う。 2.4.7 パラメータ管理機能制御コマンド ・書式 l7vsadm -P -r reload-parameter ・制御種別オプション(必須) -P(--parameter) :パラメータ管理機能の制御コマンドを実行する。 ・指定必須パラメータオプション -r(--reload) :指定した設定パラメータを再読み込みし、設定を反映 する。 指定できる設定パラメータ文字列は、replication, logger, snmpagent があり all を指定した場合は、 全ての種類の設定パラメータが再読み込みされ、反映 される。 ・指定可能パラメータオプション なし ・説明 パラメータ管理機能の各種制御(設定パラメータの再読み込み)を行う。 再読み込みで指定できる設定パラメータは、Replication 機能の設定 (replication)、ログ機能の設定 (logger)、SNMPAgent の設定 (snmpagent) である。 これ以外の設定パラメータも指定可能だが、将来の拡張用として用意して あるため、指定しても何も起こらない。 指定できる設定パラメータ文字列の一覧を以下に示す。 指定可能パラメータ設定文字列 all l7vsd (指定可能だが未対応) command (指定可能だが未対応) session (指定可能だが未対応) virtualservice (指定可能だが未対応) module (指定可能だが未対応) replication logger l7vsadm (指定可能だが無効) snmpagent ssl (指定可能だが無効) 2.4.8 Help 表示コマンド ・書式 l7vsadm -h ・制御種別オプション(必須) -h(--help) :コマンドの使用方法を表示する。 ・指定必須パラメータオプション なし ・指定可能パラメータオプション なし ・説明 コマンド書式、および各オプションの説明が表示される。 -------------------------------------------------------------------------------- 2.5 ProtocolModule オプション説明 ProtocolModule オプションは、各 ProtocolModule のセッション管理方法に対応し た設定であり、オプションの指定方法は、各 ProtocolModule によって異なるが、 基本的な書式は以下のようにななります。 [基本書式] --moudule-option module-args 以下に各 ProtocolModule オプションのオプション説明、使用方法を示します。 また、各オプションの括弧内の記述は省略表現のオプションになります。 (1) Session less モジュールオプション RealServer への振り分けをスケジュール部に任せ UltraMonkey-L7 では何も行 わないモジュール (UltraMonkey-L4 とほぼ同等の動作をするモジュール) --forwarded-for(-F) Client の IP アドレスを X-Forwarded-For ヘッダフィールドに挿入する よう指示する。 デフォルト(指定しない場合の)動作は挿入しない。 --sorry-uri URI文字列(-S) SorryServer 接続時に取得するURIをシングルクォーテーション(')で囲ん で指定する。 --statistic (-c)       ・HTTPリクエスト総数       ・HTTP GETリクエスト総数       ・HTTP POSTリクエスト総数       上記の三つ統計情報の統計を行うよう指定する。       設定可能な値は、0または1で、1を指定すると情報を統計して、0を指定すると 情報を統計しない。指定しない場合のデフォルトは0となる。 (2) IP モジュールオプション Client の IP アドレスを元に RealServer への振り分けを行うモジュール --timeout 数値 (-T) UltraMonkey-L7 でセッション情報を管理しておく期間(秒)を設定する。 設定可能な範囲は、0 ? INT_MAX の整数値で、指定しない場合のデフォル ト値は 3600 (1 時間)となる。0 を指定した場合、管理期間は無制限とな る。 --forwarded-for(-F) Client の IP アドレスを X-Forwarded-For ヘッダフィールドに挿入する よう指示する。 デフォルト(指定しない場合の)動作は挿入しない。 --reschedule(-R) セッション維持失敗時に再スケジュールを行うよう指定する。 指定しない場合のデフォルトは--no-rescheduleとなる。 --no-reschedule(-N) セッション維持失敗時に再スケジュールを行なわないよう指定する。 --sorry-uri URI文字列(-S) SorryServer 接続時に取得するURIをシングルクォーテーション(')で囲ん で指定する。 --statistic (-c)      ・HTTPリクエスト総数       ・HTTP GETリクエスト総数       ・HTTP POSTリクエスト総数       上記の三つ統計情報の統計を行うよう指定する。       設定可能な値は、0または1で、1を指定すると情報を統計して、0を指定すると 情報を統計しない。指定しない場合のデフォルトは0となる。 (3) SSL Session IDモジュール(sslid)オプション RealServer 側で付与された SSL Session ID を UltraMonkey-L7 で管理するこ とでセッション管理をするモジュールです。 --timeout(-T) 数値 UltraMonkey-L7 v2 まで使用されていたオプションであり、互換性確保の ために留置してある。指定しても効果はない。 --maxlist(-M) 数値 UltraMonkey-L7 でセッション情報 (SSL Session ID) を管理しておくリス ト数を設定する。 設定可能な範囲は、0?INT_MAX の整数値でで、指定しない場合のデフォル ト値は 1024 となる。 0 を指定した場合、リスト数はデフォルト値の 1024 となる。 --reschedule(-R) セッション維持失敗時に再スケジュールを行うよう指定する。 指定しない場合のデフォルトは --no-reschedule となる。 --no-reschedule(-N) セッション維持失敗時に再スケジュールを行なわないよう指定する。 ================================================================================ 3 l7vsadm 設定例 各 ProtocolModule に対する設定例を以下に示します。 -------------------------------------------------------------------------------- 3.1 Sessionless モジュールの設定例 Sessionless モジュールの使用には必須オプションはありません。 # l7vsadm -A -t 192.168.8.100:80 -m sessionless -s rr # l7vsadm -a -t 192.168.8.100:80 -m sessionless -r 192.168.16.11:80 # l7vsadm -a -t 192.168.8.100:80 -m sessionless -r 192.168.16.12:80 以上の設定にて、各RealServerへ振分けを行います。    IPv6を用いた場合は以下のようになります。 # l7vsadm -A -t [xxxx:xxxx:xxxx::]:80 -m sessionless -s rr # l7vsadm -a -t [xxxx:xxxx:xxxx::]:80 -m sessionless -r yyyy:yyyy:yyyy:::80 # l7vsadm -a -t [xxxx:xxxx:xxxx::]:80 -m sessionless -r 192.168.16.12:80 ※アドレス両端の[]は省略可。IPv4と混在可。IP addressモジュール     SSL SessionIDモジュールにおいてもIPv6アドレスの利用方法は同じです。 -------------------------------------------------------------------------------- 3.2 IP address モジュールの設定例 セッションを管理する期間を指定し、Client の IP アドレスを X-Forwarded-For フィールドに挿入する場合には、以下のように設定します。 # l7vsadm -A -t 192.168.8.100:80 -m ip --timeout 7200 --forwarded-for -s rr # l7vsadm -a -t 192.168.8.100:80 -m ip -r 192.168.16.11:80 # l7vsadm -a -t 192.168.8.100:80 -m ip -r 192.168.16.12:80 以上の設定にて、各RealServerへ振分けを行います。 -------------------------------------------------------------------------------- 3.3 SSL Session ID モジュールの設定例 SSL Session ID を管理するリスト数を指定する設定となります。 # l7vsadm -A -t 192.168.8.100:80 -m sslid --maxlist 512 -s rr # l7vsadm -a -t 192.168.8.100:80 -m sslid -r 192.168.16.11:80 # l7vsadm -a -t 192.168.8.100:80 -m sslid -r 192.168.16.12:80 以上の設定にて、512 個の SSL Session ID を管理します。 ================================================================================ 4 L7サーバ監視設定ツールの説明 -------------------------------------------------------------------------------- 4.1 設定ファイル(l7directord.cf)の説明 UltraMonkey-L7 は、2 で示したコマンドベースによる設定方法と l7directord に よる設定ファイルを使用した設定方法があります。 ここでは設定ファイルであるl7directord.cfの説明を行います。詳細は l7directord(1) を参照願います。 -------------------------------------------------------------------------------- 4.2 l7directord.cf の設定項目 設定ファイルのサンプルは /etc/ha.d/conf/l7directord.cf.sample にインストー ルされます。環境にあわせて編集後、/etc/ha.d/conf/l7directord.cf または、 /etc/ha.d/l7directord.cf に保存し、l7directord を起動すれば、振り分け設定が l7vsd に反映されます。 4.2.1 全体設定 設定ファイルの行頭に設定項目名が書かれているものは、全体に関与する設 定項目で、全ての VirtualService に対して効果を持ちます。 VirtualService によって設定を変えたい場合は、一部の設定項目のみ後述の VirtualService 毎の設定で上書きすることが可能です。 4.2.1.1 RealServer 監視設定 RealServer の監視に関する時間や回数に関する設定 (1) checktimeout (省略時: 5) Ping 監視、ポート監視で、この設定秒数未満で正常な応答が得られない 場合は、監視失敗として監視失敗回数を 1 増加させます。 (2) negotiatetimeout (省略時: 5) サービス監視で、この設定秒数未満で正常な応答が得られない場合は、 監視失敗として監視失敗回数を 1 増加させます。 (3) checkinterval (省略時: 10) この設定秒数間隔で監視を実施します。 (4) retryinterval (省略時: 5) 監視失敗時は、この設定秒数間隔で監視を実施します。checkinterval 以下の秒数を設定することで、異常検知にかかる時間を短縮できます。 (5) checkcount (省略時: 3) 監視失敗回数が、この設定回数に達した場合に、対象サーバを異常と判 断し、l7vsd から切り離します。 サーバ異常と判断するまでの時間について例を挙げる checktimeout=5 (もしくは negotiatetimeout=5) retryinterval=1 checkcount=3 上記の設定でサーバに異常があり、監視が常にタイムアウトするとすると 最初の監視が始まり、5 秒後にタイムアウト(失敗 1 回目)、1 秒間待って 次の監視が始まり、5 秒後にタイムアウト(失敗 2 回目)、1 秒間待って、 次の監視が始まり、5 秒後にタイムアウト(失敗 3 回目)して、サーバ異常 と判断されて振り分けから除外される。つまり、監視開始から 17 秒後に サーバ異常となる。(5 + 1 + 5 + 1 + 5 = 17) ただし、ここで示した秒数は全てタイムアウトした場合であるため、異常 と判断されるまでの最大の秒数となっており、例えばサービス監視でサー ビスを提供するプロセスがダウンしていた場合は、特定ポートへの接続に 失敗するため、監視開始後、瞬時に失敗と判断される。そのため、上記の 例だと約 2 秒後に 3 回監視失敗となり、サーバ異常と判断される。 (0 + 1 + 0 + 1 + 0 = 2) サーバ異常後、監視に成功した場合は、自動的に l7vsd の振り分け対象に 追加される。 4.2.1.2 ログ出力設定 l7directord のログ出力に関する設定 (1) logfile (省略時: /var/log/l7vs/l7directord.log) l7directord のログ出力先を指定します。絶対パスで記述 (先頭が /) した場合は、そのファイルに出力され、それ以外の場合は syslog に出 力されます。syslog に出力される場合、設定値がファシリティとなりま す。 (例: logfile = /var/log/l7vs/l7directord.log, logfile = local0) (2) supervised この設定を行った場合、l7directord プロセスがデーモンとならずに動 作し、ログを標準出力、標準エラーに出力する。 設定項目のうち supervised のみ後ろに値を取らず (= 1 などはいらな い) supervised と記述するだけでよい。 この設定は外部ツールとして daemontools でデーモン監視をする際に有 効です。 4.2.1.3 RealServer 異常時の設定 監視異常の際の挙動に関する設定 (1) quiescent (省略時: yes) RealServer 異常時は l7vsd の振り分けから除外されますが、その除外 の仕方に関する設定です。この設定を有効にした場合、異常と判断され た RealServer は l7vsd から削除されずに、重み (weight) が 0 に設 定されることで、振り分け対象から外されます。無効の場合は、l7vsd から削除されます。 (2) fallback VirtualService に属する RealServer が全て異常となり、どの RealServer にも振り分けられなくなった場合に、自動的に追加される 代替 RealServer の設定です。IP アドレスとポート番号を指定します。 この設定により追加された fallback サーバは、RealServer が回復して 正常に振り分けができるようになった際に自動的に削除されます。 (例: fallback = 127.0.0.1:80) 4.2.1.4 設定ファイルの監視設定 設定ファイルの変更を監視する設定 l7directord は設定ファイルを定期的に監視し、変更が起きた場合にいく つかの動作を起こすことが出来ます。設定ファイルの監視では、設定ファ イルの MD5 チェックサムが変化した場合に、中身が変更されたと判断して おり、ファイルの更新時間だけが変化した場合などは無視されます。 (1) configinterval (省略時: 10) 設定ファイルの変更を監視する秒間隔を指定します。 (例: configinterval = 5) (2) autoreload (省略時: no) 設定ファイルが変更されたことを検知した場合に、その変更後の内容を プロセスに反映するかどうかを設定します。 (3) callback この設定に、絶対パスで実行可能なファイルを指定すると、設定ファイ ルの変更を検知した際に、設定ファイルを引数として実行します。この 設定は autoreload 設定とは関係なく、autoreload が no の場合も実行 されます。 4.2.2 VirtualService 毎の設定 virtual 行以降で、先頭にインデントが置かれて設定項目名が書かれている ものは、その virtual に関してのみ作用する設定です。 4.2.2.1 VirtualService の定義 (1) virtual VirtualService の IP アドレスとポート番号を指定する。 この設定項目のみ行頭に書く必要がある (例: virtual = 192.168.0.2:80, virtual = [::1]:80) (2) module (省略時: sessionless) VirtualService に設定するプロトコルモジュールと必要であれば、その オプションを指定する。現在設定可能なプロトコルモジュールは以下の 3 つ。 sessionless, ip, sslid (例: module = sessionless --forwarded-for) (3) scheduler (省略時: rr) VirtualService に設定するスケジュールモジュールを指定する。現在指 定可能なスケジュールモジュールは以下の 3 つ。 rr, wrr, lc (例: scheduler = lc) (4) sorryserver VirtualService が sorry 状態になった際に振り分けられる Sorry サー バの IP アドレス、ポート番号、パケット転送方式を指定する。 パケット転送方式は masq または tproxy を指定し、省略時は masq 設 定となる。なお、tproxy 設定を使用する場合は 8.1 の設定が必要です。 (例: sorryserver = 192.168.1.101:80 tproxy) (5) maxconn (省略時: 0) VirtualService あたりの最大同時接続数を指定する。これを超える接続 があった場合は、Sorry サーバに振り分けられる。0 を指定した場合は 制限無しとなる。 (例: maxconn = 1000) (6) qosup (省略時: 0) VirtualService あたりの許容スループット(上り方向)を指定する。こ の設定を超えるスループットになる場合は、パケットの転送が遅延され る。0 を指定した場合は、制限なしとなる。 (例: qosup = 200K) (7) qosdown (省略時: 0) VirtualService あたりの許容スループット(下り方向)を指定する。こ の設定を超えるスループットになる場合は、パケットの転送が遅延され る。0 を指定した場合は、制限なしとなる。 (例: qosdown = 100M) (8) sslconfigfile VirtualService が Clientとの通信の際に SSL 通信を行う場合、SSL 設定ファイルのパスを指定する。 (例: sslconfigfile = /etc/l7vs/sslproxy/sslproxy.target.cf) (9) socketoption VirtualService(TCP) で使用するソケットのオプションを指定する。 (例: socketoption = deferaccept,nodelay,quickackoff) (10) accesslog アクセスログ出力の有無を yes, no で設定する。 (例: accesslog = yes) (11) accesslogfile アクセスログ出力対象のログファイル名をフルパスで指定する。 (例: accesslogfile = /var/log/l7vs/l7vsd_conn.log) (12) accesslog_rotate_type ローテーションのタイプとして、date, size, datesize の何れかを 指定する。 (例: accesslog_rotate_type = datesize) (13) accesslog_rotate_max_backup_index バックアップファイルの最大数を指定する。 (例: accesslog_rotate_max_backup_index = 2) (14) accesslog_rotate_max_filesize ログの最大サイズを指定する。K(キロ)、M(メガ)、G(ギガ)での指定も 可能。 (例: accesslog_rotate_max_filesize = 100M) (15) accesslog_rotate_rotation_timing ローテーションを行うタイミングを year, month, week, date, hour の何れかで指定する。 (例: accesslog_rotate_rotation_timing = month) (16) accesslog_rotate_rotation_timing_value ローテーションを行う日付・時刻を指定する。 (例: accesslog_rotate_rotation_timing_value = "1 23:59") (17) session_thread_pool_size VirtualService でプールするスレッド数を指定する。 (例: session_thread_pool_size = 32) 4.2.2.2 RealServer の定義と監視設定 (1) real RealServer の IP アドレスとポート番号を指定する。オプションとして パケット転送方式、重み (weight)、後述の request, receive を RealServer 毎、個別に設定できる。なお、パケット転送方式は masq, tproxy が指定可能です。また、IP アドレスは -> を挟んで範囲指定す ることも出来ます。なお、tproxy 設定を使用する場合は 8.1 の設定が 必要です。 (例: real = 192.168.0.11:80, real = 192.168.0.11:80 masq 100 index.html 'Test Page', real = 192.168.0.11->192.168.0.15:80 tproxy) (2) checkport RealServer の監視を行う際に、real で指定したポート番号と、別の ポートに監視リクエストを送る場合に、ポート番号を設定します。 (3) checktype (省略時: negotiate) RealServer の監視方法を指定します。以下の 6 種類から選択します。 negotiate : サービス監視を行う connect : ポート監視を行う ping : Ping 監視を行う 数値 : サービス監視とポート監視を併用する custom : カスタム監視を行う off : 監視せずに、常にサーバ異常と判断する on : 監視せずに、常にサーバ正常と判断する negotiate の場合は後述の設定を行う必要があります。数値の場合は、 設定した数値回数のポート監視と 1 回のサービス監視を繰り返します。 サービス監視による負荷が大きい場合に有効です。custom の場合は後述 の customcheck 設定を行う必要があります。 (4) service (省略時: none) サービス監視時の監視サービスを指定します。以下の 13 種類から選択 します。 1) http HTTP で接続し、ドキュメントルートにリクエスト送信、レスポンス 確認を行います。レスポンスコードが 4xx, 5xx の場合は監視失敗と 判断されます。後述の request, receive, httpmethod, virtualhost をオプションとして設定可能。 2) https HTTPS で接続し監視します。他は http と同一。 3) smtp SMTP で接続し、サーバが正常な SMTP 応答を返すことを確認する。 4) pop POP3 で接続し、サーバが正常な POP3 応答を返すことを確認する。 後述の login, passwd をオプションとして設定可能。 5) imap IMAP で接続し、サーバが正常な IMAP 応答を返すことを確認する。 後述の login, passwd をオプションとして設定可能。 6) ftp FTP で接続し、login, passwd で設定した値でログインできることを 確認する。後述の request, receive をオプションとして設定可能。 7) ldap LDAP で接続し、サーバが正常な LDAP 応答を返すことを確認する。 後述の request, receive をオプションとして設定可能。 8) dns DNS サーバに接続し、名前解決が正常に行えることを確認する。後述 の request, receive を設定する必要がある。 9) nntp NNTP で接続し、サーバが正常な NNTP 応答 (ステータスコード 2xx) を返すことを確認する。 10) pgsql 指定した PostgreSQL データベース (database 項目で指定) に接続 できることを確認する。後述の request, receive をオプションとし て設定可能。 11) mysql 指定した MySQL データベース (database 項目で指定) に接続できる ことを確認する。後述の request, receive をオプションとして設定 可能。 12) sip SIP サーバに接続し、指定した Call ID で正常な応答 (ステータス コード 200) を返すことを確認する。後述の login も参照。 13) none 何も行わず、サーバ正常と判断する。 (5) request 以下のように service の設定によって、動作が異なる。 i) http, https 監視用の URL を http://? で指定、または URI で指定する。指定 した場合は、その URL を取得するリクエスト (GET または HEAD) を 送信する。URI の場合、先頭の / はつけてもつけなくてもかまわな い。 (例: request = http://192.168.0.2/foo/bar/index.html, request = /doc/manual.html, request = favicon.ico) ii) ftp 監視用のファイルを指定する。FTP 監視ではログイン後 / に移動す るため、/ からの相対パスとして記述しても、絶対パスとして記述し てもよい。指定した場合は、そのファイルが GET できるか確認され る。 (例: request = /etc/passwd, request = etc/hosts) iii) ldap LDAP で検索する際の BaseDN を指定する。指定した場合は、BaseDN をスコープ base、フィルタ (objectClass=*) で検索し、見つかるこ とを確認する。 (例: request = dc=my-domain,dc=com) iv) dns DNS で名前解決する際のリクエストを指定する。指定したリクエスト を正引き、または逆引きできるかを確認する。後述の receive も設 定する必要がある。 (例: request = www.example.com, request = 127.0.0.1) v) pgsql, mysql データベース接続後に送信するクエリーを指定する。結果が 0 行の 場合、監視失敗と判断される。 (例: request = 'select * from test', request = 'insert into test values (1)', request = 'delete from test where test = 1') (6) receive 以下のように service の設定によって、動作が異なる。いずれも request の設定が必須である。 i) http, https 取得した URL のデータ内に、ここで指定する文字列が存在するかが 確認される。常に Perl の正規表現で確認されるため、'.' などの文 字は注意する必要がある。 (例: receive = "DOCTYPE HTML PUBLIC", receive = "2009\.[01][0-9]\.[0-3][0-9]") ii) ftp 取得したファイルのデータ内に、ここで指定する文字列が存在するか が確認される。常に Perl の正規表現で確認されるため、'.' などの 文字は注意する必要がある。 (例: receive = "root.*\/bin\/bash", receive = "127\.0\.0\.1") iii) ldap LDAP の検索結果に、ここで指定する文字列が存在するかが確認され る。常に Perl の正規表現で確認されるため、'.' などの文字は注意 する必要がある。 (例: receive = 'dc=my-domain,dc=com', receive = '^dc=[^,]+,dc=[^,]+$') iv) dns DNS で request に設定した値を名前解決した結果を指定します。 (例: receive = '192.168.0.101', receive = 'localhost') v) pgsql, mysql request で指定したクエリーを処理した結果の行数を 1 以上で指定 します。 (例: receive = 1) (7) login service によって若干動作が異なる。 i) pop, imap, ftp, pgsql, mysql ログイン名として使われる。passwd の設定も必要。 (例: login = postgres) ii) sip Call ID として使われる。 (8) passwd service が pop, imap, ftp, pgsql, mysql の際にログインのパスワー ドとして使われる。 (例: passwd = password) (9) httpmethod (省略時: GET) service が http, https の際に送信するリクエストのメソッドを指定し ます。GET または HEAD が指定できます。 (例: httpmethod = HEAD) (10) virtualhost service が http, https の際に送信するリクエストの Host フィールド を指定します。 (例: virtualhost = www.example.net) (11) database service が pgsql, mysql の際に、接続するデータベース名を指定しま す。 (例: database = template1) (12) realdowncallback RealServer の異常を検知した際に、実行するファイルを指定します。指 定された場合、異常サーバの IP アドレスを引数としてファイルが実行 されます。 (例: realdowncallback = /usr/local/bin/down_notify.sh) (13) realrecovercallback RealServer の回復を検知した際に、実行するファイルを指定します。指 定された場合、異常から回復したサーバの IP アドレスを引数として、 ファイルが実行されます。 (例: realrecovercallback = /usr/local/bin/recover_notify.sh) (14) customcheck checktype に custom を指定した際に、RealServer 監視として実行する コマンドを指定します。コマンドの実行結果が 0 の場合は監視成功、そ れ以外の場合は監視失敗となります。コマンド文字列中の _IP_ は監視 対象の RealServer の IP アドレスに、_PORT_ はポート番号に置き換え られます。 (例: customcheck = wget -q -O /dev/null http://_IP_:_PORT_/) 4.2.2.3 上書き可能な全体設定項目 以下の全体設定項目は VirtualService 毎の設定内にも記述することがで き、その場合は、全体設定項目の設定値を無視して、その VirtualService のみの固有の設定として扱われる。 ・checkcount ・checkinterval ・retryinterval ・checktimeout ・negotiatetimeout ・quiescent ・fallback 4.3 サンプル 例として、期待する機能を持たせる為の設定パターンをいくつか挙げる。 各々について記載のない定義値に関しては省略時の値が使用されるものとする。 1) 2 台の RealServer に振り分け Ping で監視する virtual = xxx.xxx.xxx.xxx:80 real = 192.168.1.2:80 real = 192.168.1.3:80 checktype = ping 2) 2 台の RealServer にそれぞれの重みを 2:3 に変えて、重みつきの振り分け を行う。また、サービス監視を行い、Apache の mod_status を用いてアイドル 状態の worker があることを確認する。 virtual = xxx.xxx.xxx.xxx:80 real = 192.168.1.2:80 2 real = 192.168.1.3:80 3 scheduler = wrr service = http request = /server-status receive = "[1-9][0-9]? idle workers" 3) 2 台の RealServer に振り分け sslid モジュールを使って、クライアントの セッションを維持する。 virtual = xxx.xxx.xxx.xxx:443 real = 192.168.1.2:443 real = 192.168.1.3:443 module = sslid 4) IPv6の設定例 アドレス両端の[]は省略可。IPv4と混在可。 virtual = [xxxx:xxxx:xxxx::]:80 real = 192.168.1.2:80 real = [::1]:80 virtual = xxxx:xxxx:xxxx:::8080 real = ::1:80 ================================================================================ 5 Replication機能 -------------------------------------------------------------------------------- 5.1 Replication 機能の説明 Replication 機能は、Heartbeat2 による冗長化構成の際に、MASTER サーバと SLAVE サーバの間で SSL セッション ID 情報、VirtualService の QoS 情報、 Sorry フラグ情報などの同期を行うために使用する機能です。 Replication 機能は、冗長化構成、および機能の実行状況により以下の状態 (Replication Mode) で動作します。 現在の状態は、"l7vsadm -V" コマンドで確認できます。 SINGLE :非冗長化構成で、Replication が機能していない状態 MASTER :冗長化構成で、Replication がMASTERサーバとして実行中(同期 元)である状態 SLAVE :冗長化構成で、Replication がSLAVEサーバとして実行中(同期 先)である状態 MASTER_STOP:MASTER(同期元)で、コマンドによりReplication 機能が停止し ている状態 SLAVE_STOP :SLAVE(同期先)で、コマンドによりReplication 機能が停止し ている状態 上記の MASTER ⇔ MASTER_STOP、SLAVE ⇔ SLAVE_STOP の状態切替は、Replication 機能制御コマンドの "l7vsadm -R -s stop"、"l7vsadm -R -s start" で行うことが できます。 Replication 機能に関する設定(対向サーバ情報、利用コンポーネント情報などは、 UltraMonkey-L7 設定ファイルの [replication] セクションに記述します。 設定方法の詳細は、6 UltraMonkey-L7 設定ファイルの説明を参照 また、Replication 機能制御コマンドにより、強制的に現在の Replication データ を SLAVE サーバに反映させたり、現在の Replication データをダンプしたりする ことができます。 Replication 機能制御コマンドの詳細は、2.4.4 Replication 機能制御コマンドを 参照 ================================================================================ 6 UltraMonkey-L7設定ファイルの説明 -------------------------------------------------------------------------------- 6.1 設定ファイル (l7vs.cf) の説明 UltraMonkey-L7 に関する各種設定を記述することができます。 設定可能な項目は、[logger], [l7vsadm], [l7vsd], [virtualservice], [replication], [session] の 6 種類で、各々のセクションごとに記述します。 [logger] ・UltraMonkey-L7 を構成する各プロセス(l7vsd/l7vsadm/SNMPAgent)のログ 出力に関する設定(ログファイル、ログローテーション、ログレベルなど) を記述します。 [l7vsadm] ・l7vsadm コマンドに関する設定(2 重起動チェック、l7vsd 接続チェックな ど)を記述します。 [replication] ・Replication 機能に関する設定(対向サーバ情報、利用コンポーネント情報 など)を記述します。 [l7vsd] ・l7vsd プロセスに関する設定(ファイルオープン最大数など)を記述します。 [vitrualservice] ・VitrualService に関する設定(セッション数、スループット算出間隔など)を 記述します。 [replication] ・Replication 機能に関する設定(対向サーバ情報、利用コンポーネント情報な ど)を記述します。 [snmpagent] ・SNMPAgnet に関する設定を記述します。 [session] ・セッションに関する設定(受信バッファサイズなど)を記述します。 -------------------------------------------------------------------------------- 6.2 l7vs.cf のサンプルの説明 # ロガーセクション [logger] # l7vsd出力ログファイル l7vsd_log_filename = "/var/log/l7vs/l7vsd.log" # ログローテーション方法 # サイズ"size", 日付"date", 日付+サイズ"datesize" が指定できます l7vsd_rotation = "size" # ローテーションによるバックアップファイルの世代数 # 1 から 12 で指定できます l7vsd_max_backup_index = "10" # サイズによるローテーション時のファイルサイズ # 65535からULONG_MAXで指定できます # K(キロ)、M(メガ)、G(ギガ)での指定も可能です l7vsd_max_filesize = "10M" # アクセスログローテーション方法 # サイズ"size", 日付"date", 日付+サイズ"datesize" が指定できます l7vsd_accesslog_rotate_type = "size" # アクセスログローテーションによるバックアップファイルの世代数 # 1 から 12 で指定できます l7vsd_accesslog_rotate_max_backup_index = "10" # アクセスログサイズによるローテーション時のファイルサイズ # 65535 から ULONG_MAX で指定できます # K(キロ)、M(メガ)、G(ギガ)での指定も可能です l7vsd_accesslog_rotate_max_filesize = "10M" # ログカテゴリl7vsd_networkのデフォルトログレベル # debug, info, warn, error, fatal が指定できます l7vsd_network = "warn" l7vsd_network_qos = "warn" l7vsd_network_bandwidth = "warn" l7vsd_network_num_connection = "warn" l7vsd_network_access = "warn" l7vsd_mainthread = "warn" l7vsd_virtualservice = "warn" l7vsd_virtualservice_thread = "warn" l7vsd_session = "warn" l7vsd_session_thread = "warn" l7vsd_realserver = "warn" l7vsd_sorryserver = "warn" l7vsd_module = "warn" l7vsd_replication = "warn" l7vsd_replication_sendthread = "warn" l7vsd_parameter = "warn" l7vsd_logger = "warn" l7vsd_command = "warn" l7vsd_start_stop = "warn" l7vsd_system = "warn" l7vsd_system_memory = "warn" l7vsd_system_endpoint = "warn" l7vsd_system_signal = "warn" l7vsd_system_environment = "warn" l7vsd_snmpbridge = "warn" l7vsd_protocol = "warn" l7vsd_schedule = "warn" # l7vsadm 出力ログファイル l7vsadm_log_filename = "/var/log/l7vs/l7vsadm.log" # ログローテーション方法 l7vsadm_rotation = "date" # ローテーションによるバックアップファイルの世代数 l7vsadm_max_backup_index = "10" # 日付によるローテーション時のタイミング(周期) # 毎年 "year", 毎月 "month", 毎週 "week", 毎日 "date", 毎時 "hour" が指定 # できます l7vsadm_rotation_timing = "month" # 日付によるローテーション時のタイミング(切替時間) # 毎時"hour"の例 -> "30" # 毎日"date"の例 -> "10:30" # 毎週"week"の例 -> "tue 10:30" # 毎月"month"の例 -> "15 10:30" # 毎年"year"指定時の例->"5/15 10:30" # ※ ローテーションタイミングは、最大で毎年周期(1年毎)までの仕様としている # ため、閏年2/29は例外の月日として設定してもエラーとなる。 l7vsadm_rotation_timing_value = "1 0:01" # ログカテゴリ l7vsadm_parse のデフォルトログレベル # debug, info, warn, error, fatalが指定できます l7vsadm_parse = "warn" l7vsadm_operate = "warn" l7vsadm_config_result = "warn" l7vsadm_common = "warn" l7vsadm_logger = "warn" l7vsadm_parameter = "warn" l7vsadm_module = "warn" l7vsadm_protocol = "warn" l7vsadm_schedule = "warn" # snmpagent 出力ログファイル snmp_log_filename = "/var/log/l7vs/snmpagent.log" # ログローテーション方法 snmp_rotation = "datesize" # ローテーションによるバックアップファイルの世代数 snmp_max_backup_index = "10" # サイズによるローテーション時のファイルサイズ snmp_max_filesize = "30M" # 日付によるローテーション時のタイミング(周期) snmp_rotation_timing = "week" # 日付によるローテーション時のタイミング(切替時間) snmp_rotation_timing_value = "wed 23:59" # ログカテゴリ snmpagent_start_stop のデフォルトログレベルです # debug, info, warn, error, fatalが指定できます snmpagent_start_stop = "warn" snmpagent_manager_receive = "warn" snmpagent_manager_send = "warn" snmpagent_l7vsd_receive = "warn" snmpagent_l7vsd_send = "warn" snmpagent_logger = "warn" snmpagent_parameter = "warn" snmpagent_system = "warn" snmpagent_system_memory = "warn" snmpagent_system_endpoint = "warn" snmpagent_system_signal = "warn" snmpagent_system_environment = "warn" # l7vsadm セクション [l7vsadm] # l7vsadm コマンド 2 重起動チェック時のリトライ間隔(秒) cmd_interval = 1 # l7vsadm コマンド2重起動チェック時のリトライ回数(回) cmd_count = 10 # l7vs 接続チェック時のリトライ間隔(秒) con_interval = 1 # l7vs 接続チェック時のリトライ回数(回) con_count = 10 # l7vsd セクション [l7vsd] # ファイルオープンのリソース制限数 maxfileno = 65535 # virtualservice セクション [virtualservice] # セッションスレッドのプールのサイズ session_thread_pool_size = 32 # スループットを計算するインターバル throughput_calc_interval = 500 # VirtualServiceが管理しているセッションが使えるCPUの数 num_of_core_uses = 0 # replication セクション [replication] # データの送信先 (SLAVE) の IP アドレス # ホスト名で記述することも可能です # IPv6 形式で記述することも可能です # (IPv6 設定例:ip_addr = "[fe80::4]") ip_addr = "192.168.0.254" # MASTER からデータを受信する port 番号 # サービス名で記述することも可能です service_name = "40000" # MASTER からデータを受信する IP アドレス # IPv6 形式で記述することも可能です # (IPv6 設定例:ip_addr = "[fe80::3]") recv_ip_addr = "192.168.0.253" # データ (1 ブロック = 512 byte) の送信間隔 (uS) # 10から10000で指定できます interval = 1000 # 強制 Replication コマンド実行時のデータ # (1 ブロック = 512 byte) の送信間隔 (mS) # 4 から 400 で指定できます compulsorily_interval = 40 # Replication 機能のコンポーネント名 # コンポーネントの ID(cmponent_id_xx) は通番で、0 から 99 までで指定 cmponent_id_00 = "virtualservice" # コンポーネントが使用するブロックサイズ # (1 ブロック = 512 byte) です # コンポーネントの ID(cmponent_id_xx) と一対で指定し、0 から 100000 # で指定できます cmponent_size_00 = 64 cmponent_id_01 = "sslid" cmponent_size_01 = 222 # snmpagent セクション [snmpagent] # SNMPAgent機能有効?無効 # trueまたはfalseが指定できます enable = "false" # MIB情報の最小収集間隔(s) # 0から2147483647までを指定できます cache_update_interval = 1 # ログトラップ発出機能有効?無効 # trueまたはfalseが指定できます logtrap = "false" # TRAP発出ログレベル # debug, info, warn, error,fatal が指定できます logtrap_level = "warn" # 上りQoS警告の警告閾値 # 1から100までを指定できます qos_up_alert_on = 85 # 上りQoS警告の警告解除閾値 # 1から100までを指定できます qos_up_alert_off = 50 # 下りQoS警告の警告閾値 # 1から100までを指定できます qos_down_alert_on = 85 # 下りQoS警告の警告解除閾値 # 1から100までを指定できます qos_down_alert_off = 50 # 残りセッション数警告の警告閾値 # 1から2147483647までを指定できます sessionpool_alert_on = 85 # 残りセッション数警告の警告解除閾値 # 1から2147483647までを指定できます sessionpool_alert_off = 50 # トラップキューポーリング間隔(nS) # 1から1000000000までを指定できます trap_queue_polling_interval = 100000000 # トラップキュー最大値 # 1から2147483647までを指定できます trap_queue_max_size = 1000 # session セクション [session] # セッションの上り方向 Socket バッファサイズ upstream_buffer_size = 8192 # セッションの下り方向 Socket バッファサイズ downstream_buffer_size = 8192 # UltraMonkey-L7からリアルサーバへの接続タイムアウト値(秒) # 0から2147483647までを指定できます(デフォルト: 0) # 0の時はタイムアウトなし server_connect_timeout = 30 ================================================================================ 7 SSL設定ファイルの説明 -------------------------------------------------------------------------------- 7.1 設定ファイルの説明 クライアントとの SSL 通信に関する各種設定を記述することができます。 [ssl] セクションに全ての設定を記述します。 SSL 設定ファイルは UltraMonkey-L7 設定ツールにて VirtualService を追加する 際にコマンドオプションとして指定します。VirtualService ごとに異なる SSL 設 定ファイルを指定することが可能です。 [ssl]セクション ・SSL通信に関する設定を記述します。 (※)v3からl7vsd単体でSSLデコードが可能になりました。 (v2まではsslproxyが必要でした) -------------------------------------------------------------------------------- 7.2 sslproxy.target.cfのサンプルの説明 # sslセクション [ssl] # SSL ハンドシェイク処理のタイムアウト値(秒) timeout_sec = 30 # ルート証明書ディレクトリパス ca_dir = "/etc/l7vs/sslproxy/" # ルート証明書ファイル(空文字列も可) ca_file = "root.pem" # サーバ証明書チェーンディレクトリパス cert_chain_dir = "/etc/l7vs/sslproxy/" # サーバ証明書チェーンファイル cert_chain_file = "server.pem" # 秘密鍵ディレクトリパス private_key_dir = "/etc/l7vs/sslproxy/" # 秘密鍵ファイル private_key_file = "server.pem" # 秘密鍵符号化タイプ(SSL_FILETYPE_PEM または SSL_FILETYPE_ASN1) private_key_filetype = "SSL_FILETYPE_PEM" # 秘密鍵パスフレーズディレクトリパス private_key_passwd_dir = "/etc/l7vs/sslproxy/" # 秘密鍵パスフレーズファイル private_key_passwd_file = "passwd.txt" # 証明書検証オプション(複数指定可能※、OpenSSL定義項目) verify_options = "SSL_VERIFY_FAIL_IF_NO_PEER_CERT" verify_options = "SSL_VERIFY_CLIENT_ONCE" # 検証する証明書の階層 verify_cert_depth = 9 # SSLオプション (複数指定可能※、OpenSSL 定義項目) ssl_options = "SSL_OP_ALL" ssl_options = "SSL_OP_NO_SSLv2" # 一時鍵ディレクトリパス(SSLオプションで"SSL_OP_SINGLE_DH_USE"が 指定されている場合のみ必要となる) tmp_dh_dir = "/etc/l7vs/sslproxy/" # 一時鍵ファイル名(SSLオプションで"SSL_OP_SINGLE_DH_USE"が 指定されている場合のみ必要となる) tmp_dh_file = "dh512.pem" # 暗号化スイート (OpenSSL定義項目) cipher_list = "ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH" # セッションキャッシュ(on, off) session_cache = "on" # セッションキャッシュサイズ 0 が指定された場合、サイズ制限なし session_cache_size = 20480 # セッションキャッシュのタイムアウト # 0 が指定された場合、デフォルト値の 300 秒 session_cache_timeout = 300 (※) verify_options、ssl_options については、使用するオプション行を複数行指定す ることができます。 ================================================================================ 8 その他 -------------------------------------------------------------------------------- 8.1 snmpdの説明 8.1.1 設定ファイル(snmpd.conf)の説明 master agentx <-Master agentx使用可否フラグ access <-全てisoツリーをアクセス可能の設定。 trap2sink <-トラップシンクに指定。 8.1.2 snmpd.confのサンプルの説明 # net-snmp configuration file. # /etc/snmp/snmpd.conf master agentx # Master agentx使用可否フラグを追加する com2sec ultramonkey_sec default ultramonkey_com # ネットワークの範囲とコミュニティ名を定義 group ultramonkey_group v1 ultramonkey_sec # セキュリティ名とSNMPのセキュリティモデルをグループ名で定義 group ultramonkey_group v2c ultramonkey_sec group ultramonkey_group usm ultramonkey_sec view ultramonkey included .1.3.6.1.4.1.32132.1 # SNMPで取得可能な情報の範囲を指定 access ultramonkey_group "" any noauth exact ultramonkey none none # 全てisoツリーをアクセス可能の設定。 trap2sink 127.0.0.1 public # トラップシンクの指定を追加する。 -------------------------------------------------------------------------------- 8.2 Transparent Proxy について VirtualService 作成時、RealServer 追加時に --tproxy オプションをつけることで、 Transparent Proxy 機能が有効になり、RealServer や SorryServer への振り分け 時にクライアントの IP アドレスを bind して接続します。この機能を使用すると RealServer や SorryServer にクライアントから直接接続しているように見せかけ ることができます。 ただし、本機能は使用するには以下の 3 つの条件を満たす必要があります。 (1) UltraMonkey-L7 サーバのカーネルバージョンが以下を満たすこと 2.6.28 以上 (RHEL6.0 以上) (2) RealServer, SorryServer と UltraMonkey-L7 が別サーバの場合はRealServer,      SorryServer のデフォルトゲートウェイに UltraMonkey-L7サーバを設定している      こと (3) 以下の iptables, ip rule, ip route の設定を行うこと iptables -t mangle -N DIVERT iptables -t mangle -A DIVERT -j MARK --set-mark 1 iptables -t mangle -A DIVERT -j ACCEPT ip rule add fwmark 1 lookup 100 ip route add local 0.0.0.0/0 dev lo table 100 上記に加え、条件に従って以下の(i)または(ii)の設定を行うこと (i) RealServer, SorryServer と UltraMonkey-L7 が別サーバの場合 iptables -t mangle -A PREROUTING -p tcp -m socket -j DIVERT (ii) RealServer, SorryServer と UltraMonkey-L7 が同一サーバの場合 (ただし、ループバックアドレスは設定できない) iptables -t mangle -A OUTPUT -p tcp -s サーバアドレス \ --sport サーバポート -j DIVERT (※) (i), (ii) の同時設定は可能 ================================================================================ From nakano.hiroaki @ nttcom.co.jp Tue Jul 9 10:40:45 2013 From: nakano.hiroaki @ nttcom.co.jp (=?ISO-2022-JP?B?GyRCQ2ZMbiEhOShPLxsoQg==?=) Date: Tue, 09 Jul 2013 10:40:45 +0900 Subject: [Ultramonkey-l7-develop 950] Re: =?iso-2022-jp?b?djMuMS4wGyRCTVElSSUtJWUlYSVzJUgwRhsoQigzLzMp?= In-Reply-To: <51D68348.9020504@lab.ntt.co.jp> References: <51D28E0D.3070607@nttcom.co.jp> <51D28F51.6030702@nttcom.co.jp> <51D68348.9020504@lab.ntt.co.jp> Message-ID: <51DB6A1D.7060209@nttcom.co.jp> 中野@幕張です。 修正版です。 (2013/07/05 17:26), Hibari Michiro wrote: > 中野様 > > 雲雀です。お疲れ様です。 > > 新規にドキュメントを起こしていただいてありがとうございます。 > コミュニティにPacemakerとの連携について纏まったドキュメントが > 無かったので、非常に有用だと思います。 > > 以下、「UltraMonkey-L7_PM_install_manual_v1.0.txt」へのコメントです。 > >> 1.1 主な仕様 >> 1.1.1 ハードウェア(推奨) >> CPU:Xeon2.8GHz x2相当、メモリ:2GB相当、HDD10GB相当 >> Ethernet:1000BASE-T、1000BASE-SX > 先程、「uml7-install_manual_3.1.0_ja.txt」に対してコメントしたのと > 同じになりますが、メモリサイズを4Gにしてはいかがでしょうか? > >> 1.1.2 主なソフトウェア >> ・OS:RedHatEnterpriseLinux 6.1 (kernel2.6.32-xx) x86_64版 >> ・OS:RedHatEnterpriseLinux 5.5 (kernel2.6.18-xx) x86_64版 > > 趣味の問題と言えばそれまでなのですが、 > 「uml7-install_manual_3.1.0_ja.txt」と主なソフトウェアが > 異なるのは気になります。 > いっそのこと、両方RHEL6.5と5.9で最新の情報に書き換えてはいかがでしょうか? > > >> 2.3.7 RAファイルを所定のディレクトリに配置 >> >> # cp -p /usr/share/doc/$(UML7_VERSION)/heartbeat-ra/L7vsd /usr/lib/ocf/resource.d/heartbeat/L7vsd >> # cp -p /usr/share/doc/$(UML7_VERSION)/heartbeat-ra/L7directord /usr/lib/ocf/resource.d/heartbeat/L7directord >> # cp -p /usr/share/doc/$(UML7_VERSION)/heartbeat-ra/VIPcheck /usr/lib/ocf/resource.d/heartbeat/VIPcheck > > 各RAの実行権限の確認も手順に含めてはいかがでしょうか? > > 以上、宜しくお願いいたします。 > > (2013/07/02 17:29), 中野 宏朗 wrote: >> >> (2013/07/02 17:23), 中野 宏朗 wrote: >>> 中野@幕張です。 >>> >>> v3.1.0リリースに向けて、文書一覧にあるUltraMonkey-L7関連 >>> ドキュメントをバージョンアップさせるつもりです。 >>> 以下の文書についてv3.1.0対応版ドラフトを作ってみたので、 >>> レビューをお願いします。 >>> >>> ・UltraMonkey-L7 インストールマニュアル3.1版->3.2版 >>> [変更点] >>> - UMのtar ballファイル名 >>> - log4cxxのRHEL6パッチとrpmがsourceforgeにあることを追記 >>> >>> ・UltraMonkey-L7 管理マニュアル v3.2版->v3.3版 >>> [変更点] >>> - VirtualService 追加時の session-thread-pool-size オプション >>> に関する記述を追記 >>> + l7vsadm >>> + l7directord.cf >>> - l7vs.cfにおける、server_connect_timeout の追記 >>> >>> ・UltraMonkey-L7 Pacemaker環境インストールマニュアル 1.0版(新規) >>> これまでHeartbeat2までのドキュメントしか存在しなかったこと、 >>> v3.1.0にてPacemaker用のsample.crmを用意したことから、 >>> Heartbeat2ドキュメントをベースにPacemaker用ドキュメントを >>> 新規作成。 >>> >>> 以上です。 >>> >> >> >> _______________________________________________ >> Ultramonkey-l7-develop mailing list >> Ultramonkey-l7-develop @ lists.sourceforge.jp >> http://lists.sourceforge.jp/mailman/listinfo/ultramonkey-l7-develop > > -- 中野 宏朗 (NAKANO Hiroaki) -------------- next part -------------- ?UltraMonkey-L7 Pacemaker環境インストールマニュアル v1.0 【v1.0.13-x対応版】 [変更履歴] 2013.06.28 [v1.0]:初版 ------------------------------------------------------------------------ 1 前提条件 1.1 主な仕様 1.2 事前準備 2 インストール 2.1 ユーザの作成、パスワード設定 2.2 本体のインストール 2.3 Pacemaker追加パッケージのインストール 2.4 Pacemaker設定モジュールのインストール 3 Pacemaker の設定 3.1 Pacemaker本体モジュールのスクリプト(/etc/init.d/heartbeat) の編集 3.2 クラスタの基本設定(/etc/ha.d/ha.cf) の編集 3.3 クラスタの詳細設定(sample.crm) の編集 3.4 RAスクリプトの配置 4 Pacemaker の動作確認 4.1 前提条件 4.2 確認モニタ起動 4.3 Pacemakerの起動 4.4 Pacemakerの状態確認 4.5 ACT/SBY の切替確認 ------------------------------------------------------------------------ 1 前提条件 本マニュアルが想定する環境を以下に示します。 1.1 主な仕様 1.1.1 ハードウェア(推奨) CPU:Xeon2.8GHz x2相当、メモリ:4GB相当、HDD10GB相当 Ethernet:1000BASE-T、1000BASE-SX 1.1.2 主なソフトウェア ・OS:RedHatEnterpriseLinux 5.9 (kernel2.6.18-348) x86_64版 ・OS:RedHatEnterpriseLinux 6.4 (kernel2.6.32-358) x86_64版 ・L7負荷分散フレームワーク(l7vs) ・L7サーバ監視設定ツール(l7directord) 1.1.3 本マニュアルで使用するパッケージ ・pacemaker-.x86_64.repo.tar.gz 本マニュアルでは、上記のソースを使用することとして 記述しております。 異なるバージョン等使用する際には注意願います。 すでにUltraMonkey-L7 v3がインストールされている状態とします。 1.2 事前準備 1.2.1 RHELリポジトリの設定 RHELパッケージのリポジトリを設定します。ここでは 例としてRHELインストールDVDを利用する方法を挙げておきます。 RHELインストールDVDをマウントします。 # mount /dev/dvd /media マウントしたRHELインストールDVDをリポジトリに設定します。 # vi /etc/yum.repo.d/rheldvd.repo [rhel-server] name=Red Hat Enterprise Linux $releasever - $basearch - server baseurl=file:///media/Server enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release 1.2.2 Pacemakerリポジトリパッケージの取得と展開 以下のサイトよりPacemakerリポジトリパッケージをダウンロードします。 http://linux-ha.sourceforge.jp/wp/dl ファイル名は以下になります。 pacemaker-.x86_64.repo.tar.gz 取得したリポジトリパッケージを/tmpで展開します。 # cd /tmp # tar zxvf pacemaker-.x86_64.repo.tar.gz 2 インストール 2.1 yumキャッシュのクリア # yum clean all Loaded plugins: rhnplugin, security Cleaning up Everything ← このログが出力されることを確認する。 2.2 Pacemakerのインストール # cd /tmp/pacemaker-.x86_64.repo # yum -c pacemaker.repo install -y pacemaker pacemaker-mgmt \ pm_crmgen pm_logconvhb pm_diskd pm_extras pm_kvm_tools vm-ctl ipmitool 2.3 インストール後作業 2.2.3 一時的なyumリポジトリの無効化 1.2.1 で例として挙げたDVDのリポジトリを削除します。 # rm /etc/yum.repos.d/rheldvd.repo その後、umountコマンドでDVDをアンマウントします。 # umount /media 2.2.4 Pacemakerリポジトリパッケージの削除 /tmpに展開したPacemakerリポジトリパッケージを削除します。 # rm -rf /tmp/pacemaker-.x86_64.repo 2.3.7 RAファイルとCRMファイルを所定のディレクトリに配置 # cp -p /usr/share/doc/$(UML7_VERSION)/heartbeat-ra/L7vsd /usr/lib/ocf/resource.d/heartbeat/L7vsd # cp -p /usr/share/doc/$(UML7_VERSION)/heartbeat-ra/L7directord /usr/lib/ocf/resource.d/heartbeat/L7directord # cp -p /usr/share/doc/$(UML7_VERSION)/heartbeat-ra/VIPcheck /usr/lib/ocf/resource.d/heartbeat/VIPcheck # mkdir ~/pm_def # cp -p /usr/share/doc/$(UML7_VERSION)/heartbeat-ra/sample.crm ~/pm_def/sample.crm RAファイルに実行権限がついていることを確認します。 # ls -l /usr/lib/ocf/resource.d/heartbeat/L7vsd # ls -l /usr/lib/ocf/resource.d/heartbeat/L7directord # ls -l /usr/lib/ocf/resource.d/heartbeat/VIPcheck 3 Pacemaker の設定 3.1 Pacemaker の構成 以下のドキュメント(英語)に従って必要ファイルの設定を行います http://www.clusterlabs.org/doc/en-US/Pacemaker/1.0/html/Pacemaker_Explained/index.html - authkeys - ha.cf - logd.cf (※参考例 authkeys) # vim /etc/ha.d/authkeys auth 1 1 sha1 ClusterKey01 (※参考例 ha.cf) # vim /etc/ha.d/ha.cf pacemaker on logfacility local1 debug 0 udpport (ポート番号)*1 keepalive 2 warntime 7 deadtime 10 initdead 48 bcast (NIC名)*2 node (LBサーバ名)*3 node (LBサーバ名)*4 watchdog /dev/watchdog respawn root /usr/lib64/heartbeat/ifcheckd *1 : インターコネクト通信用ポート番号を設定 *2 : インターコネクトLANのネットワークデバイス名を設定(※ 対向Nodeに直結したLAN) *3 : Primary LBサーバ名を設定 *4 : Secondary LBサーバ名を設定 (※参考例 syslog.conf) # vim /etc/syslog.conf 以下を追記 local1.info /var/log/ha-log (※参考例 rsyslog.conf) # vim /etc/rsyslog.conf 以下を追記 local1.info /var/log/ha-log;RSYSLOG_TraditionalFileFormat $EscapeControlCharactersOnReceive off 3.3 クラスタの詳細設定 (~/pm_def/sample.crm) の編集 3.3.1 VIPcheckプリミティブ・パラメータ の編集 ※ -> 編集部分 # vim ~/pm_def/sample.crm ・・・ primitive prmVIPcheck ocf:heartbeat:VIPcheck \ params \ target_ip="MODIFY_TARGET_VIP" \ (*1) count="1" \ wait="10" \ op start interval="0s" timeout="90s" on-fail="restart" start_delay="4s" ・・・ *1 : Virtual-IPを設定する 3.3.2 VIPプリミティブ・パラメータ の編集 ※ -> 編集部分 # vim ~/pm_def/sample.crm ・・・ primitive prmVIP ocf:heartbeat:IPaddr2 \ params \ ip="MODIFY_VIP_IP" \ (*1) nic="MODIFY_VIP_NIC" \ (*2) cidr_netmask="MODIFY_VIP_NETMASK" \ (*3) op start interval="0s" timeout="60s" on-fail="restart" \ op monitor interval="10s" timeout="60s" on-fail="restart" \ op stop interval="0s" timeout="60s" on-fail="block" ・・・ *1 : Virtual-IPを設定する *2 : Virtual-IPに接続するネットワークデバイス名 *3 : ネットマスク 3.3.3 Pingdプリミティブ・パラメータ の編集 ※ -> 編集部分 # vim ~/pm_def/sample.crm ・・・ primitive prmPingd ocf:pacemaker:pingd \ params \ name="default_ping_set" \ host_list="MODIFY_PING_TARGET_IP" \ (*1) multiplier="100" \ op start interval="0s" timeout="60s" on-fail="restart" \ op monitor interval="10s" timeout="60s" on-fail="restart" \ op stop interval="0s" timeout="60s" on-fail="ignore" ・・・ *1 : GWなど監視先IPアドレスを設定する 3.3.4 Diskdプリミティブ・パラメータ の編集 ※ -> 編集部分 # vim ~/pm_def/sample.crm ・・・ primitive prmDiskd ocf:pacemaker:diskd \ params \ name="diskcheck_status_internal" \ device="MODIFY_TARGET_DISK_DEV" \ (*1) interval="10" \ op start interval="0s" timeout="60s" on-fail="restart" \ op monitor interval="10s" timeout="60s" on-fail="restart" \ op stop interval="0s" timeout="60s" on-fail="ignore" ・・・ *1 : /dev/sdaなど監視ディスクデバイス名を設定する 3.3.5 Primary/Secondaryサーバの編集 ※ -> 編集部分 # vim ~/pm_def/sample.crm ・・・ location rsc_location-grpUltraMonkey-1 grpUltraMonkey \ rule 200: #uname eq MODIFY_PRYMARY_HOST \ (*1) rule 100: #uname eq MODIFY_SECONDARY_HOST \ (*2) rule -INFINITY: not_defined default_ping_set or default_ping_set lt 100 \ rule -INFINITY: not_defined diskcheck_status_internal or diskcheck_status_internal eq ERROR ・・・ *1 : Primary LBサーバ *2 : Secondary LBサーバ 3.3.6 不要ファイルの削除 /var/lib/heartbeat/crm 配下にファイルがある場合、全ファイルを削除 3.3.7 【参考】各種設定情報のネットワーク図 Virtual-IP | +---------------------------------------------------+ | | +------------------+ インターコネクトLAN +--------------------+ | Primary LBサーバ |------------------------------| Secondary LBサーバ | +------------------+ +--------------------+ 4 Pacemaker の動作確認 4.1 前提条件 4.1.1 L7vsdを起動 # /etc/init.d/l7vsd start 4.1.2 L7directordの停止 # /etc/init.d/l7directord stop 4.1.3 /etc/hostsの設定確認 /etc/hostsが適切に設定してあることを確認 4.2 確認モニタ起動 ※ どちらの Node でも可 4.2.1 モニタ起動コマンドを実行し、以下が表示されることを確認 # crm_mon -1 Not connected: Refresh in 2s... 4.3 Pacemaker の起動 ※ 両 Node で実施 4.3.1 Pacemaker 起動コマンドを実行し、以下が表示されることを確認 # service heartbeat start Starting High-Availability services: [ OK ] 4.3.2 【参考】Pacemaker を停止する方法は、以下のコマンドを実行する # service heartbeat stop Stopping High-Availability services: [ OK ] 4.4 クラスタの詳細設定 (~/pm_def/sample.crm) のロード ※どちらか片方の Node のみで実施 4.3.1 Pacemaker が起動していることを確認。 # crm_mon -1 heartbeat is running. ============ Last updated: 時間表示  :(省略) 2 Nodes configured, unknown expected votes (*1) 0 Resources configured. ============ Online: [ PrimaryNode名 SecondaryNode名 ] (*2) Node Attributes: * Node PrimaryNode名: + SecondaryNode名-eth2 : up * Node SecondaryNode名: + PrimaryNode名-eth2 : up Migration summary: * Node PrimaryNode名: * Node SecondaryNode名: *1 : ノード数の確認 *2 : 全ノードが Online 4.3.2 sample.crm をロードする # crm options sort-elements no # crm configure load update sample.crm 4.4 Pacemakerの状態確認 4.4.1 モニタで、以下が表示がされることを確認 *1) Node数を確認 *2) リソースグループ数+cloneリソース数を確認 *3) 2つのNodeが「online」 と表示されていることを確認(※起動していないときはOFFLINE) *4) prmVIPcheck、prmVIP、prmL7directordの3項目がResource Groupになっていることを確認 *5) 上記3項目がStartedとなっていることを確認 # crm_mon -fA ============ Last updated: Tue Jul 2 14:23:40 2013 Stack: Heartbeat Current DC: Node名 (f8342456-2d38-4a17-89f3-c98cb826473e) - partition with quorum Version: 1.0.12-066152e 2 Nodes configured, unknown expected votes (*1) 4 Resources configured. (*2) ============ Online: [ PrimaryNode名 SecondaryNode名 ] (*3) Resource Group: grpUltraMonkey + prmVIPcheck (ocf::heartbeat:VIPcheck): Started PrimaryNode名 |(*4) prmVIP (ocf::heartbeat:IPaddr2): Started PrimaryNode名 |(*5) prmL7directord (ocf::heartbeat:L7directord): Started PrimaryNode名 + Clone Set: clnL7vsd Started: [ PrimaryNode名 SecondaryNode名 ] Clone Set: clnPingd Started: [ PrimaryNode名 SecondaryNode名 ] Clone Set: clnDiskd Started: [ PrimaryNode名 SecondaryNode名 ] Node Attributes: * Node PrimaryNode名: + default_ping_set : 100 + diskcheck_status_internal : normal + SecondaryNode名-eth2 : up * Node SecondaryNode名: + default_ping_set : 100 + diskcheck_status_internal : normal + PrimaryNode名-eth2 : up 4.5 ACT/SBY の切替確認 4.5.1 ACT(本例では、Primary Node)のPacemakerを停止し、ACT/SBYを切替 # service heartbeat stop Stopping High-Availability services: [ OK ] 4.5.2 モニタで、以下が表示されることを確認 *1) Secondary Node が online と表示されていることを確認 *2) Primary Node が OFFLINE と表示されていることを確認 *3) Resource Groupの prmVIPcheck、prmVIP、prmL7directord が Secondary Node で Started していることを確認 ============ Last updated: Tue Jul 2 15:26:38 2013 Stack: Heartbeat Current DC: SecondaryNode名 (f8342456-2d38-4a17-89f3-c98cb826473e) - partition with quorum Version: 1.0.12-066152e 2 Nodes configured, unknown expected votes 4 Resources configured. ============ Online: [ SecondaryNode名 ] (*1) OFFLINE: [ PrimaryNode名 ] (*2) Resource Group: grpUltraMonkey + prmVIPcheck (ocf::heartbeat:VIPcheck): Started SecondaryNode名 |(*3) prmVIP (ocf::heartbeat:IPaddr2): Started SecondaryNode名 | prmL7directord (ocf::heartbeat:L7directord): Started SecondaryNode名 + Clone Set: clnL7vsd Started: [ SecondaryNode名 ] Stopped: [ prmL7vsd:0 ] Clone Set: clnPingd Started: [ SecondaryNode名 ] Stopped: [ prmPingd:0 ] Clone Set: clnDiskd Started: [ SecondaryNode名 ] Stopped: [ prmDiskd:0 ] Node Attributes: * Node SecondaryNode名: + default_ping_set : 100 + diskcheck_status_internal : normal Migration summary: * Node SecondaryNode名: From nakano.hiroaki @ nttcom.co.jp Tue Jul 9 14:22:23 2013 From: nakano.hiroaki @ nttcom.co.jp (=?ISO-2022-JP?B?GyRCQ2ZMbiEhOShPLxsoQg==?=) Date: Tue, 09 Jul 2013 14:22:23 +0900 Subject: [Ultramonkey-l7-develop 951] Re: =?iso-2022-jp?b?VWx0cmFNb25rZXktTDctdjMuMS4wLTEbJEIlaiVqGyhC?= =?iso-2022-jp?b?GyRCITwlOT1gSHcbKEI=?= In-Reply-To: <51D67715.3010107@lab.ntt.co.jp> References: <51C7F97F.3080609@nttcom.co.jp> <51D65DB4.30003@lab.ntt.co.jp> <51D673A2.1010904@nttcom.co.jp> <51D67715.3010107@lab.ntt.co.jp> Message-ID: <51DB9E0F.4030400@nttcom.co.jp> 中野@幕張です。 specファイル見たんですが、/opt にローカルリポジトリ構築するように なっていますが、/opt ってこういうテンポラリ的に使うような ディレクトリでしたっけ・・・ まあ、/optにつくっても実害はないんですが。 ちょっと、気持ち悪い感覚がw ま、いっか。yumリポジトリなんてRHEL系でしか使わないし。 # なんで気持ち悪く感じるんだろう^^; # 今でこそRHELで作られるけど、伝統的にLinuxディストリで/optを作ったり使ったり # するところはなかったからとか、Solarisで/optがベンダソフトインストール先 # として良く使われていたからとかかな。 (2013/07/05 16:34), Hibari Michiro wrote: > 中野様 > > 雲雀です。 > >> RHNのようにsourceforge上にrpmとrepoファイルを置き、 >> それをyum.repo.d配下のリポジトリ指定でダウンロード >> してrpm -iするようにしますか? > いえ。リポジトリのrpmパッケージを配布し、 > ローカルにリポジトリをインストールして、 > そこに対して、yum install ultramonkeyl7 > って実行するイメージです。 > > 現在、UM-L4で配布している形式と全く同じものを > イメージしています。 > > > (2013/07/05 16:20), 中野 宏朗 wrote: >> 中野@幕張です。 >> >> リポジトリとのことですが、具体的にはどういうものを >> イメージしていますか? >> >> RHNのようにsourceforge上にrpmとrepoファイルを置き、 >> それをyum.repo.d配下のリポジトリ指定でダウンロード >> してrpm -iするようにしますか? >> >> (2013/07/05 14:46), Hibari Michiro wrote: >>> 雲雀です。 >>> お疲れ様です。 >>> >>> v3.1.0のリリースですが、 >>> yumで一発インストールができる レポジトリ形式で配布したいです。 >>> http://sourceforge.jp/users/hibari/pf/ultramonkeyl7_repo/scm/tree/master/ >>> >>> >>> 以前、v3.1.0の機能案について、以下の議論をしたかと思います。 >>> http://sourceforge.jp/projects/ultramonkey-l7/lists/archive/develop/20130227/000870.html >>> >>> ・log4cxx、インストール簡単にしたいね >>> ってやつですね。 >>> >>> 以下は見送りになっていたかと思うので、 >>> >>> ・できればSSLID速度改善 >>> ・1-CD 化(OSC などで配りやすい) >>> ・Makefile.amをV2並に整理したい >>> >>> レポジトリ形式で配布に対応できれば、v3.1.0として >>> 盛り込む機能は網羅されたことになると思います。 >>> >>> =========これまでの案まとめ===================== >>> ・URLモジュール >>> ・モジュール単体rpmリリース >>> ・できればSSLID速度改善 >>> ・1-CD 化(OSC などで配りやすい) >>> ・log4cxx、インストール簡単にしたいね >>>  => yumで一発インストールができる レポジトリの配布 >>> ・Makefile.amをV2並に整理したい >>> ・インストール時manがインストールされていない問題の修正 >>> ・l7directordのログローテーション設定をrpmインストール時に >>>  /etc/logrotate.d/l7directordに配置するようにする >>> ・rpmbuild時、module開発用のdevel パッケージも作成する >>> ・VirtualService毎のスレッド数設定 >>> ・ヘルスチェックでnegotiateを利用し、 httpmethodにGETを指定した場合に、 >>>  bodyの情報だけでなく、ヘッダの情報もチェック対象にしていた問題を修正 >>> ・クライアントとUML7の接続が確立した後、UML7とリアルサーバの接続が確立する >>>  までの時間にタイムアウトが設定できるようする >>> ・SorryServer接続と同時にリクエストが送られない場合に >>> (HTTPであればtelnet で接続して、"GET /"を送る場合など)、 >>> 接続が切断されてしまう問題の修正 >>> ・Pacemaker用のサンプルファイル >>> =============================================== >>> >>> 以上、宜しくお願いいたします。 >>> >>> (2013/06/24 16:47), 中野 宏朗 wrote: >>>> 中野@幕張です。 >>>> お疲れ様です。 >>>> >>>> UltraMonkey-L7-v3.1.0-develのリリース前パッケージを >>>> 以下にアップロードしました。 >>>> >>>> http://ultramonkey-l7.sourceforge.jp/_tmp/tmp_uml7_3_1_0-devel/ >>>> >>>> あー、前回はrc1版とかにしてたか・・・develのまんまだ。 >>>> 実質、RC1版です。 >>>> >>>> これで特に問題がなければ、バージョン名を3.1.0-1にして >>>> 7月1日に公開予定です。 >>>> >>>> ご確認ください。 >>>> >>> > > -- 中野 宏朗 (NAKANO Hiroaki) NTTコムウェア 品質生産性技術本部 技術SE部 基盤ソフトSE・OSS部門 OSS・DB技術担当 Tel: 043-211-2452 (Ext: 特番+26-8341), Fax: 043-211-5086 Zip/Address: 261-0023 千葉県千葉市美浜区中瀬1-6 NTT幕張ビル21F-En From k.t @ nttcom.co.jp Tue Jul 9 15:03:46 2013 From: k.t @ nttcom.co.jp (TATEISHI Katsuyuki) Date: Tue, 09 Jul 2013 15:03:46 +0900 (JST) Subject: [Ultramonkey-l7-develop 952] Re: =?iso-2022-jp?b?VWx0cmFNb25rZXktTDctdjMuMS4wLTEbJEIlaiVqGyhC?= =?iso-2022-jp?b?GyRCITwlOT1gSHcbKEI=?= In-Reply-To: <51DB9E0F.4030400@nttcom.co.jp> References: <51D673A2.1010904@nttcom.co.jp> <51D67715.3010107@lab.ntt.co.jp> <51DB9E0F.4030400@nttcom.co.jp> Message-ID: <20130709.150346.1258289447472855544.k.t@nttcom.co.jp> 立石です。 On Tue, 09 Jul 2013 14:22:23 +0900, 中野 宏朗 wrote: > 中野@幕張です。 > > specファイル見たんですが、/opt にローカルリポジトリ構築するように > なっていますが、/opt ってこういうテンポラリ的に使うような > ディレクトリでしたっけ・・・ > まあ、/optにつくっても実害はないんですが。 L4の場合は「リポジトリをデプロイする追加パッケージである」と いう想定で /opt 配下に作ってます。 tgz 配布で /tmp とかに展開するとリポジトリ定義ファイルをyum実 行時に手で指定するか、/etc/yum.repos.d に手でコピーしてやらな いといけない(しかも /tmp 配下はそのうち tmpwatch で消えてしま い、その後 yum コマンドがエラーになる)といった面倒な状況にな るので避けたように記憶しています。 > > ちょっと、気持ち悪い感覚がw > ま、いっか。yumリポジトリなんてRHEL系でしか使わないし。 > > > # なんで気持ち悪く感じるんだろう^^; > # 今でこそRHELで作られるけど、伝統的にLinuxディストリで/optを作ったり使ったり > # するところはなかったからとか、Solarisで/optがベンダソフトインストール先 > # として良く使われていたからとかかな。 いつからかは存じませんが、 Linux でも /opt は追加パッケージの インストール先です。hier(7)参照。 # 正式には LANANA に登録する必要があるみたいです。 とはいえ、べつに /opt にこだわりがあったわけではないです。 -- TATEISHI Katsuyuki > > (2013/07/05 16:34), Hibari Michiro wrote: >> 中野様 >> >> 雲雀です。 >> >>> RHNのようにsourceforge上にrpmとrepoファイルを置き、 >>> それをyum.repo.d配下のリポジトリ指定でダウンロード >>> してrpm -iするようにしますか? >> いえ。リポジトリのrpmパッケージを配布し、 >> ローカルにリポジトリをインストールして、 >> そこに対して、yum install ultramonkeyl7 >> って実行するイメージです。 >> >> 現在、UM-L4で配布している形式と全く同じものを >> イメージしています。 >> >> >> (2013/07/05 16:20), 中野 宏朗 wrote: >>> 中野@幕張です。 >>> >>> リポジトリとのことですが、具体的にはどういうものを >>> イメージしていますか? >>> >>> RHNのようにsourceforge上にrpmとrepoファイルを置き、 >>> それをyum.repo.d配下のリポジトリ指定でダウンロード >>> してrpm -iするようにしますか? >>> >>> (2013/07/05 14:46), Hibari Michiro wrote: >>>> 雲雀です。 >>>> お疲れ様です。 >>>> >>>> v3.1.0のリリースですが、 >>>> yumで一発インストールができる レポジトリ形式で配布したいです。 >>>> http://sourceforge.jp/users/hibari/pf/ultramonkeyl7_repo/scm/tree/master/ >>>> >>>> >>>> 以前、v3.1.0の機能案について、以下の議論をしたかと思います。 >>>> http://sourceforge.jp/projects/ultramonkey-l7/lists/archive/develop/20130227/000870.html >>>> >>>> ・log4cxx、インストール簡単にしたいね >>>> ってやつですね。 >>>> >>>> 以下は見送りになっていたかと思うので、 >>>> >>>> ・できればSSLID速度改善 >>>> ・1-CD 化(OSC などで配りやすい) >>>> ・Makefile.amをV2並に整理したい >>>> >>>> レポジトリ形式で配布に対応できれば、v3.1.0として >>>> 盛り込む機能は網羅されたことになると思います。 >>>> >>>> =========これまでの案まとめ===================== >>>> ・URLモジュール >>>> ・モジュール単体rpmリリース >>>> ・できればSSLID速度改善 >>>> ・1-CD 化(OSC などで配りやすい) >>>> ・log4cxx、インストール簡単にしたいね >>>>  => yumで一発インストールができる レポジトリの配布 >>>> ・Makefile.amをV2並に整理したい >>>> ・インストール時manがインストールされていない問題の修正 >>>> ・l7directordのログローテーション設定をrpmインストール時に >>>>  /etc/logrotate.d/l7directordに配置するようにする >>>> ・rpmbuild時、module開発用のdevel パッケージも作成する >>>> ・VirtualService毎のスレッド数設定 >>>> ・ヘルスチェックでnegotiateを利用し、 httpmethodにGETを指定した場合に、 >>>>  bodyの情報だけでなく、ヘッダの情報もチェック対象にしていた問題を修正 >>>> ・クライアントとUML7の接続が確立した後、UML7とリアルサーバの接続が確立する >>>>  までの時間にタイムアウトが設定できるようする >>>> ・SorryServer接続と同時にリクエストが送られない場合に >>>> (HTTPであればtelnet で接続して、"GET /"を送る場合など)、 >>>> 接続が切断されてしまう問題の修正 >>>> ・Pacemaker用のサンプルファイル >>>> =============================================== >>>> >>>> 以上、宜しくお願いいたします。 >>>> >>>> (2013/06/24 16:47), 中野 宏朗 wrote: >>>>> 中野@幕張です。 >>>>> お疲れ様です。 >>>>> >>>>> UltraMonkey-L7-v3.1.0-develのリリース前パッケージを >>>>> 以下にアップロードしました。 >>>>> >>>>> http://ultramonkey-l7.sourceforge.jp/_tmp/tmp_uml7_3_1_0-devel/ >>>>> >>>>> あー、前回はrc1版とかにしてたか・・・develのまんまだ。 >>>>> 実質、RC1版です。 >>>>> >>>>> これで特に問題がなければ、バージョン名を3.1.0-1にして >>>>> 7月1日に公開予定です。 >>>>> >>>>> ご確認ください。 >>>>> >>>> >> >> > > -- > 中野 宏朗 (NAKANO Hiroaki) > NTTコムウェア 品質生産性技術本部 技術SE部 > 基盤ソフトSE・OSS部門 OSS・DB技術担当 > Tel: 043-211-2452 (Ext: 特番+26-8341), Fax: 043-211-5086 > Zip/Address: 261-0023 千葉県千葉市美浜区中瀬1-6 NTT幕張ビル21F-En > > _______________________________________________ > Ultramonkey-l7-develop mailing list > Ultramonkey-l7-develop @ lists.sourceforge.jp > http://lists.sourceforge.jp/mailman/listinfo/ultramonkey-l7-develop > From nakano.hiroaki @ nttcom.co.jp Tue Jul 9 16:48:15 2013 From: nakano.hiroaki @ nttcom.co.jp (=?ISO-2022-JP?B?GyRCQ2ZMbiEhOShPLxsoQg==?=) Date: Tue, 09 Jul 2013 16:48:15 +0900 Subject: [Ultramonkey-l7-develop 953] Re: =?iso-2022-jp?b?VWx0cmFNb25rZXktTDctdjMuMS4wLTEbJEIlaiVqGyhC?= =?iso-2022-jp?b?GyRCITwlOT1gSHcbKEI=?= In-Reply-To: <20130709.150346.1258289447472855544.k.t@nttcom.co.jp> References: <51D673A2.1010904@nttcom.co.jp> <51D67715.3010107@lab.ntt.co.jp> <51DB9E0F.4030400@nttcom.co.jp> <20130709.150346.1258289447472855544.k.t@nttcom.co.jp> Message-ID: <51DBC03F.60900@nttcom.co.jp> 中野@幕張です。 (2013/07/09 15:03), TATEISHI Katsuyuki wrote: > 立石です。 > > On Tue, 09 Jul 2013 14:22:23 +0900, > 中野 宏朗 wrote: >> 中野@幕張です。 >> >> specファイル見たんですが、/opt にローカルリポジトリ構築するように >> なっていますが、/opt ってこういうテンポラリ的に使うような >> ディレクトリでしたっけ・・・ >> まあ、/optにつくっても実害はないんですが。 > > L4の場合は「リポジトリをデプロイする追加パッケージである」と > いう想定で /opt 配下に作ってます。 > > tgz 配布で /tmp とかに展開するとリポジトリ定義ファイルをyum実 > 行時に手で指定するか、/etc/yum.repos.d に手でコピーしてやらな > いといけない(しかも /tmp 配下はそのうち tmpwatch で消えてしま > い、その後 yum コマンドがエラーになる)といった面倒な状況にな > るので避けたように記憶しています。 まあ、そうだろうなとは想像してましたw ただ、インストールrpmっていつまでもローカルディスクにおいて置くものでも ないよなぁ、とも思ったり。 >> >> ちょっと、気持ち悪い感覚がw >> ま、いっか。yumリポジトリなんてRHEL系でしか使わないし。 >> >> >> # なんで気持ち悪く感じるんだろう^^; >> # 今でこそRHELで作られるけど、伝統的にLinuxディストリで/optを作ったり使ったり >> # するところはなかったからとか、Solarisで/optがベンダソフトインストール先 >> # として良く使われていたからとかかな。 > > いつからかは存じませんが、 Linux でも /opt は追加パッケージの > インストール先です。hier(7)参照。 > # 正式には LANANA に登録する必要があるみたいです。 > > とはいえ、べつに /opt にこだわりがあったわけではないです。 共有FCディスクのユーティリティとか、/opt固定で展開するものとかあった気がします。 なので、Linuxでもそういう使われ方はするのでしょうね。 他の商用UNIXとも揃えればディレクトリ構成で無駄に悩まなくてすむし。 ただ、インストール時しか使わないローカルリポジトリを恒久的において置く ということと、そのために/optを使うというのがディスクの無駄、かつ変に感じただけ かも。 とりあえず、/optで作ってみます。 > -- > TATEISHI Katsuyuki > > >> >> (2013/07/05 16:34), Hibari Michiro wrote: >>> 中野様 >>> >>> 雲雀です。 >>> >>>> RHNのようにsourceforge上にrpmとrepoファイルを置き、 >>>> それをyum.repo.d配下のリポジトリ指定でダウンロード >>>> してrpm -iするようにしますか? >>> いえ。リポジトリのrpmパッケージを配布し、 >>> ローカルにリポジトリをインストールして、 >>> そこに対して、yum install ultramonkeyl7 >>> って実行するイメージです。 >>> >>> 現在、UM-L4で配布している形式と全く同じものを >>> イメージしています。 >>> >>> >>> (2013/07/05 16:20), 中野 宏朗 wrote: >>>> 中野@幕張です。 >>>> >>>> リポジトリとのことですが、具体的にはどういうものを >>>> イメージしていますか? >>>> >>>> RHNのようにsourceforge上にrpmとrepoファイルを置き、 >>>> それをyum.repo.d配下のリポジトリ指定でダウンロード >>>> してrpm -iするようにしますか? >>>> >>>> (2013/07/05 14:46), Hibari Michiro wrote: >>>>> 雲雀です。 >>>>> お疲れ様です。 >>>>> >>>>> v3.1.0のリリースですが、 >>>>> yumで一発インストールができる レポジトリ形式で配布したいです。 >>>>> http://sourceforge.jp/users/hibari/pf/ultramonkeyl7_repo/scm/tree/master/ >>>>> >>>>> >>>>> 以前、v3.1.0の機能案について、以下の議論をしたかと思います。 >>>>> http://sourceforge.jp/projects/ultramonkey-l7/lists/archive/develop/20130227/000870.html >>>>> >>>>> ・log4cxx、インストール簡単にしたいね >>>>> ってやつですね。 >>>>> >>>>> 以下は見送りになっていたかと思うので、 >>>>> >>>>> ・できればSSLID速度改善 >>>>> ・1-CD 化(OSC などで配りやすい) >>>>> ・Makefile.amをV2並に整理したい >>>>> >>>>> レポジトリ形式で配布に対応できれば、v3.1.0として >>>>> 盛り込む機能は網羅されたことになると思います。 >>>>> >>>>> =========これまでの案まとめ===================== >>>>> ・URLモジュール >>>>> ・モジュール単体rpmリリース >>>>> ・できればSSLID速度改善 >>>>> ・1-CD 化(OSC などで配りやすい) >>>>> ・log4cxx、インストール簡単にしたいね >>>>>  => yumで一発インストールができる レポジトリの配布 >>>>> ・Makefile.amをV2並に整理したい >>>>> ・インストール時manがインストールされていない問題の修正 >>>>> ・l7directordのログローテーション設定をrpmインストール時に >>>>>  /etc/logrotate.d/l7directordに配置するようにする >>>>> ・rpmbuild時、module開発用のdevel パッケージも作成する >>>>> ・VirtualService毎のスレッド数設定 >>>>> ・ヘルスチェックでnegotiateを利用し、 httpmethodにGETを指定した場合に、 >>>>>  bodyの情報だけでなく、ヘッダの情報もチェック対象にしていた問題を修正 >>>>> ・クライアントとUML7の接続が確立した後、UML7とリアルサーバの接続が確立する >>>>>  までの時間にタイムアウトが設定できるようする >>>>> ・SorryServer接続と同時にリクエストが送られない場合に >>>>> (HTTPであればtelnet で接続して、"GET /"を送る場合など)、 >>>>> 接続が切断されてしまう問題の修正 >>>>> ・Pacemaker用のサンプルファイル >>>>> =============================================== >>>>> >>>>> 以上、宜しくお願いいたします。 >>>>> >>>>> (2013/06/24 16:47), 中野 宏朗 wrote: >>>>>> 中野@幕張です。 >>>>>> お疲れ様です。 >>>>>> >>>>>> UltraMonkey-L7-v3.1.0-develのリリース前パッケージを >>>>>> 以下にアップロードしました。 >>>>>> >>>>>> http://ultramonkey-l7.sourceforge.jp/_tmp/tmp_uml7_3_1_0-devel/ >>>>>> >>>>>> あー、前回はrc1版とかにしてたか・・・develのまんまだ。 >>>>>> 実質、RC1版です。 >>>>>> >>>>>> これで特に問題がなければ、バージョン名を3.1.0-1にして >>>>>> 7月1日に公開予定です。 >>>>>> >>>>>> ご確認ください。 >>>>>> >>>>> >>> >>> >> >> -- >> 中野 宏朗 (NAKANO Hiroaki) >> NTTコムウェア 品質生産性技術本部 技術SE部 >> 基盤ソフトSE・OSS部門 OSS・DB技術担当 >> Tel: 043-211-2452 (Ext: 特番+26-8341), Fax: 043-211-5086 >> Zip/Address: 261-0023 千葉県千葉市美浜区中瀬1-6 NTT幕張ビル21F-En >> >> _______________________________________________ >> Ultramonkey-l7-develop mailing list >> Ultramonkey-l7-develop @ lists.sourceforge.jp >> http://lists.sourceforge.jp/mailman/listinfo/ultramonkey-l7-develop >> > > > -- 中野 宏朗 (NAKANO Hiroaki) NTTコムウェア 品質生産性技術本部 技術SE部 基盤ソフトSE・OSS部門 OSS・DB技術担当 Tel: 043-211-2452 (Ext: 特番+26-8341), Fax: 043-211-5086 Zip/Address: 261-0023 千葉県千葉市美浜区中瀬1-6 NTT幕張ビル21F-En