スポンサーリンク

サーバリプレース前後ではまりかけたこと

スポンサーリンク

三代目凪パパサーバは順調に稼働しています。先程、本日届いたメモリ(ECC DDR2-533 1GB×2)を装着し、ついでに二代目からDVD-RWドライブを移植しました。
備忘録を兼ねて、サーバリプレース前後にはまりかけたことを記します。
1. ネットワークカード(NIC)の認識
不調に陥るまでは、Marvell製チップ搭載NICを使っていました。これが不調と推測し、安いNICを適当に購入しましたが、これがRealtek R8111搭載NICでした。R8169の標準ドライバで認識されますが、しばらくすると動作が停止しました。R8168のドライバをインストールしてR8169のドライバを停止させればよいのですが、カーネルをアップデートするたびにこの作業は大変です。加えてR8168ドライバでも不調は直りませんでした。この時点でNICの問題ではないと推測できていたのですが、既にIntel Gigabit CT Desktop Adapterを発注していたので、届くのを待って一応交換してみました。ここで2つのトラブルが発生しました。1つは、OS起動時にNICは認識するのですが、インタフェースが作成されないことがありました。もう1つは、/etc/sysconfig/network-script/ifcfg-eth0でMTU=9212などと指定すると、コンソールに「changing MTU from 1500 to 9212」「changing MTU from 9212 to 1500」を繰り返し安定しないことがありました。
結局マザーボードの不調と判断しリプレースし、NICはIntel Gigabit CT Desktop Adapterを装着したところ、1つめの問題は発生しなくなりましたが、MTUの問題は残りました。ifcfg-eth0のMTU設定はコメントアウトし、以下のファイルを作成し、起動時に実行するようにしました。

# vi /usr/local/sbin/changemtu.sh

#!/bin/bash
/sbin/ifconfig eth0 mtu 9212

# chmod u+x /usr/local/sbin/changemtu.sh
# crontab -e

(追加)
@reboot /usr/local/sbin/changemtu.sh

2. NASのマウント失敗
これはサーバが不調になる前、10月5日頃から発生していたことが判明しているのですが、セキュリティ対策のためSMB1.0に標準で対応しなくなりました。凪パパサーバでは、データベースなど重要なデータを/backupというフォルダにNASをマウントしてバックアップしているのですが、マウントに失敗し/backupというローカルフォルダに直接バックアップしていました。
これは、SMB1.0であることを明示すればOKでした。

# vi /etc/rc.local

(該当箇所のみ、赤字部分を追加)
/usr/bin/mount //fs/backup /backup -o username=username,password=password,vers=1.0

しかし、systemdの時代にrc.localを未だに使うのはどうかと思い、上記はコメントアウトし、fstabに設定しました。BIND(DNSサービス)の起動が間に合ってない場合を考慮してIPアドレス指定しました。今回の設定であれば関係ないかもしれませんが。

# vi /etc/fstab

(追加)
//192.168.0.11/backup /backup cifs username=username,password=password,vers=1.0,noauto,x-systemd.automount 0 0

3. CPU負荷が高い
CPU負荷が高い状態が続く現象が発生していました。確認すると、kworkerというプロセスがCPUを異常に消費していました。これは、以下の手順で解消しました。

# grep . -r /sys/firmware/acpi/interrupts

結果から/sys/firmware/acpi/interrupts/gpeXXのうち値の高いものを確認します。凪パパサーバの場合、gpe1Dでした。

# vi /usr/local/sbin/disableinterrupts.sh

#!/bin/bash
echo “disable” > /sys/firmware/acpi/interrupts/gpe1D

# chmod u+x /usr/local/sbin/disableinterrupts.sh
# crontab -e

(追加)
@reboot /usr/local/sbin/disableinterrupts.sh

謎は残りますがとりあえずこれらの措置でCPUもNICも安定しました。

コメント

タイトルとURLをコピーしました