SSブログ
サーバー・ネットワーク管理 ブログトップ
前の10件 | 次の10件

大規模 Web システム [サーバー・ネットワーク管理]

ライブドア次世代テクノロジーセミナー第1弾
http://labs.cybozu.co.jp/blog/takesako/2005/12/livedoor.html
(うわっ、すごい!ごめん。誤解してたよライブドア。)
Sledge + MySQL 4.0 + Squid + コンテンツを自力で圧縮(必要なやつだけ)

Flickr の中に人の LAMP構成プレゼン
http://d.hatena.ne.jp/koyachi/20051127/1133026272
PHP + MySQL + 画像はファイルとして置いといて Squid にキャッシュ

はてなDB運用
http://yamipro.ameblo.jp/entry-3872463068e49e3f9e00f7198926c6dd.html
あと、Sledge 使ってます・・・でいいのか?Catalyst も使ってる?(Catalyst って速いの?)
・・・ http://www.hatena.ne.jp/info/tech にあった。
はてなフレームワークらしい。

ところで、ちょっと話が外れるけど・・・
Apache 2.2.0 + mod_proxy_balancer
http://d.hatena.ne.jp/naoya/20051205/1133782641
http://blog.yappo.jp/yappo/archives/000352.html
死活監視してくれる(らしい)のがすごい。
これじゃあ、高級車ぐらいの値段のロードバランサーを売ってる会社は大変だろうなぁ。

以上を総括すると
・mod_perl/PHP with フレームワーク + MySQL + Squid
・最後は RDBMS の性能 + SQL の投げ方 + DB のチューニング と HDD の性能
・MySQL の負荷分散のためにシングルマスタ(更新系)+マルチスレーブ(参照系)
・出来うる限りキャッシュする(もしくはデータをメモリに置く)
ということか。全体的に、どれも構成が似てる。

いまさら MySQL を使おうとしても、はまりそうなだけだし、
PostgreSQL か Firebird でなんとかならんか、と思う。
SQLite は、データを memory に置けるので、その場合は速いんじゃないかと密かに思っているが、
それだと、複数のクライアント(Webアプリ)から接続できないから、大規模って意味ではダメだね。

結論
Perl や PHP はつらいので、ここはなんとか Python で速いフレームワークを誰か作っておくれ。
mod_python は、あまりに使いにくい気がするので。
http://blog.so-net.ne.jp/nakagami/2005-06-05
そうじゃないと・・・Ruby on Rails の勉強しちゃうよ!(で、Ruby on Rails って速いの?)

おまけ
自分が欲しい機能について、つらつらと考えてみる。
認証フレームワークは、あると便利なときもあるけどいらない場合が多いし。
OR マッピングはいらないので、リクエストとレスポンスがラッピングされてて HTML のテンプレート言語が付いてればいい。SQL のテンプレートも付いているとうれしいかな。
Zope から DTML+Python+ZSQLMethod だけ取り出した感じ。
自分でも良く分からんが、mod_python で素早く動く CherryPy みたいなもんか?

追記
PostgreSQL 8.1 は速いらしい
http://itpro.nikkeibp.co.jp/article/COLUMN/20051213/226148/

過去の自分の日記も発見
http://blog.so-net.ne.jp/nakagami/2005-10-20


Trac と jail のメモ [サーバー・ネットワーク管理]

一昨日(エントリは昨日)の Session01 の話で、
マルチプロジェクトの設定は省略されてたので、設定はめんどっちいんだろうなぁ・・・
と思ったが
http://tach.arege.net/trac/wiki/TracModPython
http://zippo.taiyo.co.jp/~gotoh/diary/?200411b
それほど面倒くさくはないか。

Trac の環境のために新たに IPアドレスを振れるなら(かつ FreeBSD なら)
jail を使うという手もある(らしい)。
このほうが、プロジェクト単位でより分離されてて扱いやすいような気がする。
(でも、普通にインストールしてマルチプロジェクトにするよりインストールは面倒か。)

[jail環境にtracをインストールするメモ]
http://www.otsune.com/diary/2005/10/02/1.html
(jail 環境じゃないところにインストールしたい場合も役に立つ話
・・・超手短に言うと、/usr/ports/www/trac で make する)

[jail のこと]
otsune さんのメモ
http://www.otsune.com/bsd/jail/

