2010年02月26日

intel DP55WB と Cent OS 5.4

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

でインストールまでできる。

再起動したら、障害はでなくなった。
めでたしめでたし。
posted by sjoe at 14:55| Comment(0) | TrackBack(0) | Linux

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
posted by sjoe at 12:01| Comment(0) | TrackBack(0) | Linux

2009年05月15日

linux な PCのハードディスクを別のHDDに入れ替える手順。

一応、Fedora Core 6 なシステム。システムが古いが、基本は同じだろう、ということで。
Fedora Core は普通にインストールすると lvm を使ってパーティションを作成しているが、今回はlvmを使っていないものとする。

hda に元のシステムがあり、hdb に新しいハードディスクを接続したと仮定。

hdb に適切にパーティションを切り、ファイルシステムを作成。
ここでは、
hdb1 が /boot
hdb2 が /
hdb3 が swap
hdb4 が /var
とした。

init 1 でシングルモードに入る。

/mnt 以下にhdb のパーティションをマウント。マウント位置は好きなところでよい。

cp -a コマンドを使ってhda のファイルを全てhdbにコピー。

grub コマンドを起動して、grub を設定する。
grub> root (hd1,0)
grub> setup (hd1)
grub> quit

root (hd1,0)
新しいハードディスクの最初のパーティションに、カーネルが入っていることを指定する。

setup (hd1)
新しいハードディスクのMBRを書き換える。

という意味になる。ちなみに、hd0 が元々のハードディスクなので、新しいハードディスクは hd1。

grub.conf (menu.lst) も適切に書き換える。

ここでは、新しいハードディスクを hda として使うことを想定しなければならないので、新しいハードディスクは(hd1)ではなく、(hd0)になる。したがって、splashimage や root の指定も、そのように書き換える。

だいたいこんな感じ。

default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Fedora Core (2.6.22.14-72.fc6)
root (hd0,0)
kernel /vmlinuz-2.6.22.14-72.fc6 ro root=LABEL=/
initrd /initrd-2.6.22.14.org2.img

swap の指定は、/etc/fstab によって行えばよい。
ただ、fedora の場合、initrd の中の init で
resume /dev/hda5
などとしている。/dev/hda5 というのは元々のswapパーティションだ。これはハイバネーションに関係するもの。おそらく、ハイバネーションによってメモリイメージを swap に書き込んでいるのだろう。だからレジューム時のデータの位置を指定しているらしい。

もしも、/dev/hda5 がなかったりするとシステムパニックになるので、ちゃんとswapパーティションを指定しなければならない。
今回の場合は、
resume /dev/hda3
と書き換える。ハイバネーションを使わないなら、コメントアウトでもいいと思う。

initrd の編集方法は
http://evcom.sblo.jp/article/13623075.html
に書いてあるので参照のこと。

その他、新しいハードディスクが sata の場合は、やはり initrd に sata のドライバを入れてやらなければならないし、ハードディスクのデバイス名も /dev/sda とかになったりする。ただしこの場合でも、grub 的には、(hd0) のままでいける。

あとは応用次第。
posted by sjoe at 08:45| Comment(1) | TrackBack(0) | Linux

2008年11月19日

grubをMBRにインストール

linux システムのハードディスクを換装する時や、パーティション構成を変更した時などは、HDDのMBR領域にgrubをインストールし直す必要がある。
そういう場合、grubそのものはすでにインストールされているわけなので、ただ単にプロンプトから、

# grub

と打ち込むと、grub のプロンプトになる。そこで以下のコマンドを打ち込む。

grub> root (hd0,1)
grub> setup (hd0)
grub> quit

root (hd0,1) はカーネルイメージが入っているパーティションの指定。数値は0から始まるので、上記は 1 台目のHDD の 2 番目のパーティションという意味。

setup (hd0) でMBRにgrub のブートイメージを書き込む。
最後に quit で終了。
posted by sjoe at 18:06| Comment(1) | TrackBack(0) | Linux

2008年04月06日

kernel 2.6.20 と amanda(解決)

