Red Hat Training

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

21장. 네트워크 설치 준비 과정

설치 서버를 사용한 네트워크 설치를 통해 PXE (Preboot Execution Environment) 서버를 사용하는 여러 시스템에 Red Hat Enterprise Linux을 설치할 수 있습니다. 이 방법은 이렇게 구성된 모든 시스템이 서버에서 제공하는 이미지를 사용하여 부팅하고 설치 프로그램을 자동으로 시작합니다.
다른 설치 방법과 다르게 설치를 시작하기 위해 클라이언트 (설치하려는 시스템)에 물리적 부팅 매체를 연결할 필요가 없습니다. 다음 부분에서는 PXE 설치 준비에 필요한 단계를 설명합니다.
네트워크 설치를 준비하시려면 다음 절차를 수행하셔야 합니다:
  1. 설치 트리 또는 설치 ISO 이미지를 내보내기 위해 네트워크 (NFS, HTTPS, HTTP, FTP) 서버를 설정합니다. 설정 방법은 2.3.3절. “네트워크 상의 설치 소스 ”에서 참조하십시오.
  2. 네트워크 부팅에 필요한 tftp 서버에 파일을 설정합니다. DHCP를 설정하고 PXE 서버에서 tftp 서비스를 시작합니다. 보다 자세한 내용은 21.1절. “PXE 부트 설정 ”에서 참조하십시오.
  3. 클라이언트 (Red Hat Enterprise Linux를 설치하고자 하는 시스템에)를 부팅하고 설치를 시작합니다. 보다 자세한 내용은 21.2절. “네트워크 설치 시작 ”에서 참조하십시오.

참고

다음 부분에서는 Red Hat Enterprise Linux 7 시스템에 PXE 서버를 설정하는 방법에 대해 설명합니다. 이전 Red Hat Enterprise Linux 버전에 PXE를 설정하는 방법에 대한 자세한 내용은 해당 릴리즈의 설치 가이드에서 참조하십시오.

21.1. PXE 부트 설정

설치에 사용되는 패키지 리포지터리가 들어 있는 네트워크 서버를 설정한 후 PXE 서버 자체를 설정합니다. 이 서버에는 Red Hat Enterprise Linux 부팅 및 설치 시작에 필요한 파일이 포함되어 있습니다. 또한 DHCP 서버를 설정하고 필요한 모든 서비스를 활성화하고 시작해야 합니다.

참고

PXE 부팅 설정 절차는 Red Hat Enterprise Linux을 설치하려는 AMD64/Intel 64 시스템이 BIOS 또는 UEFI의 사용 여부에 따라 다릅니다. 하드웨어에서 어떤 시스템이 사용되고 있는지를 하드웨어 문서에서 확인하신 후 다음의 해당 절차를 따르십시오.
설치 시스템으로 IBM Power Systems 서버를 사용할 때 별도의 절차가 제공됩니다. 자세한 내용은 21.1.3절. “IBM Power Systems 클라이언트의 PXE 서버 설정 ”에서 참조하십시오.
IBM System z는 PXE 부트를 지원하지 않습니다.
헤드리스 시스템 (직접 연결된 디스플레이, 키보드, 마우스가 없는 시스템)에서 사용하기 위한 PXE 서버 설정에 대한 자세한 내용은 22.4절. “헤드리스 시스템 고려사항 ”에서 참조하십시오.

21.1.1. BIOS 기반 클라이언트의 PXE 서버 설정

다음에서는 BIOS-기반 AMD64 및 Intel 64 시스템을 부팅하기 위해 PXE 서버를 준비하는 절차에 대해 설명합니다. UEFI 기반 시스템에 대한 내용은 21.1.2절. “UEFI 기반 클라이언트의 PXE 서버 설정 ”에서 참조하십시오.

