목차로 이동페이지 탐색으로 이동: 이전 페이지 [액세스 키 p]/다음 페이지 [액세스 키 n]
documentation.suse.com / SUSE Linux Enterprise Server 설명서 / 배포 가이드 / 설치 서버 설정 / 대상 시스템의 부팅 준비
다음에 적용 SUSE Linux Enterprise Server 12 SP5

9 대상 시스템의 부팅 준비

SUSE® Linux Enterprise Server는 다양한 방법으로 설치할 수 있습니다. 6장 YaST로 설치에서 다루는 일반적인 미디어 설치 외에도 다양한 네트워크 기반 접근 방식에서 선택하거나, SUSE Linux Enterprise Server의 설치에 대해 완전한 자동 접근법을 사용할 수 있습니다.

이 예에서는 NFS를 사용하여 설치 데이터를 제공합니다. FTP, SMB 또는 HTTP를 사용하려면 8장 설치 원본을 보유하는 서버 설정을 참조하십시오.

참고
참고: 용어

다음 섹션에서는 새 SUSE Linux Enterprise Server 설치가 보관된 시스템을 대상 시스템 또는 설치 대상이라고 합니다. 이전에 설치 원본이라고 부르던 리포지토리라는 용어는 설치 데이터의 모든 원본에 사용됩니다. 여기에는 CD 및 DVD와 같은 실제 미디어와 네트워크에서 설치 데이터를 배포하는 네트워크 서버가 포함됩니다.

이 절에서는 복잡한 부팅 시나리오에 필요한 구성 작업에 대해 다룹니다. 여기에는 DHCP, PXE 부팅, TFTP 및 WOL(Wake On Lan)에 즉시 적용 가능한 구성 예가 포함됩니다.

이 예제에서는 DHCP, TFTP 및 NFS 서버가 IP가 192.168.1.1인 같은 시스템에 있다고 가정합니다. 모든 서비스가 다른 시스템에 있어도 문제는 없습니다. 필요한 경우 IP 주소를 변경하십시오.

9.1 DHCP 서버 설정

네트워크 클라이언트에 자동 주소 할당을 제공하는 것 외에도 DHCP 서버는 TFTP 서버의 IP 주소와 대상 시스템의 설치 루틴으로 가져와야 하는 파일을 표시합니다. 로드해야 할 파일은 대상 시스템의 아키텍처와 레거시 BIOS 또는 UEFI 부팅 중 무엇을 사용할지에 따라 다릅니다.

  1. DHCP 서버를 호스팅하는 시스템에 root로 로그인합니다.

  2. systemctl enable dhcpd를 실행하여 DHCP 서버를 활성화합니다.

  3. /etc/dhcpd.conf에 있는 DHCP 서버 구성 파일의 서브넷 구성에 다음 행을 추가합니다.

    # The following lines are optional
    option domain-name "my.lab";
    option domain-name-servers 192.168.1.1;
    option routers 192.168.1.1;
    option ntp-servers 192.168.1.1;
    ddns-update-style none;
    default-lease-time 3600;
    
    # The following lines are required
    option arch code 93 = unsigned integer 16; # RFC4578
    subnet 192.168.1.0 netmask 255.255.255.0 {
     next-server 192.168.1.1;
     range 192.168.1.100 192.168.1.199;
     default-lease-time 3600;
     max-lease-time 3600;
     if option arch = 00:07 or option arch = 00:09 {
       filename "/EFI/x86/grub.efi";
     }
     else if option arch = 00:0b {
       filename "/EFI/aarch64/bootaa64.efi";
     }
     else  {
       filename "/BIOS/x86/pxelinux.0";
     }
    }

    이 구성 예에서는 IP가 192.168.1.1인 서버에서 DHCP, DNS 및 게이트웨이가 있는 서브넷 192.168.1.0/24를 사용합니다. 사용한 모든 IP 주소는 네트워크 레이아웃에 따라 변경됩니다. dhcpd.conf에서 사용할 수 있는 옵션에 대한 자세한 내용은 dhcpd.conf 매뉴얼 페이지를 참조하십시오.

  4. systemctl restart dhcpd를 실행하여 DHCP 서버를 다시 시작합니다.

