nDiki : Solaris

1999年1月25日 (月)

専用レンタルサーバの管理者は女性

とある会社がネットサービス展開のために、とある会社に専用レンタルサーバを頼むことになった。 この打ち合わせに同席したのだが、やってきた担当は女性の方。 話によると、レンタルサーバのインストールもこの方がやってくれるそうだ。 OSSolaris 2.6(これ以上はここでは書けない)。

受け答えもそれなりにしっかりしていて、うーんびっくり。

[ 1月25日全て ]

2002年2月21日 (木)

14:20 なんで DNS DomainName が domainname なの?

昨日 Solaris 8 に入れようとしたアプリケーション、セットアップで

 To ensure the smoothest evaluation experience,
 we recommend that you have a valid DNS DomainName.

とでてアボートしていた。 なので、テスト用 DNS サーバたててドメイン名をひけるようにした。 が。アボート。

セットアップスクリプトをよくみてみたら、`domainname` の結果が空だとアボートさせている。 ??? domainname って NIS ドメイン名で DNS とは関係ないと思っていたんだけど。 今は違うの? とりあえずエラーメッセージに騙された感じ。

domainname コマンドでドメイン名を指定し、/etc/defaultdomain に同じ名前を書いておく。 で、再度セットアップしてみたらすんなり通ってしまった。 がっくし。 まぁ、djbdns の使い方覚えたからいっか。

[ Debian ] 11:30 dnscache + tinydns 2本だて

昨日の続き。 昨日はノート PC で dnscache 成功したので、今日は固定プライベートアドレスを持っているデスクトップ PC にインストール。 dnscache + tinydns (プライベートネットワーク内の名前を提供) まずパッケージのインストール

 apt-get install daemontools-installer
 build-daemontools
 apt-get install djbdns-installer
 build-djbdns

tinydns

次 tinydns サーバの設定。 同じサーバに後でたてる dnscache にプライベートネットワークの問い合わせがあった場合、このサーバに問い合わさせる。 127.0.0.1 としてたてる。 プライベートネットワーク名は 'cml.lexer.co.jp' とし、このサーバは 192.168.10.80、localns.cml.lexer.co.jp(仮名)とする。

 tinydns-conf tinydns dnslog /etc/tinydns 127.0.0.1
 ln -s /etc/tinydns /service

 cd /service/tinydns/root
 ./add-ns cml.lexer.co.jp 127.0.0.1
 ./add-ns 10.168.192.in-addr.arpa 127.0.0.1
 ./add-host localns.cml.lexer.co.jp 192.168.10.80
 ./add-host  client.cml.lexer.co.jp 192.168.10.200
 ./add-alias clientalias.cml.lexer.co.jp 192.168.10.200
 make

(最初 localns.cml.lexer.co.jp の登録を忘れていて、後で Solaris 8 でネームサーバを 192.168.10.80 にした nslookup でこけた)。 チェックは

 0) host client.cml.lexer.co.jp 127.0.0.1
 1) cat data
 2) tinydns-get a client.cml.lexer.co.jp
 3) svstat /service/tinydns
 4) cat /service/tinydns/env/IP
    telnet 127.0.0.1
 5) dnsq a client.cml.lexer.co.jp 127.0.0.1
 6) dnsqr a client.cml.lexer.co.jp

あたり。6) は 次の dnscache をたてて、/ete/resolv.conf を nameserver 192.168.10.80 にしてから試す。

dnscache

192.168.10.80 の方に dnscache をたてる。 プライベートネットワーク関連の問い合わせには 127.0.0.1 にたてた先の tinydns に問い合わせる。

 dnscache-conf dnscache dnslog /etc/dnscachex 192.168.10.80
 ln -s /etc/dnscachex /service

 touch /etc/dnscachex/root/ip/192.168.10
   (プライベートネットワークからのアクセス許可)

 echo '127.0.0.1' > /etc/dnscachex/root/servers/cml.lexer.co.jp
 echo '127.0.0.1' > /etc/dnscachex/root/servers/1.0.0.127.in-addr.arpa
 echo '127.0.0.1' > /etc/dnscachex/root/servers/10.168.192.in-addr.arpa
 svc -t /etc/dnscachex

 echo 'nameserver 192.168.10.80' > /etc/resolv.conf

