Recipient ok (will queue)

sendmailで処理されるメールが全てキューに入って送信されない現象が発生。

SMTPポートにtelnetを叩くと、RCPT TOのところで異常時と正常時の違いがあった。

【正常時】
rcpt to:jun@jhhk-family.net
250 2.1.5 jun@jhhk-family.net… Recipient ok

【異常時】
rcpt to:jun@jhhk-family.net
250 2.1.5 jun@jhhk-family.net… Recipient ok (will queue)

sendmailの再起動で直ったっぽいけど、なんだったんだコレ?

iLoのなんて嫌いだ!

先日作ったVCRMを使って、社内で動いているサーバーのファームウェアや管理系のソフトウェアをバージョンアップするお仕事。

VCRMは、インストール済みのソフトウェアとリポジトリを比較して、ソフトウェアのバージョンアップを簡素にしてくれる機能だけど、バージョンアップはパッケージ毎にユーザーが選択する必要がある。

順番とか気にせずにポチポチとバージョンアップをやっていたが、特定のサーバーだけ再起動後に疎通が出来なくなってしまった。

コンソールを繋いでみると、hpsmhのデーモンが起動された直後ぐらいでOSの再起動を繰り返したり、SmaetArreyを認識していなかったりしてた。

とりあえずHPのハード保守を呼んで、システムボードとSmartArrayを交換したけど、それでもOSの再起動は再発する。

ハード保守の方がファームウェアの開発チームやサポセンやら連絡をしてくれて、どうやら原因はiLoのバージョンアップのやり方に問題があったらしい。

今までiLo v1.79と言う、かな~り古いバージョンが動いていたが、上げたバージョンはiLo v2.05

バージョンを一気に上げてはダメらしい。
iLoのバージョンを1.81まで落とすと正常に起動してくれた。

あとあと調べるとHPのサイトに、特定バージョンのkernel以降でiLoをバージョンアップする時は、一旦iLoのモジュールをアンロードするように注意書きがあった。

今日の全てのサーバーのバージョンアップが出来なかったから、もっかい情報を集めてから
再チャレンジしよだな。

— iPhoneから投稿

up2dateやyumで特定パッケージを除外する

up2dateやyumで特定のインストール済みパッケージを除外する方法のメモ

opensshなど、ディストリビューションに最初から入っているパッケージはかなり古めのバージョンが使われているが、依存関係とかの兼ね合いで削除する事が出来ない。

ソースからインストールしても、場所によってはパッケージのアップデートに潰されてしまうので、ソースからインストールしたソフトウェアを、パッケージの更新から除外する。

up2dateの場合
/etc/sysconfig/rhn/up2dateファイルに、pkgSkipList=php*;httpd*;とかを書く

yumの場合
/etc/yum.confファイルに、exclude=php*;httpd*;とかを書く

Redmineのバージョンアップ

会社で使っているRedmineを、0.9.7からメジャーリリースの1.1.2にバージョンアップを行った。

手順はhttp://redmine.jp/guide/RedmineUpgrade/の通り。

1箇所だけ、i18nがインストールされていないとエラーになったが、エラーメッセージの通り、gem install -v=0.4.2 i18nで解決。
※gem install i18n だとバージョン5.0.2がインストールされてしまい、再度エラーになったのでバージョンを指定したインストールになる。

HP VCRMを入れてみる

会社でHPのProliantサーバが増えてきたので、管理を楽にする為にVCRMを入れてみる。

VCRMは、version control repository manager の略。

当たり前の事だが、リポジトリをインストールするシステムは、HP製のハードウェアを使わなければならないらしいが、会社のPC(パナソニックのLetsNote)上にリポジトリ作れたから、別にどれでもいいと思う。
ただ、リポジトリはWindowsOSでしか動作しないので注意。

VCRMをインストールする前に、SMH(System Manage Homepage)のインストールが必要になる。

最新のSMHはここからダウンロード(2011/3/29時点の最新verは6.3.0.22)

SMHをインストールしたら、VCRMを入れる。最新のVCRMはここからダウンロード(2011/3/29時点の最新verは6.3.0.870)

インストールは簡単なので割愛。

インストール後、リポジトリ内のデータを更新する必要があるが、VCRM内の「hp.comから即時アップデート」を行うと、非常に時間が掛かる。

何をダウンロードしているのか知らないが、RedHatEnterpriseLinux5用のソフトウェアをダウンロードするだけで、会社から約4時間ぐらい掛かった。

時間が勿体無いので、PSPパッケージをダウンロード、解凍したファイルをリポジトリフォルダに入れて、VCRMからカタログの更新を行った方がはるかに早い。

後は各HPサーバのVCAからリポジトリの参照先を設定すれば、インストール済みのパッケージと、リポジトリにある最新のパッケージの比較、適用が行えるようになる。

opensslのバージョンアップ

opensslの最新バージョンが2月8日にリリースされていたので早速アップデートを実施。

(1)最新のファイルをダウンロードして・・・
   wget http://www.openssl.org/source/openssl-1.0.0d.tar.gz

(2)解凍して・・・
   tar zxv openssl-1.0.0d.tar.gz

(3)configして・・・
   cd openssl-1.0.0d
   ./config –prefix=/usr/local/

(4)makeとインストールする。
   make
        make install

【旧バージョン】
openssl version
OpenSSL 1.0.0c 2 Dec 2010

【新バージョン
openssl version
OpenSSL 1.0.0d 8 Feb 2011

iptablesの設定

自宅サーバのiptablesの設定。

今こんな感じ。

*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]

# 127.0.0.1からの通信を全て許可
-A INPUT -p tcp -i lo -j ACCEPT

# 自宅N/Wからの通信を全て許可
-A INPUT -p tcp -m tcp -s 192.168.100.0/24 -j ACCEPT

# セッション確立後のパケット疎通は許可
-A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT

# SSHへの接続制限
# 会社からの接続は許可
# それ以外は、ログを残して拒否
-A INPUT -p tcp -m tcp –dport 22 -s xxx.xxx.xxx.xxx -j ACCEPT
-A INPUT -p tcp -m tcp –dport 22 -j LOG –log-level debug
-A INPUT -p tcp -m tcp –dport 22 -j REJECT

# SMTPへの接続許可
-A INPUT -p tcp –dport 25 -j ACCEPT

# HTTPへの接続許可
-A INPUT -p tcp –dport 80 -j ACCEPT

# 上記以外を全て拒否
-A INPUT -p tcp -j LOG
-A INPUT -p tcp -j REJECT
COMMIT