ezjail
http://www.otsune.com/diary/2005/10/17/2.html
http://pcweb.mycom.co.jp/news/2005/10/18/028.html
http://erdgeist.org/arts/software/ezjail/

jail って、「chrootで FTPサーバー動かす」みたいに設定が難しそうだし、jail ってバグも多い?
と思ってたけど、だいぶよくなってきてる(私のような人間でも簡単に使える)ような気がする。

・・・ところで、jail って IPv6 は使えないんですね(別にいいんだけど)。
http://www.otsune.com/bsd/jail/fulljail.html

追記
trac 0.9 on Windows
http://blogs.yahoo.co.jp/re_guzy/16116553.html


オープンソースでエンタープライズなソフト [サーバー・ネットワーク管理]

Mooyaさんのところで知ったが、
Ethernet Channel Bonding http://mooya.ath.cx/CubeDeZope/2005/10/20051020001820
というのがあるそうな。すげー、そんなことが出来るんだ、と思った・・・
が、HP の FAQ にも、baunding 関連のものがいくつかあり、結構一般的なものらしい。
http://www1.jpn.hp.com/products/software/oe/linux/mainstream/support/faq_hard/hard_ethernet.html#bondingprimary

ちょうど、オープンソースの HTTP/HTTPS ロードバランサーがあることも知る
UltraMonkey
http://itpro.nikkeibp.co.jp/article/NEWS/20051019/223092/
http://www.thinkit.co.jp/pr/nttcomware/6/1/050822_1.html
http://www.thinkit.co.jp/pr/nttcomware/6/2/050908_1.html
恥ずかしながら、BIND や、djbdns で A レコードを並べれば、自動的にラウンドロビンしてくれることも最近知ったんだが・・・

PostgreSQL でも、クラスタリング機能が出来つつあるみたいだし・・・

Slony-I(シングルマスタマルチスレーブ)
http://paper.japan.zdnet.com/abstract.htm?wpn=705
http://pcweb.mycom.co.jp/column/yetanother/030/
http://pcweb.mycom.co.jp/column/yetanother/031/
http://pcweb.mycom.co.jp/column/yetanother/032/
PGCluster(マルチマスタ)
http://pgcluster.projects.postgresql.org/jp/
http://pcweb.mycom.co.jp/column/yetanother/033/
http://pcweb.mycom.co.jp/column/yetanother/034/
http://pcweb.mycom.co.jp/column/yetanother/035/
http://pcweb.mycom.co.jp/column/yetanother/036/
http://pcweb.mycom.co.jp/column/yetanother/037/
http://pcweb.mycom.co.jp/column/yetanother/038/
http://pcweb.mycom.co.jp/column/yetanother/039/

なんだか、えらい世の中になってきたもんだ。

さらに調べてみる・・・
UltraPossum ( OpenLDAP の多重化)
http://ultrapossum.org/

FlexPOP ( POP サーバーの多重化)
http://www.valinux.co.jp/newsroom/2005/0620/02/
http://inagaki.blog01.linkclub.jp/
多重化するために、メールデータは MailDir として NFS サーバー上に置くとかするものみたい。

じゃあ、その NFS サーバーの高可用性はどうやって実現すればいいんだ、とか考えていくときりがないな。


Postfix で受け取ったメールを Mail HUB に転送(と PostfixAdmin について) [サーバー・ネットワーク管理]

http://blog.so-net.ne.jp/nakagami/2005-10-07 の続き

自ドメインのメールとして受け取ったメールを Mail HUB に転送するのは、
main.cf(FreeBSD の場合 /usr/local/etc/postfix/main.cf )に
mailbox_transport = smtp:hub_server:25
と書けばいいらしい。

Postfix + Cyrus IMAP http://blog.so-net.ne.jp/nakagami/2005-10-07 の場合に、
mailbox_transport = lmtp:unix:/var/imap/socket/lmtp
となっているところを書き換えてあげればいいわけね。

外部に転送する時のホストを指定する場合は、
relayhost = hub_server
と書けば良いらしい。IP Address で指定する場合は [10.1.2.3]と、ブラケットで囲む。

ところで、PostfixAdmin なんてのがある。
http://www.fkimura.com/postfix2.html
アカウントの追加・削除とエイリアスの設定ができればいいのに、機能が多すぎるな。
バーチャルドメインも使えなくてもいいのに。
MySQL がないとダメっていうのもちょっとやだな。
私は、バーチャルドメインな環境でメールサーバー面倒を見ることはなさそうなので忘れることにする

それから、本についてちょっと書いておこう。
私の持っているのはこの本↓だけ。
1.http://www.amazon.co.jp/exec/obidos/ASIN/4756140513/
今回読み直してみた。対象になっている Postfix のバージョンが古いが、良書だと思う。
この本を持ってれば、わざわざ新しい本を買いなおす必要なないかと。
(ただ、ASCII が EWB で作った本だからか、つまらん誤植が多いような・・・)

今買うならこの本↓とか
2.http://www.amazon.co.jp/exec/obidos/ASIN/4274065766/
この本↓とかが良さそうな気がするが、
3.http://www.amazon.co.jp/exec/obidos/ASIN/4873111951/
中身を見たことがないのでよくわからないが。

(Spam 対策についての自分へのメモ)
2. の本には書いてあるのかも。以下の情報は、中身をよく読んでない。必要になったら読むべし。
SpamBayes server-side
http://spambayes.sourceforge.net/server_side.html
Setting up Server-Side Spam filtering for IMAP
http://www.boost-consulting.com/writing/server-side.html
owaさんのところ
http://owa.as.wakwak.ne.jp/zope/labs/bbs/214/8
http://owa.as.wakwak.ne.jp/zope/coreblog/148
http://owa.as.wakwak.ne.jp/zope/coreblog/149
http://owa.as.wakwak.ne.jp/zope/coreblog/151
http://owa.as.wakwak.ne.jp/zope/coreblog/152
Procmail の紹介とレシピの書き方
http://www.jaist.ac.jp/~fjt/procmail.html

X-Spambayes: とか、独自のヘッダーを付けてあげればいいかと思ったが
Outlookにメール振り分けフィルターの追加
http://www.xucker.jpn.org/pc/popfile_outlook_filter.html
を見ると、title に「spamだよー」という情報を付加するしかないみたい。
同じメールが来たときに、付加した [spam] がスコアに影響を与えないんだろうか?


OpenVPN [サーバー・ネットワーク管理]

以前、VPN についてちと調べたが、
http://blog.so-net.ne.jp/nakagami/2005-07-20
http://blog.so-net.ne.jp/nakagami/2005-07-21

kinneko さんの日記で知ったが、OpenVPN というのがあるそうな。
http://d.hatena.ne.jp/kinneko/20051013
#そういえば、あの時はアプライアンスを考えてたので OSS を調べようとはしなかった。

そもそもの始まりは↓の記事
SSL VPN と OpenVPN:多くの嘘とわずかな真実
http://japan.linux.com/security/05/10/12/0618209.shtml

本家
http://openvpn.net/
http://openvpn.net/howto.html

Linux とか、Windows での話
http://www.tomo.ac/goodstream/vpn/openvpn/

Linux 中心の話
http://www.komoto.org/vpn/openvpn.html
http://kano.feena.jp/?OpenVPN

FreeBSD での話
http://www.ginganet.org/ginga/memo/openvpn/

OpenBlocks のおと(OpenBlockSS と FreeBSD)
http://www.mimori.org/~h/openblocks/openvpn.html
(OpenVPN 1.x なのでちと古い?)

ブラックボックスよりは、OpenVPN の方が、私には分かり易いとおもうけど、
総合的に考えると会社で使うんならやっぱり専用機だな。
後々のために、どっかで練習してみたい気はするが・・・。
TCP でトンネルが張れるので、NAT の環境でも大丈夫そう。
http://www.atmarkit.co.jp/fnetwork/tokusyuu/26l2vpn/04.html
(UDP じゃないと使い物にならないような気もするが・・・)


CISCO の世界の人たち [サーバー・ネットワーク管理]

CISCO の世界というか IOS の世界の人たちが何人も参加する打ち合わせに参加。
ユーザー側(素人)のひとりとして、多少は TCP/IP がわかる要員として狩り出されているが、
今回のような CISCO の世界で生きている人たちに(しかもあんなたくさん)お会いするのは初めてで、ものめずらしい打ち合わせに参加させてもらえた。

