【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/ そっか。よく読むと、不思議な処理じゃないみたいですね。 うーむ。 で、何が不思議なのかというと、 同じ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側の装置はうまく動いているので、中を合理的にしようという方向で。 tiger506 のクラッシュダンプのトレース (kgdb) where #0 0xc0507ca2 in doadump () #1 0xc050829b in boot () #2 0xc05085c1 in panic () #3 0xc04fcd29 in lockmgr () #4 0xc0553b83 in vop_stdunlock () #5 0xc0553a33 in vop_defaultop () #6 0xc061dc67 in ufs_vnoperate () #7 0xc0616947 in ufs_inactive () #8 0xc061dc67 in ufs_vnoperate () #9 0xc055c2f0 in vrele () #10 0xc061a3cb in ufs_close () #11 0xc061dc67 in ufs_vnoperate () #12 0xc05666b0 in vn_close () #13 0xc05675a2 in vn_closefile () #14 0xc04ea014 in fdrop_locked () #15 0xc04e8e61 in fdrop () #16 0xc04e8e17 in closef () #17 0xc04e861f in fdfree () #18 0xc04f01c8 in exit1 () #19 0xc04efcf4 in sys_exit () #20 0xc066b9ff in syscall () #21 0xc06593af in Xint0x80_syscall () #22 0xffff002f in ?? () #23 0xffff002f in ?? () #24 0xbfbf002f in ?? () #25 0x0000430c in ?? () #26 0x0804b924 in ?? () #27 0xbfbfe4b8 in ?? () #28 0xf8d1bd74 in ?? () #29 0x281425ec in ?? () #30 0x281424b0 in ?? () #31 0x281424b0 in ?? () #32 0x00000001 in ?? () (続く) #33 0x0000000c in ?? () #34 0x00000002 in ?? () #35 0x280c9373 in ?? () #36 0x0000001f in ?? () #37 0x00000292 in ?? () #38 0xbfbfe49c in ?? () #39 0x0000002f in ?? () #40 0x00000000 in ?? () #41 0x00000000 in ?? () #42 0x00000000 in ?? () #43 0x00000000 in ?? () #44 0x43f9f000 in ?? () #45 0xc3c19e20 in ?? () #46 0xc7287320 in ?? () #47 0xf8d1b718 in ?? () #48 0xf8d1b700 in ?? () #49 0xc346b7d0 in ?? () #50 0xc05188a3 in sched_switch () Previous frame inner to this frame (corrupt stack?) (kgdb) /var/crash/info.2 の中身 Good dump found on device /dev/da0s1b Architecture: i386 Architecture version: 1 Dump length: 2146959360B (2047 MB) Blocksize: 512 Dumptime: Wed Apr 13 13:09:21 2005 Hostname: tiger506.maido3.com Versionstring: FreeBSD 5.3-RELEASE #3: Thu Nov 4 21:51:36 PST 2004 root@tiger503.maido3.com:/usr/obj/var/src/sys/I386_TIGER_53 Panicstring: lockmgr: thread 0xc7287320, not exclusive lock holder 0xc35e6af0 unlocking Bounds: 2 前から、ごくたまに起こっている FreeBSD のバグですね、たぶん。 kernel内のlock管理に矛盾が生じてpanicですか tiger511 = blackgoat3 の、昨日朝のクラッシュダンプのトレース。 #0 0xc0507cae in doadump () #1 0xc05082a7 in boot () #2 0xc05085cd in panic () #3 0xc066b594 in trap_fatal () #4 0xc066b2d7 in trap_pfault () #5 0xc066af11 in trap () #6 0xc06591fa in calltrap () #7 0x00000018 in ?? () #8 0x00000010 in ?? () #9 0xde7a0010 in ?? () #10 0xc101fb00 in ?? () #11 0xc3475460 in ?? () #12 0xf35e3bac in ?? () #13 0xf35e3b8c in ?? () #14 0x00000001 in ?? () #15 0xc8eef000 in ?? () #16 0x00000000 in ?? () #17 0x00000000 in ?? () #18 0x0000000c in ?? () #19 0x00000000 in ?? () #20 0xc0637004 in uma_zfree_internal () #21 0xc0636f38 in uma_zfree_arg () #22 0xc04feaaf in mb_fini_pack () #23 0xc0636f7c in uma_zfree_internal () #24 0xc0636f38 in uma_zfree_arg () #25 0xc053b8a1 in mb_free_ext () #26 0xc053b7ba in m_freem () #27 0xc056eb7b in ether_demux () #28 0xc056e87d in ether_input () #29 0xc047e961 in em_process_receive_interrupts () #30 0xc047bc8e in em_intr () #31 0xc04f4195 in ithread_loop () #32 0xc04f3245 in fork_exit () (続く) #33 0xc065925c in fork_trampoline () (kgdb) info.0 ファイルの情報 Good dump found on device /dev/da0s1b Architecture: i386 Architecture version: 1 Dump length: 2146959360B (2047 MB) Blocksize: 512 Dumptime: Wed Apr 13 13:13:45 2005 Hostname: tiger511.maido3.com Versionstring: FreeBSD 5.3-RELEASE-p8 #2: Sun Apr 10 09:13:05 PDT 2005 root@tiger511.maido3.com:/usr/obj/var/src/sys/I386_TIGER_53_BLACKGOAT Panicstring: page fault Bounds: 0 em_intr() っていうぐらいで、ネットワーク系の割り込み処理でしくったか。 FreeBSDよりSolaris10の方が性能良いんじゃないんですか? Solaris10に入れ替えしましょう >>829 性能っていうか、かっつりはしてますな。 maido3.comの次世代にでも。 また SA か、、、。 20050414: FreeBSD-SA-05:04.ifconf Zero a buffer in ifconf() in order to avoid accidental disclosure of kernel memory to userland. >>832 ftp://ftp.freebsd.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-05:04.ifconf.asc とりあえずすごく急ぎなわけじゃなさげ。 5.4Rにするときに対応かな。 バーボンでの動的な .htaccess 変更に伴う .htaccess 破損のリスクを減らすには こういうものもあります,とさりげなく宣伝(w http://sunos.saita.ma/mod_authz_iplist.html <チラシの裏> 1分に1回、各掲示板サーバのdat/とsubject.txtをblackgoatからrsyncする、というのは、おもしろそう。 通信路の圧縮、増分転送ともに、満たしている気がするし。 </チラシの裏> >>840 rsyncする => rsyncでとる <チラシの裏> 5.4-RC3 になった模様。< FreeBSD。 </チラシの裏> <チラシの裏> 2.0.54模様。< Apache (Portsも同時との噂有り)。 </チラシの裏> <チラシの裏 href="http://sunos.saita.ma/leaflet.html "> >>840 雪だるまで read.cgi をフロント側で走らせることを考えても, Squid でのキャッシュだと dat を直接 open() できないのに対し, そのやり方なら直接 open() できるのでやりやすそうですね. >>844 に関連して......もし Apache 更新するなら,ついでに http://qb5.2ch.net/test/read.cgi/operate/1105909861/188 の更新がまだならお願いします. http://qb5.2ch.net/test/read.cgi/operate/1105035540/188 もどこかで実験したいですね. </チラシの裏> >>844 きてるですね。ちかいうちに。 MD5 (apache2/httpd-2.0.54.tar.bz2) = 4ae8a38c6b5db9046616ce10a0d551a2 SIZE (apache2/httpd-2.0.54.tar.bz2) = 5566979 MD5 (apache2/powerlogo.gif) = 0f106073b3c7844cf22d4df126b27c62 SIZE (apache2/powerlogo.gif) = 5279 >>845 そうなんですよね。 うまくすれば、かなり応用範囲広いかもです。 Apache更新の際には、mod_cgidsoも更新と。 で、workerで動かすのは、白やぎさんあたりでやってみようかなと思っていたり。 で、 <チラシの裏> Apacheのモジュールをstatic linkにすると、ex10とか効果あるのかしらね。 </チラシの裏> The RAID Controller has arrived. Which server would you like it installed to? -Sean >>848 Thank you. I already received the mail from one of "Inside Person" of maido3.com, and I replied it. I'd like to install RAID card to oyster243 and reinstall FreeBSD/amd64, I already backup all data of it and already did shutdown, so I think it is ready. So, please order to Sean-san to start installing now. ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる