ラベル VMware の投稿を表示しています。 すべての投稿を表示
ラベル VMware の投稿を表示しています。 すべての投稿を表示

2012-02-20

runit: svlogd failed

runit をビルドして使っていれば一生のうち何回かは出くわすエラー。かくいう私も初見はかなり焦った。「何も変えてないのに何で!?」って。

・・・と思ったけど、検索しても目ぼしいものが見つからないね。これに悩むのはかなりレアらしい。

make[1]: Entering directory `/package/admin/runit-2.1.1/compile'
./check-local chpst runit runit-init runsv runsvchdir runsvdir sv svlogd utmpset

Checking chpst...
Checking runit...
Checking runit-init...
Checking runsv...
Checking runsvchdir...
Checking runsvdir...
Checking sv...
Checking svlogd...
usage: svlogd [-ttv] [-r c] [-R abc] [-l len] [-b buflen] dir ...

111
$Id: 5e55a90e0a1b35ec47fed3021453c50675ea1117 $
usage: svlogd [-ttv] [-r c] [-R abc] [-l len] [-b buflen] dir ...

111
0
foo
0
foo
bar
baz
0
foo
bar
baz
:oo
:ar
:az
0
foo
bar
baz
:oo
:ar
:az
foo
svlogd failed.
make[1]: *** [check] Error 1
make[1]: Leaving directory `/package/admin/runit-2.1.1/compile'

svlogd のテストに失敗している。これを眺めてても訳分からんし、失敗する環境では何度やっても失敗するので、とっとと諦めてソースを読むのが吉。

先の出力と突き合わせると、エラー場所は次の部分。

runit-2.1.1/src/svlogd.check:

echo t2 >"${ctmp}"/config
( echo foo; sleep 3 ) |svlogd "${ctmp}"
echo $?
cat "${ctmp}"/current

これから想像するに、2 秒でローテートする設定にして 3 秒待ったのに、current ログがローテートして(空になって)いない?

ということは時計? クロック? あ、これ VM 環境だ。

もういい加減に学習しろ、と言われても仕方がない感じだが、色んな所にシステムを入れまくっていると忘れることもあるんだよ。VMware も Server とか Player とか ESX とか色々あってバージョンによっても挙動が変わるし、イメージをコピー・移動とかしてたらそりゃあいつか間違うわ。せめてもの予防策は divider=10 を必ず付けておくくらいか。

2011-12-15

VMware Server 1.x + CentOS 5.x

久しぶりに VMware で CentOS を立てたら、幾つか躓いてしまった。今まで散々同じことやったはずなのに、ちょっとやらないとコロッと忘れてしまう。

  • VMware Server 1.0.10
  • Host OS: Windows XP
  • Guest OS: CentOS 5.7 (i386)

まず、稼動後の翌日になっても来るはずのメールが来ない。cron でメール出してるはずなのに。おかしいなーって調べたら、ゲスト OS の時刻がようやく 0 時を回ったところだった。定番の、VM の時刻が遅れるってやつ。うわー恥ずかしー(赤面)。

CentOS 5.7 は「No additional kernel parameters required」って書いてあるけど、これは嘘だね。少なくとも今回の環境ではバッチリ遅れる。なので「divider=10」は問答無用で付けるのが吉。

次に、ホストの共有フォルダ <-> ゲスト間でファイルをネットワークコピーすると速攻でエラーに。あー、あったね、そんなの。

一番上の解法は今まで試したことなくて、VMware 設定で完結して楽そうだったからやってみたけど、嘘だったね。確かにコピーはできたけど、できないときもある。なのでホスト側の DoS 検知を無効にするの一択で。「Gigabit スイッチを使え」とかいうのも見えるけど、これも効果があるか極めて怪しいね。