どさどさにっき(SP1) 〜2008年5月下旬〜

by やまや
<< = >>

2008年5月21日(水)

A3 1枚

_ /.j の トヨタ、パワーポイントとカラーコピー(プリント)を自粛のネタ。あれあれ、最近はパワポが多かったんですか。 このコメントにあるように、トヨタが作る資料は昔からずっと A3 一枚だと思ってたんだけど。っていうか、トヨタ社内だけじゃなくて関連会社だけじゃなくて、ぜんぜん関係ない相手にもその流儀を強要してると思ってたんだけど。

_ 何年か前、某ナントカ協会関連の仕事をしたんだけど、この協会の構成メンバーの多くがトヨタから出向で来てた人だった。ただし、そのナントカ協会の業務はあくまでトヨタの地元でやるイベントを動かすことであって、トヨタとも自動車業界ともまったく関係なく、むしろ公的な性格の強いものだった(官庁からの出向も多し)。なのに、協会の外注先(つまりわれわれ)が作る資料になぜか A3 1枚ルールが適用された。わしゃ協会との折衝も協会向け資料作りもまったく関わらなかったので伝聞だけど。トヨタとはまったく関係ない仕事をやってるはずなのにね。さすがにカイゼンとかカンバンとかアンドンとかの言葉は聞かれなかったけどさ。


2008年5月22日(木)

Unbound

_ キャッシュ用 DNS サーバの Unbound。開発してたことは少し前から知ってたけど、バージョンが 0.10 とか 0.11 のころで、正式リリースはまだずっと先だと予想してた。のに、1.0.0 が出てしまった。0.9 のときに発見してればリリースは近いかと思ってたんだろうけど。数字にダマされすぎ。 開発元NSDを作ってるところでもあるので、歴史は浅いけどかなり信頼してよさそう(あくまでイメージ)。

_ つーわけで、さっそく試してみた。とりあえず最低限の設定をして resolv.conf に追加するまで。パフォーマンスがどの程度あるかとかはまったく未知。

_ 設定ファイルの文法は NSD 3.x と同じ。こっちに慣れてれば違和感はない(慣れてる人なんてほとんどいないだろうけど)。ただし、文法が同じだけで、同じことをするのに設定項目も同じとはかぎらない。たとえば listen するアドレスの設定は NSD では ip-address だけど unbound では interface になってる。

_ で、設定項目が多いって! BIND に比べると NSD はいじれるところが少なかったから、これもそんなもんだろうと思ってたのに、いやいや、たぶん BIND に比べても多いんじゃないかな。NSD よりも unbound はずいぶん痒いところまで手が届くようになってる。NSD の方にも実装してほしいものもいくつかあるなー。

_ プライベートアドレス空間その他の外に問い合わせを出すべきでないゾーンはデフォルトで NXDOMAIN を返すようになってるのはいい配慮。その空間内の一部のゾーンへの問い合わせを別の DNS に転送するように設定しようとしてハマったけど。

_ NSD での nsdc や BIND での rndc 相当のツールがないのがアレか。強制的にキャッシュを消したいときってプロセスを再起動するしか手段がなさそうな感じ。特定のレコードを消すのがムリとしても、せめてプロセス再起動なしになんかのシグナルを送れば全キャッシュを消せるとかのしくみがほしい。

_ ……と思ったけど、どうも SIGHUP で設定の読み直しだけでなくキャッシュ全削除もしてるっぽいなー。名前解決に関係する部分の設定変更でキャッシュを捨てるのはしかたないけど、まったく関係ないところの変更や、設定いじってないけどログのローテートするだけ、というときにキャッシュが全部消えるというのはうれしくない。設定の読み直しとキャッシュ削除を別のシグナルでおこなうようにならんかな。

_ ぐぁ。ラウンドロビンしないようだ。BIND の rrset-order fixed 相当。設定項目も見つからない。一度キャッシュに入ると、TTL が切れるまでずっと同じ順番で応答を返す。問い合わせるたびに違う順番で応答を返すコンテンツサーバなら、キャッシュ期限切れのたびに順番は変わるけど、ラウンドロビンしないコンテンツサーバ(たとえば NSD!!)だと TTL が過ぎてもまた同じ順番になるだけ。うう、これは辛い。

_ BIND のおまけについてくる host に DNSSEC まわりの機能をくっつけた unbound-host というコマンドラインからの問い合わせツールがついてるんだけど、なんでこっちにくっついてるんだろうね。NLnetLabs って drillという dig 強化版も作って配布してるんだから、どっちかっつーと unbound じゃなくて drill の方に同梱しておくべきツールのような。関係ないけど DigDug のおっさんの息子が Mr. Driller の主人公らしいぞ。


2008年5月26日(月)

さらば、ヒモ

_ おうちの無線 LAN がぶっこわれて、それ以来ヒモつき LAN で生活してたんだけど、うちではノート PC がメインマシンなのでやっぱり不便。おかしいよね。昔はずっとヒモつきだったのに。

_ つーわけで、仕事の帰りにヨドバシに寄って新しいの買ってきた。 コレ。ちなみにぶっこわれたのも同じく AirMac Express の初代モデル。無線 LAN としての機能もそうなんだけど、iTunes とアンプの間にこいつを入れて PC のしょぼいスピーカーではなくまともなスピーカーから音楽を流せるというのがすばらしい。あんまり流行ってないけどもっと評価されていい。

_ 今のモデルが何代目かは知らんが、3月に出たばっかりらしい。もしかして買い替えさせるためにぶっこわれたのか? せっかく同じものなので変わったところをメモしてみる。なお、以前のモデルでファームウェアの更新で機能追加とかあったかもしれんがやってないので知らん。わしが使ってなかっただけで実は以前からずっとあった機能もあるかも。