PXE 및 WOL(Wake On Lan) 설치의 원격 제어에 SSH를 사용하려는 경우 DHCP에서 설치 대상에 제공해야 하는 IP 주소를 지정합니다.. 이렇게 하려면 다음 예에 따라 위에서 언급한 DHCP 구성을 수정합니다.

group {
 host test {
   hardware ethernet MAC_ADDRESS;
   fixed-address IP_ADDRESS;
   }
}

Host 문은 설치 대상의 호스트 이름을 소개합니다. 특정 호스트에 호스트 이름과 IP 주소를 바인딩하려면 시스템의 하드웨어(MAC) 주소를 알고 이를 지정해야 합니다. 이 예에서 사용된 모든 변수를 사용자 환경과 일치하는 실제 값으로 바꿉니다.

DHCP 서버를 다시 시작한 후에는 정적 IP가 지정된 호스트에 제공되어 SSH를 통해 시스템에 연결할 수 있습니다.

9.2 TFTP 서버 설정

SUSE 기반 설치를 사용하는 경우 YaST를 사용하여 TFTP 서버를 설정할 수도 있습니다. 또는 수동으로 설정할 수도 있습니다. TFTP 서버는 부팅 후 요청을 전송하고 나면 부팅 이미지를 대상 시스템에 전달합니다.

9.2.1 YaST를 사용하여 TFTP 서버 설정

  1. root로 로그인합니다.

  2. YaST ›  네트워크 서비스 ›  TFTP 서버를 시작하고 요청된 패키지를 설치합니다.

  3. 서버가 시작되었고 부팅 루틴에 포함되었는지 확인하려면 활성화를 클릭합니다. 사용자 측에서 이를 보호하기 위한 추가 작업은 필요하지 않습니다. xinetd는 부팅 시 tftpd를 시작합니다.

  4. 시스템에서 실행 중인 방화벽에서 적합한 포트를 열려면 방화벽 포트 열기를 클릭합니다. 서버에서 실행 중인 방화벽이 없으면 이 옵션은 사용할 수 없습니다.

  5. 부팅 이미지 디렉토리를 찾아보려면 찾아보기를 클릭합니다. 기본 디렉토리 /srv/tftpboot가 생성되고 자동으로 선택됩니다.

  6. 완료를 클릭하여 설정을 적용하고 서버를 시작합니다.

9.2.2 TFTP 서버를 수동으로 설정

  1. root로 로그인하고 패키지 tftpxinetd를 설치합니다.

  2. /etc/xinetd.d에 있는 xinetd의 구성을 수정하여 TFTP 서버가 부팅 시 시작되었는지 확인합니다.

    1. 이 항목이 없는 경우 touch tftp가 포함된 이 디렉토리에 있는 tftp라는 파일을 생성합니다. 그런 다음 chmod 755 tftp를 실행합니다.

    2. 파일 tftp를 열고 다음 행을 추가합니다.

      service tftp
      {
              socket_type            = dgram
              protocol               = udp
              wait                   = yes
              user                   = root
              server                 = /usr/sbin/in.tftpd
              server_args            = -s /srv/tftpboot
              disable                = no
      }
    3. 파일을 저장하고 systemctl restart xinetd로 xinetd를 다시 시작합니다.

9.3 TFTP 서버에서 파일 설치

다음 절차에서는 32비트 및 64비트의 x86 아키텍처에서 UEFI 및 BIOS를 사용하여 대상 시스템용 서버를 준비하는 방법을 설명합니다. 준비된 구조에서는 이미 AArch64 시스템을 제공합니다.

9.3.1 구조 준비

이 절차에서는 OS_VERSIONSP_VERSION을 사용되는 운영 체제 및 서비스 팩 버전으로 바꿉니다. 예를 들어 sles12sp5를 사용합니다.

  1. /srv/tftpboot에서 다양한 옵션을 지원하는 구조를 생성합니다.

    root # mkdir -p /srv/tftpboot/BIOS/x86
    root # mkdir -p /srv/tftpboot/EFI/x86/boot
    root # mkdir -p /srv/tftpboot/EFI/aarch64/boot
    root # mkdir -p /srv/install/x86/OS_VERSION/SP_VERSION/cd1
    root # mkdir -p /srv/install/aarch64/OS_VERSION/SP_VERSION/cd1
  2. SUSE 웹사이트에서 필요한 모든 아키텍처용 SUSE Linux Enterprise Server 12 SP5의 DVD ISO 이미지를 다운로드합니다.

  3. 8.6절 “서버에서 설치 미디어의 ISO 이미지 사용”에 설명된 대로 ISO 파일을 탑재합니다. 재부팅 후 파일을 사용할 수 있도록 하려면 /etc/fstab에 항목을 생성합니다. 표준 설치에는 DVD 1만 필요합니다.

    root # mount -o loop PATH_TO_ISO /srv/install/ARCH/OS_VERSION/SP_VERSION/cd1/

    필요한 모든 아키텍처에 대해 이 단계를 반복하고 ARCHx86 또는 aarch64로 바꾸고 PATH_TO_ISO를 해당 iso 파일의 경로로 바꿉니다.

  4. x86 BIOS 및 UEFI 부팅에 필요한 kernel, initrdmessage 파일을 적절한 위치로 복사합니다.

    root # cd /srv/install/x86/OS_version/SP_version/cd1/boot/x86_64/loader/
    root # cp -a linux initrd message /srv/tftpboot/BIOS/x86/
  5. /srv/install 경로를 NFS를 통해 사용할 수 있는지 확인합니다. 자세한 내용은 8.2절 “수동으로 NFS 리포지토리 설정”을(를) 참조하십시오.

9.3.2 x86용 BIOS 파일

  1. pxelinux.0을 TFTP 폴더로 복사하고 구성 파일용 하위 폴더를 준비합니다.

    root # cp /usr/share/syslinux/pxelinux.0 /srv/tftpboot/BIOS/x86/
    root # mkdir /srv/tftpboot/BIOS/x86/pxelinux.cfg
  2. /srv/tftpboot/BIOS/x86/pxelinux.cfg/default를 생성하고 다음 줄을 추가합니다.

    default install
    
    # hard disk
    label harddisk
     localboot -2
    # install
    label install
     kernel linux
     append initrd=initrd install=nfs://192.168.1.1:/srv/install/x86/OS_version/SP_version/cd1
    
    display message
    implicit 0
    prompt 1
    timeout 5
  3. 방금 편집한 default 파일을 반영하여 /srv/tftpboot/BIOS/x86/message 파일을 편집합니다.

    Welcome to the Installer Environment!
    
    To start the installation enter 'install' and press <return>.
    
    Available boot options:
     harddisk   - Boot from Hard Disk (this is default)
     install    - Installation

9.3.3 x86용 UEFI 파일

이 절차에서는 OS_versionSP_version을 사용되는 운영 체제 및 서비스 팩 버전으로 바꿉니다. 예를 들어 sles12sp5를 사용합니다.

  1. UEFI 부팅에 필요한 grub2 파일을 모두 복사합니다.

    root # cd /srv/install/x86/OS_version/SP_version/cd1/EFI/BOOT
    root # cp -a bootx64.efi grub.efi MokManager.efi /srv/tftpboot/EFI/x86/
  2. 커널 및 initrd 파일을 디렉토리 구조로 복사합니다.

    root # cd /srv/install/x86/OS_version/SP_version/cd1/boot/x86_64/loader/
    root # cp -a linux initrd /srv/tftpboot/EFI/x86/boot
  3. 적어도 다음 내용을 포함하여 /srv/tftpboot/EFI/x86/grub.cfg 파일을 만듭니다.

    set timeout=5
    menuentry 'Install OS_version SP_version for x86_64' {
      linuxefi /EFI/x86/boot/linux \
       install=nfs://192.168.1.1/srv/install/x86/OS_version/SP_version/cd1
      initrdefi /EFI/x86/boot/initrd
    }

9.3.4 AArch64용 UEFI 파일

