前回
サーバ/インフラを支える技術5 デーモンの稼動管理 - by shigemk2
ネットワークブートとは、マシンがブートするために必要なデータや
ファイルをネットワークから取得してブートすることである。
通常のブートでは、マシンの起動に必要なブートローダや
OSのカーネルは、BIOSがローカルに接続されたハードディスクや
CD-ROMなどの二次記憶装置から読み出すが、ネットワークブートでは
これらのファイルをネットワーク上のサーバから読み出す。
ネットワークブートを使えば、マシンの起動にローカルの二次記憶装置は
必要がなくなる。しかし、ブートローダとカーネルをネットワークから
取得するだけでは、通常の起動に比べて運用の柔軟性が少々増すだけである。
より柔軟性を持たせるためには、initramfsというしくみを使う。
initramfsとは、カーネルがルートファイルシステムをマウントして
initを起動する前に、カーネルの外部でしか行い得ない初期化をするための
しくみである。
典型的な役割として、カーネルがルートファイルシステムをマウントするのに
必要とするドライバモジュールを、カーネルにロードすることである。
initramfsの実体は、初期化するのに必要なファイルを集めてcpioで
まとめ、gzip圧縮したファイルである。
ネットワークブートでは、ブートローダがinitramfsをカーネルとともに
ファイルサーバから取得する。これはつまり、事前に起動するマシン上で
何も準備しておかなくても、ファイルサーバ上にいろいろなシステム用の
カーネルとinitramfsを用意しておけば、どのマシンでも任意のシステムとして
起動することが出来る。つまり、OSを起動する上でディスクは不要になる。
ネットワークブートの枠組みで代表的なものとして、
PXEがある。これは、NIC上に実装された拡張BIOSである。
ネットワークブートの活用例
- ロードバランサ
- DBサーバ/ファイルサーバ
物理的な故障がサービス停止に直結する部分は、ディスクレスにするべきであ
り、またメンテナンス目的でもネットワークブートは利用される
いくつかの注意点
複数の種類のシステムをinitramfsを使ってネットワークブートするなら、
initramfs自体は共通で使えたほうがよい。
initramfsはカーネルの起動直後に動作するのでデバッグがしづらいから。
また、
- ログの出力(ディスクレルシステムでもログの保存は必要)
- ファイルの変更管理(起動中のマシンのみの設定を変更してもリブートしたら戻る)
- マスタファイルのセキュリティ(ルートファイルシステムのマスタを用意する必要がある)
次回
サーバ/インフラを支える技術5 リモートメンテナンス - by shigemk2
[24時間365日] サーバ/インフラを支える技術 ?スケーラビリティ、ハイパフォーマンス、省力運用 (WEB+DB PRESS plusシリーズ)
- 作者: 安井真伸,横川和哉,ひろせまさあき,伊藤直也,田中慎司,勝見祐己
- 出版社/メーカー: 技術評論社
- 発売日: 2008/08/07
- メディア: 単行本(ソフトカバー)
- 購入: 133人 クリック: 2,270回
- この商品を含むブログ (284件) を見る