9/04/2010

pxeサーバ

自分の環境にpxeサーバがあるとかなり便利。
VMwareの仮想マシンや、Xenなども実は、PXE bootに対応していたりしている。
もっぱらは、CD/DVDのメディアをごそごそするのが面倒なのが、発端なんだが。。。

環境の事前準備として、まず、ルータのDHCPサーバを停止させて、サーバ内にDHCPサーバを立てる必要がある。なぜなら、家庭用のルータは、PXEサーバに対応していないから。
また、ちゃんと、DHCPサーバを立てれば、NTPサーバとか微妙に忘れやすい情報もばらまいてくれる。
さらに、面倒くさがりの方は、DHCPサーバにDNSを同居させ、Dynamic DNSを使えるようにすると、指定したホスト名でDNSまで登録してくれるので、検証環境の作成がものすごく便利になる。電源オン->PXEで起動してOSインストール、自分で付けたホスト名がローカルのゾーンに登録。速い、上手い、お手軽の三拍子が揃った環境になる。
家庭用のルータもDHCPにDynamic DNSへ渡す機能(DynDNSとかじゃなくて、ローカルのDNSね。)とPXEのブートイメージを持つサーバを登録できたら便利なんだけど。いっその事、dhcpd.confを書かせてくれるといいのだが。DD-WRTだとできるのかしら?

手順は、DHCPの設定とtftpの導入、それに各種OSの起動イメージと設定ファイルの作成。
ざっくり、肝の部分だけを書くと
dhcpd.confに以下の記述を追加
  next-server <tftpサーバが動作しているマシンのIPアドレス>;
  filename "pxelinux.0などのファイルパス";

tftpサーバをインストール
 tftpdだと、たまにしくるときがあるので、atftpdをインストールした。気がする。。。
/tftpboot <-設定によっては、他のディレクトリかも に、各種OSの起動イメージと設定ファイルの作成。面倒なのでテストで以下をtftpbootディレクトリの下に解答して放り込んでおく。
http://archive.ubuntu.com/ubuntu/dists/lucid/main/installer-i386/current/images/netboot/netboot.tar.gz
ubuntu/debian のこれらの設定は、お手軽!ちょっといじると32bit/64bitセレクタブル環境ができる。できた。
起動メニューの書式は、pxelinux形式。syslinux/isolinux/exlinuxというか、みんな同じ書式らしい。Citrix XenServerでも使われている形式なので覚えておいても損はないかも。
こういった新しいかつ、標準化された内容ってLPICで出るのかしら?調べてみたらisolinuxが201で触れられるくらい?いきなり常識的になってしまうと、LPICerだと追いつけないか?だから資格!という人の知識は、すぐにペタンとなる。。。

話は、反れたが、後は、ネットワークブート出来るパソコンで試してみる。

超ざっくりとして書いたけど、だいたいこんな感じ。時間があれば、詳細に書き直すかもしれないけど。

pxeブートが出来ると、いろいろなOSが起動できたり、X端末やThin ClientのようなOSが起動できたり、何げにローカルディスクが不要になる。20年くらい前は、ディスクが高いから1つのディスクを作り込んで、ネットワークブートしていたものだが、こういった技術は今でも陳腐化してない。さらに、tftpでネットワークブートって昔からある技術(昔過ぎる)ので実はあんまり資料がなかったりするんですが、また揃ってきた。

さらに便利なのが、WindowsパソコンのWindowsパーティションを一切いじらずに、他のOSを起動させることができるといった、浮気ができる。


自分の検証環境を作れ!と言っているけど周りで持っている人はほとんどいない。特に若い人間は、会社に付いていくのがせいぜいで、検証環境を作る時間とお金が、お付き合いとお酒に消えている。逆に検証環境を作ったりして勉強したり、効率化して時間を余らせてから、そっちに注力すればいいのだがと思うのだが。だから残業も沢山ある。お客さんマター以外の残業は、本来は身から出た錆なんだが。。。

0 件のコメント: