2ch特化型サーバ・ロケーション構築作戦のスレッドです。
・2ちゃんねるのサーバロケーション、PIEに関する関連作業・調整事項
・DNS登録・変更まわりの関連作業・調整事項
・2ちゃんねるのサーバで採用しているOS、FreeBSDに関する情報・調整事項
・各種作戦・プロジェクトとの連携、プロジェクト間の連携
等を取り扱います。
現在、複数サーバによる連携により、
サーバ能力のさらなるスケールアップをめざすための「雪だるま作戦」が進行中です。
雪だるま作戦は、現在以下のスレで雑談しながら進行中です。
<主な関連スレッド>
【しらたま】雪だるま作戦に思いを馳せながら雑談するスレッド Part11
http://aa5.2ch.net/test/read.cgi/nanmin/1121875871/
<主な関連リンク>
ブレーメンメーター: http://mumumu.mu/bremen/
MRTGによる統計情報: http://mumumu.mu/mrtg/
2ちゃんねる サーバ負荷監視所: http://ch2.ath.cx/load/
2ch 鯖監視係。: http://sv2ch.baila6.jp/
2ch CGI 軽量化: http://sunos.saita.ma/2ch-cgi-lw.html
2ch特化型サーバ・ロケーション構築作戦 Part19
■ このスレッドは過去ログ倉庫に格納されています
1root▲ ★
NGNG476root▲ ★
2005/12/01(木) 13:33:42ID:???0477ピロリ
2005/12/01(木) 13:34:25ID:HU0C966k0 はいー
478root▲ ★
2005/12/01(木) 14:05:02ID:???0 あ、念のため。
banana404 には他に何も入っていないため、
既に再インストール可能な状態になっているです。
banana404 には他に何も入っていないため、
既に再インストール可能な状態になっているです。
479root▲ ★
2005/12/01(木) 14:06:21ID:???0 …一応、アクセスログ確認してくるです。< banana404
480root▲ ★
2005/12/01(木) 14:08:35ID:???0 385 名前:root▲ ★[sage] 投稿日:2005/12/01(木) 14:08:05 ID:???0
banana723.maido3.com から、アクセスがあるようです。
どこか、臭いかいでいる板があるのかも。
banana723.maido3.com のDNSキャッシュも、リスタートいただけますか。
他には、2ch内部からのアクセスはないようです。
…ということで。
banana723.maido3.com から、アクセスがあるようです。
どこか、臭いかいでいる板があるのかも。
banana723.maido3.com のDNSキャッシュも、リスタートいただけますか。
他には、2ch内部からのアクセスはないようです。
…ということで。
482root▲ ★
2005/12/01(木) 14:20:24ID:???0483ピロリ
2005/12/01(木) 14:21:30ID:HU0C966k0 めでたし めでたし
再インストールしますー
再インストールしますー
2005/12/01(木) 15:25:57ID:U+VwmW+00
引越しして
掃除して
お風呂か
掃除して
お風呂か
485ピロリ
2005/12/01(木) 16:48:29ID:ETiz99/V0 再インストール完了。
486root▲ ★
2005/12/01(木) 16:50:02ID:???0488root▲ ★
2005/12/02(金) 13:25:50ID:???0 ハードウェア交換後の banana403 の情報を受け取りました。
チェック後、作業入ります。
チェック後、作業入ります。
489root▲ ★
2005/12/02(金) 13:29:19ID:???0 それで、banana403/404のプライベート側ネットワークの通信の件ですが、
中の人(仮名)と、あとでちょっと調整してみるです。
とはいえ、今日は会議と締め切り仕事がめじろおし。
とりあえずはbanana404のほうの作業を、すすめているです。
中の人(仮名)と、あとでちょっと調整してみるです。
とはいえ、今日は会議と締め切り仕事がめじろおし。
とりあえずはbanana404のほうの作業を、すすめているです。
490root▲ ★
NGNG banana403, banana404のプライベート側ネットワークが
問題ないことを確認しました。おつでした。
問題ないことを確認しました。おつでした。
491ピロリ
2005/12/02(金) 18:13:14ID:uJPj5TSg0 よかったー
2005/12/02(金) 18:37:43ID:gG/jqiKB0
493root▲ ★
2005/12/02(金) 19:08:31ID:???0494root▲ ★
2005/12/02(金) 19:28:05ID:???0495root▲ ★
2005/12/02(金) 19:40:25ID:???0 banana404 の基本設定が、できつつあります。
banana403 も、週末にはおおむね。
で、あとは、
トータル設計→構築→基本テスト→第2回最速1000大会開催→本移転→年末年始も安泰→ウマー
というかんじで。
banana403 も、週末にはおおむね。
で、あとは、
トータル設計→構築→基本テスト→第2回最速1000大会開催→本移転→年末年始も安泰→ウマー
というかんじで。
正式版出ました。
Apache 2.2.0 Released
ttp://httpd.apache.org/
Apache 2.2.0 Released
ttp://httpd.apache.org/
498root▲ ★
2005/12/03(土) 05:37:00ID:???0 いろいろ調べて、方針を決めてみた。
1) banana403 banana404 では HDD をさわる I/O は一切させない
2) banana403 banana404 では heartbeat を動かして互いに監視する
3) banana403 banana404 ではIPアドレスAを共有する(heartbeatの機能)
4) 初期状態では、Aへのリクエストにはbanana403が応答する
5) banana404はbanana403の「スタンバイノード」となる
6) banana403に異常が発生したり、メンテナンスの時は
banana404がすぐにbanana403にとってかわる
7) その時、ユーザに見える共有IPアドレスAは変わらない
そのため、サービスは継続される
8) banana403 では負荷分散(ロードバランシング)プログラムが動き、
Aへのリクエストをlive22x1/x2/x3に振り分ける
9) ロードバランシングプログラムはlive22x1/x2/x3の監視も同時に行い、
正常に応答しなくなったら、振り分けの仲間から自動的に外れ、
回復したら、自動的に仲間に戻る(バランシングプログラムの機能)
これで、
a) 外に見せる代表IPアドレスはA一つにでき、
b) Aを受けている振り分けサーバが落ちても、サービスは停止せず、
c) 振り分けサーバの後ろにいるlive22x1/x2/x3が部分的に落ちても、サービスは停止しない
ようにできます。
(続く)
1) banana403 banana404 では HDD をさわる I/O は一切させない
2) banana403 banana404 では heartbeat を動かして互いに監視する
3) banana403 banana404 ではIPアドレスAを共有する(heartbeatの機能)
4) 初期状態では、Aへのリクエストにはbanana403が応答する
5) banana404はbanana403の「スタンバイノード」となる
6) banana403に異常が発生したり、メンテナンスの時は
banana404がすぐにbanana403にとってかわる
7) その時、ユーザに見える共有IPアドレスAは変わらない
そのため、サービスは継続される
8) banana403 では負荷分散(ロードバランシング)プログラムが動き、
Aへのリクエストをlive22x1/x2/x3に振り分ける
9) ロードバランシングプログラムはlive22x1/x2/x3の監視も同時に行い、
正常に応答しなくなったら、振り分けの仲間から自動的に外れ、
回復したら、自動的に仲間に戻る(バランシングプログラムの機能)
これで、
a) 外に見せる代表IPアドレスはA一つにでき、
b) Aを受けている振り分けサーバが落ちても、サービスは停止せず、
c) 振り分けサーバの後ろにいるlive22x1/x2/x3が部分的に落ちても、サービスは停止しない
ようにできます。
(続く)
499root▲ ★
2005/12/03(土) 05:40:48ID:???0 で、いろいろ調べてみたのですが、banana403とbanana404をワークとスタンバイではなく
「冗長化を完全に実現した上で、両方同時にワークにする」ようにするのは、
現状のheartbeatでは難しいようです。
しかし、ディスクI/Oをさせないのと、ネットワークI/Fチップがタフなことから、
この用途で使うのであれば、帯域幅が100Mbpsがめいっぱいにならない間は、
いけるような気がします。
これにより、教科書どおりのサーバクラスタ構成にできるはず。
明日以降、この方針で構築をはじめようと思います。
で、この方針だと、ネットワークをより有効に働かせるために、
banana403と404のプライベート側ネットワークのVLAN設定を、
再度微妙に変えてもらう可能性があります。
その際には、また必要事項を連絡します。
ということで、今日はこのへんで。
「冗長化を完全に実現した上で、両方同時にワークにする」ようにするのは、
現状のheartbeatでは難しいようです。
しかし、ディスクI/Oをさせないのと、ネットワークI/Fチップがタフなことから、
この用途で使うのであれば、帯域幅が100Mbpsがめいっぱいにならない間は、
いけるような気がします。
これにより、教科書どおりのサーバクラスタ構成にできるはず。
明日以降、この方針で構築をはじめようと思います。
で、この方針だと、ネットワークをより有効に働かせるために、
banana403と404のプライベート側ネットワークのVLAN設定を、
再度微妙に変えてもらう可能性があります。
その際には、また必要事項を連絡します。
ということで、今日はこのへんで。
2005/12/03(土) 05:43:57ID:8UtGzlw20
rootたんっていつ寝てるのかしら。乙です
501root▲ ★
2005/12/03(土) 05:51:57ID:???0 >>499
> で、この方針だと、ネットワークをより有効に働かせるために、
> banana403と404のプライベート側ネットワークのVLAN設定を、
> 再度微妙に変えてもらう可能性があります。
再度脳内で検討した結果、
変えなくてもいけそうだとわかりました。
ということで、おやすみなさい。
> で、この方針だと、ネットワークをより有効に働かせるために、
> banana403と404のプライベート側ネットワークのVLAN設定を、
> 再度微妙に変えてもらう可能性があります。
再度脳内で検討した結果、
変えなくてもいけそうだとわかりました。
ということで、おやすみなさい。
502root▲ ★
2005/12/03(土) 13:34:23ID:???0 banana403 / banana404 の外部からの状況監視・
LAのチェック等のためにのみ使用する httpd を上げました。
以下のDNS登録をお願いします。
b = balancer で。
backend とちょっと紛らわしいですが、これでいこうかと。
なお live22b という代表名は使用しないため、つけません。
+live22b1.2ch.net:206.223.150.95
+live22b2.2ch.net:206.223.150.140
LAのチェック等のためにのみ使用する httpd を上げました。
以下のDNS登録をお願いします。
b = balancer で。
backend とちょっと紛らわしいですが、これでいこうかと。
なお live22b という代表名は使用しないため、つけません。
+live22b1.2ch.net:206.223.150.95
+live22b2.2ch.net:206.223.150.140
504root▲ ★
2005/12/03(土) 14:11:20ID:???0507root▲ ★
NGNG 課題: バランサーに何を使うか
候補はこのぐらいか
1) pound
2) balance
3) Apacheリバースプロキシ
4) squidリバースプロキシ
よくあるのは 1) だけど、昔の 1.7 はたまに不安定になった。
今の 1.9 はどうかなと。
候補はこのぐらいか
1) pound
2) balance
3) Apacheリバースプロキシ
4) squidリバースプロキシ
よくあるのは 1) だけど、昔の 1.7 はたまに不安定になった。
今の 1.9 はどうかなと。
2005/12/03(土) 15:35:34ID:ENq7hctf0
2005/12/03(土) 19:12:29ID:w/Rvs+On0
510root▲ ★
NGNG で、>>507 は、まずは LVS を使ってみる方向で。
【きりたんぽ】雪だるま作戦に思いを馳せながら雑談するスレッド Part28
http://aa5.2ch.net/test/read.cgi/nanmin/1133468879/93-
【きりたんぽ】雪だるま作戦に思いを馳せながら雑談するスレッド Part28
http://aa5.2ch.net/test/read.cgi/nanmin/1133468879/93-
512root▲ ★
NGNG 1) banana403 につけている代表アドレスを、
live22x1
live22x2
live22x3
の、lo0 に alias でつける
2) Apacheでは、そのアドレスもListenする
で、いけた。
live22x1
live22x2
live22x3
の、lo0 に alias でつける
2) Apacheでは、そのアドレスもListenする
で、いけた。
513root▲ ★
NGNG banana403をリブートしても、自動的に3つ組みになるようにできた。
/usr/local/etc/rc.d/zzz-ipvs.sh
#!/bin/sh
_VIP="206.223.150.96:80"
_REALS="192.168.100.2 192.168.100.3 192.168.100.4"
_REAL=""
case "$1" in
start)
echo -n 'Starting ipvs '
kldload ipvs.ko
kldload ip_vs_rr.ko
/usr/local/sbin/ipvsadm -A -t ${_VIP} -s rr
for _REAL in ${_REALS}; do
/usr/local/sbin/ipvsadm -a -t ${_VIP} -r ${_REAL} -g
done
echo 'done.'
;;
stop)
echo -n 'Stoping ipvs '
/usr/local/sbin/ipvsadm -C
kldunload ip_vs_rr.ko
kldunload ipvs.ko
echo 'done.'
;;
*)
echo "$0 start | stop"
;;
esac
/usr/local/etc/rc.d/zzz-ipvs.sh
#!/bin/sh
_VIP="206.223.150.96:80"
_REALS="192.168.100.2 192.168.100.3 192.168.100.4"
_REAL=""
case "$1" in
start)
echo -n 'Starting ipvs '
kldload ipvs.ko
kldload ip_vs_rr.ko
/usr/local/sbin/ipvsadm -A -t ${_VIP} -s rr
for _REAL in ${_REALS}; do
/usr/local/sbin/ipvsadm -a -t ${_VIP} -r ${_REAL} -g
done
echo 'done.'
;;
stop)
echo -n 'Stoping ipvs '
/usr/local/sbin/ipvsadm -C
kldunload ip_vs_rr.ko
kldunload ipvs.ko
echo 'done.'
;;
*)
echo "$0 start | stop"
;;
esac
515root▲ ★
NGNG …どうも、三姉妹が落ちた時にうまくそれだけを切り離す、というのは、
ないかもしれないですね。
これは、将来の課題にしよう。
で、>>513 をちと改良。スケジューラを選べるようにした。
rr だとラウンドロビンになって、wlc にするとちょっと重み付けしたうえで、
一番コネクション数が少ないやつに回されるらしい(他にもあるみたい)。
#!/bin/sh
_VIP="206.223.150.96:80"
_REALS="192.168.100.2 192.168.100.3 192.168.100.4"
_REAL=""
_SCHED="wlc"
case "$1" in
start)
echo -n 'Starting ipvs '
kldload ipvs.ko
kldload ip_vs_${_SCHED}.ko
/usr/local/sbin/ipvsadm -A -t ${_VIP} -s ${_SCHED}
for _REAL in ${_REALS}; do
/usr/local/sbin/ipvsadm -a -t ${_VIP} -r ${_REAL} -g
done
#/usr/local/sbin/ipvsadm --set 5 5 5
echo 'done.'
;;
stop)
echo -n 'Stoping ipvs '
/usr/local/sbin/ipvsadm -C
kldunload ip_vs_${_SCHED}.ko
kldunload ipvs.ko
echo 'done.'
;;
*)
echo "$0 start | stop"
;;
esac
ないかもしれないですね。
これは、将来の課題にしよう。
で、>>513 をちと改良。スケジューラを選べるようにした。
rr だとラウンドロビンになって、wlc にするとちょっと重み付けしたうえで、
一番コネクション数が少ないやつに回されるらしい(他にもあるみたい)。
#!/bin/sh
_VIP="206.223.150.96:80"
_REALS="192.168.100.2 192.168.100.3 192.168.100.4"
_REAL=""
_SCHED="wlc"
case "$1" in
start)
echo -n 'Starting ipvs '
kldload ipvs.ko
kldload ip_vs_${_SCHED}.ko
/usr/local/sbin/ipvsadm -A -t ${_VIP} -s ${_SCHED}
for _REAL in ${_REALS}; do
/usr/local/sbin/ipvsadm -a -t ${_VIP} -r ${_REAL} -g
done
#/usr/local/sbin/ipvsadm --set 5 5 5
echo 'done.'
;;
stop)
echo -n 'Stoping ipvs '
/usr/local/sbin/ipvsadm -C
kldunload ip_vs_${_SCHED}.ko
kldunload ipvs.ko
echo 'done.'
;;
*)
echo "$0 start | stop"
;;
esac
>515
そういえば3姉妹の名前まだ決まってないですか?
実況鯖だと命名はちょっと難しいかも
フジならすぐ決まりそうだけどw
(命名案はこっちではなく雪だるまスレの方へ)
そういえば3姉妹の名前まだ決まってないですか?
実況鯖だと命名はちょっと難しいかも
フジならすぐ決まりそうだけどw
(命名案はこっちではなく雪だるまスレの方へ)
517root▲ ★
2005/12/05(月) 00:05:31ID:???0 ○heartbeatの設定
- ha.cf, haresources, authkeys を設定
- LVS を上げている部分をheartbeat傘下に移動
設定内容は、サーバが上がったら。
- ha.cf, haresources, authkeys を設定
- LVS を上げている部分をheartbeat傘下に移動
設定内容は、サーバが上がったら。
518root▲ ★
2005/12/05(月) 00:19:07ID:???0 というわけで、DNS変更申瑞ソいきます。
いよいよ、live22xのアドレスを本番環境にします。
見え方は今と変わりません。ということで「みえましたー」はないです(今既に見える)。
(現在)
+live22x.2ch.net:206.223.150.64
(変更後)
+live22x.2ch.net:206.223.150.96
で、LA情報をlive22xからとっておられる各位にお願いです。
live22x.2ch.net はこの設定の後は「代表受付」になります。
つまり、ここからLAとっても個々のサーバのどれにいくかわからないので、意味がないです。
ということでLAについては、live22x1, live22x2, live22x3 のものを
それぞれ個別にとっていただけると、助かります。
いよいよ、live22xのアドレスを本番環境にします。
見え方は今と変わりません。ということで「みえましたー」はないです(今既に見える)。
(現在)
+live22x.2ch.net:206.223.150.64
(変更後)
+live22x.2ch.net:206.223.150.96
で、LA情報をlive22xからとっておられる各位にお願いです。
live22x.2ch.net はこの設定の後は「代表受付」になります。
つまり、ここからLAとっても個々のサーバのどれにいくかわからないので、意味がないです。
ということでLAについては、live22x1, live22x2, live22x3 のものを
それぞれ個別にとっていただけると、助かります。
519ピロリ
2005/12/05(月) 00:20:44ID:648w5JI+0 DOT 少ない?
520ピロリ
2005/12/05(月) 00:21:15ID:648w5JI+0 あっ 私の目の問題か、、
どんどん見えなくなっていくのよね
どんどん見えなくなっていくのよね
521root▲ ★
2005/12/05(月) 00:22:34ID:???0 で、このIPアドレスは、live22b1とlive22b2のうちの「どっちか」についています。
通常はlive22b1についてますが、落ちると30秒程度でlive22b2に切り替わります。
で、live22b1が上がってもそのままで、live22b2が落ちると、
live22b1にまた変わります。
ということで、いわゆるひとつのフェイルオーバーっていうやつで。
通常はlive22b1についてますが、落ちると30秒程度でlive22b2に切り替わります。
で、live22b1が上がってもそのままで、live22b2が落ちると、
live22b1にまた変わります。
ということで、いわゆるひとつのフェイルオーバーっていうやつで。
523root▲ ★
2005/12/05(月) 00:33:39ID:???0 >>517 続き
- /usr/local/etc/ha.d/ha.cf
bcast fxp1
keepalive 2
warntime 10
deadtime 30
initdead 60
#udpport 694
auto_failback off
respawn hacluster /usr/local/lib/heartbeat/ipfail
node banana403.maido3.com
node banana404.maido3.com
ping 206.223.150.1
- /usr/local/etc/ha.d/haresources
banana403.maido3.com 206.223.150.96/32 zzz-ipvs
- /usr/local/etc/ha.d/authkeys
auth 1
1 sha1 "むぎゅー"
- /usr/local/etc/ha.d/ha.cf
bcast fxp1
keepalive 2
warntime 10
deadtime 30
initdead 60
#udpport 694
auto_failback off
respawn hacluster /usr/local/lib/heartbeat/ipfail
node banana403.maido3.com
node banana404.maido3.com
ping 206.223.150.1
- /usr/local/etc/ha.d/haresources
banana403.maido3.com 206.223.150.96/32 zzz-ipvs
- /usr/local/etc/ha.d/authkeys
auth 1
1 sha1 "むぎゅー"
524root▲ ★
2005/12/05(月) 00:36:35ID:???0 >>523 は banana403, 404 共通
haresources に書いた内容により、banana403が最初は活動し、
banana404がスタンバイノードになる。
auto_failback off で、banana403が上がった時の自動戻しは発生しなくなる。
authkeys に共通鍵を書いて、互いに認証する。
haresources に書いた内容により、banana403が最初は活動し、
banana404がスタンバイノードになる。
auto_failback off で、banana403が上がった時の自動戻しは発生しなくなる。
authkeys に共通鍵を書いて、互いに認証する。
525root▲ ★
2005/12/05(月) 00:40:32ID:???0 で、>>515 のスクリプト (zzz-ipvs.sh) を、
/usr/local/etc/rc.d から /usr/local/etc/ha.d/resources.d に mv し、
heartbeat 配下にする。
で、最後の .sh を取る。(/usr/local/etc/rc.d/resources.d/zzz-ipvs という名前で入れる)
それから、IPアドレスはheartbeatがつけたりはずしたりするようになるので、
/etc/rc.conf の以下の行をコメントアウトする。
#ifconfig_fxp0_alias0="inet 206.223.150.96 netmask 255.255.255.255"
ここまでできたらbanana403/banana404をリブートして、設定完了。
/usr/local/etc/rc.d から /usr/local/etc/ha.d/resources.d に mv し、
heartbeat 配下にする。
で、最後の .sh を取る。(/usr/local/etc/rc.d/resources.d/zzz-ipvs という名前で入れる)
それから、IPアドレスはheartbeatがつけたりはずしたりするようになるので、
/etc/rc.conf の以下の行をコメントアウトする。
#ifconfig_fxp0_alias0="inet 206.223.150.96 netmask 255.255.255.255"
ここまでできたらbanana403/banana404をリブートして、設定完了。
526root▲ ★
2005/12/05(月) 01:36:25ID:???0 残っている問題:
・read.cgi をフロントエンドで動かす。
(既にSunOSさんから案あり)
・bbs.cgi トラックバック部分を改良する。
(既にSunOSさんから例あり)
・live22x[123]のどれかが落ちても、切り離されない。
(検知して切り離すコマンドを入れるところを作る必要あり)
・削除関連の各種呪文が雪だるまに対応していない。
(これは、ぼちぼちというかんじか)
・read.cgi をフロントエンドで動かす。
(既にSunOSさんから案あり)
・bbs.cgi トラックバック部分を改良する。
(既にSunOSさんから例あり)
・live22x[123]のどれかが落ちても、切り離されない。
(検知して切り離すコマンドを入れるところを作る必要あり)
・削除関連の各種呪文が雪だるまに対応していない。
(これは、ぼちぼちというかんじか)
528root▲ ★
2005/12/05(月) 01:44:55ID:???0 板移転時の注意:
live22x側での設定(httpd.conf、ゆっくり同期スクリプト)もあわせて必要なので、
移転の際には、同期して作業する必要あり。
live22x側での設定(httpd.conf、ゆっくり同期スクリプト)もあわせて必要なので、
移転の際には、同期して作業する必要あり。
530root▲ ★
2005/12/05(月) 13:39:38ID:???0 banana403 / 404の様子が、微妙におかしくなっていた。
で、banana404 をリモートコンソールからリブートかけたところ、
ハングアップした。
で、banana404のリブート依頼を出した。
ううむ。
で、banana404 をリモートコンソールからリブートかけたところ、
ハングアップした。
で、banana404のリブート依頼を出した。
ううむ。
531root▲ ★
2005/12/05(月) 13:42:52ID:???0 どうも、公道での通信がしくったっぽい。
で、落ちたと思ってしまって、両方に同じIPアドレスが振られたっぽい。
ううむ。
で、落ちたと思ってしまって、両方に同じIPアドレスが振られたっぽい。
ううむ。
532root▲ ★
2005/12/05(月) 13:46:15ID:???0 このへんは、設定で逃れられるかどうかを検討する、というかんじか。
あるいは、heartbeatやLVSそのものの安定性かもしれないけど。
あるいは、heartbeatやLVSそのものの安定性かもしれないけど。
533● ◆ANGLERlqvM
NGNG > 落ちたと思ってしまって、両方に同じIPアドレスが振られたっぽい。
なんてこった。。。
*落ちたと思ってしまって*の部分が非常に気になる。。
なんてこった。。。
*落ちたと思ってしまって*の部分が非常に気になる。。
534root▲ ★
2005/12/05(月) 13:54:52ID:???0 お互いに、heartbeatのパケットを送って監視しているわけです。
で、それは「専用の通信路を使え」と書いてあるです。
例えばシリアルで直結するか、Ethernetのクロスケーブルで直結しろと。
で、今はそうなってないということですね。
で、それは「専用の通信路を使え」と書いてあるです。
例えばシリアルで直結するか、Ethernetのクロスケーブルで直結しろと。
で、今はそうなってないということですね。
535● ◆ANGLERlqvM
NGNG なるほど、まだケーブルは繋がってないのですね。
でも、おいちゃんは、『private LAN に全部つないだ』と言ってたような。
でも、おいちゃんは、『private LAN に全部つないだ』と言ってたような。
536root▲ ★
2005/12/05(月) 14:09:03ID:???0 >>535
えっと、今こうなっているのです。< banana403/404
fxp0 … 外部通信用
fxp1 … 内部通信用(live22x1/x2/x3と通信)
で、heartbeat通信用に、fxp0でもfxp1でもない占有の通信路を確保すべきと
heartbeatのドキュメントに書いてあるわけです。
で、今あいているvr0(マザボについているもの)を使おうかと思って、
雪だるまスレで相談したのですが、「それを使うことは想定してなかった」という返事で、
今はかわりにfxp1を使って、heartbeatの通信もしていると。
えっと、今こうなっているのです。< banana403/404
fxp0 … 外部通信用
fxp1 … 内部通信用(live22x1/x2/x3と通信)
で、heartbeat通信用に、fxp0でもfxp1でもない占有の通信路を確保すべきと
heartbeatのドキュメントに書いてあるわけです。
で、今あいているvr0(マザボについているもの)を使おうかと思って、
雪だるまスレで相談したのですが、「それを使うことは想定してなかった」という返事で、
今はかわりにfxp1を使って、heartbeatの通信もしていると。
538root▲ ★
2005/12/05(月) 16:00:05ID:???0 Ethernetのブロードキャストでのやりとりをやめて、
普通のUDPパケットでheartbeat通信をやりとりするようにしてみた。
修正後のha.cf
#bcast fxp1
ucast fxp1 192.168.100.66 (banana404ではここが192.168.100.65)
keepalive 2
warntime 10
deadtime 30
initdead 60
#udpport 694
auto_failback off
respawn hacluster /usr/local/lib/heartbeat/ipfail
#respawn hacluster /usr/local/lib/heartbeat/ccm
node banana403.maido3.com
node banana404.maido3.com
ping 206.223.150.1
普通のUDPパケットでheartbeat通信をやりとりするようにしてみた。
修正後のha.cf
#bcast fxp1
ucast fxp1 192.168.100.66 (banana404ではここが192.168.100.65)
keepalive 2
warntime 10
deadtime 30
initdead 60
#udpport 694
auto_failback off
respawn hacluster /usr/local/lib/heartbeat/ipfail
#respawn hacluster /usr/local/lib/heartbeat/ccm
node banana403.maido3.com
node banana404.maido3.com
ping 206.223.150.1
539root▲ ★
2005/12/05(月) 16:04:45ID:???0 http://www.linux-ha.org/ha_2ecf
> The bcast directive does not work on FreeBSD because of the fragmentation issue described in
> W. Richard Stevens - Unix Network Programming - Vol 1 - 3rd Edition: The Sockets Networking API
やられたのか。
フラグメント起こすといけないから、FreeBSDではbcastは使っちゃだめぽと。
これで、安定するといいなと。
> The bcast directive does not work on FreeBSD because of the fragmentation issue described in
> W. Richard Stevens - Unix Network Programming - Vol 1 - 3rd Edition: The Sockets Networking API
やられたのか。
フラグメント起こすといけないから、FreeBSDではbcastは使っちゃだめぽと。
これで、安定するといいなと。
540root▲ ★
2005/12/05(月) 16:14:04ID:???0 これで、リブートテストをしてみる。
まずはbanana403をリブート。
banana404に切り替わったのを確認。
まずはbanana403をリブート。
banana404に切り替わったのを確認。
541root▲ ★
2005/12/05(月) 16:15:25ID:???0 403は無事立ち上がり、スタンバイになったのを確認。
404をリブート。403に切り替わったのを確認。
404をリブート。403に切り替わったのを確認。
542root▲ ★
2005/12/05(月) 16:17:41ID:???0 404は無事立ち上がり、スタンバイになったのを確認。
切り替わりも、ややスムーズになった模様。
これで、動かしてみるじゃ。
切り替わりも、ややスムーズになった模様。
これで、動かしてみるじゃ。
544root▲ ★
NGNG >>526
> ・bbs.cgi トラックバック部分を改良する。
done. by bbs.cgi 2005/12/05
> ・bbs.cgi トラックバック部分を改良する。
助けを求めてみた。
read.cgi再開発スレ Part2
http://qb5.2ch.net/test/read.cgi/operate/1105909861/415
> ・live22x[123]のどれかが落ちても、切り離されない。
if 自分が振り分けをサービスしている {
三姉妹の状況を調べて、状況に応じてつなげたり切ったりする
}
というかんじのを、banana403/404でcronか何かで動かせばいいのかなと。
> ・削除関連の各種呪文が雪だるまに対応していない。
とりあえず唯一知っているやつ(スレスト)で、試してみるか。
あとは、、、できる人に期待で。
> ・bbs.cgi トラックバック部分を改良する。
done. by bbs.cgi 2005/12/05
> ・bbs.cgi トラックバック部分を改良する。
助けを求めてみた。
read.cgi再開発スレ Part2
http://qb5.2ch.net/test/read.cgi/operate/1105909861/415
> ・live22x[123]のどれかが落ちても、切り離されない。
if 自分が振り分けをサービスしている {
三姉妹の状況を調べて、状況に応じてつなげたり切ったりする
}
というかんじのを、banana403/404でcronか何かで動かせばいいのかなと。
> ・削除関連の各種呪文が雪だるまに対応していない。
とりあえず唯一知っているやつ(スレスト)で、試してみるか。
あとは、、、できる人に期待で。
546root▲ ★
2005/12/05(月) 22:32:25ID:???0 >>538 をさらに修正。
heartbeatの通信を占有チャンネルに変更。
#bcast fxp1
#ucast fxp1 192.168.100.66
ucast vr0 10.0.0.2 (banana404ではここが10.0.0.1)
keepalive 2
warntime 10
deadtime 30
initdead 60
#udpport 694
auto_failback off
respawn hacluster /usr/local/lib/heartbeat/ipfail
#respawn hacluster /usr/local/lib/heartbeat/ccm
node banana403.maido3.com
node banana404.maido3.com
ping 206.223.150.1
heartbeatの通信を占有チャンネルに変更。
#bcast fxp1
#ucast fxp1 192.168.100.66
ucast vr0 10.0.0.2 (banana404ではここが10.0.0.1)
keepalive 2
warntime 10
deadtime 30
initdead 60
#udpport 694
auto_failback off
respawn hacluster /usr/local/lib/heartbeat/ipfail
#respawn hacluster /usr/local/lib/heartbeat/ccm
node banana403.maido3.com
node banana404.maido3.com
ping 206.223.150.1
547root▲ ★
NGNG >>545
> ・read.cgi をフロントエンドで動かす。
は、できた。
基本はOKなので、バイナリの共通化をはかる。
神に感謝で。
・キャッシュが微妙におかしい場合があるっぽい
Apache関連か。
ひどいようならキャッシュ設定を無効に。将来的にはApache 2.2化か。
・root権限がなくても作業できるようにする
しくみは作れそうな感じ。
> ・read.cgi をフロントエンドで動かす。
は、できた。
基本はOKなので、バイナリの共通化をはかる。
神に感謝で。
・キャッシュが微妙におかしい場合があるっぽい
Apache関連か。
ひどいようならキャッシュ設定を無効に。将来的にはApache 2.2化か。
・root権限がなくても作業できるようにする
しくみは作れそうな感じ。
548root▲ ★
NGNG めもめも。Apache のキャッシュ問題。
【きりたんぽ】雪だるま作戦に思いを馳せながら雑談するスレッド Part28
http://aa5.2ch.net/test/read.cgi/nanmin/1133468879/540
【きりたんぽ】雪だるま作戦に思いを馳せながら雑談するスレッド Part28
http://aa5.2ch.net/test/read.cgi/nanmin/1133468879/540
2005/12/08(木) 11:59:56ID:wTfWzixj0
550root▲ ★
2005/12/08(木) 13:56:53ID:???0 >>549
vrは負荷には強くないですね。
携帯サーバでやった時も、NICがvrなやつが先に微妙になりました(メモリも少なかったが)。
トラフィックよりも、フレーム数が多い場合に微妙になるようです。
今回vrはheartbeatのやりとりにしか使っていないので、
フレームが落ちることがなければ、なんとかなるんではないかと。
(外部や他サーバとの通信は全部fxpかem)
vrは負荷には強くないですね。
携帯サーバでやった時も、NICがvrなやつが先に微妙になりました(メモリも少なかったが)。
トラフィックよりも、フレーム数が多い場合に微妙になるようです。
今回vrはheartbeatのやりとりにしか使っていないので、
フレームが落ちることがなければ、なんとかなるんではないかと。
(外部や他サーバとの通信は全部fxpかem)
551root▲ ★
2005/12/08(木) 15:32:57ID:???0 config -g なんてあるのね、しらんかった。
http://www.nendai.nagoya-u.ac.jp/~kato/FreeBSD/debug/kgdb.html
http://www.nendai.nagoya-u.ac.jp/~kato/FreeBSD/debug/kgdb.html
552root▲ ★
2005/12/09(金) 12:12:19ID:???0553root▲ ★
2005/12/10(土) 19:09:06ID:???0 read.cgi再開発スレ Part2
http://qb5.2ch.net/test/read.cgi/operate/1105909861/484-485
これを受けて、worker MPMに挑戦しようと思っていたりするわけですが、
問題なのは、サーバ数のところの調整です。
今、typicalなtigerサーバでは、
<IfModule prefork.c>
StartServers 768
MinSpareServers 128
MaxSpareServers 768
ServerLimit 1024
MaxClients 1024
MaxRequestsPerChild 1000000
MaxMemFree 2000
</IfModule>
といったかんじなんですが(上記はnews19)、
これを <IfModule worker.c> のところに、どう反映させるのがいいのかなと。
http://qb5.2ch.net/test/read.cgi/operate/1105909861/484-485
これを受けて、worker MPMに挑戦しようと思っていたりするわけですが、
問題なのは、サーバ数のところの調整です。
今、typicalなtigerサーバでは、
<IfModule prefork.c>
StartServers 768
MinSpareServers 128
MaxSpareServers 768
ServerLimit 1024
MaxClients 1024
MaxRequestsPerChild 1000000
MaxMemFree 2000
</IfModule>
といったかんじなんですが(上記はnews19)、
これを <IfModule worker.c> のところに、どう反映させるのがいいのかなと。
2005/12/10(土) 19:28:23ID:nEGwQ7980
こんな感じ?あんまり自信ないけど
<IfModule worker.c>
StartServers 6
Serverlimit 8
ThreadLimit 128
ThreadPerChild 128
MinSpareThreads 128
MaxSpareThreads 768
MaxClients 1024
MaxRequestsPerChild 1000000
MaxMemFree 2000
</IfModule>
<IfModule worker.c>
StartServers 6
Serverlimit 8
ThreadLimit 128
ThreadPerChild 128
MinSpareThreads 128
MaxSpareThreads 768
MaxClients 1024
MaxRequestsPerChild 1000000
MaxMemFree 2000
</IfModule>
2005/12/10(土) 20:04:50ID:ljr20zQR0
まあ、1プロセスに何スレッドにするのかは難しいですねえ
557▲ ◆cZfSunOs.U
2005/12/10(土) 20:34:18ID:1jtGNzJ50 おぉ,worker MPM 行きますか.
# 2.2 なら event MPM も行ってみたいところですが.
で,可能ならプロセス数を絞って1プロセスあたりのスレッド数を多くしてみたいところですが,
bbsd もスレッド数を増やした状態だと挙動が不安定な模様だったので,ちょっと心配ですね.
どこまで行けるかは「じっけん!じっけん!」ってところですか.
で,MaxMemFree はスレッド数に応じて増やした方がいいかも知れません.
あと,AcceptMutex pthread でもちゃんと動くなら,FreeBSD でのデフォルトの
flock より効率はいいんですが...... pthread_mutexattr_setrobust_np()
がないプラットフォームだと httpd がコケた時がコワいのか......
# 2.2 なら event MPM も行ってみたいところですが.
で,可能ならプロセス数を絞って1プロセスあたりのスレッド数を多くしてみたいところですが,
bbsd もスレッド数を増やした状態だと挙動が不安定な模様だったので,ちょっと心配ですね.
どこまで行けるかは「じっけん!じっけん!」ってところですか.
で,MaxMemFree はスレッド数に応じて増やした方がいいかも知れません.
あと,AcceptMutex pthread でもちゃんと動くなら,FreeBSD でのデフォルトの
flock より効率はいいんですが...... pthread_mutexattr_setrobust_np()
がないプラットフォームだと httpd がコケた時がコワいのか......
558root▲ ★
2005/12/11(日) 15:33:53ID:???0 live22xの受付が落ちた時の避難口用に、
live22y.2ch.net を作ることにしました。
こちらは従来のDNSラウンドロビン方式なので、手堅いです。
ただし、フロントが1台落ちると、いまいちになります。
以下のDNSの設定変更をお願いします。
(以下の3つを新規追加)
+live22y.2ch.net:206.223.150.64
+live22y.2ch.net:206.223.150.74
+live22y.2ch.net:206.223.150.84
live22y.2ch.net を作ることにしました。
こちらは従来のDNSラウンドロビン方式なので、手堅いです。
ただし、フロントが1台落ちると、いまいちになります。
以下のDNSの設定変更をお願いします。
(以下の3つを新規追加)
+live22y.2ch.net:206.223.150.64
+live22y.2ch.net:206.223.150.74
+live22y.2ch.net:206.223.150.84
559root▲ ★
2005/12/11(日) 22:55:38ID:???0 【きりぼし】雪だるま作戦に思いを馳せながら雑談するスレッド Part29
http://aa5.2ch.net/test/read.cgi/nanmin/1133983623/750
ということで、>>558 に加えて、以下の設定変更もあわせてお願いします。
これで、live22x は live22y の別名となり、かつ設定を変えた場合は5分程度で
それが浸透するようになるはず。
(現在の設定)
+live22x.2ch.net:206.223.150.96
(上記を削除し、下記を追加)
Clive22x.2ch.net:live22y.2ch.net:300
http://aa5.2ch.net/test/read.cgi/nanmin/1133983623/750
ということで、>>558 に加えて、以下の設定変更もあわせてお願いします。
これで、live22x は live22y の別名となり、かつ設定を変えた場合は5分程度で
それが浸透するようになるはず。
(現在の設定)
+live22x.2ch.net:206.223.150.96
(上記を削除し、下記を追加)
Clive22x.2ch.net:live22y.2ch.net:300
560root▲ ★
NGNG561root▲ ★
NGNG live22x2では、これに対して、
<IfModule prefork.c>
StartServers 1536
MinSpareServers 256
MaxSpareServers 1536
ServerLimit 2304
MaxClients 2304
MaxRequestsPerChild 1000000
MaxMemFree 2000
</IfModule>
こう設定したです。
<IfModule worker.c>
StartServers 48
Serverlimit 72
ThreadLimit 32
ThreadsPerChild 32
MinSpareThreads 256
MaxSpareThreads 1536
MaxClients 2304
MaxRequestsPerChild 1000000
MaxMemFree 64000
</IfModule>
server-status で見る限り、受付の見かけ上の人数は同じに見えます。
で、read.cgi / bbs.cgi とも、動いたっぽい。
<IfModule prefork.c>
StartServers 1536
MinSpareServers 256
MaxSpareServers 1536
ServerLimit 2304
MaxClients 2304
MaxRequestsPerChild 1000000
MaxMemFree 2000
</IfModule>
こう設定したです。
<IfModule worker.c>
StartServers 48
Serverlimit 72
ThreadLimit 32
ThreadsPerChild 32
MinSpareThreads 256
MaxSpareThreads 1536
MaxClients 2304
MaxRequestsPerChild 1000000
MaxMemFree 64000
</IfModule>
server-status で見る限り、受付の見かけ上の人数は同じに見えます。
で、read.cgi / bbs.cgi とも、動いたっぽい。
562root▲ ★
NGNG …これをlive22x[13]にも投入したいけど、
今日は、やめておこう。
楽しみは明日以降にということで。
今日は、やめておこう。
楽しみは明日以降にということで。
563root▲ ★
NGNG で、言うまでもないですが、
このworker MPMがちゃんと動くようになると、
一人のhttpdが多数のセッションを同時にさばけるようになるので、
メモリが空くとか、設定によってはより多くのセッションを
さばけるようになるとか、そういう話なわけです。
このworker MPMがちゃんと動くようになると、
一人のhttpdが多数のセッションを同時にさばけるようになるので、
メモリが空くとか、設定によってはより多くのセッションを
さばけるようになるとか、そういう話なわけです。
2005/12/12(月) 00:54:57ID:YBe5/2YX0
ThreadsPerChild 32なら、MaxRequestsPerChildを32倍したほうが良い気がする
566root▲ ★
NGNG こうしてみた。
<IfModule worker.c>
StartServers 48
Serverlimit 72
ThreadLimit 32
ThreadsPerChild 32
MinSpareThreads 256
MaxSpareThreads 1536
MaxClients 2304
MaxRequestsPerChild 32000000
MaxMemFree 64000
</IfModule>
<IfModule worker.c>
StartServers 48
Serverlimit 72
ThreadLimit 32
ThreadsPerChild 32
MinSpareThreads 256
MaxSpareThreads 1536
MaxClients 2304
MaxRequestsPerChild 32000000
MaxMemFree 64000
</IfModule>
567root▲ ★
NGNG 普通の板でも、実験してみるかな。
明日あたり、ex11 = 狼の方々にご協力いただこうかと。
明日あたり、ex11 = 狼の方々にご協力いただこうかと。
569root▲ ★
NGNG >>561 >>566 をまとめると、
prefork => worker への「等価」変換
StartServers = StartServers(p) / ThreadsPerChild
MinSpareThreads = MinSpareServers(p)
MaxSpareThreads = MaxSpareServers(p)
ServerLimit = ServerLimit(p) / ThreadsPerChild
ThreadLimit = ServerLimit(p)
ThreadsPerChild = 1プロセスでいくつのスレッドを処理するか(これから試行)
MaxClients = MaxClients(p)
MaxRequestsPerChild = MaxRequestsPerChild(p) * ThreadsPerChild
MaxMemFree = MaxMemFree(p) * ThreadsPerChild
prefork => worker への「等価」変換
StartServers = StartServers(p) / ThreadsPerChild
MinSpareThreads = MinSpareServers(p)
MaxSpareThreads = MaxSpareServers(p)
ServerLimit = ServerLimit(p) / ThreadsPerChild
ThreadLimit = ServerLimit(p)
ThreadsPerChild = 1プロセスでいくつのスレッドを処理するか(これから試行)
MaxClients = MaxClients(p)
MaxRequestsPerChild = MaxRequestsPerChild(p) * ThreadsPerChild
MaxMemFree = MaxMemFree(p) * ThreadsPerChild
570root▲ ★
NGNG >>569 修正
prefork => worker への「等価」変換
StartServers = StartServers(p) / ThreadsPerChild
MinSpareThreads = MinSpareServers(p)
MaxSpareThreads = MaxSpareServers(p)
ServerLimit = ServerLimit(p) / ThreadsPerChild
ThreadLimit = ThreadsPerChild
ThreadsPerChild = 1プロセスでいくつのスレッドを処理するか(これから試行)
MaxClients = MaxClients(p)
MaxRequestsPerChild = MaxRequestsPerChild(p) * ThreadsPerChild
MaxMemFree = MaxMemFree(p) * ThreadsPerChild
prefork => worker への「等価」変換
StartServers = StartServers(p) / ThreadsPerChild
MinSpareThreads = MinSpareServers(p)
MaxSpareThreads = MaxSpareServers(p)
ServerLimit = ServerLimit(p) / ThreadsPerChild
ThreadLimit = ThreadsPerChild
ThreadsPerChild = 1プロセスでいくつのスレッドを処理するか(これから試行)
MaxClients = MaxClients(p)
MaxRequestsPerChild = MaxRequestsPerChild(p) * ThreadsPerChild
MaxMemFree = MaxMemFree(p) * ThreadsPerChild
571root▲ ★
NGNG >>570 さらに修正
StartServers = StartServers(p) / ThreadsPerChild
MinSpareThreads = MinSpareServers(p)
MaxSpareThreads = MaxSpareServers(p)
ServerLimit = ServerLimit(p) / ThreadsPerChild
ThreadLimit = ThreadsPerChildより多くする、当面同じで
ThreadsPerChild = 1プロセスでいくつのスレッドを処理するか(これから試行)
MaxClients = MaxClients(p)
MaxRequestsPerChild = MaxRequestsPerChild(p) * ThreadsPerChild
MaxMemFree = MaxMemFree(p) * ThreadsPerChild
StartServers = StartServers(p) / ThreadsPerChild
MinSpareThreads = MinSpareServers(p)
MaxSpareThreads = MaxSpareServers(p)
ServerLimit = ServerLimit(p) / ThreadsPerChild
ThreadLimit = ThreadsPerChildより多くする、当面同じで
ThreadsPerChild = 1プロセスでいくつのスレッドを処理するか(これから試行)
MaxClients = MaxClients(p)
MaxRequestsPerChild = MaxRequestsPerChild(p) * ThreadsPerChild
MaxMemFree = MaxMemFree(p) * ThreadsPerChild
572root▲ ★
NGNG ex11の設定 (>>553から)
<IfModule worker.c>
StartServers 24
MinSpareThreads 128
MaxSpareThreads 768
ServerLimit 32
ThreadLimit 32
ThreadsPerChild 32
MaxClients 1024
MaxRequestsPerChild 32000000
MaxMemFree 64000
</IfModule>
<IfModule worker.c>
StartServers 24
MinSpareThreads 128
MaxSpareThreads 768
ServerLimit 32
ThreadLimit 32
ThreadsPerChild 32
MaxClients 1024
MaxRequestsPerChild 32000000
MaxMemFree 64000
</IfModule>
573root▲ ★
NGNG httpdの大きさはこのぐらいか。
これで1プロセス32セッションになるなら、相当いい感じ。
news19
16848 ch2news19 96 0 9572K 5196K select 0 0:43 0.05% 0.05% httpd
ex11
84519 ch2ex11 96 0 21712K 15304K select 1 0:17 0.00% 0.00% httpd
これで1プロセス32セッションになるなら、相当いい感じ。
news19
16848 ch2news19 96 0 9572K 5196K select 0 0:43 0.05% 0.05% httpd
ex11
84519 ch2ex11 96 0 21712K 15304K select 1 0:17 0.00% 0.00% httpd
574root▲ ★
NGNG 以下のサーバのパスワード変更済み。
oyster901 902 243
cobra2244 2245 2246 2247
tiger503 504 505 506 507 508 509 510 511 512
tiger2513 2514
tiger2522 2523 2524 2525
携帯系tigerとroot権限ありbananaは、これから作業へと。
oyster901 902 243
cobra2244 2245 2246 2247
tiger503 504 505 506 507 508 509 510 511 512
tiger2513 2514
tiger2522 2523 2524 2525
携帯系tigerとroot権限ありbananaは、これから作業へと。
575root▲ ★
NGNG 済み。
tiger2507 2508 2509 2510 2511 2512
tiger2507 2508 2509 2510 2511 2512
■ このスレッドは過去ログ倉庫に格納されています