2014年12月27日土曜日

Preboot eXecution Environment(PXE)概要

Preboot eXecution EnvironmentPXE)概要

インテルの策定したネットワークブートの規格。
ネットワークブートを利用することにより、ストレージをもたないクライアントコンピュータや、ストレージに別のOSが導入されているクライアントコンピュータがサーバ上のOSイメージを使用して起動できる。

できること

Remote new system setup. 

リモートでクライアントにOSをインストールする。

Remote emergency boot
クライアントがブートできなくなったときにネットワーク経由でブートする。
異常を検知、解析する仕組みが必要。

Remote network boot. 
クライアントがローカルストレージを持っていないときにサーバーからソフトウェアを取得。

動作条件

・PXEによるネットワークブートにはクライアントにPXEに準拠したソフトウェアの入ったROM
 備えたNIC (Network Interface Card)が装備
 
    WirelessでのPXEは今のところ規格は無い。(富士通情報)

・サーバでは、PXEサーバおよびDHCPサーバ(またはBOOTPサーバ)が動作すること


ートプロセス

  1. ネットワークカードのROMに格納されたPXEクライアントによってDHCP要求が行われる。
  2. クライアントのIPアドレスなどと同時に、PXEサーバのIPアドレスが通知される。
  3. PXEクライアントは、PXEサーバに対してPXE要求を送信し、NBP(Network Bootstrap Program)と呼ばれる、OSイメージを取得して起動するためのプログラムのファイル名を取得する。
  4. TFTPを使用してこのNBPをダウンロードし、実行する。(FTP,HTTP,NFS等)
  5. 実行されたNBPは、ディスクイメージが格納されているサーバからディスクイメージをダウンロードしてOSを起動する。
5番目のディスクイメージプログラムによりOSを起動したり・バックアップしたり、いろいろな用途に使用できる。



ブート関連の資料(日本語)
 http://docs.freebsd.org/doc/4.0-RELEASE/usr/share/doc/ja/books/handbook/internals.html


FreeBSDのブート(PXE)の資料

 http://jdc.parodius.com/freebsd/pxeboot_serial_install_8.html



起動時の画面
  http://www.wheel.gr.jp/~dai/freebsd-cft4/index.html


起動
 boot2までは同じ。
 loaderを起動するかpxebootを起動するかの切り替え
 PXEbootは下記のように動作
  This is the sole binary that gets fetched via TFTP after the Intel PXE boot ROM gets an IP via DHCP.
  The binary itself is actually a modified version of loader(8), and includes some extra features (which we'll use)

コンフィグレーション

  PXEブートに必要な情報をDHCPで、
  PXEブートに必要なファイルをTFTP
  カーネルをNFS


 DHCPサーバー側の設定(/usr/local/etc/dhcpd.conf)

 host newbox.home.lan {
       hardware ethernet 00:11:22:33:44:55;
       fixed-address newbox.home.lan;
       next-server 192.168.1.88;                ★ TFTPがDHCPと別サーバーの場合に記述
       filename "freebsd8/boot/pxeboot";        ★ ブートイメージのファイル名
       option root-path "/usr/local/freebsd8"; ★ ブートするディスクレスクライアント用のNFS rootの位置
  }



 TFTPの設定

 /etc/inetd.conf のコメントをはずす
  tftp dgram udp wait root /usr/libexec/tftpd tftpd -l -s /usr/local


 /etc/rc.conf
  inetd_enable="yes"


 NFSの設定

  /etc/rc.conf

   rpcbind_enable="yes"
   mountd_enable="yes"
   nfs_server_enable="yes"

  /etc/exports
   # showmount -e
   Exports list on localhost:
   /usr/local/freebsd8          192.168.1.0


  サーバー側で下記のファイルを解凍
   /usr/local/freebsd8    
   # tar -C /usr/local/freebsd8 -pxvf 8.0-RELEASE-amd64-disc1.iso

0 件のコメント:

コメントを投稿