概要
こんにちは。マイクロアドでインフラエンジニアをしているハダです。
今回もデータセンター移設(以降、DC移設と記述)に関することを書いてみました。
今回は「IPMIでリモート対応を強化」したという話です。
IPMIを活用するというのは一般的ですが、マイクロアドではDC移設まで活用する状況になっていませんでした。 1
その理由などを含め記事を書いてみましたのでご覧ください。
IPMIとは…
Intelligent Platform Management Interfaceの略で、リモートからH/Wの状態を確認したり電源操作できるものです。
IPMIに対応しているハードウェアは、Baseboard Management Cotroller(BMC)と呼ばれる専用のコントローラチップを搭載し、
ハードウェアの管理・監視を行えるようになっています。
IPMIは一般的に専用のEthernetポートを持っており、DHCPやStaticにIPアドレスを付与することで、 ネットワーク経由で遠隔から操作できるようになります。
IPMIで出来ること
ハードウェアの管理・監視で行えることについては、それぞれのメーカーにより異なりますが基本的には以下のようなことができます。
- 電源管理(Power ON, Power OFF, Resetなど)
- CPU/Memoryなどのステータス表示
- ストレージデバイス(HDD/SSDなど)のステータス表示
- リモート仮想コンソール(モニター出力のエミュレーション)
- ハードウェアイベントのロギング
などです。
IPMIを使うきっかけ
DC移設前の状況
DC移設前は、IPMIを使うこと無くサーバを管理していました。
その状況において、何も不便がなかったかと言うとそうではありません。
サーバがハングアップしてしまったとき、データセンターのサービスを利用して、
サーバを強制的にリセット(電源OFF/ON)してもらって復旧させていました。
ただし、ハングアップした理由によっては電源OFF/ONしても復旧できず、
結局データセンターへ駆けつけることもありました。
ここで問題になるのは、強制的に電源OFF/ONしてしまうと、 サーバに何が起こっていたのかわからず、原因を取り除けない状況が発生していたということです。
特に、メモリエラーやCPUの不良などH/Wの不具合が原因で発生していた場合、
電源OFF/ONで復帰してしまうと、その後の調査でOS上のログには何も残っていないケースが多くありました。
そのため同じ原因で再度サーバがハングアップするということも少なくありませんでした。
取り組めなかったワケ
IPMIは専用のEthernetポートを備えているので、基本的には物理的な配線が必要になります。 2
すでに稼働している環境で配線を追加する場合、収容するスイッチの設置場所を確保する必要があったり、
配線の引き回し方などを検討する必要があります。
また、IPMIにIPアドレスを割り当てる方法も、シャットダウンしてBIOS画面から設定する必要があります。 3
マイクロアドでは3U8ノード 4 という密度の高いサーバを利用していました。
このサーバは、それぞれのノードに管理ポートが付いており1台あたり8本の配線を追加することになります。 5
IPMIを使うようにする上で一番障害になっていたのは、後から配線を追加するという点です。
あらかじめ準備して配線するのと異なり、どうしても配線が煩雑になってしまいます。
また、物理的にスイッチの配置場所を作ることも困難を極めていました。
増える配線
IPMIの配線を増やすということは、今までより1ポート分配線量が増えることになります。
3U8ノードのサーバを利用していると1ノード1本配線が増えることはかなりの負担になりました。
1Uサイズサーバの場合、3Uでも3本増えるのみです。
3U8ノードサーバの場合、その倍以上の8本必要になり、
通常の通信ケーブルと合わせると24本のケーブルが3Uのスペースに集中します。
配線の密度も高くなるためより整然と配線しないと、メンテナンス性が低下し現場作業時に困ってしまいます。 6
使ってどうなったか
DC移設に伴って、サーバの設置と配線をゼロから準備できたのはかなりのメリットでした。
移行のタイミングでIPMI用の独立したネットワークを準備し、すべての機器のIPMIポートを配線するようにしました。
これにより遠隔で電源のOFF/ONが行え、仮想コンソールを使用することによりsshログインできない状況でも、
何が起きているのか調査が行えるようになりました。
更にはH/Wの故障、特にメモリやCPUの故障などによる再起動やハングアップなどのイベントを、
ログから確認し必要に応じて交換するなどの対処ができるようになりました。
これまではデータセンターのサービスを利用し、電話でのやり取りで電源OFF/ONを行っていました。
そのため、事象確認から電源OFF/ONの対応までに1時間以上かかることもあり、
またデータセンター側の業務状況によりそれ以上に待たされてしまうということもありました。
自分たちで対処できることにより、事象確認後30分程度で対処できるなど大幅に時間を短縮できました。
別の課題
IPMIを使い始めて、リモートで対応できることが増えたことはかなりのメリットとなりました。 しかし以下のような課題も出てきました。
- IPMIに設定するIPアドレスの設定方法
- 管理権限ユーザ(admin等)の管理
- ベンダーごとに異なるWEB-UI
IPアドレスの設定については、BIOS管理画面から設定する必要があるため、 サーバの納品時の必須作業として実施することになりました。 数台〜十数台程度なら作業量としては問題にはなりません。 それ以上の台数をまとめて受け入れる必要がある場合には、 IPアドレスの設定だけで半日がかり…ということもあります。
管理者権限のユーザ名は、デフォルトではベンダーごとに異なっており、 新しいベンダーの機器を導入する場合、ユーザ名を確認することから始める必要があります。 最近ではベンダー所在地の法律により、デフォルトのパスワードがランダム設定されるようになったものもあります。 その影響は大きく、パスワードを変更する対応を迫られることになりました。
ベンダーごとに異なるWEB-UIは、操作になれるまで時間がかかるなどの弊害があります。 実際に使っているIPMIの画面をサンプルとして貼ってみます。
まずは、Supermicro社のサーバです。
こちらは、DellTechnologies社のiDRACの画面です。
最後に、Lenovo社のIMMの画面です。
このように、設定や確認できる項目などもベンダーにより異なるため、 「こっちでは出来るけどあっちではできない」や「あの設定項目ってどこだっけ」といった状況が生まれてしまいました。
解決策
別の課題として生まれた、IPMIのIPアドレス設定とAdminパスワード設定については、USBメモリを使って対応することにしました。
USBメモリでLinuxを起動しipmitoolコマンドを使って、IPアドレスとAdminユーザのパスワードを設定するようにしました。
詳しい内容については、対応してくれたイトウさんが記事化してくれるのではないかと期待してます。
まとめ
IPMIを使えるようにしたことで、現地駆けつけずにリモートで対処できることが大幅に増えました。
さらに、仮想コンソールを使いリモートでBIOS確認・設定出来るようになりました。
納品時の対応も増えましたが、一方で今までは現地でしかできなかったOSインストールもMAAS 7 を使用しできるようになったため、
リモートで行えるようになりました。
過去には、大量のサーバ納品がある場合に1日では終わらずサーバ設置からOSインストールまで、
2日かけて作業するということも発生していました。
このように現地での必要作業は結果的に減少させることができました。
IPMIの利用だけでなく他のツールとの組み合わせで、
リモート対応を強化できたことは大きなメリットとなりました。
インフラエンジニア募集
現在マイクロアドでは、サーバからネットワークまで幅広く経験できる環境で、
大規模なインフラを共に作り上げていくエンジニアを募集しています。
サーバ・ネットワーク・DBだけでなく、データ分析基盤、仮想化、コンテナなど幅広い業務に携わることができます。
少しでも興味をもたれた方は、採用ページをぜひご覧ください。
インフラエンジニア求人詳細
マイクロアド採用情報サイト
-
ごく一部のサーバは、IPMIを使用していましたが全部を使えるようにはしていませんでした。↩
-
BMCによっては、通常利用するEthernetポートをIPMIポートとして利用することが出来るものもあります。↩
-
Linuxでは、ipmitoolコマンドを使用してIPアドレスを設定する方法もあります。↩
-
UはUnitの略です。ラックマウントサーバの高さを表しています。1Unit = 1.75インチ、44.45ミリメートルです。↩
-
最新の3U8ノードサーバは、IPMIポートが筐体で1つにまとめられており、1筐体に1本の配線で完了するようになっています。↩
-
ケーブリングの重要性については、こちらも御覧ください。ケーブリングを改善した話 - MicroAd Developers Blog。↩
-
MAASについては、こちらも御覧ください。MAASを導入した話 - MicroAd Developers Blog。↩