1 インストール前の構成
この章では、Oracle Linux 7のシステム要件、ソフトウェアの取得方法、ネットワーク・インストール・サーバーの設定方法、およびインストールの準備に役立つ一般的なガイドラインについて説明します。
システム要件
Oracle Linux 7には、Unbreakable Enterprise Kernel (UEK)とRed Hat Compatible Kernel (RHCK)の両方が含まれています。最大2048個の論理CPUおよび64TBのメモリーを持つx86-64システムにOracle Linux 7をインストールできます。理論上の上限は5120個の論理CPUと64TBのメモリーですが、Oracleではこの構成をまだテストしていません。推奨される最小構成は、2個の論理CPUと論理CPUごとに1GBのメモリーです。インストールに必要な最小ディスク領域は1GBですが、5GB以上をお薦めします。
システムがUEFIモードをサポートしており、このモードでOracle Linux 7をブートしてインストールする場合は、UEFIファームウェアによってはUEFI/MBRのブートが許可されないため、ターゲット・ディスクがGPT (GUIDパーティション・テーブル)を使用していることを確認してください。
システム要件とインストールに関する既知の問題の詳細は、Oracle Linux 7リリースおよび更新レベルのリリース・ノートを参照してください(Oracle® Linux 7ドキュメント)
UEKを使用したOracle Linuxが動作保証されているx86ベースのサーバーについては、https://linux.oracle.com/hardware-certificationsでOracle LinuxおよびOracle VMのハードウェア動作保証リストを参照してください。
UEKシステム要件および既知の問題については、Unbreakable Enterprise KernelドキュメントにあるUEKリリースのドキュメントを参照してください。
インストール・メディアの取得および準備
Oracle Linuxディストリビューションは、無償でダウンロード、使用および配布できます。
Oracle Linuxインストール・メディアは、Oracle Software Delivery Cloud (https://edelivery.oracle.com/linux)からダウンロードできます。ログインすると、製品のリストを含む人気ダウンロード・ウィンドウが表示されます。
Oracle Linux 7インストール・メディアをダウンロードするには、次の手順を実行します。
-
製品を取得するには、次のいずれかの方法を選択します。
-
製品が人気ダウンロード・ウィンドウに含まれている場合は、その製品を選択してカートに追加します。
-
製品が人気ダウンロード・ウィンドウに含まれていない場合は、次の手順を実行します。
-
検索ボックスに「Oracle Linux 7」と入力し、「検索」をクリックします。
-
検索結果リストから、ダウンロードしてカートに追加する製品を選択します。
-
-
-
カート・アイコンをクリックします。
-
プラットフォーム/言語ドロップダウン・リストから、使用しているシステムのプラットフォームを選択して続行します。
-
次のページで、ライセンス条項に同意してから続行します。
-
選択したOracle Linuxパッケージの内容をリストにした最後のページで、「ダウンロード」をクリックします。
メディア・パックには、次のISOイメージが含まれています。
-
Oracle Linux 7 for x86_64 (64ビット)
このISOイメージには、システムをブートし、Oracle Linuxをインストールするために必要なものすべてが含まれています。
-
Oracle Linux 7 Boot ISO image for x86_64 (64 bit)
このISOイメージには、システムをブートし、インストールを開始するために必要なものすべてが含まれています。ただし、インストールを完了するには、ローカル・ディスクやNFS共有などのパッケージの場所を指定する必要があります。RHCKはインストール中に使用され、UEKカーネルとRHCKカーネルの両方がインストールされます。インストール後、システムではUEKカーネルがデフォルトでブートされます。
ノート:
Oracle Linux 7.3より前のリリースをインストールする場合は、Unbreakable Enterprise Kernelリリース3が使用されます。Oracle Linux 7.3以降の場合、デフォルトのカーネルはUnbreakable Enterprise Kernelリリース4です。
-
Oracle Linux 7 UEK Boot ISO image for x86_64 (64 bit)
このISOイメージには、システムをブートし、インストールを開始するために必要なものすべてが含まれています。ただし、インストールを完了するには、たとえば、ローカル・ディスク、NFS共有、Oracle Linux Yum Server上のOracle Linuxリリースのベース・リポジトリなどのHTTPリソースで、パッケージの場所を指定する必要があります。UEKはインストール中に使用され、インストール後にブートされるデフォルトのカーネルです。このブート・イメージは、UEKでのみサポートされているハードウェアがある場合、またはRHCKブート・イメージの使用時にインストーラで問題が発生している場合に使用します。このISOイメージは、Oracle Linux 7.2以降用のメディア・パックで使用できます。
-
Oracle Linux 7ソースDVD 1および2
これらのISOイメージには、リリースに同梱されているソフトウェア・パッケージのソース・コードが含まれています。
完全インストールISOイメージまたはブートISOイメージを使用して次のことを行うことができます。
-
CDまたはDVDの作成。「CDまたはDVDインストール・メディアの準備」を参照してください
-
ブート可能USBドライブの作成。「USBインストール・メディアの準備」を参照してください
ISOイメージを仮想DVD-ROMドライブで使用して、Oracle VMまたはOracle VM VirtualBox仮想マシン(ゲスト)をブートおよびインストールできます。
完全インストールISOイメージを使用すると、インストール中に使用するために、NFS共有やHTTPサーバー・ディレクトリなどのネットワークの場所を準備できます。一般的に、ブート・イメージを使用してインストールを開始する場合にこのようにします。「ネットワーク・インストール・サーバーの構成」を参照してください。
メディア・パックには、Oracle Linuxの特定のリリース更新に関連する追加コンテンツが含まれている場合があります。ドライバ更新ディスクなどの項目も含まれている場合があります。これらの項目は、特定の更新リリースのリリース・ノートで詳しく説明されています。
インストール後に、Oracle LinuxパッケージをUnbreakable Linux Network (ULN)およびOracle Linux Yum Serverから取得できます。詳細は、「インストール後の構成」を参照してください。
CDまたはDVDインストール・メディアの準備
完全インストールISOイメージを格納できるだけの十分な記憶容量があるのは追記型DVDのみです。
追記型CDの記憶容量はブートISOイメージには十分ですが、完全インストールISOイメージには不十分です。
ISOイメージ・ファイルをCDまたはDVDに書き込むには、cdrecordなどのコマンドを使用します。たとえば:
sudo cdrecord -v -eject speed=16 dev=ATA:0,2,0 file_name.iso
cdrecord -scanbusコマンドを使用して、CDまたはDVDに対応するSCSIサブシステムおよびデバイスを表示できます。
USBインストール・メディアの準備
システムのファームウェアでUSBドライブからのブートがサポートされている場合は、USBドライブ上にブート・イメージを作成し、これを使用してOracle Linuxをインストールできます。USBドライブの容量によっては、完全インストールISOイメージまたはブートISOイメージを使用して、ブート可能USBドライブを作成できます。
ブート可能USBドライブを作成するには、ddコマンドを使用するか、USBドライブへのISOイメージの書込みに対応した別のユーティリティを使用します。次のステップでは、ddコマンドの使用方法について説明しています。
注意:
この手順を実行すると、ドライブ上の既存データがすべて破棄されます。既存のハード・ディスク・パーティションを上書きしてしまわないように、USBドライブのデバイス名を正しく指定してください。次の手順では、USBドライブが/dev/sdb1
デバイスであると仮定していますが、このことはシステムによっては該当しない場合があります。
-
USBドライブをOracle Linuxシステムに挿入します。
オペレーティング・システムがデバイス上に任意のファイル・システムをマウントしている場合、そのファイル・システムをアンマウントします。たとえば:
sudo df /media/USB
Filesystem 1K-blocks Used Available Use% Mounted on /dev/sdb1 35346 35346 0 100% /media/USB
sudo umount /dev/sdb1
-
ddコマンドを使用して、ISOイメージ・ファイルの内容をUSBデバイスに書き込みます。
sudo dd if=iso_file_name of=usb_device bs=bytes
次に例を示します。
sudo dd if=./full_image.iso of=/dev/sdb bs=512k
USBデバイス上のパーティションではなく、USBデバイス・ノードにISOの内容を直接書き込む必要があることに注意してください。これは、デバイスがブート可能であり、内容が適切な場所にあることを確認するのに役立ちます。
これで、USBドライブを取り外し、それを使用してシステムをブートできるようになります。
完全インストールISOイメージの内容の抽出
-
/mnt
などの適切なマウント・ポイントに、完全インストールISOイメージをマウントします。sudo mount -t iso9660 -o loop full_image.iso /mnt
-
完全インストールISOイメージの内容を抽出します。
使用するコマンドで、ISOイメージのルートにある
.treeinfo
ファイルが必ず抽出されるようにします。たとえば:cp -a -T mount_dir output_dir
たとえば、/mnt
にマウントされているISOイメージを/var/OSimage/OL7
のNFS共有に抽出しています:cp -a -T /mnt /var/OSimage/OL7
たとえば、/mnt
にマウントされているISOイメージを/var/www/html/OSimage/OL7
のWebサーバー・ディレクトリに抽出しています:cp -a -T /mnt /var/www/html/OSimage/OL7
-
DVDイメージをアンマウントします。
sudo umount mount_dir
ネットワーク・インストール・サーバーの構成
ブートISOまたはPreboot eXecution Environment (PXE)を使用してシステムをインストールする場合、RPMパッケージをホストするようにネットワーク・インストール・サーバーを設定できます。このサーバーには、Oracle Linux 7の完全インストールDVDイメージ(約4.5GB)をホストできるだけの十分なストレージ・スペースが必要であり、かつ、NFSまたはHTTPのいずれかを使用してイメージ・ファイルをOracle Linux 7のインストール先システムに提供するように、サーバーを構成する必要があります。
ネットワーク・インストール・サーバーを構成するには:
-
NFSサーバーまたはHTTPサーバーを設定します。
手順は、使用しているOracle Linuxリリースの管理者ガイドを参照してください。
-
Oracle Linux 7については、『Oracle® Linux 7: ファイル・システムの管理』の共有ファイル・システム管理についての章を参照してください。
-
Oracle Linux 6については、Oracle® Linux 6: 管理者ガイドを参照してください。
-
-
Oracle Linux 7の完全インストールISOイメージをダウンロードします。
「インストール・メディアの取得および準備」を参照してください。
-
NFSサーバーまたはHTTPサーバーがネットワーク・インストール・サーバーとして動作するように構成します。
-
(オプション) PXEクライアントへのインストールのサポートを構成します。
複数のシステムがインストールされているデプロイメントでは、同じネットワーク上に構成されているTrivial File Transfer Protocol (TFTP)サーバーからPXEブート・イメージをロードするようにシステムを構成することにより、ネットワークベースのインストールを実行するのが一般的です。Dynamic Host Configuration Protocol (DHCP)を使用して、FTPサーバー上のブート・ファイルの場所をクライアントに提示します。
PXEクライアント・インストールをサポートする場合は、Dynamic Host Configuration Protocol (DHCP)およびTrivial File Transfer Protocol (TFTP)サービスを構成します。「PXEクライアントをサポートするためのDHCPおよびTFTPサービスの構成」または「PXEクライアントをサポートするためのdnsmasqの構成」を参照してください。
既存のNFSサーバーの構成
次の手順は、Oracle Linux 7システムでのNFS共有の構成に適用されます。Oracle Linux 6でNFS共有を構成する手順については、Oracle® Linux 6: 管理者ガイドを参照してください
既存のNFSサーバーを構成するには:
-
NFS共有としてエクスポートするディレクトリ(
/var/OSimage/OL7
など)を作成します。mkdir -p /var/OSimage/OL7
-
Oracle Linux 7のインストール・ファイルをNFS共有にコピーします。
完全インストールISOイメージをNFS共有にコピーすると、インストール・プログラムでは、インストール・ソースが完全インストールISOイメージであることを検出し、そのファイルからインストールを実行できます。
必要に応じて、完全インストールISOイメージの内容をNFS共有に抽出できます。「完全インストールISOイメージの内容の抽出」を参照してください。
-
exportfsコマンドを使用して、ディレクトリをエクスポートします。
sudo exportfs -i -o options client:export_dir
たとえば、
192.168.1
サブネット上のNFSクライアントに対してディレクトリ/var/OSimage/OL7
に対する読取り専用アクセスを許可するには、次のようにします。sudo exportfs -i -o ro 192.168.1.0/24:/var/OSimage/OL7
または、
/etc/exports
構成ファイルを編集してディレクトリのエントリを追加します。たとえば:/var/OSimage/OL7 192.168.1.0/24(ro)
その後、exportfs -raコマンドを使用して、
/etc/exports
ファイルに定義されているNFS共有をリロードします。
既存のApache HTTPサーバーの構成
この項では、Oracle Linux 7システム上でHTTPディレクトリを構成する手順について説明します。Oracle Linux 6システムでHTTPディレクトリを構成する手順については、Oracle® Linux 6: 管理者ガイドを参照してください。
既存のApache HTTPサーバーを構成するには:
-
完全インストールISOイメージの内容を格納するために使用するディレクトリを作成します。
HTTPサーバー構成ファイル(
/etc/httpd/conf/httpd.conf
)に定義されているDocumentRoot
階層にディレクトリ(/var/www/html/OSimage/OL7
など)を作成します。mkdir -p /var/www/html/OSimage/OL7
-
完全インストールISOイメージの内容をHTTPディレクトリに抽出します。
「完全インストールISOイメージの内容の抽出」を参照してください。
-
HTTPサーバー構成ファイル
/etc/httpd/conf/httpd.conf
を編集し、<Directory>
セクションを追加します。次に例を示します。<Directory "/var/www/html/OSimage/OL7"> Options Indexes FollowSymLinks AllowOverride None Order allow,deny Allow from all Require all granted </Directory>
<Directory DocumentRoot>
セクションの終了</Directory>
文の後にこのセクションを配置します。Indexes
オプションは、ディレクトリ階層を参照できるようにする場合にのみ必要となり、インストールには必要ありません。 -
SELinuxがenforcingモードで有効になっているときに、
/var/www/html
以外のディレクトリにISOイメージを抽出した場合は、semanageおよびrestoreconコマンドを使用して、抽出後のファイルに対してSELinuxセキュリティ・コンテキストをリストアしてください。semanageおよびrestoreconコマンドは、
policycoreutils-python
およびpolicycoreutils
パッケージにより提供されます。-
semanageコマンドを使用して、ディレクトリ階層のデフォルト・ファイル・タイプを
httpd_sys_content_t
として定義します。sudo /usr/sbin/semanage fcontext -a -t httpd_sys_content_t "/var/OSimage(/.*)?"
-
restoreconコマンドを使用して、ディレクトリ階層全体にファイル・タイプを適用します。
sudo /sbin/restorecon -R -v /var/OSimage
詳細は、
httpd_selinux(8)
マニュアル・ページを参照してください。 -
PXEクライアントをサポートするためのDHCPおよびTFTPサービスの構成
PXEクライアントにOracle Linux 7をインストールするために必要なDHCPサービスとTFTPサービスは、同じホスト上で実行する必要はありません。DHCPサーバーとTFTPサーバーを個別に構成する場合は、DHCPサーバーでTFTPサーバーを定義し、クライアントがそのTFTPサーバーからブート・ローダー、インストール・カーネルおよび初期RAMディスク・ファイルをダウンロードできるようにする必要があります。
DHCPサーバーおよびTFTPサーバーでインストール・パッケージをホストする必要はなく、個別のネットワーク・インストール・ソースを使用できます。TFTPサーバーでは、クライアントがインストール・パッケージを取得できるようにネットワーク・インストール・ソースを定義できます。
PXEクライアント・インストール・リクエストに対してDHCPサービスを構成するには:
-
dhcp
パッケージをインストールします。sudo yum install dhcp
-
/etc/dhcp/dhcpd.conf
を編集し、PXEクライアントに対するエントリを構成します。たとえば:set vendorclass = option vendor-class-identifier; option pxe-system-type code 93 = unsigned integer 16; set pxetype = option pxe-system-type; option domain-name "example.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/grubx64.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ベースのクライアント用のブート・ローダー・ファイルgrubx64.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アドレスで識別されます)。サーバーに複数のネットワーク・インタフェースが存在する場合、DHCPサービスでは
/etc/dhcp/dhcpd.conf
ファイルに基づいてリスニング対象インタフェースが決定されます。 -
DHCPサービスを起動して、リブート後に起動するように構成します。
sudo systemctl start dhcpd sudo systemctl enable dhcpd
/etc/dhcp/dhcpd.conf
に変更を加えた場合は、dhcpd
サービスを再起動してください。 -
DHCPリクエストを受け入れるようにファイアウォールを構成します。たとえば:
sudo firewall-cmd --zone=zone --add-port=67-68/udp sudo firewall-cmd --zone=zone --add-port=67-68/udp --permanent
PXEクライアント・インストール・リクエストに対してTFTPサービスを構成するには:
-
tftp-server
パッケージをインストールします。sudo yum install tftp-server
-
/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)
マニュアル・ページを参照してください。 -
ブート・ローダー・ファイルを取得します。
PXEクライアントでは、Linuxインストール・カーネル(
vmlinuz
)をロードするためにブート・ローダーが必要になります。BIOSベースのPXEクライアントの場合は、
syslinux
パッケージにあるpxelinux.0
ブート・ローダーを使用できます。このパッケージをインストールするには:sudo yum install syslinux
UEFIベースのPXEクライアントの場合は、
grub2‑efi
パッケージにあるgrubx64.efi
ブート・ローダーを使用できます。ブート・ローダーおよびカーネルを検証できるように、shim
パッケージにある最初のステージのブート・ローダーshim.efi
も必要です。これらのパッケージを一時的な場所にダウンロードするか、完全インストールISOイメージからコピーします。その後、パッケージの内容を抽出します。cd /tempdir sudo rpm2cpio grub2-efi-version.rpm | cpio -idmv sudo rpm2cpio shim-version.rpm | cpio -idmv
ノート:
/etc/dhcp/dhcpd.conf
内のDHCP構成でブート・ローダーとしてshim.efi
を指定してください。セキュア・ブートにはshimブート・ローダーが必要ですが、それを使用していない場合は、署名を検証せずにGrubを初期化します。 -
ブート・ローダーとその構成ファイルを格納するためのディレクトリをTFTPサーバー・ディレクトリのサブディレクトリとして作成します。
BIOSベースのクライアントの場合、
pxelinux/pxelinux.cfg
ディレクトリを作成します。たとえば:mkdir -p /var/lib/tftpboot/pxelinux/pxelinux.cfg
UEFIベースのクライアントの場合、
efi
ディレクトリを作成します。たとえば:mkdir -p /var/lib/tftpboot/efi
-
ブート・ローダー・ファイル、インストール・カーネル(
vmlinuz
)およびRAMディスク・イメージ・ファイル(initrd.img
)をTFTPサーバーのサブディレクトリにコピーします。BIOSベースのクライアントの場合、BIOSブート・ローダー・ファイル、インストール・カーネルおよびRAMディスク・イメージ・ファイルを
pxelinux
ディレクトリにコピーします。cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/pxelinux wget http://10.0.0.11/OSimage/OL7/isolinux/vmlinuz -O /var/lib/tftpboot/pxelinux/vmlinuz wget http://10.0.0.11/OSimage/OL7/isolinux/initrd.img -O /var/lib/tftpboot/pxelinux/initrd.img
UEFIベースのクライアントの場合、BIOSブート・ローダー・ファイル、インストール・カーネルおよびRAMディスク・イメージ・ファイルを
efi
ディレクトリにコピーします。cp /tempdir/boot/efi/EFI/redhat/grubx64.efi /var/lib/tftpboot/efi cp /tempdir/boot/efi/EFI/redhat/shim.efi /var/lib/tftpboot/efi cp /tempdir/boot/efi/EFI/redhat/MokManager.efi /var/lib/tftpboot/efi wget http://10.0.0.11/OSimage/OL7/isolinux/vmlinuz -O /var/lib/tftpboot/efi/vmlinuz wget http://10.0.0.11/OSimage/OL7/isolinux/initrd.img /var/lib/tftpboot/efi/initrd.img
ノート:
shim.efi
およびMokManager.efi
ファイルをコピーして、クライアントでのセキュア・ブートをサポートします。MokManager.efi
には、EFIバイナリへの署名に使用するキーを管理するためのユーティリティが備えられています。前述の例では、HTTPを使用して、別のネットワーク・インストール・サーバーからインストール・カーネルおよびRAMディスク・イメージ・ファイルを取得しています。インストール・パッケージがTFTPサーバーでもホストされている場合は、ファイルのローカル・コピーを使用できます。
PXEクライアントに別のオペレーティング・システム・バージョンをインストールできるようにするには、カーネルおよびRAMディスク・イメージ・ファイルの名前を
vmlinuz-ol7
およびinitrd-ol7.img
などに変更します。または、カーネルおよびRAMディスク・イメージ・ファイルをefi/ol7
やpxelinux/ol7
などのサブディレクトリにコピーします。 -
ブート・ローダー構成ファイルを作成します。
少なくとも、次に示すデフォルトのブート・ローダー構成ファイルを作成してください。
-
pxelinux/pxelinux.cfg/default
-
BIOSベースのPXEクライアント用のデフォルトのブート・ローダー構成ファイル。
-
efi/grub.cfg
-
UEFIベースのPXEクライアント用のデフォルトのブート・ローダー構成ファイル。
クライアントがBIOSベースかUEFIベースかに応じて、pxelinux/pxelinux.cfg
またはefi
にそのクライアントに固有のブート・ローダー構成ファイルを追加で作成できます。詳細は、次を参照してください。 -
-
システムでSELinuxがenforcingモードで有効になっているときに、
/var/lib/tftpboot
以外のTFTPサーバー・ディレクトリを構成した場合は、semanageコマンドを使用してTFTPサーバー・ディレクトリ階層のデフォルト・ファイル・タイプをtftpdir_t
として定義してから、restoreconコマンドを使用してファイル・タイプをディレクトリ階層全体に適用します。たとえば:sudo /usr/sbin/semanage fcontext -a -t tftpdir_t "/var/tftpboot(/.*)?" sudo /sbin/restorecon -R -v /var/tftpboot
詳細は、
tftpd_selinux(8)
マニュアル・ページを参照してください。ノート:
semanageおよびrestoreconコマンドは、
policycoreutils-python
およびpolicycoreutils
パッケージにより提供されます。 -
TFTPネットワーク・ソケットを有効にし、リブート後に起動するように構成します。
sudo systemctl start tftp.socket sudo systemctl enable tftp.socket
ブート・ローダー構成ファイルの内容を変更した場合、TFTPサービスを再起動する必要はありません。
-
TFTPリクエストを受け入れるようにファイアウォールを構成します。たとえば:
sudo firewall-cmd --zone=zone --add-service=tftp sudo firewall-cmd --zone=zone --add-service=tftp --permanent
PXEクライアントをサポートするためのdnsmasqの構成
dnsmasqは、小規模なネットワークでDNSフォワーダ、DHCPサーバーおよびTFTPサーバーとして機能するように設計されています。dnsmasqを使用すると、DHCPサービスとTFTPサービスを個別に構成する必要がありません。dnsmasqの詳細は、dnsmasq(8)
マニュアル・ページ、/usr/share/doc/dnsmasq-version
およびhttp://www.thekelleys.org.uk/dnsmasq/doc.htmlを参照してください。
dnsmasqサーバーでインストール・パッケージをホストする必要はなく、個別のネットワーク・インストール・ソースを使用できます。
PXEクライアント・インストール・リクエストに対してdnsmasqを構成するには:
-
dnsmasq
パッケージをインストールします。sudo yum install dnsmasq
-
/etc/dnsmasq.conf
を編集し、ネットワーク上のPXEクライアントおよび他のシステムに対するエントリを構成します。たとえば:interface=em1 dhcp-range=10.0.0.101,10.0.0.200,6h dhcp-host=80:00:27:c6:a1:16,10.0.0.253,svr1,infinite dhcp-boot=pxelinux/pxelinux.0 dhcp-match=set:efi-x86_64,option:client-arch,7 dhcp-boot=tag:efi-x86_64,grubx64.efi enable-tftp tftp-root=/var/lib/tftpboot
サンプルの構成ファイル内の行により、次の処理が行われます。
-
interface=em1
-
インタフェース
em1
のみの受信クライアント・リクエストをリスニングします。 -
dhcp-range=10.0.0.101,10.0.0.200,6h
-
6時間のリースで、10.0.0/24サブネット上に10.0.0.101から10.0.0.200までの範囲で、一般に使用可能なIPアドレスのプールを予約します。
ノート:
dhcp-range
の設定は、dnsmasqが提供するDHCPサービスを有効にするために必要です。静的アドレスは構成するがアドレス・プールは構成しない場合、静的ネットワーク・アドレスとキーワードstatic
およびinfinite
を指定してください。たとえば:dhcp-range=10.0.0.253,static,infinite
-
dhcp-host=80:00:27:c6:a1:16,10.0.0.253,svr1,infinite
-
svr1
に対して無期限のリース時間でIPアドレス10.0.0.253を予約します(これはMACアドレス08:00:27:c6:a1:16で識別されます)。 -
dhcp-boot=pxelinux/pxelinux.0
-
ブート・ローダー・ファイル(この例ではBIOSベースのPXEクライアント用のもの)の場所を指定します。
dnsmasqではなく個別のTFTPサーバーを使用する場合は、ブート・ローダー・パスの後にそのIPアドレスを指定します。たとえば:
dhcp-boot=pxelinux/pxelinux.0,10.0.0.11
-
dhcp-boot=tag:efi-x86_64,grubx64.efi
-
タグ
efi‑x86_64
により識別されたPXEクライアント(この例ではUEFIベースのPXEクライアント)で必要になるブート・ローダー・ファイルの場所を指定します。efi‑x86_64
タグはdhcp‑match=set:efi‑x86_64
行に定義されており、UEFIベースのx86_64クライアントに適用されます(アーキテクチャ・コード7)。この例では、
grubx64.efi
ブート・ローダーを指定しています。UEFIクライアントの場合、ブート・ローダーとしてshim.efi
を指定します。dnsmasqではなく個別のTFTPサーバーを使用する場合は、ブート・ローダー・パスの後にそのIPアドレスを指定します。たとえば:
dhcp-boot=tag:efi-x86_64,grubx64.efi,10.0.0.11
-
enable-tftp
-
dnsmasqが提供するTFTPサービスを有効にします。
-
tftp-root=/var/lib/tftpboot
-
TFTPが提供するファイルのルート・ディレクトリを指定します。クライアントがホスト上のファイルにアクセスできないように、dnsmasqは、パス要素として
..
を指定するリクエストを拒否します。
個別のTFTPサーバーの構成方法の詳細は、「PXEクライアントをサポートするためのDHCPおよびTFTPサービスの構成」を参照してください。
-
-
dnsmasqをキャッシング専用のネーム・サーバーとして設定する場合は、他のネーム・サーバー・エントリより前に、127.0.0.1のネーム・サーバー・エントリを構成してください。
dnsmasqは、127.0.0.1エントリを無視して、DNS問合せをリスト内の他のネーム・サーバーに転送します。NetworkManager
サービスが有効になっている場合、グラフィカル・アプレット、nm-connection-editorユーティリティまたはnm-tuiユーティリティを使用して、ネーム・サービス・エントリを構成できます。あるいは、/etc/resolv.conf
内に直接ネーム・サーバー・エントリを構成することもできます。たとえば:nameserver 127.0.0.1 nameserver 10.0.0.8 nameserver 10.0.0.4
-
dnsmasq
サービスを起動して、リブート後に起動するように構成します。sudo systemctl start dnsmasq sudo systemctl enable dnsmasq
/etc/dnsmasq.conf
に変更を加えた場合は、dnsmasq
サービスを再起動してください。ブート・ローダー構成ファイルの内容を変更した場合、サービスを再起動する必要はありません。 -
ファイアウォールを構成します。
-
DHCPリクエストを受け入れるようにファイアウォールを構成します。たとえば:
sudo firewall-cmd --zone=zone --add-port=67-68/udp sudo firewall-cmd --zone=zone --add-port=67-68/udp --permanent
-
dnsmasqでTFTPサービスを有効にする場合は、TFTPリクエストを受け入れるようにファイアウォールを構成します。たとえば:
sudo firewall-cmd --zone=zone --add-service=tftp sudo firewall-cmd --zone=zone --add-service=tftp --permanent
-
dnsmasqをキャッシング専用のネーム・サーバーとして設定する場合は、DNSリクエストを受け入れるようにファイアウォールを構成します。
sudo firewall-cmd --zone=zone --add-service=dns sudo firewall-cmd --zone=zone --add-service=dns --permanent
-
PXEクライアント・インストール・リクエストに対してdnsmasq TFTPサービスを構成するには:
-
ブート・ローダー・ファイルを取得します。
PXEクライアントでは、Linuxインストール・カーネル(
vmlinuz
)をロードするためにブート・ローダーが必要になります。BIOSベースのPXEクライアントの場合は、
syslinux
パッケージにあるpxelinux.0
ブート・ローダーを使用できます。このパッケージをインストールするには:sudo yum install syslinux
UEFIベースのPXEクライアントの場合は、
grub2‑efi
パッケージにあるgrubx64.efi
ブート・ローダーを使用できます。ブート・ローダーおよびカーネルを検証できるように、shim
パッケージにある最初のステージのブート・ローダーshim.efi
も必要です。これらのパッケージを一時的な場所にダウンロードするか、完全インストールISOイメージからコピーします。その後、パッケージの内容を抽出します。sudo cd /tempdir sudo rpm2cpio grub2-efi-version.rpm | cpio -idmv sudo rpm2cpio shim-version.rpm | cpio -idmv
ノート:
/etc/dnsmasq.conf
内のDHCP構成でブート・ローダーとしてshim.efi
を指定してください。セキュア・ブートにはshimブート・ローダーが必要ですが、それを使用していない場合は、署名を検証せずにGrubを初期化します。 -
ブート・ローダーとその構成ファイルを格納するためのディレクトリをTFTPサーバー・ディレクトリのサブディレクトリとして作成します。
BIOSベースのクライアントの場合、
pxelinux/pxelinux.cfg
ディレクトリを作成します。たとえば:sudo mkdir -p /var/lib/tftpboot/pxelinux/pxelinux.cfg
UEFIベースのクライアントの場合、dnsmasq TFTPサーバーでは、ブート・ローダーと構成ファイルが、
/var/lib/tftpboot
のようなルート・ディレクトリに含まれていることを想定します。このディレクトリが存在することを確認してください。 -
ブート・ローダー・ファイル、インストール・カーネル(
vmlinuz
)およびRAMディスク・イメージ・ファイル(initrd.img
)をTFTPサーバーのサブディレクトリにコピーします。BIOSベースのクライアントの場合、BIOSブート・ローダー・ファイル、インストール・カーネルおよびRAMディスク・イメージ・ファイルを
pxelinux
ディレクトリにコピーします。cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/pxelinux wget http://10.0.0.11/OSimage/OL7/isolinux/vmlinuz -O /var/lib/tftpboot/pxelinux/vmlinuz wget http://10.0.0.11/OSimage/OL7/isolinux/initrd.img -O /var/lib/tftpboot/pxelinux/initrd.img
UEFIベースのクライアントの場合、UEFIブート・ローダー・ファイル、インストール・カーネルおよびRAMディスク・イメージ・ファイルをTFTPサーバーのルート・ディレクトリにコピーします。
cp /tempdir/boot/efi/EFI/redhat/grubx64.efi /var/lib/tftpboot cp /tempdir/boot/efi/EFI/redhat/shim.efi /var/lib/tftpboot cp /tempdir/boot/efi/EFI/redhat/MokManager.efi /var/lib/tftpboot wget http://10.0.0.11/OSimage/OL7/isolinux/vmlinuz -O /var/lib/tftpboot/vmlinuz wget http://10.0.0.11/OSimage/OL7/isolinux/initrd.img /var/lib/tftpboot/initrd.img
ノート:
shim.efi
およびMokManager.efi
ファイルをコピーします。MokManager.efi
には、EFIバイナリの署名に使用するキーを管理するためのユーティリティが用意されており、セキュア・ブートが有効になっている場合はshim.efi
が署名を検証します。Grub 2構成によっては、インストール・カーネルとRAMディスク・イメージ・ファイルをサブディレクトリにコピーすることもできます。前述の例では、HTTPを使用して、別のネットワーク・インストール・サーバーからインストール・カーネルおよびRAMディスク・イメージ・ファイルを取得しています。インストール・パッケージがdnsmasqサーバーでもホストされている場合は、ファイルのローカル・コピーを使用できます。
PXEクライアントに別のオペレーティング・システム・バージョンをインストールできるようにするには、カーネルおよびRAMディスク・イメージ・ファイルの名前を
vmlinuz-ol7
およびinitrd-ol7.img
などに変更します。または、カーネルおよびRAMディスク・イメージ・ファイルをefi/ol7
やpxelinux/ol7
などのサブディレクトリにコピーします。 -
ブート・ローダー構成ファイルを作成します。
少なくとも、次に示すデフォルトのブート・ローダー構成ファイルを作成してください。
-
pxelinux/pxelinux.cfg/default
-
BIOSベースのPXEクライアント用のデフォルトのブート・ローダー構成ファイル。
-
grub.cfg
-
UEFIベースのPXEクライアント用のデフォルトのブート・ローダー構成ファイル。
クライアントがBIOSベースかUEFIベースかに応じて、pxelinux/pxelinux.cfg
またはTFTPサーバーのルート・ディレクトリにそのクライアントに固有のブート・ローダー構成ファイルを追加で作成できます。詳細は、次を参照してください。 -
-
システムでSELinuxがenforcingモードで有効になっているときに、
/var/lib/tftpboot
以外のTFTPサーバー・ディレクトリを構成した場合は、semanageコマンドを使用してTFTPサーバー・ディレクトリ階層のデフォルト・ファイル・タイプをtftpdir_t
として定義してから、restoreconコマンドを使用してファイル・タイプをディレクトリ階層全体に適用します。たとえば:sudo /usr/sbin/semanage fcontext -a -t tftpdir_t "/var/tftpboot(/.*)?" sudo /sbin/restorecon -R -v /var/tftpboot
ノート:
semanageおよびrestoreconコマンドは、
policycoreutils-python
およびpolicycoreutils
パッケージにより提供されます。
BIOSベースのPXEクライアントのブート・ローダー構成
default
ファイルは、BIOSベースのPXEクライアント用のデフォルトのブート・ローダー構成ファイルであり、pxelinux構成設定を使用します。たとえば:
prompt 0 default ol7 timeout 0 label ol7 kernel vmlinuz append initrd=initrd.img inst.repo=http://10.0.0.11/OSimage/OL7 inst.ks.sendmac \ inst.ks=http://10.0.0.11/ksfiles/ol7_cfg.ks
boot:
プロンプトが表示されるようにするには、prompt
の値を1に変更します。このプロンプトを表示するには、コンソールで[Shift]
または[Alt]
を押します。
default
ディレクティブは、デフォルトのブート・エントリをそのlabel
値、ol7
によって識別します。
pxelinuxは、timeout
/10秒後に、デフォルトのブート・エントリを使用してクライアントをブートします。
kernel
ディレクティブはカーネル実行可能ファイルの名前を定義し、append
ディレクティブは、カーネルのロード時に追加する必要のあるパラメータ(RAMディスク・イメージの名前やKickstartファイルの場所など)を定義します。
カーネルとRAMディスク・イメージのファイルのパスは、ブート・ローダーが含まれるサブディレクトリ(pxelinux
など)からの相対パスであるとみなされます。pxelinux/OL7
などのサブディレクトリにvmlinuz
およびinitrd.img
ファイルを配置する場合は、正しい相対パスを指定するようにしてください。
ブート・ローダー構成を画面にメニューとして表示する場合は、menu.c32
モジュールを使用します。これを実行するには:
-
ブート・ローダー・ディレクトリに
menu.c32
モジュールをコピーします。cp /usr/share/syslinux/menu.c32 /var/lib/tftpboot/pxelinux
-
モジュールを使用するようにブート・ローダー構成を編集します。たとえば:
default menu.c32 timeout 0 menu title Install Oracle Linux label Install Oracle Linux 7 kernel vmlinuz append initrd=initrd.img inst.repo=http://10.0.0.11/OSimage/OL7 inst.ks.sendmac \ inst.ks=http://10.0.0.11/ksfiles/ol7_cfg.ks
異なるタイプのクライアントをサポートするために、次の要素に基づく名前の構成ファイルを作成できます。
-
クライアントのUUID (たとえば、
a8943708-c6f6-51b9-611e-74e6ac80b93d
) -
イーサネットのARPハードウェア・タイプを表す
01-
の後にクライアントのMACアドレスを付けて、コロンではなくダッシュを使用して各バイト値を区切った名前(たとえば、01-80-00-27-c6-a1-16
)ノート:
ファイル名ではMACアドレスを小文字にする必要があります。
-
16進表記で、先頭に0xのないクライアントのIPアドレス(たとえば、
0A0000FD
はIPアドレス10.0.0.253を表す)構成ファイルの数を減らすには、クライアントをIPアドレス範囲別にグループ化します。たとえば、
0A0000E
は、10.0.0.224から10.0.0.239までのIPアドレス範囲を表します。
構成ファイルをpxelinux/pxelinux.cfg
に配置します。
-
UUID
(たとえば、a8943708-c6f6-51b9-611e-74e6ac80b93d
) -
01-MAC_address
(たとえば、01-80-00-27-c6-a1-16
) -
IPアドレスの完全32ビット(たとえば、
0A0000FD
) -
IPアドレスの最上位28ビット(たとえば、
0A0000F
) -
IPアドレスの最上位24ビット(たとえば、
0A0000
) -
IPアドレスの最上位20ビット(たとえば、
0A000
) -
IPアドレスの最上位16ビット(たとえば、
0A00
) -
IPアドレスの最上位12ビット(たとえば、
0A0
) -
IPアドレスの最上位8ビット(たとえば、
0A
) -
IPアドレスの最上位4ビット(たとえば、
0
) -
default
(デフォルト構成ファイル)
sudo ln primary-ol7 0A0000FC sudo ln primary-ol7 0A0000FD sudo ln primary-ol7 0A0000FE
pxelinuxの詳細は、http://www.syslinux.org/wiki/index.php/PXELINUXを参照してください。
自動インストールを実行するためのKickstartの構成と使用の詳細は、「Kickstartを使用した自動インストール」を参照してください。
UEFIベースのPXEクライアントのブート・ローダー構成
grub.cfg
ファイルは、UEFIベースのPXEクライアント用のデフォルトのブート・ローダー構成ファイルであり、次のようなGRUB 2構成設定を使用します。
set default 0 set timeout=10 menuentry 'ol7' { echo "Loading efi/vmlinuz" linuxefi efi/vmlinuz inst.repo=http://10.0.0.11/OSimage/OL7 inst.ks.sendmac \ inst.ks=http://10.0.0.11/ksfiles/ol7_cfg.ks echo "Loading efi/initrd.img" initrdefi efi/initrd.img echo "Booting installation kernel" }
linuxefi
ディレクティブはカーネル実行可能ファイルの名前を定義し、カーネルのロード時に追加する必要のあるパラメータ(インストール・パッケージの場所やこれらのパッケージへのアクセス方法など)を定義します。この例では、HTTPを使用して、指定したURLからパッケージをインストールしています。initrdefi
ディレクティブはRAMディスク・イメージの名前を定義します。
カーネルとRAMディスク・イメージのファイルのパスは、ブート・ローダーが含まれるサブディレクトリ(efi
など)からの相対パスであるとみなされます。efi/OL7
などのサブディレクトリにvmlinuz
およびinitrd.img
ファイルを配置する場合は、正しい相対パスを指定するようにしてください。
デフォルトでは、カーネルとRAMディスク・イメージのファイルが転送中であっても、GRUB 2によってその状況が示されることはありません。前述の例では、echo
文を使用して簡単な進行状況を表示しています。
grub2.cfg-client-ID
という名前の構成ファイルを作成できます。ここで、client-ID
は次のいずれかです。
-
イーサネットのARPハードウェア・タイプを表す
01-
の後にクライアントのMACアドレスを付けて、コロンではなくダッシュを使用して各バイト値を区切った名前(たとえば、01-80-00-27-c6-a1-16
)ノート:
ファイル名ではMACアドレスを小文字にする必要があります。
-
16進表記で、先頭に0xのないクライアントのIPアドレス(たとえば、
0A0000FD
はIPアドレス10.0.0.253を表す)構成ファイルの数を減らすには、クライアントをIPアドレス範囲別にグループ化します。たとえば、
0A0000E
は、10.0.0.224から10.0.0.239までのIPアドレス範囲を表します。
構成ファイルをブート・ローダー・ファイルと同じディレクトリ(efi
など)に配置します。
-
01-MAC_address
(たとえば、grub.cfg-01-80-00-27-c6-a1-16
) -
IPアドレスの完全32ビット(たとえば、
grub.cfg-0A0000FD
) -
IPアドレスの最上位28ビット(たとえば、
grub.cfg-0A0000F
) -
IPアドレスの最上位24ビット(たとえば、
grub.cfg-0A0000
) -
IPアドレスの最上位20ビット(たとえば、
grub.cfg-0A000
) -
IPアドレスの最上位16ビット(たとえば、
grub.cfg-0A00
) -
IPアドレスの最上位12ビット(たとえば、
grub.cfg-0A0
) -
IPアドレスの最上位8ビット(たとえば、
grub.cfg-0A
) -
IPアドレスの最上位4ビット(たとえば、
grub.cfg-0
) -
grub.cfg
(デフォルト構成ファイル)
# ln primary-ol7 grub.cfg-0A0000FC # ln primary-ol7 grub.cfg-0A0000FD # ln primary-ol7 grub.cfg-0A0000FE
GRUB 2の詳細は、info grubコマンドを入力してGRUB 2マニュアルにアクセスしてください。
自動インストールを実行するためのKickstartの構成と使用の詳細は、「Kickstartを使用した自動インストール」を参照してください。
インストールのプランニング
インストールのプランニングは、使用目的に適したシステムの導入に役立ちます。「Oracle Linuxの手動インストール」の説明に従って、インストール・プロセスを十分に把握してください。
システムのインストールをプランニングするときの主要な考慮事項を次に示します。
- ストレージ
-
オペレーティング・システムをインストールする、ローカル・ハード・ディスクなどのストレージ・デバイス。ストレージ・デバイスがすでにパーティション化されている場合は、インストールに使用できるパーティションを識別してください。インストール・プログラムにより、必要になるディスク領域が示され、領域が不足している場合は警告が表示されます。
オペレーティング・システムのファイル・システムがインストールされるストレージ・デバイスのレイアウト(論理ポリューム管理またはRAID構成の対応を含む)。
各ファイル・システム(
/
、/boot
、/home
、/var/tmp
など)に必要な領域の量、ファイル・システム・タイプおよびファイル・システムの基礎となるブロック・デバイスに暗号化が必要かどうか。iSCSIまたはFCoE接続の場合、WWIDまたは使用されるポート、ターゲットおよびLUN。
- ネットワーク
-
インストールに使用するネットワーク・インタフェース(ある場合)、およびDHCPを使用しない場合はそのIPアドレス、ネットマスクおよびゲートウェイ設定。
システムの完全修飾ドメイン名、またはDHCPを使用してネットワーク設定を提供する場合はホスト名のみ。
インストール中に構成する他のネットワーク・インタフェース、およびDHCPを使用しない場合はそのIPアドレス、ネットマスクおよびゲートウェイ設定。
インストール中に構成する、VLANや結合などの専用ネットワーク・インタフェース。
- ソフトウェア
-
システムの使用目的に応じてシステムにインストールする必要がある、Webサーバーなどのソフトウェア・パッケージ。
パッケージのインストールに使用するすべての追加リポジトリおよびプロキシ設定のURL。