이 절차에서는 OS_versionSP_version을 사용되는 운영 체제 및 서비스 팩 버전으로 바꿉니다. 예를 들어 sles12sp5를 사용합니다.

  1. x86_64 EFI 환경과 아주 비슷한 방법으로 수행됩니다. 먼저 grub2-efi 환경의 UEFI 부팅에 필요한 파일을 복사합니다.

    root # cd /srv/install/aarch64/OS_version/SP_version/cd1/EFI/BOOT
    root # cp -a bootaa64.efi /srv/tftpboot/EFI/aarch64/
  2. 커널 및 initrd를 디렉토리 구조로 복사합니다..

    root # cd /srv/install/aarch64/OS_version/SP_version/cd1/boot/aarch64
    root # cp -a linux initrd /srv/tftpboot/EFI/aarch64/boot
  3. 이제 /srv/tftpboot/EFI/grub.cfg 파일을 생성하고 다음 내용을 추가합니다.

    menuentry 'Install OS_version SP_version' {
      linux /EFI/aarch64/boot/linux network=1 usessh=1 sshpassword="suse" \
       install=nfs://192.168.1.1:/srv/install/aarch64/OS_version/SP_version/cd1 \
       console=ttyAMA0,115200n8
      initrd /EFI/aarch64/boot/initrd
    }

    구성 파일에 추가되는 이 내용은 직렬 콘솔을 활성화하고 SSH를 통한 설치를 가능하게 하는 몇 가지 다른 옵션을 포함하며, 표준 KVM 콘솔 인터페이스가 없는 시스템에 유용합니다. 특정 ARM 플랫폼에 대한 설정임을 확인할 수 있습니다.

9.4 PXELINUX 구성 옵션

여기에 나열된 옵션은 PXELINUX 구성 파일에 사용할 수 있는 모든 옵션의 하위 집합입니다.

APPEND OPTIONS

하나 이상의 옵션을 커널 명령줄에 추가합니다. 이 옵션은 자동 부팅과 수동 부팅 모두에 추가됩니다. 옵션은 커널 명령의 맨 처음에 추가되고, 명시적으로 입력된 커널 옵션을 무효화하도록 일반적으로 허용됩니다.

APPEND -

아무것도 추가하지 않습니다. LABEL 섹션에서 인수로 단일 하이픈이 있는 APPEND는 전역 APPEND를 무효화하는 데 사용할 수 있습니다.

DEFAULT KERNEL_OPTIONS...

기본 커널 명령줄을 설정합니다. PXELINUX가 자동으로 부팅되면 자동 옵션이 자동으로 추가되어 자동 부팅을 나타내는 것을 제외하고, DEFAULT 이후의 항목이 부팅 프롬프트 시 입력된 것처럼 작동합니다.

구성 파일이 없거나 DEFAULT 항목이 구성 파일에 정의되지 않은 경우 기본값은 옵션이 없는 커널 이름 linux입니다.

IFAPPEND FLAG

FLAG 값에 따라 특정 옵션을 커널 명령줄에 추가합니다. IFAPPEND 옵션은 PXELINUX에서만 사용 가능합니다. FLAG에는 다음과 같은 값이 필요합니다(표 9.1. “생성 및 추가된 IFAPPEND에서 커널 명령줄 옵션” 참조).

표 9.1: 생성 및 추가된 IFAPPEND에서 커널 명령줄 옵션

인수

생성된 커널 명령줄/설명

1

ip=CLIENT_IP:BOOT_SERVER_IP:GW_IP:NETMASK

DHCP/BOOTP 또는 PXE 부팅 서버의 입력을 기반으로 자리 표시자가 바뀝니다.

이 옵션은 부팅된 시스템에서 DHCP 클라이언트를 실행하기 위한 대체 옵션이 아닙니다. 정기적으로 갱신하지 않으면 PXE BIOS가 얻은 임대가 만료되므로 IP 주소를 DHCP 서버가 다시 사용할 수 있습니다.

2

BOOTIF=MAC_ADDRESS_OF_BOOT_INTERFACE

