★PXE(Pre-boot eXecution Environment) execution:처리 environment:환경 전처리환경
- 사전 부팅 실행 환경
- 네트워크 인터페이스를 통해 컴퓨터를 부팅하는 환경
- 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 서버 활성화
- 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 |