절차 21.1. BIOS 기반 시스템의 PXE 부트 설정하기

  1. tftp 패키지를 설치합니다. 이를 위해 root로 다음 명령을 실행합니다:
    # yum install tftp-server
  2. /etc/xinetd.d/tftp 설정 파일에서 disabled 매개변수를 yes에서 no로 변경합니다.
  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;
    
      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 arch = 00:07 {
            filename "uefi/shim.efi";
          } else {
            filename "pxelinux/pxelinux.0";
          }
        }
    
        host example-ia32 {
          hardware ethernet XX:YY:ZZ:11:22:33;
          fixed-address 10.0.0.2;
        }
      }
    
  4. 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/ 디렉토리에 설정 파일을 추가합니다. 파일 이름은 default로 하거나 또는 시스템의 IP 주소에 기반하여 지정합니다. 예를 들어 컴퓨터의 IP 주소가 10.0.0.1인 경우 파일 이름은 0A000001로 합니다.
    /var/lib/tftpboot/pxelinux/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의 부팅 옵션에 대한 자세한 내용은 20.1절. “부트 메뉴에서 설치 시스템 설정 ”에서 참조하십시오.
    • root= dracut 옵션입니다. 이 옵션을 사용할 경우 Red Hat Enterprise Linux 7의 부팅 가능한 미디어에서 추출된 initrd.img 파일의 위치를 지정해야 합니다. 이 옵션을 사용하여 설치 프로그램에 부팅할 수 있지만 다른 방법 (킥스타트 파일을 사용하거나 그래픽 설치 인터페이스를 수동으로 사용하는 방법)에서 설치 소스를 지정해야 합니다. dracut 명령행 옵션에 대한 자세한 내용은 dracut.cmdline(7) man 페이지에서 참조하십시오.
    이 두 옵션 중 하나는 항상 사용해야 합니다.
  7. 부팅 이미지를 tftp/ root 디렉토리에 복사합니다:
    # cp /path/to/x86_64/os/images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot/pxelinux/
  8. systemctl 명령을 사용하여 tftp, xinetd 서비스를 활성화 및 시작합니다.
    # systemctl enable xinetd.service tftp.service
    # systemctl start xinetd.service tftp.service
이 절차를 완료하면 PXE 서버에서 네트워크 설치를 시작할 수 있게 됩니다. 이제 Red Hat Enterprise Linux을 설치하고자 하는 시스템을 시작합니다. 부팅 소스를 지정하라는 메세지가 나타나면 PXE Boot를 선택하고 네트워크 설치를 시작합니다.

21.1.2. UEFI 기반 클라이언트의 PXE 서버 설정

다음에서는 UEFI-기반 AMD64 및 Intel 64 시스템을 부팅하기 위해 PXE 서버를 준비하는 절차에 대해 설명합니다. BIOS 기반 시스템에 대한 내용은 21.1.1절. “BIOS 기반 클라이언트의 PXE 서버 설정 ”에서 참조하십시오.

