Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

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

インストールサーバーを使用したネットワークインストールでは、ネットワークブート サーバーを使用して複数のシステムに Red Hat Enterprise Linux をインストールできます。この方法では、PXE インストール設定されたシステムはすべてこのサーバーによって提供されるイメージを使用して起動し、インストールプログラムを自動的に開始します。
注記
Red Hat Satellite には、PXE サーバーを自動設定する機能があります。詳細は、 Red Hat Satellite のドキュメント を参照してください。
ネットワークからのインストールには、少なくとも以下の 2 つのシステムが必要になります。
  • サーバー: DHCP サーバー、起動ファイルを提供する TFTP サーバー、およびインストールイメージを格納している HTTP、FTP もしくは NFS サーバーを稼働するシステム。理論的には、これらの各サーバーは別個のシステム上で稼働することが可能です。本セクションの手順では便宜上、単一のシステムがこれらすべてのサーバーを稼働していることを前提とします。
  • クライアント - Red Hat Enterprise Linux をインストールするシステムインストールが開始されると、クライアントは DHCP サーバーにクエリーを行い、TFTP サーバーから起動ファイルを取得し、HTTP、FTP または NFS サーバーからインストールイメージをダウンロードします。
他のインストール方法とは異なり、インストールを開始するためにクライアント (インストール先のシステム) に物理的な起動メディアを挿入する必要はありません。本章では、ネットワークからのインストールの準備に必要となるステップを説明します。
ネットワークインストールの準備として次の手順を実行してください。
  1. ネットワークサーバー(NFSHTTPSHTTP、または FTP)を設定して、インストールツリーまたはインストール ISO イメージをエクスポートします。設定を記述する手順は、「インストールソース - ネットワーク」 を参照してください。
  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 リリースでネットワークからの起動を設定する方法については、各リリースの『インストールガイド』を参照してください。

24.1. ネットワークブートサービスの設定

インストールで使用するパッケージリポジトリーが格納されたネットワークサーバーの設定が完了したら、次は PXE サーバー自体を設定します。このサーバーには、Red Hat Enterprise Linux を起動し、インストールを開始するために必要なファイルが含まれます。さらに、DHCP サーバーを設定し、必要なすべてのサービスを有効にして起動する必要があります。
注記
ネットワークブートの設定手順は、Red Hat Enterprise Linux をインストールする AMD64/Intel 64 システムが BIOS または UEFI を使用するかどうかによって異なります。ご使用のシステムがどちらを使用しているかを製造元が提供する説明書でご確認の上、該当する手順に従ってください。
GRUB2 ブートローダーを使用してネットワーク上の場所から IBM Power Systems を起動する方法は別途提供されています。詳細は 「GRUB2 を使用した IBM Power Systems 向けのネットワークブートの設定」 を参照してください。
ヘッドレスシステム (ディスプレイ、キーボード、マウスが直接接続されていないシステム) で使用するネットワークブートサーバーの設定に関する詳細情報は、26章ヘッドレスシステムを参照してください。

24.1.1. BIOS ベースの AMD64 と Intel 64 クライアント向け TFTP サーバーの設定

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

手順24.1 BIOS ベースのシステム向けに TFTP ブートサーバーを設定する

  1. tftp-server パッケージをインストールします。これを行うには、root で以下のコマンドを入力します。
    # yum install tftp-server
  2. ファイアウォールで tftp サービスへの着信接続を許可します。
    # firewall-cmd --add-service=tftp
    注記
    上記のコマンドが有効にするのは、次回のサーバー再起動までのアクセスのみです。アクセスを永続的に許可するには、--permanent オプションを追加します。ファイアウォール設定の詳細は、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
    default という名前の設定ファイルを pxelinux.cfg/ ディレクトリーに追加します。
    /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 images/RHEL-7.1/vmlinuz
      append initrd=images/RHEL-7.1/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 images/RHEL-7.1/vmlinuz
      append initrd=images/RHEL-7.1/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 images/RHEL-7.1/vmlinuz
      append initrd=images/RHEL-7.1/initrd.img rescue
    label local
      menu label Boot from ^local drive
      localboot 0xffff
    重要
    上記の例の inst.repo= Anaconda オプションを使用して、インストールプログラムのイメージとインストールソースを指定するために常に使用する必要があります。このオプションを使用しないと、インストールプログラムは起動できなくなります。Anaconda の起動オプションの詳細は、「ブートメニューによるインストールシステムの設定」 を参照してください。
  7. /var/lib/tftpboot/ ディレクトリーにブートイメージファイルを保存するサブディレクトリーを作成し、そのディレクトリーにブートイメージファイルをコピーします。この例では、/var/lib/tftpboot/pxelinux/images/RHEL-release_number/ ディレクトリーを使用します。
    # mkdir -p /var/lib/tftpboot/pxelinux/images/RHEL-7.1/
    # cp /path_to_x86_64_images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot/pxelinux/images/RHEL-release_number/
  8. 最後に、サービスを開始して有効にします。
    • dhcpd サービス:
      # systemctl start dhcpd
      # systemctl enable dhcpd
    • tftpd サービスを管理する xinetd サービス:
      # systemctl start xinetd
      # systemctl enable xinetd
