文書の過去の版を表示しています。
目次
PXE Boot
序
RCNP のネットワーク内で PXE を用いたネットワークブートができると良いという話がある。例えば、vmegr, vmelas というホストネームの VME CPU (V7768) など。特に、2019-2021年RCNP 加速器アップグレードに伴い、WN コースの中性子フラックスが10倍のオーダーで増大するため、なるべくCPU を積んでいるデバイスのディスクレス化をしたい。V7768 では、なぜかコンパクトフラッシュがよく死ぬので、ディスクレスにしたい。
Useful links
- dhcp-match: mac address,set=red? https://etherarp.net/dnsmasq/
- “dnsmasq - different tftp-root for each macaddress” https://stackoverflow.com/questions/40008276/dnsmasq-different-tftp-root-for-each-macaddress
- “Advanced dnsmasq techniques” https://forums.fogproject.org/topic/8726/advanced-dnsmasq-techniques
- “ネットブートLinuxシステム構築メモ” http://i.cla.kobe-u.ac.jp/murao/docs/NetbootLinux/index.html
- “PXE Server on Existing Network (DHCP Proxy) with Ubuntu” https://manski.net/2016/09/pxe-server-on-existing-network-dhcp-proxy-on-ubuntu/
- “既存のDHCPサーバが存在する場合でもPXE Bootをする(dnsmasqを使ったProxy DHCPの設定)” http://zappy.hatenablog.jp/entry/2018/05/31/190434
メモ
- Q. PXE ブートに DHCP サーバーは必要か?
- A. 必要。参考: Is it possible that PXE without a DHCP/BOOTP sever? https://software.intel.com/en-us/forums/intel-business-client-software-development/topic/305159
- ディスクレスにする場合、なんらかの方法でイメージファイルを置いてあるサーバーの場所(言い換えると、TFTPサーバーのIPアドレス)をVME CPU に教える必要がある。通常は、DHCP サーバーの設定を書き換え、VME CPU がDHCP サーバーから IP アドレスを取得するタイミングで(?)TFTP の場所を教えてもらう。VME CPU のPXE の ROM を直接書き換えて、TFTP サーバーのIPアドレスをハードコーディングできないかとも考えたが、上記のリンクを見る限り、PXE の仕様上無理らしい?
- ディスクレスを諦めれば、ブートローダから、PXELINUX をロードできる。PXELINUX ロード時にTFTPサーバーのIPアドレスの情報をオプション(APPEND?)で与えることができるので、DHCP サーバーの設定に変更を加えることなくネットワークブートが実現できそう。ただ、そうするとディスクレスという本来の目的が達成できない。
- もちろん DHCP の設定をネットワーク管理者に変更してもらえば良いが、それをやると、ネットワーク管理サイドも実験者サイドも引き継ぎ時の対応などが大変。なるべく 既存の DHCP の設定はいじりたくない。
- 1つの解は、ローカルネットワークを作って自前でDHCP サーバーを運用すること。ただ、それはそれでルーターの設定が面倒。
- やはり、既存のネットワーク上で dnsmasqを走らせるのが良いか?