절차 21.2. UEFI 기반 시스템의 PXE 부트 설정

  1. tftp 패키지를 설치합니다. 이를 위해 root로 다음 명령을 실행합니다:
    # yum install tftp-server
  2. /etc/xinetd.d/tftp 설정 파일에서 disabled 매개변수를 yes에서 no로 변경합니다.
  3. shim과 함께 제공되는 EFI 부팅 이미지를 사용하기 위해 DHCP 서버를 설정합니다. DHCP 서버가 설치되어 있지 않은 경우 Red Hat Enterprise Linux 7 네트워킹 가이드에서 지침을 참조하십시오.
    /etc/dhcp/dhcpd.conf 파일에 있는 설정 예는 다음과 같습니다:
      option space PXE;
      option PXE.mtftp-ip    code 1 = ip-address;
      option PXE.mtftp-cport code 2 = unsigned integer 16;
      option PXE.mtftp-sport code 3 = unsigned integer 16;
      option PXE.mtftp-tmout code 4 = unsigned integer 8;
      option PXE.mtftp-delay code 5 = unsigned integer 8;
      option arch code 93 = unsigned integer 16; # RFC4578
    
      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 arch = 00:07 {
            filename "uefi/shim.efi";
            } else {
            filename "pxelinux/pxelinux.0";
          }
        }
    
        host example-ia32 {
          hardware ethernet XX:YY:ZZ:11:22:33;
          fixed-address 10.0.0.2;
        }
      }
    
  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 부팅 이미지 용 디렉토리를 생성하고 이를 부트 디렉토리에서 복사합니다:
    # 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=1
      menuentry 'RHEL' {
      linuxefi uefi/vmlinuz ip=dhcp inst.repo=http://10.32.5.1/mnt/archive/RHEL-7/7.x/Server/x86_64/os/
      initrdefi uefi/initrd.img
    }
    

    참고

    설치 프로그램을 로딩하기 위해 두 개의 별도의 옵션을 사용할 수 있습니다:
    • 위의 예에서 보여주었던 inst.repo= Anaconda 옵션입니다. 이 옵션을 사용하여 설치 프로그램을 불러오고 동시에 설치 소스를 지정할 수 있습니다. Anaconda의 부팅 옵션에 대한 자세한 내용은 20.1절. “부트 메뉴에서 설치 시스템 설정 ”에서 참조하십시오.
    • root= dracut 옵션입니다. 이 옵션을 사용할 경우 Red Hat Enterprise Linux 7의 부팅 가능한 미디어에서 추출된 initrd.img 파일의 위치를 지정해야 합니다. 이 옵션을 사용하여 설치 프로그램에 부팅할 수 있지만 다른 방법 (킥스타트 파일을 사용하거나 그래픽 설치 인터페이스를 수동으로 사용하는 방법)에서 설치 소스를 지정해야 합니다. dracut 명령행 옵션에 대한 자세한 내용은 dracut.cmdline(7) man 페이지에서 참조하십시오.
    이 두 옵션 중 하나는 항상 사용해야 합니다.
  7. 부팅 이미지를 uefi/ 디렉토리에 복사합니다:
    # cp /path/to/x86_64/os/images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot/uefi/
  8. systemctl 명령을 사용하여 tftp, xinetd 서비스를 활성화 및 시작합니다.
    # systemctl enable xinetd.service tftp.service
    # systemctl start xinetd.service tftp.service
이 절차를 완료하면 PXE 서버에서 네트워크 설치를 시작할 수 있게 됩니다. 이제 Red Hat Enterprise Linux을 설치하고자 하는 시스템을 시작합니다. 부팅 소스를 지정하라는 메세지가 나타나면 PXE Boot를 선택하고 네트워크 설치를 시작합니다.

21.1.3. IBM Power Systems 클라이언트의 PXE 서버 설정

다음은 IBM Power Systems 서버를 부팅하기 위해 PXE 서버를 준비하는 절차입니다.