よしよし。

[ 2月21日全て ]

2003年4月23日 (水)

[ WiKicker ] SunOS 5.6 にインストール

結局flock 問題は、File::Flock モジュールを使う事にする。 $^O eq 'solaris' な時は File::Flock::lock を使うようにコードを修正。

それから、RCS まわりでも問題。

 Warning: missing newline at end of file /tmp/...

といった感じの警告が出て期待した結果が得られない。 調べてみると rcsdiff の呼び出しで警告。 実際には diff が吐いている。 Sun の diffGNU diff ではファイル末処理が違うようだ。 ということで、こちらは diffutils-2.8.1 と rcs-5.7 を home の下に入れて解決。

ふう、これで WiKicker

で動く事を確認。都合5つ(SunOS は一つのホストで2個動かしている)。 今の所の注意点は

といったところか。

[ 4月23日全て ]

2003年12月3日 (水)

過去の今ごろ

過去の12月3日より。

  • tar のオプションの並べ方
    • あいかわらず zxvf です。ちなみに ps で常用しているのは aux。Solaris では通用しないので困る(いつも同様の表示に必要なオプションを忘れてしまう)。
[ 12月3日全て ]

2004年1月12日 (月)

[ Perl ] Memcached を使ってみる

WiKicker の高速化に Memcached が使えないかいろいろいじってみる。 評価は今のところ「微妙」。 Memcachedメモキャッシュを提供するデーモンプログラムで、キーと値の配列を記憶しておいてくれる。 Slashdot でも使っているらしい。

ホスティングサービスのサーバ(FreeBSD 4.4-RELEASE)に入れてみる。

Memcached 1.1.10

依存している libevent と一緒にビルドしてインストール

 cd /tmp
 wget http://www.monkey.org/~provos/libevent-0.7c.tar.gz
 tar zxvf libevent-0.7c.tar.gz
 cd libevent-0.7c
 ./configure
 make
 cd ..
 wget http://www.danga.com/memcached/dist/memcached-1.1.10.tar.gz
 tar zxvf memcached-1.1.10.tar.gz
 cd memcached-1.1.10
 CFLAGS='-L../libevent-0.7c -I../libevent-0.7c' ./configure --prefix=$HOME/local/memcached-1.1.10
 make
 make install

'-l' オプションがうまく動かない。

 bind(): Can't assign requested address
 failed to listen
 /PRE

指定しなくても動くのでとりあえず、よしとする。

ちなみに、EVENT_SHOW_METHOD=1 の結果は以下の通り。

 $ EVENT_SHOW_METHOD=1 ./memcached
 libevent using: kqueue

Cache::Memcached 1.0.11

Perl 用の API モジュールを入れておく。 make test でこける。

 Your vendor has not defined Socket macro MSG_NOSIGNAL