http://evcom.sblo.jp/article/4411674.html にて、
kernel 2.6.20 だと、amandaが他のlinuxマシンと通信できないと記述しましたが、これ、一応解決しました。

あの記事からすでに、いろいろと環境が変わってしまいましたので、整理しますと、
Fedora Core 6
kernel 2.6.22.14-72
amanda 2.5.2p1 (tarボールからインストール)
という組み合わせです。このままだとバックアップの際にデータが流れてこないのです。そこで、kernelを2.6.18-1.2798 にすると、データが流れてきます。
ですから、このカーネルで運用していました。

このほど、原因がわかりました。mtu です。ジャンボフレーム対応のNICで、mtuを7200 に設定していたのです。
思い当たることあって、mtu を標準の1500に戻してみました。
すると、新しいkernelでもちゃんとamandaは動作します。

ジャンボフレームなんて設定しても、体感ではあまり変わらないし、そのためにネットワークに支障をきたすのでは、元も子もないので、ジャンボフレームを使わないことにしようと思います。
posted by sjoe at 10:50| Comment(0) | TrackBack(0) | Linux

2008年04月05日

linux : 起動時に外付けHDDを認識させる

Fedora Core 6 のマシンを起動するときに、USBの外付けHDDをマウントする必要性が出てきた。

ディスクを起動時にマウントするには、/etc/fstab に
/dev/sda1 /mnt/usb ext3 defaults 0 0

と書けばいいのだが、これだけではだめ。
起動直後は、usb-storage というモジュールが読み込まれていないのである。だからシステムは /dev/sda1 を認識していない。
これを読み込むには、/etc/rc.d/rc.localなどに、
modprobe usb-storage
なんて書いておいてもいい。
だが、それだともう一度 mount -a などとしなければならない。

そこで、initrd ファイルを書き換えた。

まず、/boot/initrd ディレクトリ以下にinitrdイメージを展開。
# cd /boot
# mkdir initrd
# cd initrd
# zcat ../initrd-2.6.18-1.2798.fc6.img | cpio -i -c

展開されたファイルの中に init というファイルがある。
この中では必要なモジュールを次々と読み込んでいる箇所がある。
その最後に、
echo "Loading usb-storage.ko module"
insmod /lib/usb-storage.ko
と挿入。
もちろん ./lib ディレクトリには、usb-storage.koをコピーしておく。これは /lib/modules 以下から探してきた。

これをまた、initrdのイメージファイルにする。
# cd /boot/initrd
# find . | cpio --quiet -c -o | gzip -c > ../initrd-2.6.18.org.img

最後に、/boot/grub/grub.conf の、initrd コマンドに、ここで作成したファイル名を指定して再起動。



posted by sjoe at 19:03| Comment(0) | TrackBack(0) | Linux

2008年03月27日

samba とか Active Directory とか

Fedora Core 6で動いているsamba に、Vista マシンからアクセスできなくなった。Xp や Windows 2000 からならアクセスできるのだが、Vista だとだめなのである。

 うちには Windows 2000 Server も稼働していて、Active Directory を構成している。
fc6 の samba はこのWindows 2000 Server でユーザー認証してもらえるように、smb.conf の中で

Security = Domain

と設定していた。今まではこれでうまくいっていたのだが、何かのタイミングで突然アクセスできなくなったわけである。
あれこれとネットをさまよった情報によると、

Security = ADS

にしておけとのこと。
ちゃんとActive Directory に参加しろということなのである。
実際にそのようにしてみたら、Vistaからでもアクセスできるようになった。とりあえずよかった。

sambaをActive Directory に参加させるには、
こんなところこんなところを参考にした。
posted by sjoe at 23:40| Comment(0) | TrackBack(0) | Linux

2007年09月29日

玄箱 にamanda

玄箱のデータを、amandaサーバーでバックアップするために、玄箱にamanda を導入。なお玄箱はdebian化などはしていない。
http://www.amanda.org/ からamandaのtarボールを取ってくる。
それを、玄箱にコピー。
 私の場合は、あらかじめ、amanda ユーザーを作成しておき、amandaユーザー、disk グループで、amandaのクライアントサービスが動くようにした。amandaユーザーの詳細はfedora core に合わせた。
その他、fedora core の設定を参考にしつつ、以下の様なコマンドでコンパイル&インストール。
まず、玄箱にtelnetやsshでログオンする。
su - amanda
tar zxvf amanda*.tar.gz
cd amanda*
./configure --with-user=amanda --with-group=disk --without-server --with-gnutar-listdir=/var/lib/amanda/gnutar-lists --with-amandahosts --with-tmpdir=/var/log/amanda --sysconfdir=/etc --without-ipv6
make
su
make install

この設定はクライアントサービスのみをコンパイルする場合のもの。2.5.2p1では、--with-amandahosts オプションはなくなったようだが、コマンドは通った。
詳しいオプションは、
./configure --help 参照。

posted by sjoe at 03:13| Comment(0) | TrackBack(0) | Linux

2007年06月18日

kernel 2.6.20 と amanda

Fedora Core 6 に amanda をインストールしてあるバックアップ専用マシンの話。

このマシンは、amanda を cron で起動して、別のサーバー(Linux, FC5)の自動バックアップをしている。

ところが、最近バックアップがとれなくなった。
amcheck はちゃんと通るのだが、amdump してみると、クライアントからデータが流れてこない。ps ax で調べてみると、サーバー、クライアントとも、プロセスは正常起動しているようである。
別のクライアントマシン(玄箱)からのバックアップを試しても同じ。

どうも、amanda サーバーとamanda クライアントの間で、データ通信ができなくなっているようだった。複数のクライアントで同じように駄目なのだから、サーバーの方に原因があるんだろう。 

というわけで、あれこれ原因を探ってみたところ、行き着いた答えが、linux カーネルである。

現在、Fedora Core 6 の最新カーネルは、kernel-2.6.20-1.2952.fc6 というもの。
これを Fedora Core 6 の最初のリリースに含まれるカーネル、kernel-2.6.18-1.2798.fc6 に戻すと、ちゃんとバックアップがとれる。
しかし、どのバージョンのカーネルから、正常動作しなくなってしまったのだろうか。fc6 用の、2.6.18-1.2798 から、2.6.20-1.2952 の間にはいくつかのパッケージがリリースされている。しかし、残念ながら、その間のパッケージ(rpm)を保存していない。

今簡単に手にはいるのは Fedora Core 6 のDVDに入っているものと、Fedora のFTP またはそのミラーからとれるものだけである。FedoraのFTP では全てのリリースを公開しているわけではなく、現在は、kernel-2.6.20-1.2952 と kernel-2.6.20-1.2948 だけが公開されている。
もちろん、kernel-2.6.20-1.2948でも試してみたが、これでもやはり同じ症状。
こうなってくると 2.6.19 でも試してみたいが、これがどこにあるのか分からない。カーネルソースからコンパイルするのはちょいと面倒なので、fc6 用のkernel-2.6.19のrpm パッケージを探索中。どこかで公開されていないでしょうかね。

まあ、そもそも、古いカーネルをさっさと消してしまったのが悪いのではあるが。
posted by sjoe at 14:14| Comment(5) | TrackBack(0) | Linux

2007年05月10日

yum でバージョンダウンする方法をメモしておこう

今日、linux マシン(Fedora Core 5, FC5) を yum update したところ、
samba が samba-3.0.24-3 から、samba-3.0.24-4 になった。

ところが、このバージョンだと、Windows マシンからアクセスできない共有フォルダが続出する。
なんだかアクセス権限の問題らしいことはわかるんだが、詳しい調査をしている暇がない。手っ取り早く元に戻すことにした。
手順は、samba-3.0.24-4 を削除してから、samba-3.0.24-3 をインストールするってこと。

まず、samba を削除。

yum remove samba*

関連ファイルが全部消えちゃう。後でインストールするために、出力をメモしよう。
次に旧バージョンのsambaをインストール。

