★PXE(Pre-boot eXecution Environment) execution:처리 environment:환경   전처리환경


https://access.redhat.com/documentation/ko-KR/Red_Hat_Enterprise_Linux/6/html/Installation_Guide/sn-automating-installation.html

- 사전 부팅 실행 환경

- 네트워크 인터페이스를 통해 컴퓨터를 부팅하는 환경

- Kickstart에 사용되며, 동시에 많은 서버에 OS설치시 유용

- 비용 및 인력 낭비가 줄어든다.

 

TFTP(Trivial File Transfer Protocol)

-이더넷(LAN)에서 파일을 다운받는 프로토콜

-UDP방식을 사용. 부트로더와 같은 작은 크기의 프로그램 전송시 사용

-보통 PXE와 같이 네트워크를 통해 부팅할때 사용.

 

부트로더(bootloader, 운영체제 시동하기 전 준비를 해주는 프로그램)

 

SYSLINUX

-LINUX 운영체제용 부트로더

-LINUX 설치과정을 단순화하여 부팅 디스크등에 사용되는 파일의 모음

 

<Server-B>(PXE서버)

IP를 Static으로 설정(ifcfg-bond0 | ifcfg-eth0)

yum -y install syslinux

yum -y install vsftpd

yum -y install tftp-server

yum -y install dhcp

 

syslinux : 부트 메뉴 구성을 위한 파일 및 부팅 시 필요한 파일 제공

tftp-server : PXE 부팅 직후 OS를 설치할 시스템에 리눅스 커널 이미지 전송 시 사용

vsftpd : OS설치 시 필요한 패키지 전송 시 사용

dhcp : PXE 부팅시 IP부여, vsftpd와 통신을 하기위해 사용

 

vi /etc/xinetd.d/tftp    //tftp 서버 설정 파일 수정

disable = no   //tftp 서버 활성화

 

 

cp /usr/share/doc/vsftpd-2.2.2/vsftpd.xinetd /etc/xinetd.d

- vsftp를 xinetd모드로 동작 시키기 위해 설정 파일 복사

 

vi /etc/xinetd.d/vsftpd.xinetd      //vsftpd 설정 파일 수정

disable = no   //vsftpd 활성화

 

 

 mount -t iso9660 /dev/cdrom /mnt

cd /mnt

ls

 

CD이미지 경로 (CentOS 설치 파일)

mkdir -p /var/ftp/centos/6.8/os/x86_64    //CD이미지 경로

cp -R /mnt/* /var/ftp/centos/6.8/os/x86_64

-CD이미지 파일을 전부 복사하여 로컬 저장소를 만들어 네트워크 부팅으로 부트로더를 탑재한

시스템이 필요한 파일을 vsftp를 이용하여 해당 경로에서 파일을 내려 받는다.

 

cd /usr/share/syslinux

 

복사해야할 파일 목록

pxelinux.0(네트워크 부트로더, Grub와 비슷한 역할을 한다)

menu.c32(설치 메뉴 구성 파일)

memdisk(설치 시 필요한 필수 파일)

mboot.c32(설치 시 필요한 필수 파일)

chain.c32(설치시 필요한 필수 파일)

 

cp {pxelinux.0,menu.c32,memdisk,mboot.c32,chain.c32} /var/lib/tftpboot

-설치된 syslinux 부트로더 파일을 TFTP 배포 디렉토리인 /var/lib/tftpboot에 복사

 

mkdir -p /var/lib/tftpboot/images/centos/6.8/os/x86_64/images/pxeboot

cp /var/ftp/centos/6.8/os/x86_64/images/pxeboot/* /var/lib/tftpboot/images/centos/6.8/os/x86_64

/images/pxeboot

cd /var/lib/tftpboot/images/centos/6.8/os/x86_64/images/pxeboot

ls

vmlinuz : 리눅스 커널을 컴파일한  결과인 바이너리 파일을 bzimage를 사용하여 gzip으로 압축한 파일

리눅스 부팅시 해당 파일이 압축해제 되어 메모리에 로딩이 된다.

initrd.img : 커널 모듈을 모아놓은 이미지로, 커널이 로딩되기 전 메모리에 로딩되어 마우스,키보드,그래픽카드

네트워크 카드 모듈 등이 메모리에 로딩 된다.

 

mkdir /var/lib/tftpboot/pxelinux.cfg

vi /var/lib/tftpboot/pxelinux.cfg/default  //메뉴 구성 파일

 

vi /etc/dhcp/dhcpd.conf    //dhcp설정 파일 수정

 

sentenforce 0

service xinetd restart

service vsftpd restart

service dhcpd restart

 

동작 과정

1) PXE를 통해 DHCP 서버를 발견 후에 IP를 할당 받는다

2) TFTP를 통해 /etc/dhcp/dhcp.conf 에 명시된 pxelinux.0,menu.c32,default 기타 설치 시 필요한

파일을 다운

3) default 파일의 내용대로 부팅 메뉴 실행

4) /var/lib/tftpboot/images/centos/6.8/os/x86_64/images/pxeboot 디렉토리에 위치한 initrd.img,vmlinuz

파일을 받아서 압출을 풀고 부팅

5) 부팅후 centos 설치시 필요한 파일을 받기 위해 /var/lib/tftpboot/pxelinux.cfg/default 파일에 명시한

경로에 설정된 repository경로 확인

 

vm 새로 생성(centos 64-bit)

 

 

Centos 6.8 설치

 

korean 선택

 

설치 완료 성공

 

★KICKSTART - PXE환경에서 자동으로 OS설치 시 필요한 설정 및 기본 설정을 구성해주는 서비스

 

<Server-B>

centos cd 삽입

 

yum -y install tftp-server

mkdir -p /ks/tftpboot/ {kickstart,pxelinux.cfg,centos6.8}

vi /etc/xinetd.d/tftp

 

yum -y install syslinux dhcp

 

vi /etc/dhcp/dhcpd.conf 

 

service dhcpd restart

mount -t iso9660 /dev/cdrom /mnt

yum -y install nfs-utls

 

vi /etc/exports

 

exportfs -a    //설정 적용

exportfs -v      //적용 확인

 

cp /usr/share/syslinux/pxelinux.0 /ks/tftpboot

cp /usr/share/syslinux.menu.c32 /ks/tftpboot

cd /mnt/images/pxeboot

ls

cp ./{initrd.img,vmlinuz} /ks/tftpboot/centos6.8/

 

vi /ks/tftpboot/pxelinux.cfg/default

 

cd /root

ls

vi anaconda-ks.cfg     //참고

vi /ks/tftpboot/kickstart/ks.cfg

 

service iptalbes stop

setenforce 0

service xinetd start

service rpcbind start

service nfs start

service dhcpd restart

 

vm에서 KICKSTART 적용할 리눅스 생성

 

설치 완료 이용가능

'Server > Linux' 카테고리의 다른 글

xshell/ 쉘 스크립트  (0) 2017.05.25
xshell/ WEB,APM,XE  (0) 2017.05.21
xshell/ NFS  (0) 2017.05.14
xshell/ SAMBA  (0) 2017.05.14
xshell/ NTP  (0) 2017.05.11

+ Recent posts