機器の性質上そんなに劇的な変化というのはないけど、それでもずいぶんありがたい機能が増えたね。

_ そんなわけで、6週間ぶりにヒモなし LAN 環境に戻った。やっぱヒモはダメだわ。どんどん堕落する。


2008年5月27日(火)

/usr/local/lib

_ ハマった。linux で某ライブラリを野良ビルドして /usr/local/lib 以下にインストール。次に、そのライブラリを使う別のツールをコンパイル。……が、/usr/local/lib にインストールしたライブラリを見つけてくれない。ちゃんと -L/usr/local/lib してるのに。

_ 答: /etc/ld.so.conf に /usr/local/lib がない。あるいはビルド時に rpath を埋めこめ。

_ debian と centos で確認。linux の各ディストリビューションが /usr/local をないがしろにしてるのは、パッケージ管理とは別に野良ビルドしたもののためにわざと触れないでいるんだと思ってたんだけど、そうではなくてその存在そのものをないものにしたいということなんだろうか。そうでなければ、ユーザが自前でインストールしたライブラリをケアするために、いちいちいじらなくても /usr/local/lib を見に行くような設定になってるはずだと思うんだ。

_ まあ、デフォルトでライブラリの検索パスに /usr/local/lib がないってのは linux だけじゃなくて solaris でもまったく同じなんだけどね。ただ、solaris っつーのは不親切があたりまえで、かつ野良ビルドは日常なのでそのへんのことは常識としてわきまえてる。一方の linux はふだんから小さな親切大きなお世話をやりまくってて、かつ野良ビルドはあんまりしないから、まさかそんな設定が欠けてるなんてことには考えが至らないんだ。solaris なら当然真っ先に疑うことなんだけど。これも一種の堕落だなー。

無題

_ ニコ動でLisp。実装したことよりも、それを作ろうと考えたこと自体がおかしい。


2008年5月28日(水)

DNS ラウンドロビンの将来

_ /.j で晒された。せっかくなので、unbound とは関係あるようなないようなどうでもいいことをちょと書いてみる。

_ DNS ラウンドロビンってのは基本的にはコンテンツサーバの役目なので、実のところ unbound がラウンドロビンしないのは、まあしかたない。djbdns も dnscache の方はやらないし、世界でいちばん使われているキャッシュ DNS である Windows 内蔵の DNS クライアントサービスもやらない(これはフルリゾルバではないが)。個人的にはキャッシュでもラウンドロビンしてくれた方がうれしいんだけど。

_ で、コンテンツサーバである NSD もラウンドロビンしない。ドキュメントに仕様と明記されてるので、今後の対応も期待薄。これはかなり例外的な実装。少なくともわしはほかに知らない。

_ ラウンドロビンしないコンテンツサーバとラウンドロビンしないキャッシュサーバの組み合わせだと、常に固定順でしか結果が得られないことになって、ラウンドロビンによる負荷分散は成立しない。世間には NSD + Unbound のセットで BIND の代替として期待してる人が多いみたいなんだけど、ほんとに BIND からこいつらへの置換が進んでしまうと、DNS ラウンドロビンが前提で動いている各地のサービスがボロボロになってしまう。

_ さらに、ちゃんとラウンドロビンで答えてるのに、受け取った応答をわざわざソートしてしまうなんて台無し実装のリゾルバも存在する(具体的にどれがそうなのかは把握していないけど、実際のアクセスの偏りを見るとそういうものが確実に存在している)。また、DNS ラウンドロビンで負荷分散するときは TTL を短くして使う、というのがなかば常識だけど、 短い TTL ではキャッシュ汚染のリスクが増すという指摘もある(DNSSEC で防げるけどぜんぜん普及してない)。

_ というわけで、世間の状況を見ると DNS ラウンドロビンが成立しにくくなる方向に進んでるように感じる。廃れちゃうのかしら。個人的には DNS ラウンドロビンはスマートなやりかたではないという考えなので、なくなってしまうのもアリかなとは思うんだけど、かといって代替になるお手軽な方法があるわけでもない。ちゃんとしたロードバランサで負荷分散するというのはコスト的に見合わないことも多いだろうからそれに統一されることはありえないし、SRV レコードで分散するというのは今後あらわれる新規プロトコルでは可能でも、既存のものでは無理だろう。

_ RFC1794 DNS Support for Load Balancing。初めて読んでみたけど何の参考にもならんな。むしろ文中にさりげなく mohta さんが登場しててワロタがな。


2008年5月29日(木)

無題

_ GoogleMaps に人工衛星の位置を表示する GoogleSatTrackの中の人が NASA からシャトルの打ち上げに招待された を読んで、じゃあ次は YourAVHostやら イクイク動画やらの 中の人がどっかのエロい人から AV 撮影の現場に招待される番だな、と考えたわしはほんとうに腐っている。

今日のハマリ

_ cyrus-sasl2 を野良ビルド。問題なくインストールまで完了するが、それを認証に使うとコケる。

_ 原因。

% ./configure --help
...
  --prefix=PREFIX         install architecture-independent files in PREFIX
                          [/usr/local]
...
  --with-plugindir=DIR    set the directory where plugins will
                          be found [/usr/lib/sasl2]
  --with-configdir=DIR    set the directory where config files will
                          be found /usr/lib/sasl2
...
/usr/local/lib/sasl2 にインストールするくせに、/usr/lib/sasl2 を探しにいくってどういうことだよ。引数なしのデフォルトで configure すると必ずコケるってふざけてんのか。prefix を反映するようにしなきゃあかんだろ。そもそもインストール先と参照先を別々にしてうれしい理由というのがさっぱり思いつかん。


<< = >>
やまや