編集済み 1 日前 によって ExtremeHow 編集チーム
ネットワークブート PXE => PXE Deployment => 展開 TFTP => TFTP Imaging => イメージングPXEサーバー設定デプロイメント設定シスアドミンTFTPコマンドラインインストールイメージング
翻訳が更新されました 1 日前
このガイドでは、LinuxマシンでPreboot Execution Environment(PXE)ブートサーバーをセットアップする方法を学びます。このプロセスにより、コンピュータはローカルストレージではなくネットワーク経由で提供されるイメージを使用して起動できます。PXEは、ネットワーク上の複数のマシンにオペレーティングシステムやソフトウェアをデプロイする必要があるシステム管理者にとって便利です。
PXEは、Preboot Execution Environmentの略で、ネットワークインターフェイスを介してデータストレージデバイスやインストールされたオペレーティングシステムに依存せずにコンピュータを起動できるようにします。これは、サーバーの自動展開を支援し、Linux OSや他のオペレーティングシステムのネットワークインストールに使用できます。
基本的に、PXEは2つの主要コンポーネントで構成されています:
PXEブートサーバーを使用すると、集中管理された場所から複数のマシンに効率的にオペレーティングシステムをインストールできます。
LinuxでPXEブートサーバーをセットアップするには、次のコンポーネントが必要です:
DHCPサーバーはPXEクライアントにIPアドレスを割り当て、次に接続するべきサーバーを知らせます。
パッケージマネージャーを使用してDHCPサーバーをインストールします。UbuntuやDebianのようなディストリビューションを使用している場合、コマンドは次のようになります:
sudo apt-get install isc-dhcp-server
インストール後、通常/etc/dhcp/dhcpd.conf
にあるDHCPサーバーの設定ファイルを編集して、PXEクライアントのIPアドレス、サブネットマスク、およびブートローダーファイルの詳細を指定します。
以下は基本的な設定スニペットです:
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.10 192.168.1.100;
option routers 192.168.1.1;
filename "pxelinux.0";
next-server 192.168.1.5; # PXEサーバーのIPアドレス
option broadcast-address 192.168.1.255;
}
設定後、DHCPサービスを再起動して変更を適用します:
sudo systemctl restart isc-dhcp-server
DHCPサーバーが起動時に開始することを確認します:
sudo systemctl enable isc-dhcp-server
TFTP(Trivial File Transfer Protocol)サーバーはPXEクライアントにブートローダーを提供します。次のコマンドを使用してインストールします:
sudo apt-get install tftpd-hpa
TFTP設定ファイルを/etc/default/tftpd-hpa
で編集し、ブートファイルを適切に供給するように設定します:
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/var/lib/tftpboot"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="--secure"
指定されたディレクトリ(デフォルトは/var/lib/tftpboot
)が作成され、アクセス可能であることを確認します。TFTPサービスを再起動して有効にします:
sudo systemctl restart tftpd-hpa
sudo systemctl enable tftpd-hpa
SYSLINUXはpxelinuxというPXEブートローダーを提供しています。まず、syslinuxがインストールされていない場合はインストールします:
sudo apt-get install syslinux-common
必要なファイルをtftpbootディレクトリにコピーします:
sudo cp /usr/lib/PXELINUX/pxelinux.0 /var/lib/tftpboot
sudo mkdir -p /var/lib/tftpboot/pxelinux.cfg
ブートメニューを提供するには、/var/lib/tftpboot/pxelinux.cfg
に設定ファイルを作成します。default
という名前のファイルを作成します:
DEFAULT menu.c32
PROMPT 0
TIMEOUT 50
ONTIMEOUT local
LABEL linux
MENU LABEL ^Install Linux
KERNEL vmlinuz
APPEND initrd=initrd.img
この設定は、Linuxなどのネットワークブート可能なイメージを選択するためのブートメニューを提供します。
Linuxインストールメディアからカーネルとinitrdファイルを/var/lib/tftpboot
ディレクトリにコピーします:
sudo cp /path-to-linux-iso/vmlinuz /var/lib/tftpboot/
sudo cp /path-to-linux-iso/initrd.img /var/lib/tftpboot/
パーミッションが正しいことを確認します:
sudo chmod 644 /var/lib/tftpboot/*
実際のインストールファイルをNFSまたはHTTPを使用してホストする必要があります。それぞれの方法はネットワーク要件に応じて適切です。
NFSサーバーをインストールします:
sudo apt-get install nfs-kernel-server
エクスポートファイル/etc/exports
を編集して、インストールファイルが含まれているディレクトリを追加します:
/path-to-your-linux-files 192.168.1.0/24(ro,sync,no_root_squash)
NFSサービスを再起動します:
sudo exportfs -a
sudo systemctl restart nfs-kernel-server
ApacheなどのHTTPサーバーをインストールします:
sudo apt-get install apache2
インストールメディアをWebアクセス可能なディレクトリにリンクします:
sudo ln -s /path-to-your-linux-files /var/www/html/linux
Apacheを再起動します:
sudo systemctl restart apache2
ファイアウォールがNFS/HTTPポートを許可していることを確認します:
sudo ufw allow 2049
sudo ufw allow 80
最後に、クライアントをネットワークから起動するように構成します。通常、これはBIOSまたはUEFIファームウェア設定で行います。PXEクライアントが起動すると、ネットワークに接続し、DHCPサーバーからIPを取得します。次に、TFTPサーバーからブートローダーファイルをロードし、NFS/HTTPが提供するファイルを使用してインストールプロセスを開始します。
上記の手順に従うことで、ネットワークマシンがネットワーク経由でオペレーティングシステムをロードできるPXEブートサーバーを設定することができます。
記事の内容に誤りがある場合, あなたは