このドキュメントで説明するソフトウェアは、Extended SupportまたはSustaining Supportのいずれかにあります。 詳細は、https://www.oracle.com/us/support/library/enterprise-linux-support-policies-069172.pdfを参照してください。
Oracleでは、このドキュメントに記載されているソフトウェアをできるだけ早くアップグレードすることをお薦めします。
DHCPおよびTFTPサービスをホストするサーバーがインストール・パッケージをホストする必要はありません。 DHCPサーバーは、ブート・ローダー・ファイルと、クライアントがブート・ローダー、インストール・カーネルおよび初期RAMディスクのファイルをダウンロードできるTFTPサーバーを定義します。 TFTPサーバーがホストするブート・ローダー・ファイルは、オプションで、クライアントがインストール・パッケージを取得できるサーバーを定義できます。
PXEクライアント・インストール・リクエストに対するDynamic Host Configuration Protocol (DHCP)およびTrivial File Transfer Protocol (TFTP)サービスを構成するには:
サーバーでDHCPサービスを構成します。
dhcp
パッケージをインストールします。#
yum install dhcp
/etc/dhcp/dhcpd.conf
を編集し、次の例のように、PXEクライアントに対するエントリを構成します。allow booting; allow bootp; set vendorclass = option vendor-class-identifier; option pxe-system-type code 93 = unsigned integer 16; set pxetype = option pxe-system-type; option domain-name "mydom.com"; subnet 10.0.0.0 netmask 255.255.255.0 { option domain-name-servers 10.0.0.1; option broadcast-address 10.0.0.255; option routers 10.0.0.1; default-lease-time 14400; max-lease-time 28800; if substring(vendorclass, 0, 9)="PXEClient" { if pxetype=00:06 or pxetype=00:07 { filename "efi/BOOTX64.efi"; } else { filename "pxelinux/pxelinux.0"; } } pool { range 10.0.0.101 10.0.0.200; } next-server 10.0.0.6; } host svr1 { hardware ethernet 08:00:27:c6:a1:16; fixed-address 10.0.0.253; option host-name "svr1"; } host svr2 { hardware ethernet 08:00:27:24:0a:56; fixed-address 10.0.0.254; option host-name "svr2"; }
この例では、10.0.0/24サブネット上に10.0.0.101から10.0.0.200までの範囲で、一般に使用可能なIPアドレスのプールを構成しています。 サブネット上のPXEブート・システムはいずれも、
filename
パラメータでそのPXEタイプに対して指定されているブート・ローダーを使用します。 UEFIベースのクライアント用のブート・ローダー・ファイルBOOTX64.efi
は、TFTPサーバー・ディレクトリのefi
サブディレクトリ内にあります。 BIOSベースのクライアント用のブート・ローダー・ファイルpxelinux.0
は、pxelinux
サブディレクトリ内にあります。next-server
文は、クライアントがブート・ローダー・ファイルをダウンロードできるTFTPサーバーのIPアドレスを指定します。ノートDHCPサービスとTFTPサービスのホストとして同じサーバーを使用している場合でも、
next-server
文を含める必要があります。 そうしない場合、一部のブート・ローダーは構成ファイルの取得方法を判断できないため、クライアントをリブートしたり、ハングしたり、boot:
やgrub>
などのプロンプトを表示します。静的IPアドレス10.0.0.253および10.0.0.254は、
svr1
およびsvr2
用に予約されています(これらは各自のMACアドレスで識別されます)。サーバーに複数のネットワーク・インタフェースが存在する場合は、
/etc/sysconfig/dhcpd
を編集し、次の例のように、サーバーがDHCPリクエストに応答するインタフェースを構成します。DHCPDARGS="eth1"
DHCPサービスを起動して、リブート後に起動するように構成します。
#
service dhcpd start
#chkconfig dhcpd on
/etc/dhcp/dhcpd.conf
に変更を加えた場合は、dhcpd
サービスを再起動してください。 ブート・ローダー構成ファイルの内容を変更した場合、サービスを再起動する必要はありません。次の例のように、DHCPリクエストを受け入れるようにファイアウォールを構成します。
#
iptables -I INPUT -i eth1 -p udp --dport 67:68 --sport 67:68 -j ACCEPT
#service iptables save
この例では、サーバーはインタフェース
eth1
でリクエストを受信することを予期します。
サーバーでTFTPサービスを構成します。
syslinux
およびtftp-server
パッケージをインストールします。#
yum install syslinux tftp-server
syslinux
パッケージはpxelinux.0
ブート・ローダーを提供し、BIOSベースのPXEクライアントはこれを使用して、Linuxインストール・カーネル(vmlinuz
)をロードできます。UEFIベースのPXEクライアントは、
BOOTX64.efi
ブート・ローダー(Oracle Linux 6 Update 6 Media Pack DVDからEFI/BOOT/BOOTX64.efi
として使用可能)を使用できます。/etc/xinetd.d/tftp
を編集し、次の例のように、xinetd
がTFTPサービス(in.tftpd
)を起動できるようにdisable
属性とserver_args
属性を変更し、TFTPサーバー・ディレクトリを定義します。service tftp { socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/in.tftpd server_args =
-s /var/lib/tftpboot
disable =no
per_source = 11 cps = 100 2 flags = IPv4 }この例では、TFTPサーバー・ディレクトリを
/var/lib/tftpboot
として定義しており、これがデフォルトです。xinetd
はTFTPリクエストを受信すると、in.tftpd
を起動し、リクエストをそれに転送します。構成属性の詳細は、
xinetd.conf(5)
マニュアル・ページを参照してください。次の例のように、TFTPサーバー・ディレクトリの
efi
およびpxelinux/pxelinux.cfg
サブディレクトリを作成します。#
mkdir -p /var/lib/tftpboot/efi
#mkdir -p /var/lib/tftpboot/pxelinux/pxelinux.cfg
これらのディレクトリはそれぞれ、UEFIベースのPXEクライアントとBIOSベースのPXEクライアント用のブート・ローダー構成ファイルを格納するために使用されます。
次の例のように、BIOSブート・ローダー・ファイルを
pxelinux
ディレクトリに、UEFIブート・ローダー・ファイルとスプラッシュ・イメージ・ファイルをefi
サブディレクトリに、インストール・カーネルとRAMディスク・イメージのファイルを両方のサブディレクトリにコピーします。#
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/pxelinux/pxelinux.0
#wget http://10.0.0.11/OSimage/OL6.6/EFI/BOOT/BOOTX64.efi
\-O /var/lib/tftpboot/efi/BOOTX64.efi
#wget http://10.0.0.11/OSimage/OL6.6/EFI/BOOT/splash.xpm.gz
\-O /var/lib/tftpboot/efi/splash.xpm.gz
#wget http://10.0.0.11/OSimage/OL6.6/isolinux/vmlinuz
\-O /var/lib/tftpboot/efi/vmlinuz-OL6u6
#wget http://10.0.0.11/OSimage/OL6.6/isolinux/initrd.img
\-O /var/lib/tftpboot/efi/initrd-OL6u6.img
#ln /var/lib/tftpboot/efi/vmlinuz-OL6u6 /var/lib/tftpboot/pxelinux/vmlinuz-OL6u6
#ln /var/lib/tftpboot/efi/initrd-OL6u6.img /var/lib/tftpboot/pxelinux/initrd-OL6u6.img
この例では、HTTPを使用して、インストール・サーバーから
BOOTX64.efi
、splash.xpm.gz
、vmlinuz
およびinitrd.img
ファイルを取得します。PXEクライアントに異なるオペレーティング・システム・バージョンをインストールできるように、
vmlinuz
およびinitrd.img
はvmlinuz-OL6u6
およびinitrd-OL6u6.img
という名前に変更されます。 または、カーネルおよびRAMディスク・イメージのファイルをefi/OL6u6
やpxelinux/OL6u6
などのサブディレクトリにコピーすることもできます。デフォルトのブート・ローダー構成ファイル(
efi/efidefault
やpxelinux/pxelinux.cfg/default
など)を作成します。詳細は、1.4.9項「ブート・ローダー構成ファイルについて」を参照してください。
システムでSELinuxがenforcingモードで有効になっている場合、
/var/lib/tftpboot
以外のTFTPサーバー・ディレクトリを構成するには、次の例のように、semanageコマンドを使用してTFTPサーバー・ディレクトリ階層のデフォルト・ファイル・タイプをtftpdir_t
として定義してから、restoreconコマンドを使用してファイル・タイプをディレクトリ階層全体に適用します。#
/usr/sbin/semanage fcontext -a -t tftpdir_t "/var/tftpboot(/.*)?"
#/sbin/restorecon -R -v /var/tftpboot
ノートsemanageおよび「restoreconコマンドは、
policycoreutils-python
およびpolicycoreutils
パッケージで提供されます。xinetd
サービスを起動して、リブート後に起動するように構成します。#
service xinetd start
#chkconfig xinetd on
/etc/xinetd.d/tftp
に変更を加えた場合は、xinetd
サービスを再起動してください。 ブート・ローダー構成ファイルの内容を変更した場合、サービスを再起動する必要はありません。次の例のように、TFTPリクエストを受け入れるようにファイアウォールを構成します。
#
iptables -I INPUT -i eth1 -p udp --dport 69 -j ACCEPT
#service iptables save
この例では、サーバーはインタフェース
eth1
でリクエストを受信することを予期します。
自動インストールを実行するためにキックスタートを構成および使用する方法については、第3章、「キックスタートを使ってOracle Linuxをインストール」を参照してください。