DHCP 서버에서 응답을 받을 때까지 설치 서버가 LAN 인터페이스를 하나씩 검색할 때 시간 제한을 방지하려면 이 옵션이 유용합니다. 이 옵션을 사용하면 initrd 프로그램에서 시스템이 부팅되는 인터페이스를 결정할 수 있습니다. linuxrc에서 이 옵션을 읽고 이 네트워크 인터페이스를 사용합니다.

4

SYSUUID=SYSTEM_UUID

소문자로 된 16진수의 UUID를 추가합니다. /usr/share/doc/packages/syslinux/pxelinux.txt 참조

LABEL LABEL KERNEL IMAGE APPEND OPTIONS...

LABEL이 부팅 시 커널로 입력되면 PXELINUX는 대신 IMAGE를 부팅해야 하고, 지정된 APPEND 옵션을 첫 번째 LABEL 명령 전에 파일의 전역 섹션에서 지정된 옵션 대신 사용해야 함을 나타냅니다. IMAGE의 기본값은 LABEL과 동일하고, APPEND가 지정되지 않은 경우 기본값은 전역 항목(있는 경우)입니다. 최대 128개의 LABEL 항목이 허용됩니다.

PXELINUX는 다음 구문을 사용합니다.

label MYLABEL
  kernel MYKERNEL
  append MYOPTIONS

레이블은 파일 이름이었던 것처럼 바뀌고, 바뀐 후에는 고유해야 합니다. 예를 들어 v2.6.30v2.6.31의 두 레이블은 두 항목 모두 동일한 DOS 파일 이름으로 바뀌기 때문에 PXELINUX에서 구분할 수 없게 됩니다.

커널이 Linux 커널일 필요는 없으며 부팅 섹터나 COMBOOT 파일일 수도 있습니다.

LOCALBOOT TYPE

PXELINUX에서 KERNEL 옵션 대신 LOCALBOOT 0을 지정하는 것은 이 특수 레이블을 호출하는 것을 의미하며, 이로 인해 커널 부팅 대신 로컬 디스크 부팅이 실행될 수 있습니다.

인수

설명

0

일반 부팅을 수행합니다.

4

메모리에 있는 UNDI(Universal Network Driver Interface) 드라이버를 사용하여 로컬 부팅을 수행합니다.

5

메모리에 있는 UNDI 드라이버를 포함하여 전체 PXE 스택이 있는 로컬 부팅을 수행합니다.

모든 다른 값은 정의되지 않았습니다. UNDI 또는 PXE 스택의 정의를 모르는 경우 0을 지정하십시오.

TIMEOUT TIME-OUT

부팅 프롬프트에서 자동으로 부팅될 때까지 기다려야 하는 시간을 1/10초 단위로 나타냅니다. 키보드의 아무 키나 누르면 시간 초과가 취소되고, 시작된 명령을 사용자가 완료할 것이라고 가정합니다. 제로(0) 시간 초과는 시간 초과를 완전히 비활성화합니다(이 항목도 기본값임). 허용 가능한 최대 시간 초과 값은 35996입니다(1시간 미만).

PROMPT flag_val

flag_val이 0인 경우 Shift 또는 Alt 키를 눌렀거나 Caps Lock 또는 Scroll Lock 키를 설정(기본값)한 경우에만 부팅 프롬프트를 표시합니다. flag_val이 1인 경우 항상 부팅 프롬프트를 표시합니다.

F2  FILENAME
F1  FILENAME
..etc...
F9  FILENAME
F10 FILENAME

부팅 프롬프트에서 기능 키를 눌렀을 때 화면에 나타난 파일을 표시합니다. 이 파일은 프리부팅 온라인 도움말(커널 명령줄 옵션에 해당)을 구현하는 데 사용할 수 있습니다. 이전 릴리스에서의 이전 버전과의 호환성의 경우 F10F0으로도 입력할 수 있습니다. 현재는 파일 이름을 F11F12로 바인딩할 방법이 없습니다.

9.5 PXE 부팅을 위한 대상 시스템 준비