절차 21.3. IBM Power Systems의 PXE 부팅 설정

  1. tftp 패키지를 설치합니다. 이를 위해 root로 다음 명령을 실행합니다:
    # yum install tftp-server
  2. /etc/xinetd.d/tftp 설정 파일에서 disabled 매개변수를 yes에서 no로 변경합니다.
  3. yaboot 유틸리티와 함께 제공되는 부팅 이미지를 사용하기 위해 DHCP 서버를 설정합니다. DHCP 서버가 설치되어 있지 않은 경우 Red Hat Enterprise Linux 7 네트워킹 가이드에서 지침을 참조하십시오.
    다음은 /etc/dhcp/dhcpd.conf의 설정 예입니다:
      host bonn { 
        filename "yaboot";
        next-server             10.32.5.1;
        hardware ethernet 00:0e:91:51:6a:26;
        fixed-address 10.32.5.144;
      }
    
  4. ISO 이미지 파일에 있는 yaboot 패키지에서 yaboot 바이너리 파일이 필요합니다. 이 파일에 액세스하려면 root로 다음 명령을 실행합니다:
    # mkdir /publicly_available_directory/yaboot-unpack
    # mount -t iso9660 /path_to_image/name_of_image.iso /mount_point -o loop,ro
    # cp -pr /mount_point/Packages/yaboot-version.ppc.rpm /publicly_available_directory/yaboot-unpack
    패키지를 추출합니다:
    # cd /publicly_available_directory/yaboot-unpack
    # rpm2cpio yaboot-version.ppc.rpm | cpio -dimv
  5. yaboot 디렉토리를 tftpboot/ 디렉토리에 생성하고 yaboot 바이너리 파일을 해당 디렉토리에 복사합니다:
    # mkdir /var/lib/tftpboot/yaboot
    # cp publicly_available_directory/yaboot-unpack/usr/lib/yaboot/yaboot /var/lib/tftpboot/yaboot
  6. yaboot.conf라는 설정 파일을 이 디렉토리에 추가합니다. 예시 설정 파일은 다음과 같습니다:
    init-message = "\nWelcome to the Red Hat Enterprise Linux 7 installer!\n\n"
    timeout=60
    default=rhel7
    image=/rhel7/vmlinuz-RHEL7
      label=linux
      alias=rhel7
      initrd=/rhel7/initrd-RHEL7.img
      append="ip=dhcp inst.repo=http://10.32.5.1/mnt/archive/RHEL-7/7.0/ppc64/os/"
      read-only
    

    참고

    설치 프로그램을 로딩하기 위해 두 개의 별도의 옵션을 사용할 수 있습니다:
    • 위의 예에서 보여주었던 inst.repo= Anaconda 옵션입니다. 이 옵션을 사용하여 설치 프로그램을 불러오고 동시에 설치 소스를 지정할 수 있습니다. Anaconda의 부팅 옵션에 대한 자세한 내용은 20.1절. “부트 메뉴에서 설치 시스템 설정 ”에서 참조하십시오.
    • root= dracut 옵션입니다. 이 옵션을 사용할 경우 Red Hat Enterprise Linux 7의 부팅 가능한 미디어에서 추출된 initrd.img 파일의 위치를 지정해야 합니다. 이 옵션을 사용하여 설치 프로그램에 부팅할 수 있지만 다른 방법 (킥스타트 파일을 사용하거나 그래픽 설치 인터페이스를 수동으로 사용하는 방법)에서 설치 소스를 지정해야 합니다. dracut 명령행 옵션에 대한 자세한 내용은 dracut.cmdline(7) man 페이지에서 참조하십시오.
    이 두 옵션 중 하나는 항상 사용해야 합니다.
  7. 추출한 ISO 부팅 이미지를 tftp/ root 디렉토리에 복사합니다:
    # cp /mount_point/images/ppc/ppc64/vmlinuz /var/lib/tftpboot/yaboot/rhel7/vmlinuz-RHEL7
    # cp /mount_point/images/ppc/ppc64/initrd.img /var/lib/tftpboot/yaboot/rhel7/initrd-RHEL7.img
  8. yaboot-unpack/ 디렉토리를 삭제하여 정리하고 ISO 마운트를 해제합니다:
    # rm -rf /publicly_available_directory/yaboot-unpack
    # umount /mount_point
  9. systemctl 명령을 사용하여 tftp, xinetd 서비스를 활성화 및 시작합니다.
    # systemctl enable xinetd.service tftp.service
    # systemctl start xinetd.service tftp.service
이 절차를 완료하면 PXE 서버에서 네트워크 설치를 시작할 수 있게 됩니다. 이제 Red Hat Enterprise Linux을 설치하고자 하는 시스템을 시작합니다. 부팅 소스를 지정하라는 메세지가 나타나면 PXE Boot를 선택하고 네트워크 설치를 시작합니다.