第21章 ネットワークからのインストールの準備

インストールサーバーを使ったネットワークインストールでは、ネットワークブート サーバーを使って複数のシステムに Red Hat Enterprise Linux をインストールすることができます。この方法では、PXE インストール設定されたシステムはすべてこのサーバーによって提供されるイメージを使用して起動し、インストールプログラムを自動的に開始します。

注記

Red Hat Satellite には、PXE サーバーを自動設定する機能があります。詳細は、 Red Hat Satellite User Guide を参照してください。
ネットワークからのインストールには、少なくとも以下の 2 つのシステムが必要になります。
  • サーバー - DHCP サーバー、起動ファイルを提供する TFTP サーバー、およびインストールイメージを格納している HTTP、FTP もしくは NFS サーバーを稼働するシステム。理論的には、これら各サーバーは別個のシステム上で稼働することが可能です。本セクションの手順では便宜上、単一のシステムがこれらすべてのサーバーを稼働していることとします。
  • クライアント - Red Hat Enterprise Linux のインストール先となるシステム。インストールが開始されると、クライアントは DHCP サーバーにクエリを行い、TFTP サーバーから起動ファイルを取得し、HTTP、FTP または NFS サーバーからインストールイメージをダウンロードします。

注記

ネットワークからのインストールが成功するには、クライアントシステムに少なくとも 2 GB の RAM が必要になります。
他のインストール方法とは異なり、インストールを開始するためにクライアント (インストール先のシステム) に物理的な起動用メディアを挿入する必要はありません。本章では、ネットワークからのインストールの準備に必要となるステップを説明します。
ネットワークインストールの準備として次の手順を実行してください。
  1. インストールツリーまたはインストール ISO イメージをエクスポートするためのネットワークサーバー (NFSHTTPSHTTP、または FTP) を設定します。設定の手順については、「インストールソース - ネットワーク」 を参照してください。
  2. tftp サーバー上のファイルでネットワーク起動に必要な設定を行い、DHCP を設定してから PXE サーバー上で tftp サービスを開始します。詳細は、「ネットワーク起動の設定」 を参照してください。

    重要

    GRUB2 ブートローダーは、tftp サーバーからのネットワークブートとは別に、HTTP もサポートしています。ただし、このプロトコルによる起動ファイル (カーネルおよびインストーラー用初期 RAM ディスク) の取得は時間がかかり、タイムアウトになるリスクがあります。起動ファイルの取得には tftp サーバーを使用することが推奨されます。
    この注意点が適用されるのは、カーネルと初期 RAM ディスク (vmlinuz および initrd) のみです。インストールソースHTTP サーバーから取得する際には、このリスクはありません。
  3. クライアント (Red Hat Enterprise Linux をインストールするシステム) を起動し、インストールを開始します。

注記

本章の手順では、Red Hat Enterprise Linux 7 上にネットワーク起動サーバーを設定する方法を説明しています。以前の Red Hat Enterprise Linux リリースでネットワークからの起動を設定する方法については、各リリースの 『インストールガイド』 を参照してください。

21.1. ネットワーク起動の設定

インストールで使用するパッケージリポジトリーが収納されたネットワークサーバーの設定が完了したら、次は PXE サーバー自体を設定します。このサーバーには、Red Hat Enterprise Linux の起動とインストールの開始に必要なファイルが含まれます。さらに DHCP サーバーの設定も必要になります。また、必要なサービスをすべて有効化して開始する必要があります。

注記

Red Hat Enterprise Linux をインストールする AMD64 システムまたは Intel 64 システムが BIOS と UEFI のどちらを使用しているかによって、ネットワーク起動の設定手順が異なります。ご使用のシステムがどちらを使用しているかを製造元が提供する説明書でご確認の上、該当する手順に従ってください。
GRUB2 ブートローダーを使ってネットワークの場所から IBM Power Systems を起動する場合は、別途記載の手順に従ってください。詳細は、「GRUB2 を使って IBM Power Systems 向けにネットワーク起動を設定する」 を参照してください。
ヘッドレスシステム (直接接続のディスプレイやキーボード、マウスがないシステム) で使用するネットワーク起動の設定に関する詳細情報は、「ヘッドレスのシステムに関する注意点」 を参照してください。

21.1.1. BIOS ベースの AMD64 と Intel 64 クライアント向けに PXE サーバーを設定する

以下の手順では、BIOS ベースの AMD64 および Intel 64 システムの起動用の PXE サーバーの準備について説明しています。UEFI ベースのシステムについては、「UEFI ベースの AMD64 と Intel 64 クライアント向けに PXE サーバーを設定する」 を参照してください。

