PXE は DHCP、HTTP、TFTP の複数のコンポーネントから構成されます。この手順で、Ubuntu で PXE サーバのセットアップを実行します。
DHCP は、NSX Edge などの NSX コンポーネントに IP アドレス設定を動的に配信します。PXE 環境の DHCP サーバでは、NSX Edge が IP アドレスを自動的に要求し、受け取ることができます。
TFTP はファイル転送プロトコルです。TFTP サーバは、ネットワーク上で常に PXE クライアントを待機しています。PXE サービスを要求するネットワーク PXE クライアントが検出されると、NSX コンポーネントの ISO ファイルと、preseed ファイルに含まれるインストール設定が提供されます。
前提条件
- 環境で PXE サーバが使用できる必要があります。PXE サーバは任意の Linux ディストリビューションに設定できます。
- 事前にシードされた構成ファイルの
--
の後に、再起動後も存続するようにパラメータ net.ifnames=0 および biosdevname=0 が設定されていることを確認します。
- 「ベア メタル サーバ システムの要件」を参照してください。
手順
- (オプション) kickstart ファイルを使用して、Ubuntu サーバで新しい TFTP または DHCP サービスをセットアップします。
kickstart ファイルはテキスト ファイルで、最初の起動後にアプライアンスで実行する CLI コマンドが含まれます。
参照する PXE サーバに基づいて、kickstart ファイルに名前を付けます。次はその例です。
nsxcli.install
ファイルは、Web サーバの
/var/www/html/nsx-edge/nsxcli.install などにコピーする必要があります。
kickstart ファイルに、CLI コマンドを追加できます。たとえば、管理インターフェイスの IP アドレスを構成するには、次のコマンドを使用します。
stop service dataplane
set interface eth0 <ip-cidr-format> plane mgmt
start service dataplane
admin ユーザーのパスワードを変更するには、次のコマンドを使用します。
set user admin password <new_password> old-password <old-password>
preseed.cfg ファイルでパスワードを指定する場合は、kickstart ファイルでも同じパスワードを使用します。それ以外の場合は、デフォルトのパスワードである「default」を使用します。
NSX Edge を管理プレーンに追加するには、次のコマンドを使用します。
join management-plane <manager-ip> thumbprint <manager-thumbprint> username <manager-username> password <manager password>
- 2 つのインターフェイスを作成します。1 つは管理用で、もう 1 つは DHCP サービスと TFTP サービス用です。
DHCP/TFTP インターフェイスが、
NSX Edge が配置されているサブネットにあることを確認します。
たとえば、NSX Edge の管理インターフェイスを 192.168.210.0/24 サブネットに配置する場合は、eth1 を同じサブネットに配置します。
# The loopback network interface
auto lo
iface lo inet loopback
# PXE server's management interface
auto eth0
iface eth0 inet static
address 192.168.110.81
gateway 192.168.110.1
netmask 255.255.255.0
dns-nameservers 192.168.110.10
# PXE server's DHCP/TFTP interface
auto eth1
iface eth1 inet static
address 192.168.210.82
gateway 192.168.210.1
netmask 255.255.255.0
dns-nameservers 192.168.110.10
- DHCP サーバ ソフトウェアをインストールして、PXE サーバのセットアップに必要な構成を行います。詳細については、Linux のドキュメントを参照してください。
- Apache サーバと TFTP、PXE サーバの構成に必要なその他のコンポーネントをインストールします。
- NSX Edge インストーラ ISO ファイルを一時フォルダにコピーするかダウンロードします。
- ISO ファイルをマウントし、インストール コンポーネントを TFTP サーバと Apache サーバにコピーします。
sudo mount -o loop ~/nsx-edge.<build>.iso /mnt
cd /mnt
sudo cp -fr install/netboot/* /var/lib/tftpboot/
sudo mkdir /var/www/html/nsx-edge
sudo cp -fr /mnt/* /var/www/html/nsx-edge/
- (オプション) /var/www/html/nsx-edge/preseed.cfg ファイルを編集して、暗号化されているパスワードを変更します。
mkpasswd などの Linux ツールを使用してパスワード ハッシュを作成できます。
sudo apt-get install whois
sudo mkpasswd -m sha-512
Password:
$6$SUFGqs[...]FcoHLijOuFD
- root パスワードを変更し、/var/www/html/nsx-edge/preseed.cfg を編集して、次の行を検索します。
d-i passwd/root-password-crypted password $6$tgmLNLMp$9BuAHhN...
- ハッシュ文字列を置換します。
$、'、"、\ などの特殊文字をエスケープする必要はありません。
- usermod コマンドを preseed.cfg に追加して、root または admin、あるいはその両方のパスワードを設定します。
たとえば、次のコマンドを追加します。
usermod --password '\$6\$VS3exId0aKmzW\$U3g0V7BF0DXlmRI.LR0v/VgloxVotEDp00bO2hUF8u/' root; \
usermod --password '\$6\$VS3exId0aKmzW\$U3g0V7BF0DXlmRI.LR0v/VgloxVotEDp00bO2hUF8u/' admin; \
このハッシュ文字列は一例です。特殊文字はすべてエスケープする必要があります。最初の usermod コマンドの root パスワードが、d-i passwd/root-password-crypted password $6$tgm...
で設定したパスワードに置き換わります。
usermod コマンドを使用してパスワードを設定した場合、ユーザーは初めてログインするときにパスワードの変更を求められません。それ以外の場合、ユーザーは初回のログイン時にパスワードを変更する必要があります。
- 次の行を /var/lib/tftpboot/pxelinux.cfg/default ファイルに追加します。
192.168.210.82 は、実際の TFTP サーバの IP アドレスに置き換えます。
label nsxedge
kernel ubuntu-installer/amd64/linux
ipappend 2
append netcfg/dhcp_timeout=60 auto=true priority=critical vga=normal partman-lvm/device_remove_lvm=true netcfg/choose_interface=auto debian-installer/allow_unauthenticated=true preseed/url=http://192.168.210.82/nsx-edge/preseed.cfg mirror/country=manual mirror/http/hostname=192.168.210.82 nsx-kickstart/url=http://192.168.210.82/nsx-edge/nsxcli.install mirror/http/directory=/nsx-edge initrd=ubuntu-installer/amd64/initrd.gz mirror/suite=bionic netcfg/do_not_use_netplan=true --
- 次の行を /etc/dhcp/dhcpd.conf ファイルに追加します。
192.168.210.82 は、実際の DHCP サーバの IP アドレスに置き換えます。
allow booting;
allow bootp;
next-server 192.168.210.82; #Replace this IP address
filename "pxelinux.0";
- DHCP サービスを再起動します。
sudo service isc-dhcp-server restart
注: 「stop: Unknown instance: start: Job failed to start」 などのエラーが返された場合、
sudo /etc/init.d/isc-dhcp-server stop を実行してから
sudo /etc/init.d/isc-dhcp-server start を実行します。
sudo /etc/init.d/isc-dhcp-server start コマンドは、エラーの原因に関する情報を返します。
次のタスク
ISO ファイルを使用してベア メタルに NSX Edge をインストールします。「ISO ファイルを使用したベアメタル NSX Edge の自動インストール」を参照してください。