【Project peko】2ch特化型サーバ・ロケーション構築作戦 Part17
■ このスレッドは過去ログ倉庫に格納されています
peko作戦について語るスレです。
サーバロケーションPIEに関する話題もこちらで。
<現在の主要なテーマ>
・oyster243(BBQ/dnscache)の突然死対策&cobra2245セットアップによる2台体制化
・oytser902(memories)のFreeBSD 5.3化
・「雪だるま作戦」による、スケーラブルなサーバ群構築
・read.cgi/bbs.cgiの細かな調整・詰め
・携帯サーバのプライベート側スイッチのグレードアップ検討
・各種作戦・プロジェクトとの連携
・FreeBSDのさらなるチューニング詰め
<関連スレッド>
■新春特別企画「雪だるま作戦」liveサーバの飛躍なるか!? Part1
http://qb5.2ch.net/test/read.cgi/operate/1105035540/
■ 自動地震速報@2ch をつくろう
http://qb5.2ch.net/test/read.cgi/operate/1106583619/
■ テレビ番組欄@2ch をつくろう 第2話
http://qb5.2ch.net/test/read.cgi/operate/1107366393/
<関連サイト>
レンタルサーバー maido3.com 2ちゃんねるの転送量: http://server.maido3.com/pie/
MRTGによる統計情報: http://mumumu.mu/mrtg/
2ちゃんねる/PINKちゃんねる 稼動中のサーバ一覧: http://mumumu.mu/serverlist.html
<前スレ>
【Project peko】2ch特化型サーバ・ロケーション構築作戦 Part16
http://qb5.2ch.net/test/read.cgi/operate/1102087698/ >>722
ども。
認識しているので、ぼちぼちやっていくです。 >720
おおっ
あとはいつものごとくex10が(ry
perlはいつかは通らなきゃいけない道なので今のうちに対策しておいた方がいいですね make buildworld中。
%sysctl debug.mpsafevm
debug.mpsafevm: 1
vmもGiant-freeになったのね。
tigerサーバ/cobraサーバには、朗報かと。 おわりそうもないんで、しかけといて、もうねるか。
vfsがmpsafeになるのって、いつごろだろ。 cvsup.peko.2ch.net を 5.4-RC1 にしてみた。
カーネルとユーザランドだけで、まだportsは古いまま。
%uname -a
FreeBSD banana273.maido3.com 5.4-RC1 FreeBSD 5.4-RC1 #0: Sun Apr 3 21:32:24 PDT 2005 root@banana273.maido3.com:/usr/obj/var/src/sys/I386_BANANA_54 i386
特に問題にはならず、普通の手順でOKの模様。
0)Apache等の停止(外からのアクセスを止める)
1)rm -rf /usr/obj/* # 念のため
2)supfileを更新
*default release=cvs tag=RELENG_5_4 # RELENG_5_3から更新
3)cd /usr/src; make update
4)make -j 4 buildkernel
5)make installkernel
6)リブート
7)ブートアップ確認後、dmesgをチェック・保存
8)cd /usr/src/usr.sbin/mergemaster; make -m /usr/src/share/mk all install # 今回は必要なさげ
9)mergemaster -p # 今回は必要なさげ
10)make -j 4 buildworld
11)make installworld
12)mv /etc/rc.d /etc/rc.d.53; mkdir /etc/rc.d
13)mergemaster -i # 12)を省略して、13)をmergemasterでも問題ない
14)リブート
15)ブートアップ確認後 rm -rf /etc/rc.d.53
16)Perl関係とかports関係を更新 ports/packagesも更新した。概ね問題なさげ。
5.2.1R => 5.3R に比べると、面倒さは少なめの模様。 ということで、DNS設定依頼出します。
【Project BBBE】共有!?BE規制
http://qb5.2ch.net/test/read.cgi/operate/1112542929/252
(新規追加)
+b.2ch.net:206.223.151.135
&bbe.2ch.net:206.223.151.135:a
これで、作業用の場所 b.2ch.net と、DNS参照用のサブドメイン bbe.2ch.net が使えるようになります。
今日は、ここまで。 >>729
完了
bbe.2ch.net に html とか各種仕組みをいれるんでしたっけ?
ログインの方法は既知のものでいいのかな? >>730
b.2ch.netの方にコンテンツを入れて、bbe.2ch.netの方でDNSクエリします。
帰ったら仕様をメールするです。
>>731
要対策すね。
帰ったらたんたんと。 仕様を書いたメールを発射しました。
なんだかめまいがするので、>>731 の対策は明日以降、、、。 正式にRC1来ますた。
(FTPもRC1に差し変わってます。)
First release candidate 2 Apr 2005 5 Apr 2005 [FreeBSD-Announce] FreeBSD Security Advisory FreeBSD-SA-05:03.amd64
http://lists.freebsd.org/pipermail/freebsd-announce/2005-April/000987.html
出てたのでとりあえず書いておきます。 ということで、ここに保管。
携帯→2ch運用情報スレッド17
http://qb5.2ch.net/test/read.cgi/operate/1109943424/633
633 名前:root▲ ★[sage] 投稿日:2005/04/09(土) 13:40:37 ID:???0 ?##
原因ですが、
APCアクセラレータのportsが更新されて、
extension=apc.so
が、extensions.iniに自動で入るようになったことへの対応漏れでした。
ごめんなさい。
extension=apc.so が extensions.ini に2行入っていると、
httpdがメモリを無限に食い尽くして、最後はシステムが破綻に陥る模様。 今 m (BBM) のセキュリティホール対策中ですが、
snmpd が 250M 以上食っていた。で、リスタートしたらシステム全体が軽く。
何か、メモリリークがあるのかも。
これで「BBMが止まっています」の頻度が減るといいなぁと。 作業中だったってことで。>>740
これから、観察かと。 これってBBMの鯖?に負荷をかけるととまるんですか? 一応、いろんな試みについては、それなりにログがとられるってかんじで。
で、BBMの中身のシステムがなんだかいまいちかも。 とりあえずリブート直後にbbmがいまいちになるのは、対策しました。
あとは、元データに戻るタイミングの問題か。
これは、サザンさんと共同作業すね。 で、確かにnews4vipだけ、BBMが止まっていますが出る可能性が高いみたい。
単に投稿数が多いというだけなのかな。ちょっと謎。 なんか書き込み規制がかかってる携帯から
リロードしまくったあとに、IEで見ると止まってることが多い気がする bbs.cgi をチェック中、、、。
なんか、BBMで1箇所不思議な処理をしているところがあるので、
それをコメントアウトしてみる。 そっか。よく読むと、不思議な処理じゃないみたいですね。
うーむ。 で、何が不思議なのかというと、
同じex10なのにmorningcoffeeではならないような気がするんですよね、これが。 そういえばrootさんオライリーのBSD Hacks読んだ? >>677 の read.cgi の結果をキャッシュの続きです。
Squid が CGI をキャッシュするようにしても、apache+read.cgi がするにしても、
問題はスレが更新されたら、キャッシュも破棄、更新しなければいけないことです。
Squid は dat の更新を知るのは、ほぼ無理です。
read.cgi が stat.2 を使って更新されていなければ、元の提案のようにキャッシュの HTML を送信。
dat が更新されていれば、キャッシュを破棄して、HTML を生成。
stat() も使わないようにするのだったら、bbs.cgi が何らかの方法で、read.cgi に更新の通知をしなければいけないです。
# 試すにしても、工数を考えるとずいぶん後ででしょう。
ちょっと点検したいのですが、read.cgi は C で、bbs.cgi は perl で出来ているのですよね?
後、気になっているところとしては、この方法を取ろうとすると read.cgi は常駐プロセスになる必要が。
時間が取れたら、プロトタイプでも作ってみます。 >>752
ももいさん翻訳のやつですか。
http://www.amazon.co.jp/exec/obidos/tg/detail/-/books/4873112184/contents/ref=cm_toc_more/249-8559731-8913944
>>753
> ちょっと点検したいのですが、read.cgi は C で、bbs.cgi は perl で出来ているのですよね?
Yes.
> 後、気になっているところとしては、この方法を取ろうとすると read.cgi は常駐プロセスになる必要が。
mod_cgidso 化までできたものを mod_read にするのは、それほど面倒ではないはず。 ん〜要は read.cgi が dat の mtime を Last-Modified として吐けば,
スタティックな HTML ページと同様にキャッシュ可能なんですけどね.
http://dso.2ch.net/test/read.cgi/myanmar/1101888913/64-68n
では mod_mem_cache にキャッシュさせてたわけですが.
どちらにしろ read.cgi では dat の mmap() の際にサイズ取得のため
fstat() してると思うんで,同時に mtime も知ることができるかと. サーバダウン(鯖落ち)情報Part61
http://qb5.2ch.net/test/read.cgi/operate/1111396436/866-867
867 名前:root▲ ★[sage] 投稿日:2005/04/10(日) 20:48:04 ID:???0 ?##
<IfModule prefork.c>
StartServers 384
MinSpareServers 32
MaxSpareServers 384
ServerLimit 512
MaxClients 512
MaxRequestsPerChild 1000000
</IfModule>
にした。< oyster902 >>757
>>756 のことだとすると、メモリ使用量の(少しでも)節約かなと。
必要ないなら、httpdの数は少ないに越したことなさそう。 cvsup.peko.2ch.net を 5.4-RC2 にした。
%uname -a
FreeBSD banana273.maido3.com 5.4-RC2 FreeBSD 5.4-RC2 #2: Sun Apr 10 06:10:50 PDT 2005 root@banana273.maido3.com:/usr/obj/var/src/sys/I386_BANANA_54 i386 >> 755
そうですね。
何を考えていたのか、stat/fstat を省略するばかり考えていたので
Squid では、無理だと思ってしまいました。
話によると、動的ページのキャッシュ化もずいぶん少ない工数で実現できそうですね。 memories またもや陥落です。。。
Date: Mon Apr 11 14:40:06 2005 JST-9 (Sun Apr 10 22:40:06 2005 PST+8PDT)
Target: oyster902.peko.2ch.net[memories.2ch.net] 206.223.151.230 オンラインになりました。しばらく作業できます。
まず、リブート依頼いきます。 リブート入れていただきました。
ブートアップ待ち中。 上がってこないですね。fsck中か。
ちと、しばらくオフラインになります。作業は後程。 カーネルを前のバージョンに戻しました。
%uname -a
FreeBSD oyster902.peko.2ch.net 5.3-RELEASE-p5 FreeBSD 5.3-RELEASE-p5 #1: Mon Feb 7 21:58:28 PST 2005 root@oyster902.peko.2ch.net:/usr/obj/usr/src/sys/AMD64_COBRA_53_AAC_ISP amd64
で、Sumaにシリアル経由で入れないみたいです。
これは別途Jimさんに確認しておきます。 2chの動作報告はここで。 パート16
http://qb5.2ch.net/test/read.cgi/operate/1103455176/653
operate的には単独スレじゃなくて、とりあえずここを動かすことにするか。
で、方向性がまとまってきたら、単独スレってかんじで。
手段としては、同じIPアドレスからの単位時間あたりの接続回数とか、
datリクエスト数とか、read.cgi起動回数とかをトリガにして、何かにとばすかんじか。
概念的には「バーボンハウスの読み版」ってかんじで。
で、そのためのツールとしては、何が考えられるのかっていうのが議論のターゲットなのかな。
mod_dosevasive を前にちょっと試したことがあるけど、ややいまいちだったかも。 私のお勧め(負荷が低い、作るの簡単、不明点無し)
1) 取っているログから解析
2) N分毎におこなう
3) バーボンに突っ込む
>>771
2) N分毎におこなう
これがいちばん問題だねぇ・・・
いったい何分になるのか・・・ 20 とか 30 しせゃないですかねぇ < N分
短時間の微分値をみても判定できないと思う。 >>771
私も、そんなことを考えていました。
httpd側に組み込むのは、結構めんどいです。
(各子供httpdの*合計*を調べないといけないので)
mod_dosevasiveは、一つの子供単位でしか数を見れないので、
ほんとのDoS攻撃みたいにたくさん来ないと、検知しにくいですね。
つまり、httpdの子供が512人とかいると、
短時間のうちに512回試みても、1つあたりだと1回とか2回にしかならない。
作るのあんまり得意じゃないけど、
とりあえず今のログをなめて、IPアドレスの数を調べるやつの雛形を作ってみるか。
# おいそがしそうですね。>>771 >>772-773
30分〜1時間ぐらいか。
そのぐらい利きが遅いのを、どう判断するかってことですが。
で、バーボンはbbs.cgiの制限だけな気がするので、全部だめにするしくみ(バーボンII?)を作って、
そこに突っ込んでしまうってかんじですかね。 fox.cgi を改造するとはやいと思われ
1) 今のログに対して解析を行う等時間的概念の改造
2) 全体に対する割合とか絶対量とか発動条件の検討&実装
3) バーボンは cgi 一発呼ぶだけです。組み込み簡単。 >>777
fox.cgi(PV処理プログラム)というと、1時間に1回ですね。
そのぐらいの粒度でいくと。
割合は、厳密にやるなら初回出現からx秒の間にy回とかいうのがいいんだろうけど、
それはコスト高い割に実入りが少なそうだから、
1時間の間にy回ってかんじかしら。
今の様子見てると、y = 3000あたりからか。
あるいは、全体回数がz回だったとして、y / z > 5%を占めたらだめとか。
>>778
必要に応じて変えられると。 >>779
いやいやプログラムの雛形としては fox.cgi が良いのではないか
近道なんじゃないかということで fox.cgi でやるという意味ではないですー
N=60でも充分かもですが >>780
そゆ、意味ですか。了解です。
なんだかふおんな動きがあるようなので、そっちを先に準備します。
質問・雑談スレ126@運用情報板
http://qb5.2ch.net/test/read.cgi/operate/1113153252/586- >>777-781
少なくとも 206(差分取得) とか 304(変更無し) は除外してほしい
x分にy回呼び出し食らったら read.cgi がバーボンリストへ追加 (*全鯖対象ではなく自分自身の鯖だけ行う) Jimさんに oyster243 用の RAID 1 カードの手配と、cobra2245 と同様のセッティングでの
OS インストールをお願いしました。
できたところで、たんたんと BBQ 二重化へと。 FreeBSD cobra2245.maido3.com 5.3-RELEASE-p5 FreeBSD 5.3-RELEASE-p5 #0: Wed Jan 19 22:51:40 PST 2005 root@cobra2245.maido3.com:/usr/obj/usr/src/sys/AMD64_COBRA_53_AMR amd64
FreeBSD 5.3R-p8 は、ことによるとamd64ではいまいちなのかも。 amrd0: 34938MB (71553024 sectors) RAID 1 (degraded)
degraded になったので、RAID 1の片方が、いまいちになった模様。 < BBQ
今は動いていますが、いまいちな状態ですね。
落ちた理由は、これかも。 PIEにいるSeanさんと連絡がとれたので、ICQで事情を伝達中。 ひとまずBBQ分のデータ類を保存しておきましょうか? >>788
そうしていただけると助かります。
わたしのほうでも、memoriesにバックアップとります。
スペアディスクはあるそうなので、Seanさんに交換していただこうかと。 Sean さんがリモートKVMスイッチを準備してくれるとのこと。
どっちのディスクがあぼーんしているか調べる必要があるので、
その際には一度BBQ落とすことになります。
で、わかりしだい交換作業へと。 そういえば ex10 = oyster901 は立派な amd64 だけど、
5.3R-p8 にしても、特に落ちてないし。
BBQ落ちがHDDトラブルのせいだとすると、
memories の構成のときのみ、5.3R-p8 ではいまいちだということも
考えられるかも。 リモートコンソールを準備してくれました。
とったバックアップを確認できたら、いったんcobra2245を落とします。 バックアップ確認できました。作業はいります。< cobra2245 なかなか速度が上がらないですぅ、、、(泪)
2% 2144KB 27.0KB/s 44:02 ETA
いきなりgzip -r したのはないしょ(汗)@tar忘れ remote host bbq.2ch.net: Connection reset by peer
Connection closed
わははー(嬉)
よろしくおながいしますm(_ _)m深謝 memories にフルダンプをバックアップしました。
restore if で見られるのを確認。
SCSI BIOSで確認したところ、#0 のドライブがこわれていることを確認。
Sean さんに交換を依頼しました。
交換後、rebuild 作業の予定。 Seanさんがディスクを交換してくれました。
リモートコンソールをKVMで操作して、RAIDをrebuild中。
うまくいくかは、かみのみそしる。 amrd0: <LSILogic MegaRAID logical drive> on amr0
amrd0: 34938MB (71553024 sectors) RAID 1 (optimal)
ということで、rebuildは無事完了しました。
これで、cobra2245はノーマルオペレーションに戻りました。
Seanさんに、無事rebuildできたことと、お礼を伝えておこうかと。 >>798
お疲れさまです・・・
あと、少しで復活ですね
がんばってください・・・ まとめ:
・cobra2245が落ちた
・電源再投入では、うまくリブートしなかった
・人間(Seanさん)が介してリブートした結果、上がりはした
・チェックしたところ、RAID 1の片方のディスクが壊れた状態になったことが判明した
・Seanさんにリモートコンソール(KVM)をつけてもらって、私がリモートからBIOSでチェックした結果、
#0のディスクがFAIL状態になっており、RAID 1のディスクのうち1台が壊れたことが判明した
・Seanさんに壊れたディスクを交換してもらった
・私がKVM経由でBIOSユーティリティを操作し、RAID 1をrebuidした
・rebuildはうまくいき、cobra2245は元に戻った
なお、カーネルは念のため、5.3R-p5に戻してあります。
これと別件で、oyster243 用のRAIDカードもJimさんにメールで手配しておきました。 >>799
元に戻ったという意味では、もう復活のはず。
RAIDのrebuildはたまに失敗することがあるので、結構、どきどきしました。
ブートアップのメッセージを見た時は、思わず画面に向かってガッツポーズ。 >>802
どうもです・・・
本当にお疲れさまでした・・・ >>804
oyster243ですね。了解です。
完成後は、cobra2245 との2ヘッド体制へと。 で、BBQ のつくり的に、HDDにかかる負担をもう少し減らしたほうがよさげな予感がします。
サザンさんとの共同作業になるのかなと。以上今朝のチラシの裏。 >>806 方針とかのメモ(チラシの裏2)。
・rbldns を rbldnsd に変えてみる (HDDのI/O減少)
・データ生成を差分更新にできないか検討してみる
・「効き」を考えると、更新頻度はできるだけ下げたくないが、
下げてもいいものはあるかもしれない。
例えばBoo80や焼き部隊が焼いたやつはすぐに効いてほしいけど、
DSBLは少しぐらい遅延があってもいいかもしれない。 >>806
あ、未承諾広告※さんもですね。ごめんなさい。
いずれにせよ、中の人たちとの調整ということで。 現在、2chdns7.maido3.com (= banana224) 停止中。
影響範囲は、これの「えー設定」だから、
http://qb5.2ch.net/operate/kako/1102/11020/1102087698.html の457-
…これかな。
これらのサーバは、書き込み時のレスポンスが悪くなっているはず。
462 名前: FOX ★ 投稿日: 04/12/20 14:38:05 ID:???
訂正
A(えー)
banana226(live19)
banana225(love3)
banana210(pc5) <= (注: 既に退役)
banana229(that3)
banana228(money3)
banana227(game7)
banana240(music4)
banana233(sports7)
banana232(tv6)
banana601(etc3)
banana612(tv7)
banana613(live18)
477 名前: FOX ★ 投稿日: 04/12/21 17:13:38 ID:???
追加工事(工事リスト漏れ)
banana398(live15) >>806
BBQ はしばらく触っていないので、未承諾さんにお任せしますー。
おいらは Boo を boo.2ch.net に移行する作業します。
これで、瞬時に BBQ に反映させられるはず。
この辺は未承諾さんと調整ということで。 >>810
おー、すばらしい。
私はひまをみて、HDDにやさしいBBQへと。 >>809 の問題は解決済み。
2ちゃんねるのサーバのdnsキャッシュサーバの参照関連をまとめておくです。
おおまかにいって、この4つ。
・えー設定 (>>809)
・びー設定
・maido3.com のやつを向いているやつ
・自分で持っている(tiger/root権限ありbanana) >>813
そのへんは、とりまとめな方から追ってお知らせがあるんじゃないかと。 ごくごく簡単に、DSBLの切り離しでしょうか。@BBQ
いかんせんデータ量が大杉かもかも。。。
(大杉の中をrsyncとか、cdbの再構築とかとか。。。)
bbs.cgi側では、list.dsblとnikuの2段構造になっちゃうけれどもNet::DNS仕様に変わっているので安心かなかなかな? >>819
データ量を減らす方向での解決は、1mmも考えていませんです。
パフォーマンスが出てないわけじゃないし。
bbs.cgi側の装置はうまく動いているので、中を合理的にしようという方向で。 ■ このスレッドは過去ログ倉庫に格納されています