まとめ ブログ ダウンロード 掲示板 メール

れぶろぐ

< 2007-09-27 (木) 2007-09-30 (日) > 最新


2007-09-29 (土)

VMware に Debian etch をインストールした際の問題

今まで Debian sarge を VMware にインストールしていろいろと使っていたが、 ミスってその仮想マシンを壊してしまったので、 いい機会なので VMware 上に Debian etch のテスト環境を作ってみた。 が、何ヶ所かで予想外に苦労したのでメモしておく。

NFS のファイルロックがエラーになる

NFS マウントしたディレクトリに対して読み書きすると、 ファイルロックしている箇所でこういうメッセージが出た。

lockd: cannot monitor xxx.xxx.xxx.xxx
lockd: failed to monitor xxx.xxx.xxx.xxx

検索してみると、 ここ に /etc/init.d/nfs-common start して statd を起動させれば直ると書いてあった。 でも、それはさすがに場当たり的な感じがしたので、 さらに検索してみたところ、詳しく書かれているページを見つけた。

このページによると、結局、起動スクリプトのバグが原因ということらしい。 嬉しいことに、解決法もいくつか載っている。

  • initscripts のパッケージを 2.86.ds1-38.1 (lenny) にアップグレードする
  • /etc/network/if-up.d/mountnfs にパッチをあてる
  • NFSv4 プロトコルでマウントする

この中では、initscripts を最新版にするというのが一番素直な方法だろう。 ただ、まともにアップグレードしようとすると、 libc6 のアップグレードまで要求されるので、 パッケージを展開して、その中の /etc/network/if-up.d/mountnfs と差し替えることにした。

# cd /dev/shm
# wget http://ftp.jp.debian.org/debian/pool/main/s/sysvinit/initscripts_2.86.ds1-38.1_i386.deb
# dpkg -x initscripts_2.86.ds1-38.1_i386.deb .
# cp -p etc/network/if-up.d/mountnfs /etc/network/if-up.d/mountnfs

vmxnet ドライバの使い方

VMware Tools をインストールすると、 高速な vmxnet ネットワークドライバが使えるようになる。 ところが、実は、起動時に vmxnet より先に pcnet32 のネットワークドライバが組み込まれており、 せっかくの vmxnet のドライバが使われていない。 (lsmod や lspci コマンドを使うと、そのことがよく分かる。)

だから、vmxnet を機能させるためには、 何とかして pcnet32 のドライバが読み込まれないようにしないといけない。 たぶん、一番楽な方法は、

ethernet0.virtualDev = "vmxnet"

の設定を vmx ファイルに追加すること。 こうやって指定すれば、vmxnet がネットワークドライバとして使われるようになる。

ところがさらに問題があって、 この変更を行うとシャットダウンが途中で止まってしまうようになった。 シャットダウン時の動作を追っていくと、 /etc/rc6.d/K08vmware-tools というスクリプトで VMware Tools のサービスを停止しているが、 その中で vmxnet のドライバを外してしまっており、 それ以降ネットワークが使えなくなってしまっていた。 要するに、タイミング的に、vmxnet のドライバを外すのが早すぎる。

だから、このタイミングを遅らせればいいのだけれど、 どこまで遅らせれば良いのかはっきりしないので、

$ sudo rm /etc/rc6.d/K08vmware-tools

とやって、この VMware Tools を停止するスクリプトを削除してしまった。 ちょっと強引な方法だけれど、これで解決できた。

このエントリの続き: 2007-09-30 (日)
Tags: VMware Debian | このエントリを含む del.icio.us | このエントリを含むはてなブックマーク | このエントリを含む livedoor クリップ | Permalink
本日のリンク元

編集