私から見ても、いうなれば、電気工事とか電話工事とおんなじような別世界の話で
「ネットワークのプロの人たちって、いろんなことを気にしてるんだなぁ」と感心することしきり。
いうならば小学校の社会科見学に行っているようなものだった。
#全2重か半2重かなんて普段考えたことないよ・・・
一見、同じように見える http://blog.so-net.ne.jp/nakagami/2005-07-26 の人とは違う感じ。
まぁ、プログラマの世界にもほんとにいろんな人がいるからねぇ。

それにしても、ネットワーク屋さんって地味で地道な仕事で、しかも繋がって当然という大変な仕事だなぁと思った。

こういっちゃ何だが、ソフト開発の世界では「不具合はあるもの」というのが社会的に認知されてきて
いるが、ネットワーク屋さんや ISP は、ますます障害が許されない感じになってきてて、
大変だなぁ・・・というのが私の勝手な感想。
(本当はソフトだって不具合があっちゃいけないんだけど)


セキュリティ向上のためのネットワーク設定? [サーバー・ネットワーク管理]

「セキュリティを向上させるため」という理由で、わざと経路設定をしないのはやめて欲しい。
どうしても、パケットを通したくない場合でも、経路はちゃんと設定して、ACL で制限するように
してほしい。

それから、やたら ICMP echo を OFF にするのもやめて欲しい。
#あのー、企業内のイントラネットでそこまでしないといけないんでしょうか?
ping が返ってこなくてデバッグし難いんです。

ネットワークを設計するプロの人は、(自分が使わないことをいいことに)障害時の原因究明を
やりにくい設定をして逃げてっちゃうように思うんですが、みなさんのところはいかがでしょう?
人によるんでしょうが。

それとも、私が古臭いど素人なだけなんでしょうか。


SoftEther の記事と PPP over SSH [サーバー・ネットワーク管理]

昨日に引き続き、VPN についてお勉強・・・
日経 NETWORK の今月(2005.8)号の特集1が SoftEther だったので読んでみた。
TCP を通して Ethernet語をしゃべるのは、最近のはやりらしく、同じ仕組みの異なる実装
TinyVPN、 Emotion Link というのと合わせて、どんな感じの仕組みかというのを解説してた。
(うーん、どうだろ。わざわざ買ってまで読まなくてもいいか・・・って感じ)
無料で使えるのはあるけど、ソースが見れるようになってないのはなんとなく不安。
Ethernet語はしゃべらなくてもいいので(IP だけ通れば)PPP over TCP なんてのはないのかなぁ
・・・と思ったら、PPP over SSH っていう手があった(ちょっと、設定が面倒そう)。

PPP over SSH with NAT
http://hydro.energy.kyoto-u.ac.jp/~sekiyama/PPPoSSHwithNAT/pppossh.html

もぐらプロジェクト: PPP over SSH client for Windows
http://www.kmc.gr.jp/proj/vpn/

子羊ルータでVPN (PPP over SSH)を使用する方法について
http://www.amulet.co.jp/solutions/VPN.html

PPP over SSHによるVPNの構築
http://stada.jp/comp/vpn.html

「VPN技術の比較」というページも発見
http://www.komoto.org/vpn/vpntech.html


VPN (IPsec) [サーバー・ネットワーク管理]

VPN について会話が成立するくらいの知識は身につけようと、ちょっと調べた。

[書籍情報]

【ゼロからはじめるVPN】
http://www.ascii.co.jp/books/detail/4-7561/4-7561-4293-1.html
たまたま、手元にあったので、さらっと読んでみた。
2年程前に出版されたものなので、製品情報やトレンドについて参考になるか、ちょっと微妙。IPSec 中心。
IPSec については、Google君に聞くと、以下の本が評判よさそう

【マスタリングIPsec】
http://www.oreilly.co.jp/books/4873110599/
『マスタリングIPsec』サポートページ
http://www.tatsuyababa.com/MasteringIPsec/

【IPsec徹底入門】
http://www.amazon.co.jp/exec/obidos/ASIN/4798101214/249-6119089-0382745

【IPsecによるVPN構築ガイド[基礎と実践]】
http://www.gihyo.co.jp/books/syoseki-contents.php/4-7741-1636-X

[Web上の情報]

【技術解説 IT管理者のためのIPSec講座 】
http://www.atmarkit.co.jp/fpc/kaisetsu/ipsec/ipsec01.html

