Intel のマザーボード DP55WB
CPU は core i5
OS は Cent OS 5.4
この状態で、うちのサーバーを動かしていたが、どうもネットワークが遅い。Windows マシンから、このサーバーのSamba共有にファイルをコピーなんかすると、ネットワーク全体が遅くなる。
ファイルコピーに関係ないマシンからでも、インターネットアクセスができなくなる。ファイルコピーが終わると、ネットワークは回復する。「原因不明の通信障害」なんて思っていた。
しかしわかってみると、話は単純だった。マザーにオンボードのNIC (Intel製)が、CentOS 5.4 付属のドライバでは正常に動かず、それで遅くなっていたのだ。
このサーバーはDNSサーバーも兼ねているため、サーバーのNICがいっぱいいっぱいになると、DNSも受け付けなくなる。そうすると、他のクライアントマシンがインターネットアクセスするときに名前解決ができずに、まるでネットワーク全体が通信ができなくなってしまったようにみえたのだった。
サーバーに必要なドライバは e1000e 。これを sourceforge の 最新stable版に変更した。
ダウンロードしたのは e1000e-1.1.2
そしてこれを展開しコンパイル。
tar zxvf e1000e-1.1.2.tar.gz
cd ./e1000e-1.1.2/src
make
make install
でインストールまでできる。
再起動したら、障害はでなくなった。
めでたしめでたし。
2010年02月26日
2010年02月15日
VMware Server 2.0.2 と Cent OS 5.4 でVMが落ちてしまう件
Cent OS 5.4 に VMware Serverをインストールし、仮想マシンとしてWindows Server 2008 をインストールし運用していると、Windows Server 2008 がいつの間にか落ちていることが続発する。
いろいろ調べてみると、CentOS 5.4 の glibc と VMware Server の相性が良くないらしい。Windows Server 2008だけに限らず、他のOSを起動している時でも落ちてしまう様だ。
対処法は、CentOS 5.3 の glibc を取ってきて、VMware Server 専用にこのライブラリをコピーしておいて使う様にすればよいという。
CentOS 5.3 のライブラリは、
http://mirror.centos.org/centos/5.3/os/x86_64/CentOS/glibc-2.5-34.x86_64.rpm
にあったらしいが、残念ながら現在このファイルはここに存在していない。
CentOS 5.3 のiso イメージを持ってるなら、その中から取り出せばよい。
持ってないなら、
ftp://ftp.riken.go.jp/pub/Linux/centos/5.3/isos/x86_64/CentOS-5.3-x86_64-bin-DVD.iso
から iso をダウンロードしてマウントし、glibc-2.5-34.x86_64.rpm を取り出すしかない様だ。
(マウントやコピー操作は省略します。私はWindows マシンでやりましたし。)
さて、glibc-2.5-34.x86_64.rpm が手に入ったら、
mkdir /tmp/tmp
などとして新規ディレクトリを作成し、そこにコピーする。
そこで
cd /tmp/tmp
rpm2cpio glibc-2.5-34.x86_64.rpm | cpio -ivd
として、ファイルが展開されたら、次の様にする。
mkdir /usr/lib/vmware/lib/libc.so.6
mv lib64/libc-2.5.so /usr/lib/vmware/lib/libc.so.6/
mv lib64/libc.so.6 /usr/lib/vmware/lib/libc.so.6/
さて、ここからが肝心。
/usr/sbin/vmware-hostd をviなどで開いて、ファイルの最後の方に移動し、
eval exec "$DEBUG_CMD" "$binary" "$@"
という行の前に
export LD_LIBRARY_PATH=/usr/lib/vmware/lib/libc.so.6:$LD_LIBRARY_PATH
を追加する。
そして、vmware-config.pl 実行して、vmwareを再起動する。
これで、VMwareの仮想マシンは落ちなくなった。
半月ぐらい運用しているが、いまのところ問題ない。
なお、/tmp/tmp はもういらないので削除。
rm -rf /tmp/tmp
いろいろ調べてみると、CentOS 5.4 の glibc と VMware Server の相性が良くないらしい。Windows Server 2008だけに限らず、他のOSを起動している時でも落ちてしまう様だ。
対処法は、CentOS 5.3 の glibc を取ってきて、VMware Server 専用にこのライブラリをコピーしておいて使う様にすればよいという。
CentOS 5.3 のライブラリは、
http://mirror.centos.org/centos/5.3/os/x86_64/CentOS/glibc-2.5-34.x86_64.rpm
にあったらしいが、残念ながら現在このファイルはここに存在していない。
CentOS 5.3 のiso イメージを持ってるなら、その中から取り出せばよい。
持ってないなら、
ftp://ftp.riken.go.jp/pub/Linux/centos/5.3/isos/x86_64/CentOS-5.3-x86_64-bin-DVD.iso
から iso をダウンロードしてマウントし、glibc-2.5-34.x86_64.rpm を取り出すしかない様だ。
(マウントやコピー操作は省略します。私はWindows マシンでやりましたし。)
さて、glibc-2.5-34.x86_64.rpm が手に入ったら、
mkdir /tmp/tmp
などとして新規ディレクトリを作成し、そこにコピーする。
そこで
cd /tmp/tmp
rpm2cpio glibc-2.5-34.x86_64.rpm | cpio -ivd
として、ファイルが展開されたら、次の様にする。
mkdir /usr/lib/vmware/lib/libc.so.6
mv lib64/libc-2.5.so /usr/lib/vmware/lib/libc.so.6/
mv lib64/libc.so.6 /usr/lib/vmware/lib/libc.so.6/
さて、ここからが肝心。
/usr/sbin/vmware-hostd をviなどで開いて、ファイルの最後の方に移動し、
eval exec "$DEBUG_CMD" "$binary" "$@"
という行の前に
export LD_LIBRARY_PATH=/usr/lib/vmware/lib/libc.so.6:$LD_LIBRARY_PATH
を追加する。
そして、vmware-config.pl 実行して、vmwareを再起動する。
これで、VMwareの仮想マシンは落ちなくなった。
半月ぐらい運用しているが、いまのところ問題ない。
なお、/tmp/tmp はもういらないので削除。
rm -rf /tmp/tmp