2017年10月30日月曜日

研究室のサーバをセットアップしてみた。

 どうも。ご無沙汰しています。研究プログラムのバグが取れないミズヒトです。

 ラボの計算機サーバが一台壊れてしまったので、新しいサーバを注文し、セットアップをしました。その時のことを書きます。

1. 弊ラボのサーバ事情


 弊ラボの計算機システムは合計11台のサーバから構成されており、計算機とファイルサーバの役割を持っています。特徴を以下に挙げます。

  • 全てのサーバがDELL PowerEdge
  • HDDは3台以上搭載されており、RAID5構成
  • 多くのサーバにRHEL6がインストールされている CentOSに切り替える予定
  • フラグシップサーバがユーザー情報とファイルを保有している
  • 全てのサーバはNFSによってフラグシップサーバのファイルを透過的に参照できる
  • また、NISによってSSHで相互にログインすることが可能できる
  • 自作コマンドを用いてサーバのプロセスの稼動状態を一括で確認することができる

 弊ラボの学生は、まずフラグシップサーバにSSHでログインし、さらにプログラムを回したいサーバにSSHでログイン(hostsファイルにサーバ名が書き込まれているのでIPアドレスを直打ちしなくて良い)し、そこでプログラムを実行します。自作コマンドを叩くことでサーバの負荷状態が分かるので、余裕のあるサーバに行って回すということになります。

2. 発生した問題


 ある日、先輩から自作コマンドを叩いたときに1つのサーバの状況を読み取ることが出来ないという報告を受けました。サーバ室に行って本体の状態を確認してみると、案の定カーネルパニックを起こしていました。
 再起動を掛けてみたところ、再びカーネルパニックを起こしました。ログを読んでみるとストレージの様子がおかしいようです。

 RAIDコントローラのBIOSに入ってみると、HDDの4台中2台がオフラインとなっていました。2台は故障して停止していたのです。RAID5ではHDDが1台しても継続して使用できますが、2台故障すると使用できなくなってしまいます。原因はHDDの故障であると判明しました。

3. 新型サーバを購入


 先生の意向により、HDDを交換して復旧せずに新型サーバを導入することになりました。そこで、今までの流れを引き継いでDell PowerEdgeのラインナップから検討することにしました。先生からの注文は「超強いアタマをつけてくれ」でした。

 今回導入したサーバはDell PowerEdge T430です。スペックを以下に記します。

  • CPU Intel Xeon E5-2660 v4 (2.00GHz, 14C28T) * 2
  • メモリ RDIMM 2400MT/s 4GB * 8
  • HDD Nearline SAS 1TB * 2 (PERC H730によるRAID1構成)
  • 光学ドライブ DVDスーパーマルチドライブ
 この構成で100万円弱でした。56スレッド動作の化け物サーバです。なお、今回の問題を踏まえて比較的復旧のし易いRAID1構成に変更しました。

4. サーバのセットアップ


 幸いにも手元にサーバ資料がありましたので、それを参考にセットアップを行いました。しかし、OSをCentOS7に変更したため幾つかの変更点がありました。
  1. UEFIに入り、IPアドレスの設定、ファームウェアのアップデートを実行。
  2. BIOSモードでCentOSをインストール。Dell Lifcycle Controllerからセットアップを起動。(USBメモリは認識されませんでした。)
  3. インストールしたパッケージは開発環境、GNOMEデスクトップ、オフィススイート。
  4. インストール後、CentOS上のIPアドレス及びhostsを設定。
  5. NIS、NFSの設定。
  6. SELinuxの無効化。
  7. SSHのキーの再生成。
 変更点について記します。
  • CentOSのhostsの設定はGUIツールを使って行うことはできませんでした。直接hostsファイルを編集しました。
  • NISの設定について、サーバ資料にはypbindのみを起動するように書いてありましたが、同時にrpcbindも起動した方がいいです。これをやらないとypbindを起動させてもユーザー情報を取得できません。(しかもypbind,rpcbindはもともとインストールされていないのでyumでインストールする必要があります。)
  • 最近のSELinuxはSSHの認証にも制限を掛けるようになりました。これにより、自分のサーバで生成した秘密鍵でなければ認証に用いることが出来ないという制限が生まれました。弊ラボのサーバシステムではフラッグシップサーバが秘密鍵を生成し、それを他のサーバがNFSにより共有しているため、この制限に引っかかりました。

5. セットアップ完了!


 弊ラボのサーバシステムは計算機としての用途しか無いため、複雑な設定は必要ありませんでした。しかし、昔のサーバ資料から変更されている内容も幾つかあり、少々苦戦しました。サーバが届いてから全てを完了させるのに7時間程度要しました。

 これを読んで、Dellのサーバがほしいと思った人は検討してみてください(笑)

 何か質問がありましたら、コメント欄かTwitterでお願いします!