User Tools

Site Tools


自作クラスタ計算機:pxeブート

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
自作クラスタ計算機:pxeブート [2026/07/03 00:46] – [UEFを使う場合] koudai自作クラスタ計算機:pxeブート [2026/07/09 00:59] (current) – [BIOSを使う場合] koudai
Line 1: Line 1:
 ====== 概要 ====== ====== 概要 ======
  
-  * Ubuntu 26.04 netboot+  * Ubuntu 26.04
  
- +BIOSは成功しましたが、UEFIの方がうまくいかないので、参考にとどめてください。
-BIOSは成功しましたが、UEFIの方がうまくいかないので、まだこのページのことを参考にしないでください。+
 ====== 手順 ====== ====== 手順 ======
  
Line 10: Line 9:
  
 ヘッドノード(Ubuntu 26.04 Desktop)上で、公式リポジトリから Ubuntu 26.04 のベースイメージをダウンロードします。 ヘッドノード(Ubuntu 26.04 Desktop)上で、公式リポジトリから Ubuntu 26.04 のベースイメージをダウンロードします。
-通常は cdimage.ubuntu.com の ubuntu-base/releases/ 内にあります。+通常は https://cdimage.ubuntu.comの ubuntu-base/releases/ 内にあります。
  
   - ディスクレス用OSの配置先を作成<code>   - ディスクレス用OSの配置先を作成<code>
Line 93: Line 92:
  
 <file - /etc/exports> <file - /etc/exports>
-/srv/nfs/compute-root  192.168.1.0/24(rw,no_root_squash,no_subtree_check,async)+/srv/nfs/compute-root  192.168.0.0/24(rw,no_root_squash,no_subtree_check,async)
 </file> </file>
  
Line 118: Line 117:
  
   - BIOSによるPXEブートのブートローダーをインストール<code>   - BIOSによるPXEブートのブートローダーをインストール<code>
-sudo apt install -y pxelinux syslinux-common+sudo apt install -y pxelinux syslinux-common
 </code> </code>
   - TFTPの公開ディレクトリを作成し、PXE用のブートローダーをコピー<code>   - TFTPの公開ディレクトリを作成し、PXE用のブートローダーをコピー<code>
Line 153: Line 152:
 $ sudo chmod 644 /srv/tftp/grubx64.efi  $ sudo chmod 644 /srv/tftp/grubx64.efi 
 </code> </code>
 +    * 実行権限付きの744という説もあります。
 +      * [[https://np2lkoo.hatenablog.com/entry/2020/08/16/090150|PXEでディスクレスLinux (CentOS)クライアントをBootする(UEFI編) - クーの自由研究]]
   - GRUB用設定ファイルの作成(BIOSのときは pxelinux.cfg/default を使いましたが、GRUBでは grub.cfg というファイルを使用します)<code>   - GRUB用設定ファイルの作成(BIOSのときは pxelinux.cfg/default を使いましたが、GRUBでは grub.cfg というファイルを使用します)<code>
 $ sudo mkdir -p /srv/tftp/grub $ sudo mkdir -p /srv/tftp/grub
Line 182: Line 183:
  
 <code> <code>
-sudo apt install -y dnsmasq+sudo apt install -y dnsmasq 
 +$ sudo nano /etc/dnsmasq.conf
 </code> </code>
  
-dnsmasq の設定ファイル(/etc/dnsmasq.conf)編集+DHCPサーバーの設定については[[自作クラスタ計算機:Dnsmasqの基本設定]]参考にしてください。
  
 <file - /etc/dnsmasq.conf> <file - /etc/dnsmasq.conf>
-DNS機能を無効化し、53番ポートを要求しないようにする +#  
-port=0 +(DHCPサーの設定) 
- +#
-クラスタ用ネットワネットワークインターフェース名(例: eth1, enp3s0など) +
-interface=enp3s0  +
- +
-# 動的なIP配布(自動割り当て)行わず、指定したネットワーク(192.168.0.0/24で固定のみ許可する +
-dhcp-range=192.168.0.0,static,255.255.255.0,12h +
- +
-MACアドレスとIPアドレスの固定紐付け設定 +
-dhcp-host=ac:1f:6b:bc:93:8a,192.168.0.11 +
-dhcp-host=ac:1f:6b:bc:92:09,192.168.0.12 +
  
 # クライアントのアーキテクチャ(PXEの識別子)を定義 # クライアントのアーキテクチャ(PXEの識別子)を定義
Line 219: Line 211:
 tftp-root=/srv/tftp tftp-root=/srv/tftp
 </file> </file>
- 
-Ubuntu Desktop環境(20.04以降〜26.04含む)では、デフォルトで systemd-resolved というシステム標準のDNSキャッシュサービスが動いており、これが53番ポートを先に掴んでしまっています。 
- 
-今回はクラスター内部向けのDHCP/TFTPサーバーとして dnsmasq を動かしたいため、port=0にしてdnsmasq側でDNS機能(53番ポートの利用)を無効化する必要があります。 
- 
  
 dnsmasq を再起動します: dnsmasq を再起動します:
Line 251: Line 238:
 $ sudo tail -f /var/log/syslog | grep dnsmasq $ sudo tail -f /var/log/syslog | grep dnsmasq
 </code> </code>
-で監視できますので、どのようなエラーメッセージが出ている確認します。 +で監視できますので、どのようなエラーメッセージが出ている確認して修正します。
- +
-dnsmasq.confを更新したら +
-<code> +
-$ sudo systemctl restart dnsmasq +
-</code> +
-を実行します。+
  
 ===== Ubuntu serverのインストール ===== ===== Ubuntu serverのインストール =====
Line 276: Line 257:
 $ sudo chroot /srv/nfs/compute-root $ sudo chroot /srv/nfs/compute-root
 </code> </code>
-  - パッケージリストの更新<code> 
-$ apt update 
-<.code> 
   - Ubuntu Serverの標準環境(最小構成)を一括インストール ※少し容量が大きいので数分かかります<code>   - Ubuntu Serverの標準環境(最小構成)を一括インストール ※少し容量が大きいので数分かかります<code>
 +$ apt update
 $ apt install -y ubuntu-server $ apt install -y ubuntu-server
 </code> </code>
自作クラスタ計算機/pxeブート.1783007216.txt.gz · Last modified: 2026/07/03 00:46 by koudai