この手順を完了すると、PXE ブートサーバーが PXE クライアントにサービスを提供できるようになります。Red Hat Enterprise Linux をインストールするシステムを起動し、ブートソースを指定するように求められたら PXE ブート を選択して、ネットワークインストールを開始できます。詳細は、「PXE を使ったネットワークからの起動」 を参照してください。

24.1.2. UEFI ベースの AMD64/Intel 64 および ARM クライアント向け TFTP サーバーの設定

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

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

注記
Red Hat Enterprise Linux 7 UEFI PXE ブートは、MAC ベースの grub メニューファイルの小文字のファイル形式に対応します。たとえば、grub2 の MAC アドレスのファイル形式は grub.cfg-01-aa-bb-cc-dd-ee-ff です。
  1. tftp-server パッケージをインストールします。これを行うには、root で以下のコマンドを入力します。
    # yum install tftp-server
  2. ファイアウォールで tftp サービスへの着信接続を許可します。
    # firewall-cmd --add-service=tftp
    注記
    上記のコマンドが有効にするのは、次回のサーバー再起動までのアクセスのみです。アクセスを永続的に許可するには、--permanent オプションを追加します。ファイアウォール設定の詳細は、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 "shim.efi";
    	  } else {
    	    filename "pxelinux/pxelinux.0";
    		}
      }
    }
    
  4. これで、shim パッケージの shim.efi ファイルと、ISO イメージファイルの grub 2-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. ブートディレクトリーから EFI ブートイメージをコピーします。
    # cp publicly_available_directory/boot/efi/EFI/redhat/shim.efi /var/lib/tftpboot/
    # cp publicly_available_directory/boot/efi/EFI/redhat/grubx64.efi /var/lib/tftpboot/
  6. grub.cfg という名前の設定ファイルを tftpboot/ ディレクトリーに追加します。/var/lib/tftpboot/grub.cfg の設定ファイルの例を以下に示します。
    set timeout=60
    menuentry 'RHEL 7' {
      linuxefi images/RHEL-7.1/vmlinuz ip=dhcp inst.repo=http://10.32.5.1/mnt/archive/RHEL-7/7.1/Server/x86_64/os/
      initrdefi images/RHEL-7.1/initrd.img
    }
    
    重要
    上記の例の inst.repo= Anaconda オプションを使用して、インストールプログラムのイメージとインストールソースを指定するために常に使用する必要があります。このオプションを使用しないと、インストールプログラムは起動できなくなります。Anaconda の起動オプションの詳細は、「ブートメニューによるインストールシステムの設定」 を参照してください。
  7. /var/lib/tftpboot/ ディレクトリーにブートイメージファイルを保存するサブディレクトリーを作成し、そのディレクトリーにブートイメージファイルをコピーします。この例では、/var/lib/tftpboot/images/RHEL-7.1/ ディレクトリーを使用します。
    # mkdir -p /var/lib/tftpboot/images/RHEL-7.1/# cp /path_to_x86_64_images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot/images/RHEL-7.1/
  8. 最後に、サービスを開始して有効にします。
    • dhcpd サービス:
      # systemctl start dhcpd
      # systemctl enable dhcpd
    • tftpd サービスを管理する xinetd サービス:
      # systemctl start xinetd
      # systemctl enable xinetd
この手順を完了すると、PXE ブートサーバーが PXE クライアントにサービスを提供できるようになります。Red Hat Enterprise Linux をインストールするシステムを起動し、ブートソースを指定するように求められたら PXE ブート を選択して、ネットワークインストールを開始できます。詳細は、「PXE を使ったネットワークからの起動」 を参照してください。

24.1.3. GRUB2 を使用した IBM Power Systems 向けのネットワークブートの設定

手順24.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 7 セキュリティーガイドを参照してください。
  3. tftp のルートに、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 設定でどのファイルをファイル として設定する必要があるかについて通知します。これは、本手順でさらに重要になります。
  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 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.6-Beta/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;
        }
      }
    }
    
    ネットワーク設定に合わせて、サンプルパラメーターの subnetnetmaskroutersfixed-address、および hardware ethernet を変更します。filename パラメーターにも注意してください。これは、手順の前の grub2-mknetdir コマンドで出力されたファイル名です。
  6. 最後に、サービスを開始して有効にします。
    • dhcpd サービス:
      # systemctl start dhcpd
      # systemctl enable dhcpd
    • tftpd サービスを管理する xinetd サービス:
      # systemctl start xinetd
      # systemctl enable xinetd
この手順を完了すると、PXE ブートサーバーが PXE クライアントにサービスを提供できるようになります。12章IBM Power Systems でのインストールの起動 で説明されている手順に従って、このサーバーから Power Systems クライアントを起動します。
IBM Power Systems クライアント向けにネットワーク起動を設定する詳細情報については、IBM DeveloperWorks ウェブサイトのNetbooting on POWER - An Introductionを参照してください。