手順21.1 BIOS ベースのシステム向けに PXE での起動を設定する

  1. tftp-server パッケージをインストールします。root で以下のコマンドを実行します。
    # yum install tftp-server
  2. tftp サービスへの全受信をファイアウォールで許可します。
    # firewall-cmd --add-service=tftp

    注記

    上記のコマンドが有効にするのは、次回のサーバー再起動までのアクセスのみです。永続的にアクセスを許可するには、--permanent オプションを追加します。Red Hat Enterprise Linux におけるファイアウォール設定についての詳細は、Red Hat Enterprise Linux 7 セキュリティーガイド を参照してください。
  3. SYSLINUX に同梱されている起動イメージを使用するように DHCP サーバーを設定します。DHCP サーバーがインストールされていない場合は、Red Hat Enterprise Linux 7 ネットワークガイド を参照してください。
    /etc/dhcp/dhcpd.conf ファイルの設定例を以下に示します。
    option space pxelinux;
    option pxelinux.magic code 208 = string;
    option pxelinux.configfile code 209 = text;
    option pxelinux.pathprefix code 210 = text;
    option pxelinux.reboottime code 211 = unsigned integer 32;
    option architecture-type code 93 = unsigned integer 16;
    
    subnet 10.0.0.0 netmask 255.255.255.0 {
      option routers 10.0.0.254;
      range 10.0.0.2 10.0.0.253;
    
      class "pxeclients" {
          match if substring (option vendor-class-identifier, 0, 9) = "PXEClient";
          next-server 10.0.0.1;
    
          if option architecture-type = 00:07 {
            filename "uefi/shim.efi";
          } else {
            filename "pxelinux/pxelinux.0";
          }
      }
    }
    
  4. 次に、完全インストール DVD の ISO イメージファイル内にある SYSLINUX パッケージの pxelinux.0 ファイルが必要になります。このファイルにアクセスするには、次のコマンドを root で実行します。
    # mount -t iso9660 /path_to_image/name_of_image.iso /mount_point -o loop,ro
    # cp -pr /mount_point/Packages/syslinux-version-architecture.rpm /publicly_available_directory
    # umount /mount_point
    パッケージを抽出します。
    # rpm2cpio syslinux-version-architecture.rpm | cpio -dimv
  5. tftpboot/ 内に pxelinux/ ディレクトリーを作成し、pxelinux.0 ファイルをそこにコピーします。
    # mkdir /var/lib/tftpboot/pxelinux
    # cp publicly_available_directory/usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/pxelinux
  6. pxelinux/ ディレクトリー内に pxelinux.cfg/ ディレクトリーを作成します。
    # mkdir /var/lib/tftpboot/pxelinux/pxelinux.cfg
    pxelinux.cfg/ ディレクトリーに default という名前の設定ファイルを追加します。
    /var/lib/tftpboot/pxelinux/pxelinux.cfg/default にあるサンプルの設定ファイルは以下のようになります。
    default vesamenu.c32
    prompt 1
    timeout 600
    
    display boot.msg
    
    label linux
      menu label ^Install system
      menu default
      kernel vmlinuz
      append initrd=initrd.img ip=dhcp inst.repo=http://10.32.5.1/mnt/archive/RHEL-7/7.x/Server/x86_64/os/
    label vesa
      menu label Install system with ^basic video driver
      kernel vmlinuz
      append initrd=initrd.img ip=dhcp inst.xdriver=vesa nomodeset inst.repo=http://10.32.5.1/mnt/archive/RHEL-7/7.x/Server/x86_64/os/
    label rescue
      menu label ^Rescue installed system
      kernel vmlinuz
      append initrd=initrd.img rescue
    label local
      menu label Boot from ^local drive
      localboot 0xffff
    

    重要

    上記の例で示されている inst.repo= Anaconda オプションでは、常にインストールソースに加えてインストールプログラムのイメージを指定する必要があります。このオプションを使用しないと、インストールプログラムは起動できなくなります。Anaconda の起動オプションに関する詳細は、「ブートメニューでインストールシステムを設定する」 を参照してください。
  7. tftp/ root ディレクトリーに起動イメージをコピーします。
    # cp /path/to/x86_64/os/images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot/pxelinux/
  8. 最後に tftpdhcp のサービスがまだ起動していない場合は、これらを起動します。この手順中にこれらが稼働していた場合は、tftpdhcp をリロードします。
    これらのサービスが稼働していない場合は、起動します。
    	# systemctl start tftp dhcpd.service
    これらのサービスがシステム再起動後に自動的に起動するよう永続的に有効にするには、以下のコマンドを実行します。
    	# systemctl enable tftp dhcpd.service
    既に実行中のサービスの設定をリロードするには、systemctl reload コマンドを実行します。
この手順を完了すると、PXE サーバーによるネットワークインストールの開始が可能になります。Red Hat Enterprise Linux をインストールするシステムを開始します。起動ソースの指定を求められたら PXE Boot を選択して、ネットワークインストールを開始します。詳細は、「AMD64 および Intel 64 のシステムで PXE を使ってネットワークからインストールプログラムを起動する」 を参照してください。

21.1.2. UEFI ベースの AMD64 と Intel 64 クライアント向けに PXE サーバーを設定する

以下の手順では、UEFI ベースの AMD64 および Intel 64 システムの起動用の PXE サーバーの準備について説明しています。BIOS ベースのシステムについては、「BIOS ベースの AMD64 と Intel 64 クライアント向けに PXE サーバーを設定する」 を参照してください。

手順21.2 UEFI ベースのシステム向けに PXE での起動を設定する

  1. tftp-server パッケージをインストールします。root で以下のコマンドを実行します。
    # yum install tftp-server
  2. tftp サービスへの全受信をファイアウォールで許可します。
    # firewall-cmd --add-service=tftp

    注記

    上記のコマンドが有効にするのは、次回のサーバー再起動までのアクセスのみです。永続的にアクセスを許可するには、--permanent オプションを追加します。Red Hat Enterprise Linux におけるファイアウォール設定についての詳細は、Red Hat Enterprise Linux 7 セキュリティーガイド を参照してください。
  3. shim に同梱されている EFI 起動イメージを使用するように DHCP サーバーを設定します。DHCP サーバーがインストールされていない場合は、Red Hat Enterprise Linux 7 ネットワークガイド を参照してください。
    /etc/dhcp/dhcpd.conf ファイルの設定例を以下に示します。
    option space pxelinux;
    option pxelinux.magic code 208 = string;
    option pxelinux.configfile code 209 = text;
    option pxelinux.pathprefix code 210 = text;
    option pxelinux.reboottime code 211 = unsigned integer 32;
    option architecture-type code 93 = unsigned integer 16;
    
    subnet 10.0.0.0 netmask 255.255.255.0 {
      option routers 10.0.0.254;
      range 10.0.0.2 10.0.0.253;
    
      class "pxeclients" {
          match if substring (option vendor-class-identifier, 0, 9) = "PXEClient";
          next-server 10.0.0.1;
    
          if option architecture-type = 00:07 {
            filename "uefi/shim.efi";
          } else {
            filename "pxelinux/pxelinux.0";
          }
      }
    }
    
  4. 次に、ISO イメージファイル内にある shim パッケージの shim.efi ファイルと grub2-efi パッケージの grubx64.efi ファイルが必要になります。これらのファイルにアクセスするには次のコマンドを root で実行します。
    # mount -t iso9660 /path_to_image/name_of_image.iso /mount_point -o loop,ro
    # cp -pr /mount_point/Packages/shim-version-architecture.rpm /publicly_available_directory
    # cp -pr /mount_point/Packages/grub2-efi-version-architecture.rpm /publicly_available_directory
    # umount /mount_point
    パッケージを抽出します。
    # rpm2cpio shim-version-architecture.rpm | cpio -dimv
    # rpm2cpio grub2-efi-version-architecture.rpm | cpio -dimv
  5. tftpboot/ ディレクトリー内に uefi/ という名前のディレクトリーを EFI 起動イメージ用に作成します。boot ディレクトリーからイメージをそこにコピーします。
    # mkdir /var/lib/tftpboot/uefi
    # cp publicly_available_directory/boot/efi/EFI/redhat/shim.efi /var/lib/tftpboot/uefi/
    # cp publicly_available_directory/boot/efi/EFI/redhat/grubx64.efi /var/lib/tftpboot/uefi/
  6. grub.cfg という名前の設定ファイルを uefi/ ディレクトリーに追加します。/var/lib/tftpboot/uefi/grub.cfg の設定ファイルの例を以下に示します。
    set timeout=60
      menuentry 'RHEL 7' {
      linuxefi uefi/vmlinuz ip=dhcp inst.repo=http://10.32.5.1/mnt/archive/RHEL-7/7.1/Server/x86_64/os/
      initrdefi uefi/initrd.img
    }
    

    重要

    上記の例で示されている inst.repo= Anaconda オプションでは、常にインストールソースに加えてインストールプログラムのイメージを指定する必要があります。このオプションを使用しないと、インストールプログラムは起動できなくなります。Anaconda の起動オプションに関する詳細は、「ブートメニューでインストールシステムを設定する」 を参照してください。
  7. uefi/ ディレクトリーに起動イメージをコピーします。
    # cp /path/to/x86_64/os/images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot/uefi/
  8. 最後に tftpdhcp のサービスがまだ起動していない場合は、これらを起動します。この手順中にこれらが稼働していた場合は、更新された設定をリロードします。
    これらのサービスが稼働していない場合は、起動します。
    # systemctl start tftp dhcpd.service
    これらのサービスがシステム再起動後に自動的に起動するよう永続的に有効にするには、以下のコマンドを実行します。
    # systemctl enable tftp dhcpd.service
    既に実行中のサービスの設定をリロードするには、systemctl reload コマンドを実行します。
