PR

HP ProLiant ML110 G7 & Ubuntu で apt が一時停止する現象

先日購入した「HP ProLiant ML110 G7」にはNIC が2つ付いている。

テストのためにインストールしたWindows7 では2つのNIC が認識され、特に何もせずとも通信が可能であった。もちろんパフォーマンスなどを正しく得ようとするならドライバなどを適用する必要があるのだろうがテストなので。

その後、iLO3 が利用可能であることがわかり、なんとなくNIC2 がこれを担当するものだと思っていた。さらに、2 つのNIC とiLO3 は2つのポートで3つのMAC アドレスが割り振られていて、OS 側からは2つのNIC として利用できることもわかった。

# 正直なところOS 側からは見えなくしてくれると嬉しかったのだが、それらしいオプションを設定するとiLO3 にネットワーク越しにアクセス不可となってしまった

スポンサードリンク

2つのポートと3つのMAC アドレス

iLO3 にしろWindows 上にインストールしたVNC にしろ、特に問題なく利用できていたという点と、NIC2 がiLO3 担当だろうと思っていたというのが今回の記事の前提となる状態。

実際には(1つ前の)図にあるように、NIC1 がこれを担当していたようだが、詳しい内部状態は知らない。少なくとも2つのポートで3つのMAC アドレスを使っているのだから、NIC1 をどのような手段かで共有しているということになる。

もっとも単純でそれらしいのは図にしたとおり、iLO3 がメインとなってNIC1 に2つのMAC アドレスを割り振り、自身宛でなければスルーさせるように機能させているのではないだろうか。

これまた根拠のない話だが、iLO3 が起動してからでないと電源投入ができない(たぶん)のも少なからず関係しているように感じる。

初回は問題ないapt

さて、前置きが長くなったが、HP ProLiant ML110 G7 をWindows 環境で使う予定は無い。低価格サーバーに分類される本機は、当然としてサーバー機として作られていることが「買ってみた」の記事によってよくわかったし、そのように利用する目的で購入している。

いままでは言わば使い回しのUbuntu を使っていたわけだが、今回はハードウェア構成も大きくかわることもあり、心機一転、新規環境を構築することにした。

Ubuntu 12.04 LTS x64 Server をインストールするかVMware ESXi にするか迷ったが、結局、前者を選択した。

Ubuntu のインストールはServer 版・デスクトップ版、32bit ・64bit 様々な組み合わせで、既に数えきれないほど経験している。当然、新規環境だけでなく、アップグレードなども少ないなりに経験して、その度に問題に直面し、勉強させてもらっている。

まずはインストール。これは全く問題なく慣れたものだとホイホイとインストールを完了した。変わったことといえば、インストール中にNIC を選択する画面が表示されることくらいだ。NIC0 を指定してインストールした。

update もapgrade も問題なくサクサク動く。流石に新しいマシンだ。

突然一時停止するようになるapt

ところが、どうも様子がおかしい。いつの間にかapt が固まる様になってしまった(上の画像の状態でしばらく一時停止し、わすれた頃に再開される)。

固まると言ってもフリーズしてしまうのではなく、しばらく応答がなくなり、また再開する。その繰り返しで、とても時間がかかるようになってしまった。また、GUI 環境からapt を利用しても、SSH 接続しても、端末で操作しても、コンソールから作業しても同じだった。

NIC が2つあるから、気分的にも2つ接続してピコピコ光っているのを楽しむ事が好みなのだ(といっても構築が完了したら遠隔地に放置されるので見られないのだが・・)。

いつ発生するのか

ここに問題が有るとすると、何れのNIC も同じHUB に繋がっている(VLAN なしの純粋な環境)からメトリック計算やらでしばらく考え込んでいるのかなどと予想した。

しかし、ネットワーク設定にも特に問題がなく、また明示する設定にしても改善しない。明示するというのはIPv6 を使わないように設定したり、デフォルトのルートを設定したり、eth1 をdown させてみたりすること。

よくよく見てみると、インストール直後はeth0 だけなのに、いつの間にかeth0 とeth1 が有効になっている。とても大雑把に書くなら「初めてのapt」、「FreeNX のインストール」、「その他のインストールや設定」という3つに分類できる。

何度も何度も様々な設定変更や再インストールして問題を発見しようとして疲れ果てていたからうろ覚えであり確定的なことは言えないが、どうやらFreeNX をインストールしてUbunut を再起動したタイミングで問題が発生するようだ。

なぜ発生するのか

G7 のドライバも提供されているようだが、これを適用する能力は今のところ持ち合わせていない。

様々な原因箇所が浮かんだ。

  • ネットワークが考え込んでいるために一時停止する
  • NIC1 (eth0)だけが壊れている
  • Ubuntu の特定の通信サーバーに問題がある
  • iLO3 の処理に問題がある
  • たまたま不運なG7 の個体に遭遇した

可能な限り同じような環境を作成して検証をしたが、どうやらG7 に問題があるのではないかというところまで辿り着いた。しかも、apt でのみ問題が発生するようで、iLo3 との通信やSSH などは問題なく通信可能だった。

原始的な解決策

何を持って「解決」と言うのか、あるいは言えるのかはわからないが、最も単純な「解決策」はNIC2 (eth1)からLAN ケーブルを引っこ抜く事だった(この作業中に、eth1 がiLO3 だと思っていたのが訂正されたわけだ)。

これで確かに解決したけれど、「逃げ」であることは否めない。正しく原因を把握して、これを本当の意味で「解決」できる能力を持ちたいものだ。

# apt が一時的に停止する現象は他にも報告されているが、同様の事例には辿りつけなかった
# 異なるネットワークに接続した場合(eth1 にOS が使う外部通信ネットワーク、eth0 にiLO3 の為の内部管理用ネットワークetc )どのような挙動になるかは試していない
# 設定やインストール時にeth1 をデフォルトとしても同じだった(こちらのほうが少し停止時間が短いような気もしたが)

コメント

  1. http://t.co/ZBU1UzFc » HP ProLiant ML110 G7 & Ubuntu で apt が一時停止する現象 http://t.co/bdVhUJdL