BIOS 부팅 순서에 PXE 옵션을 포함시켜 PXE 부팅을 위한 시스템의 BIOS를 준비합니다.

주의
주의: BIOS 부팅 순서

PXE 옵션을 BIOS의 하드 디스크 부팅 옵션 앞에 배치하지 마십시오. 그렇지 않으면 이 시스템은 부팅할 때마다 재설치를 시도합니다.

9.6 WOL(Wake On Lan)을 위한 대상 시스템 준비

WOL(Wake On Lan)에는 설치 전에 활성화할 적합한 BIOS 옵션이 필요합니다. 대상 시스템의 MAC 주소도 기록해 두십시오. 이 데이터는 WOL(Wake On Lan)을 시작하는 데 필요합니다.

9.7 WOL(Wake On Lan)

WOL(Wake On Lan)을 사용하면 시스템의 MAC 주소가 포함된 특수 네트워크 패킷에서 시스템을 켤 수 있습니다. 전 세계 모든 시스템에는 고유 MAC ID가 있기 때문에 잘못된 시스템을 실수로 켜는 것에 대해 걱정할 필요가 없습니다.

중요
중요: 여러 네트워크 세그먼트에 대한 WOL(Wake On Lan)

제어 시스템이 활성화해야 하는 설치 대상으로 동일한 네트워크 세그먼트에 없는 경우 멀티캐스트로 전송할 WOL 요청을 구성하거나, 이러한 요청을 보낸 사람으로 역할을 수행할 해당 네트워크 세그먼트에서 시스템을 원격으로 제어합니다.

SUSE Linux Enterprise Server의 사용자는 WOL이라는 YaST 모듈을 사용하여 WOL(Wake On Lan)을 쉽게 구성할 수 있습니다. 다른 버전의 SUSE Linux 기반 운영 체제 사용자는 명령줄 도구를 사용할 수 있습니다.

9.8 YaST를 사용하여 WOL(Wake On Lan)

  1. root로 로그인합니다.

  2. YaST ›  네트워크 서비스 ›  WOL을 시작합니다.

  3. 추가를 클릭하고 대상 시스템의 호스트 이름과 MAC 주소를 입력합니다.

  4. 이 시스템을 켜려면 해당 항목을 선택하고 부팅하기를 클릭합니다.

9.9 PXE 대신 CD 또는 USB 드라이브에서 부팅

PXE를 통해 부팅하는 대신 작은 시스템 이미지가 포함된 CD, DVD 또는 USB 드라이브를 사용할 수도 있습니다. 커널 및 initrd가 로드되면 필요한 파일이 NFS를 통해 로드됩니다. 부팅 가능 이미지는 mksusecd로 생성할 수 있습니다. 이 방법은 대상 시스템에서 PXE 부팅을 지원하지 않는 경우 유용합니다.

sudo zypper in mksusecd를 사용하여 설치합니다. 다음 명령을 사용하여 부팅 가능 ISO 이미지를 만듭니다.

tux > mksusecd --create image.iso \
--net=nfs://192.168.1.1:/srv/install/ARCH/OS_VERSION/SP_VERSION/cd1  \
/srv/tftpboot/EFI/ARCH/boot

ARCH를 대상 시스템 아키텍처에 해당하는 폴더로 바꿉니다. 또한 OS_versionSP_version9.3절 “TFTP 서버에서 파일 설치”의 경로에 따라 바꿉니다.

--net 옵션에 NFS 서버를 사용하는 대신 HTTP 리포지토리(예: openSUSE 리포지토리)를 사용할 수도 있습니다.

tux > mksusecd --create image.iso \
--net=http://download.opensuse.org/tumbleweed/repo/oss/suse \
/srv/tftpboot/EFI/ARCH/boot

image.iso를 DVD 또는 CD에 쓰거나 dd를 사용하여 USB 스틱에 쓸 수 있습니다.

root # dd if=image.iso of=/dev/USB_DEVICE

USB_DEVICE를 사용하는 USB 스틱의 장치 이름으로 바꿉니다. 실수로 다른 드라이브의 데이터를 손상하지 않도록 장치 이름을 철저히 확인하십시오.