この手順を完了すると、PXE サーバーによるネットワークインストールの開始が可能になります。Red Hat Enterprise Linux をインストールするシステムを開始します。起動ソースの指定を求められたら PXE Boot を選択して、ネットワークインストールを開始します。詳細は、「AMD64 および Intel 64 のシステムで PXE を使ってネットワークからインストールプログラムを起動する」 を参照してください。

21.1.3. GRUB2 を使って IBM Power Systems 向けにネットワーク起動を設定する

手順21.3 GRUB2 を使って IBM Power Systems 向けにネットワーク起動サーバーを設定する

  1. tftp-server パッケージをインストールします。root で以下のコマンドを実行します。
    # yum install tftp-server
  2. tftp サービスへの全受信をファイアウォールで許可します。
    # firewall-cmd --add-service=tftp

    注記

    上記のコマンドが有効にするのは、次回のサーバー再起動までのアクセスのみです。永続的にアクセスを許可するには、--permanent オプションを追加します。Red Hat Enterprise Linux におけるファイアウォール設定についての詳細は、Red Hat Enterprise Linux 7 セキュリティーガイド を参照してください。
  3. tftp root 内に GRUB2 ネットワーク起動ディレクトリーを作成します。
    # grub2-mknetdir --net-directory=/var/lib/tftpboot
    Netboot directory for powerpc-ieee1275 created. Configure your DHCP server to point to /boot/grub2/powerpc-ieee1275/core.elf
    
    このコマンドの出力では、DHCP 設定内で filename として設定する必要のあるファイルが指示されます。これはこの手順の後で重要なものです。
  4. GRUB2 設定ファイルである /var/lib/tftpboot/boot/grub2/grub.cfg を作成します。grub.cfg の構文については、Red Hat Enterprise Linux 7 システム管理者のガイド を参照してください。
    以下は設定ファイルの例になります。
    set default=0
    set timeout=5
    
    echo -e "\nWelcome to the Red Hat Enterprise Linux 7.1 installer!\n\n"
    
    menuentry 'Red Hat Enterprise Linux 7' {
      linux grub2-ppc64/vmlinuz ro ip=dhcp inst.repo=http://10.32.5.1/mnt/archive/RHEL-7/7.1/Server/ppc64/os/
      initrd grub2-ppc64/initrd.img
    }
    

    重要

    上記の例で示されている inst.repo= Anaconda オプションでは、常にインストールソースに加えてインストールプログラムのイメージを指定する必要があります。このオプションを使用しないと、インストールプログラムは起動できなくなります。Anaconda の起動オプションに関する詳細は、「ブートメニューでインストールシステムを設定する」 を参照してください。
  5. GRUB2 に同梱されている起動イメージを使用するように DHCP サーバーを設定します。DHCP サーバーがインストールされていない場合は、Red Hat Enterprise Linux 7 ネットワークガイド を参照してください。
    /etc/dhcp/dhcpd.conf ファイルの設定例を以下に示します。
    subnet 192.168.0.1 netmask 255.255.255.0 {
      allow bootp;
      option routers 192.168.0.5;
      group { #BOOTP POWER clients
        filename "boot/grub2/powerpc-ieee1275/core.elf";
        host client1 {
          hardware ethernet 01:23:45:67:89:ab;
          fixed-address 192.168.0.112;
        }
      }
    }
    
    サンプルのパラメーター (subnet, netmask, routers, fixed-address および hardware ethernet) を使用中のネットワーク設定のものに置き換えます。また、filename のパラメーターは、上記の手順の grub2-mknetdir コマンドの出力にあるファイル名になります。
  6. 最後に tftpdhcp のサービスがまだ起動していない場合は、これらを起動します。この手順中にこれらが稼働していた場合は、更新された設定をリロードします。
    これらのサービスが稼働していない場合は、起動します。
    # systemctl start tftp dhcpd.service
    これらのサービスがシステム再起動後に自動的に起動するよう永続的に有効にするには、以下のコマンドを実行します。
    # systemctl enable tftp dhcpd.service
    既に実行中のサービスの設定をリロードするには、systemctl reload コマンドを実行します。
この手順を完了すると、サーバーによるネットワークインストールの開始が可能になります。10章IBM Power Systems でのインストールの起動 にあるステップに従って、このサーバーから Power Systems クライアントの起動ができます。
IBM Power Systems クライアント向けにネットワーク起動を設定する詳細情報については、IBM DeveloperWorks ウェブサイトの Netbooting on POWER - An Introduction を参照してください。