yum install samba-3.0.24-3.fc5 samba-client-3.0.24-3.fc5
    samba-common-3.0.24-3.fc5 samba-swat-3.0.24-3.fc5


こんな感じ。
これで元通り、すべての共有フォルダにアクセスできるようになった。

気になるなら、samba を削除したときについでに削除された物たちをインストールしてもよい。

うちの場合は、ついでに削除されたのは以下のファイルたちだ。
control-center
file-roller
gnome-media
gnome-session
gnome-vfs2-smb
gnome-volume-manager
nautilus
nautilus-cd-burner
system-config-samba

gnome とかGUIは使ってないんですけど。って場合はこんなの必要ない。

なお、このままだと、次回に yum update したときに sambaも勝手にアップデートされてしまう。問題が解決されるまでyumでの自動アップデートから samba関連をはずしておく。
/etc/yum.conf に

exclude=samba*


と追加しておけばよい。
posted by sjoe at 21:21| Comment(0) | TrackBack(0) | Linux

2006年12月19日

Linux ( Fedora Core ) で ieee1394 を自動認識させない方法。

なにも ieee1394 だけじゃないんですが、要するに起動時にドライバ・モジュールを読み込まないようにする方法です。

/etc/modprobe.d/blacklist

というファイルを編集して、

blacklist ieee1394
blacklist ohci1394
blacklist sbp2

という3行を加えます。
すると起動時にieee1394を自動認識しなくなります。
ちなみに、上記 ieee1394 や ohci1394 などはモジュール名です。
つまり、/lib/modules 以下にカーネルのバージョン毎に格納されているファイルです。ですから、起動時にロードさせたくないモジュールがあれば、このように編集すればいいわけです。
例えば、USBは使ってないからロードしないようにしておく、とかって場合にもこの手は使えますね。

P.S.
なんでこんな設定をするかというと、
うちのPCで、linux( FC6 ) と Windows 2000 のデュアルブートをしているのがあって、linux で ieee1394な外付ハードディスクを認識させちゃうと、その後Window 2000 を再起動したときには、HDDが認識されなくなっちゃうんですね。デバイスマネージャでは [!] マークが出ちゃうんですよ。インターフェースのバグかなあ。
HDDはNTFSフォーマットですから、普通はWindows でしか使えません。だからいっそのことlinux では

なかったことにする

ってわけです。
posted by sjoe at 18:22| Comment(0) | TrackBack(0) | Linux

2006年09月17日

Fedora Core 5 と ImageMagick

Fedora Core 5 を yum update してたら、perl で ImageMagickを使うとエラーが出るようになった。
エラーを起こすのは ImageMagick-6.2.5.4-4.2.1.fc5.4
ImageMagickを前バージョンに戻さなければならないようだ。

対処法が
http://www.j-pca.com/blog/log/eid74.html
にあったので、リンクしておきます。
こういう記事はとてもありがたいですね。

Fedora って、結構こういうことあるんだよね。
そもそも最新ソフトウェアをどんどん取り込んでいくのが Fedora なので、そういうもんだと思って使っていますが。
posted by sjoe at 16:38| Comment(1) | TrackBack(0) | Linux

2006年08月26日

samba 3.0.23a と ADS と DFS の組み合わせはNG

samba 3.0.23a をWindows 2000 Server のアクティブディレクトリに参加させると、DFS 機能がまともに動かない。

samba は fedora core 5 で yum update にてインストール。
samba 3 はデフォルトで dfs は有効になっている。

1. sambaでDFSのルートを設定した場合。
Windows Xp から、dfsルートは表示される。
しかしその中のフォルダ(実際には、各ホストの共有フォルダ)へのアクセスは不可。
自ホストの共有にも、他ホストの共有にもアクセスできない。

2. windows 2000 でDFSのルートを設定した場合。
samba 3.0.23a で共有したフォルダは、アクセス不可。samba 2 にはアクセス可能。

3. samba3.0.23a を security = domain にすると、この問題は解決できるので、samba の ads 関係の不具合と考えられる。
posted by sjoe at 00:20| Comment(2) | TrackBack(0) | Linux