ウェブサイト検索

ローカル DVD ソースを使用して PXE サーバー経由で Ubuntu をインストールする方法


PXE またはプリブート実行環境は、クライアント マシンにネットワークから起動するように指示するサーバー クライアント メカニズムです。

このガイドでは、Apache Web 経由で Ubuntu サーバー ISO イメージからミラーリングされたローカルのHTTP ソースを使用してPXE サーバー経由で Ubuntu サーバー をインストールする方法を説明します。サーバ。このチュートリアルで使用する PXE サーバーはDnsmasq サーバーです。

要件:

  1. Ubuntu サーバー 16.04 または 17.04 のインストール
  2. 静的 IP アドレスで構成されたネットワーク インターフェイス
  3. Ubuntu Server 16.04 または 17.04 ISO イメージ

ステップ 1: DNSMASQ サーバーのインストールと構成

1. PXE サーバーをセットアップするには、最初のステップで root アカウントまたは root 権限を持つアカウントでログインし、Dnsmasq パッケージをインストールします。 Ubuntu で次のコマンドを実行します。

apt install dnsmasq

2. 次に、dnsmasq メイン設定ファイルをバックアップし、次の設定でファイルの編集を開始します。

mv /etc/dnsmasq.conf /etc/dnsmasq.conf.backup
nano /etc/dnsmasq.conf

次の設定を dnsmasq.conf ファイルに追加します。

interface=ens33,lo
bind-interfaces
domain=mypxe.local

dhcp-range=ens33,192.168.1.230,192.168.1.253,255.255.255.0,1h
dhcp-option=3,192.168.1.1
dhcp-option=6,192.168.1.1
dhcp-option=6,8.8.8.8
server=8.8.4.4
dhcp-option=28,10.0.0.255
dhcp-option=42,0.0.0.0

dhcp-boot=pxelinux.0,pxeserver,192.168.1.14

pxe-prompt="Press F8 for menu.", 2
pxe-service=x86PC, "Install Ubuntu 16.04 from network server 192.168.1.14", pxelinux
enable-tftp
tftp-root=/srv/tftp

上記の構成ファイルで、次の行を適宜置き換えます。

  • インターフェイス 独自のマシンのネットワーク インターフェイスに置き換えます。
  • ドメイン – ドメイン名に置き換えます。
  • dhcp-range – このネットワーク セグメントに IP を割り当てるための DHCP の独自のネットワーク範囲と、クライアントに IP アドレスを付与する期間を定義します。
  • dhcp-option=3 – ゲートウェイ IP。
  • dhcp-option=6 DNS サーバー IP – 複数の DNS IP を定義できます。
  • サーバー – DNS フォワーダー IP アドレス。
  • dhcp-option=28 – ネットワーク ブロードキャスト アドレス。
  • dhcp-option=42 – NTP サーバー – 0.0.0.0 アドレスを使用します。アドレスは自己参照用です。
  • dhcp-boot – pxe ブート ファイルと PXE サーバーの IP アドレス (ここでは pxelinux.0 と同じマシンの IP アドレス)。
  • pxe-prompt – F8 キーを押して PXE メニューに入るか、2 秒待ってから PXE メニューに自動的に切り替わります。
  • pxe=service – 32 ビット/64 ビット アーキテクチャには x86PC を使用し、文字列引用符の下にメニュー説明プロンプトを入力します。他の値のタイプには、PC98、IA64_EFI、Alpha、Arc_x86、Intel_Lean_Client、IA32_EFI、BC_EFI、Xscale_EFI、および X86-64_EFI があります。
  • enable-tftp – ビルトイン TFTP サーバーを有効にします。
  • tftp-root – ネットブートファイルのシステムパス。

3. また、dnsmasq 構成ファイルの編集が完了したら、以下のコマンドを実行して、PXE ネットブート ファイル用のディレクトリを作成します。 dnsmasq デーモンを再起動して変更を適用します。 dnsmasq サービスのステータスをチェックして、開始されているかどうかを確認します。

mkdir /srv/tftp
systemctl restart dnsmasq.service
systemctl status dnsmasq.service

ステップ 2: TFTP ネットブート ファイルをインストールする