しかし、どうもうまく普及していない模様。

【FreeS/WANによるIPSecの導入と運用】
http://www.atmarkit.co.jp/flinux/special/ipsec/ipsec01a.html

【(Linuxの)IPsecの困難】
http://www.yamdas.org/column/technique/ipsec2.html

Global IP じゃないとだめとか、固定IPじゃないとだめとか、というあたりが障壁になっている模様。
実際、一番上に挙げた書籍より後に同じ会社から出た本
【失敗しないVPN構築】
http://www.ascii.co.jp/books/detail/4-7561/4-7561-4569-8.html
を本屋でぱらぱらっと見たら、SoftEther を中心に解説していて、IPsec は添え物の感がある。


複雑になってしまった世界で勉強するのって難しい。 [サーバー・ネットワーク管理]

コンピューターとか、ネットワークのバックグラウンドのないまま、企業の情報システム部門に
配属されてしまったひとが、ベンダーと会話するために最低限理解しておきたいことについて、
私の周りで、勉強会のようなことをしている。
範囲としては、だいたい↓程度のことを、Q&A形式を交え、懇切丁寧にやっているのだが・・・
http://www005.upp.so-net.ne.jp/nakagami/Another/NetworkIntro.html
もう2回ほどやっているのだが、大雑把にいって↑の半分程度しか進んでいない。
(ある程度わからないところがあっても次を説明するのに差し支えない範囲で飛ばしながら)
残りをやるにしても、時間を空けながらあと3回はやらないと、最低限のところまではたどりつけない
だろう。
(最低限のところまで行ってようやく、自分のわからないところを質問できる程度。現在は、どこがわからないかがわからないような状態)

私が、最初に勉強したころは Ethernet は、10base2 で接続されていたし、思えば
イエローケーブルも部屋の片隅に転がっていたのを見たことがある。
ホストとルーターと接続線の論理的なものと実物が1対1で対応していた時代だ。
#そういえば、日本最初の ISP である IIJ が FreeBSD の 1FD PC を
#「ルーターでーす」といって持ってきた、という話を UNIX Magazine で読んだ頃。

ところが、今、いきなり現実の世界に放り込まれると、L3スイッチがどうとか、
コアスイッチとか、ディストリビューションスイッチがどうとか、
ベンダーのプロモーションキーワードや、製品用語に紛れて、ことの本質が見えなくなっている。
一番最初に、L3 スイッチを見せられたあとで、私の説明で
「L3 スイッチは、バブとルーターをギューっと1つの装置にまとめて、どことどこのポートが同じ
サブネットになるかを設定可能にしたもの」と言っても、わかりにくいのは当然だろう。

ネットワーク機器というと、素朴な「ホスト」と「ルーター」という構成要素でなくて、
L2スイッチだったり L3 スイッチだったりしながら、それ自体も IP アドレスを持っていて、
SNMP をしゃべる、Webインターフェースを持っている(=サーバですらある)というんだから、
そりゃ、理解しようと思ったら何がなんだかわからないに違いない。

いったん、複雑化してしまった現実を分解して論理的な単位で考えていかないといけない。
大事なことと、瑣末なことがわかりづらくなっている。
#人間って、ばらばらにするよりも、積み上げていくほうが理解しやすいもんだな。
それって、ネットワークだけじゃなくて、ソフトウェアの世界や他のいろんな世界でもおんなじで、
これからの人って大変だなぁ。

L3 スイッチって、経路情報と一緒に ARP テーブルも持ってるのね。そりゃ「スイッチ」と言いたくなるのもわかる。
http://ja.wikipedia.org/wiki/%E3%83%AC%E3%82%A4%E3%83%A43%E3%82%B9%E3%82%A4%E3%83%83%E3%83%81
でも、「L3 スイッチって、実際の使い方からみればポートのいっぱい付いた速いルーターのこと」と、
いささか乱暴ではあるものの、事の本質を突いた説明がしてあるようなネットワーク教科書が欲しい。

自分がプログラマーだからかもしれないが、例えば、L2スイッチとリピーターハブが「どう違うのか」を
解説している文章はあるが、プログラム(コンピューター)から見たら「同じ」であることにポイントを
置いている解説が少ないと思う。


前の10件 | 次の10件 サーバー・ネットワーク管理 ブログトップ