use Socket qw(MSG_NOSIGNAL PF_INET SOCK_STREAM); のところ。 Solaris/*BSD だと駄目らしい。 CVS版だと解決されいるようなので、こちらを。

Cache::Memcached CVS

 cvs -d :pserver:anonymous@danga.com:/home/cvspub checkout wcmtools/memcached/api/perl

でとってくる。 こちらは Perl 5.005_03 という古いバージョンでいくつか問題。

 our $SOCK_TIMEOUT = 2.6;

のところの our は Perl 5.005_03 には無いので、use vars に置き換え。 use bytes も 5.005_03 に無いのでコメントアウト。

IO::Handle::blocking() も無い。

 sub my_blocking {
   my ($sock, $bool) = @_;

   my $old_flags = fcntl($sock, F_GETFL, 0)
       or die "Can't get flags for the socket: $!\n";

   if ($bool) {
       my $flags = fcntl($sock, F_SETFL, $old_flags | O_NONBLOCK)
           or die "Can't set flags for the socket: $!\n";
   }
   else {
       my $new_flag = $old_flags & ~O_NONBLOCK;
       my $flags = fcntl($sock, F_SETFL, $new_flag)
           or die "Can't set flags for the socket: $!\n";
   }
   return $old_flags & O_NONBLOCK;
 }

...でいいのかな? ささっと書いたんで一部バグっているかもしれないが、とりあえず代替しておく。

ちなみに Cache::Memecached の古い版、MemCachedClient-1.0.7 も試してみたけれどこちらも IO::Socket::INET が必要だったり面倒(なので、1.0.11 のパッチ当ての方をがんばった)。

スピード

うーん。思ったほど速くないな。 いや手元のLinuxだとかなり速いんだけれど、FreeBSD だとそうでもない。 Client側の問題が大きいようだ。 下手するとLinux BOX からADSL経由でキャッシュを読み込む方が、FreeBSD のローカルホストから読むより速かったりする。

どうも Socket の接続/切断まわりでもたついている感じである。 (無駄なはずなのだが)毎回 disconnect_all してしまった方が、Benchmark の値が良かったりするし。 接続 -> キャッシュ取得 -> 切断 で 0.6秒というのはちょっと遅すぎる。 もうちょっといじってみれば実用的な速度になるのだろうか?

[ 1月12日全て ]

2004年2月7日 (土)

過去の今ごろ

過去の2月7日より。

[ 2月7日全て ]

2004年12月3日 (金)

The roof falls in

  • 月曜日のプレゼン素材作成が昨日入る。期限近し。土曜日リハーサル決定。
  • ダウンスキャンコンバータのコネクタの形状が合わない(Sun 13W 用しかない)ので買いにいってみたが、やっぱり同期せず。
  • いいなと思った素材がバージョンの問題でやっぱり使えず。
  • ビデオを撮ってみたけどイマイチ。
  • プレゼン用PCが別件で出払う時間があって作業もボチボチのみ。
  • 製品出荷も重なってバタバタと。まだ一部不完全だし。
  • ディスク障害復旧のためのディスク交換のため、ファイルサーバ停止。
  • あわせて本社とのVPNも停止。社内向けDNSも停止(後者は手動で他のネームサーバを指定)。
  • 週末停電につき、サーバを落とす必要あり。しかし歯医者なので早く帰らないといけない。
  • 他の人が月曜日にできるようにサーバの起動方法をメモしておきたい。動作確認しようと一度シャットダウンし再起動。333日チェックしておかなかったとかで、fsck がかかって就業時間中なのにすぐに起動できず。
  • とおもったら fsck がエラーレポートしてきた。起動しなかったらどうしよう。歯医者いけない? やっぱりソフトウェアRAID 0 がうまくいっていないのか?
  • 修復等、30分ほどかかったが起動。歯医者には行けそうだ。
  • 帰り際、Solaris を落とし忘れているのに気がつく。
  • モニタが転用されていてついていないので、別の液晶モニタを持ってくる。どうも同期しない。
  • しょうがないので、別のディスプレイを持ってきて接続。シャットダウン。
  • でそのディスプレイは、別のサーバのシャットダウンに使うのでせっせと戻す。
  • やっと帰れると思って会社を出て、明日必要な名刺入れを忘れたことに気がつく。
[ 12月3日全て ]

About Me

Naney Naney (なにい)です。株式会社ミクシィで SNS 事業の部長をしています。

nDiki1999年1月に始めたコンピュータ日誌を前身とする NaneyWeb 日記(兼パーソナルナレッジベース)です。ちょっとしたノートは nNote にあります。

※内容は個人的見解であり所属組織とは関係ありません。

follow us in feedly

月別インデックス
Process Time: 0.048881s / load averages: 0.32, 0.33, 0.31
nDiki by WATANABE Yoshimasa (Naney, Google profile)
Powered by DiKicker