4. 次のステップでは、次のコマンドを実行して、64 ビット アーキテクチャ用の最新バージョンの Ubuntu サーバー ISO イメージを取得します。

wget http://releases.ubuntu.com/16.04/ubuntu-16.04.3-server-amd64.iso

5. Ubuntu サーバー ISO がダウンロードされたら、イメージを /mnt ディレクトリにマウントし、以下のコマンドを実行してマウントされたディレクトリの内容を一覧表示します。

mount -o loop ubuntu-16.04.3-desktop-amd64.iso /mnt/
ls /mnt/

6. 次に、以下のコマンドを実行して、Ubuntu にマウントされたツリーから tftp システム パスにネットブート ファイルをコピーします。また、コピーされたファイルを確認するには、TFTP システム パスをリストします。

cp -rf /mnt/install/netboot/* /srv/tftp/
ls /srv/tftp/

ステップ 3: ローカル インストール ソース ファイルを準備する

7. Ubuntu サーバーのローカル ネットワーク インストール ソースは、HTTP プロトコル経由で提供されます。まず、次のコマンドを発行して、Apache Web サーバーをインストール、起動し、有効にします。

apt install apache2
systemctl start apache2
systemctl status apache2
systemctl enable apache2

8. 次に、以下のコマンドを実行して、マウントされたUbuntu DVD の内容を Apache Web サーバーの Web ルート パスにコピーします。 Apache Web ルート パスの内容を一覧表示して、Ubuntu ISO にマウントされたツリーが完全にコピーされているかどうかを確認します。

cp -rf /mnt/* /var/www/html/
ls /var/www/html/

9. 次に、ファイアウォールで HTTP ポートを開き、ブラウザ (http://192.168.1.14/ubuntu) 経由でマシンの IP アドレスに移動して、 HTTP プロトコル経由でソースにアクセスできます。

ufw allow http

ステップ 4: PXE サーバー構成ファイルのセットアップ

10. PXE およびローカル ソースを介して rootfs をピボットできるようにするには、Ubuntu にプレシード ファイルを介して指示する必要があります。 Web サーバーのドキュメント ルート パスに、次の内容を含むlocal-sources.seed ファイルを作成します。

nano /var/www/html/ubuntu/preseed/local-sources.seed

次の行をlocal-sources.seed ファイルに追加します。

d-i live-installer/net-image string http://192.168.1.14/ubuntu/install/filesystem.squashfs

ここで、IP アドレスを適宜置き換えてください。これは、Web リソースが配置されている IP アドレスである必要があります。このガイドでは、Web ソース、PXE サーバー、および TFTP サーバーは同じシステム上でホストされます。混雑したネットワークでは、PXE ネットワークの速度を向上させるために、PXE、TFTP、および Web サービスを別々のマシンで実行することができます。

11. PXE サーバーは、pxelinux.cfg TFTP ルート ディレクトリにある設定ファイルを、GUID ファイル、MAC ファイル、デフォルト ファイルの順序で読み取り、実行します。

Ubuntu にマウントされた ISO イメージからネットブート ファイルをコピーしたため、ディレクトリ pxelinux.cfg はすでに作成されており、必要な PXE 構成ファイルが設定されています。

上記の preseed ステートメント ファイルを PXE 構成ファイルの Ubuntu インストール ラベルに追加するには、以下のコマンドを実行して、次のファイルを開いて編集します。

nano /srv/tftp/ubuntu-installer/amd64/boot-screens/txt.cfg

Ubuntu PXE のtxt.cfg 構成ファイルで、以下の抜粋に示すように次の行を置き換えます。

append auto=true url=http://192.168.1.14/ubuntu/preseed/local-sources.seed vga=788 initrd=ubuntu-installer/amd64/initrd.gz --- quiet

/srv/tftp/ubuntu-installer/amd64/boot-screens/txt.cfg ファイルには、次のグローバル コンテンツが含まれている必要があります。

default install
label install
	menu label ^Install Ubuntu 16.04 with Local Sources
	menu default
	kernel ubuntu-installer/amd64/linux
	append auto=true url=http://192.168.1.14/ubuntu/preseed/local-sources.seed vga=788 initrd=ubuntu-installer/amd64/initrd.gz --- quiet 
label cli
	menu label ^Command-line install
	kernel ubuntu-installer/amd64/linux
	append tasks=standard pkgsel/language-pack-patterns= pkgsel/install-language-support=false vga=788 initrd=ubuntu-installer/amd64/initrd.gz --- quiet

12. プレシード URL ステートメントを Ubuntu レスキュー メニューに追加する場合は、以下のファイルを開いて、以下の例に示すようにコンテンツを更新してください。

nano /srv/tftp/ubuntu-installer/amd64/boot-screens/rqtxt.cfg

次の設定を rqtxt.cfg ファイルに追加します。

label rescue
	menu label ^Rescue mode
	kernel ubuntu-installer/amd64/linux
	append auto=true url=http://192.168.1.14/ubuntu/preseed/local-sources.seed vga=788 initrd=ubuntu-installer/amd64/initrd.gz rescue/enable=true --- quiet

更新する必要がある重要な行はurl=http://192.168.1.14/ubuntu/preseed/local-sources.seedで、ネットワーク内で押されたファイルが配置されている URL アドレスを指定します。

13. 最後に、Ubuntu pxe menu.cfg ファイルを開き、最初の 3 行をコメントにして、以下のスクリーンショットに示すように PXE ブート画面を展開します。

nano /srv/tftp/ubuntu-installer/amd64/boot-screens/menu.cfg

次の 3 行をコメント化します。

#menu hshift 13
#menu width 49
#menu margin 8

ステップ 5: Ubuntu でファイアウォール ポートを開く

14. 以下の抜粋に示すように、root 権限で netstat コマンドを実行して、サーバー上でリスニング状態にある dnsmasq、tftp、および Web オープン ポートを特定します。

netstat -tulpn

15. 必要なポートをすべて特定したら、以下のコマンドを発行して ufw ファイアウォールのポートを開きます。

ufw allow 53/tcp
ufw allow 53/udp
ufw allow 67/udp
ufw allow 69/udp
ufw allow 4011/udp

ステップ 6: PXE 経由でローカル ソースを使用して Ubuntu をインストールする

16. PXE 経由で Ubuntu サーバーをインストールし、ローカル ネットワーク インストール ソースを使用するには、マシン クライアントを再起動し、ネットワークから起動するように BIOS に指示し、最初の PXE メニュー画面で、図に示すように最初のオプションを選択します。以下の画像。

17. インストール手順は通常どおり実行する必要があります。インストーラーがUbuntu アーカイブ ミラー国の設定に到達したら、キーボードの上矢印を使用して最初のオプションに移動します。このオプションでは、情報を手動で入力します。

18. [enter] キーを押してこのオプションを更新し、ミラー文字列を削除し、Web サーバーのミラー ソースの IP アドレスを追加して、Enter キーを押して続行します。下の画像。

http://192.168.1.14

19. 次の画面で、以下に示すようにミラー アーカイブ ディレクトリを追加し、Enter キーを押してインストール プロセスを続行します。

/ubuntu

20. ネットワーク ローカル ミラーからダウンロードされるパッケージに関する情報を確認したい場合は、[CTRL+ALT+F2] キーを押してマシンの仮想コンソールを変更します。そして次のコマンドを発行します。

tail –f /var/log/syslog

21. Ubuntu サーバーのインストールが完了したら、新しくインストールしたシステムにログインし、root 権限で次のコマンドを実行して、ローカル ネットワーク ソースから公式 Ubuntu ミラーにリポジトリ パッケージを更新します。

インターネット リポジトリを使用してシステムを更新するには、ミラーを変更する必要があります。

sudo sed –i.bak ‘s/192.168.1.14/archive.ubuntu.com/g’ /etc/apt/sources.list

必ず、独自の Web ローカル ソースの IP アドレスに従って IP アドレスを置き換えてください。

それだけです!これで、Ubuntu サーバー システムを更新し、必要なソフトウェアをすべてインストールできるようになりました。 PXE およびローカル ネットワーク ソース ミラーを介して Ubuntu をインストールすると、インストール速度が向上し、社内に短期間に多数のサーバーを展開する場合のインターネット帯域幅とコストを節約できます。