티스토리 뷰
CentOS 강좌 PART 2. 10 PXE기반의 CentOS 서버 자동 구축 2편
10. KickStart 구성
먼저 kickstart 파일을 구성한다. Kickstart 파일은 기존 운영중이거나, 샘플로 삼을 리눅스 서버에서 copy해서 사용해도 된다.
여기서는 PXE server에 설치된 파일을 그대로 사용한다.
1 2 3 4 5 6 | [root@centrepo ~]# touch /var/ftp/pub/centos/centos7.cfg [root@centrepo ~]# cp /anaconda-ks.cfg /var/ftp/pub/centos/centos7.cfg [root@centrepo ~]# chmod 755 /var/ftp/pub/centos/centos7.cfg # 현재 시스템에 사용 중인 kickstart 파일을 그대로 활용하고, 일부 수정한다. # 설치시 클라이언트가 사용하기 때문에 권한 설정을 변경해 준다. | cs |
복제된 kickstart 파일을 수정한다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 | [root@centrepo whchoi]# openssl passwd -1 1234Qwer $1$chjTYEgU$Rkr9yKAqEfhHT78ObeJJp0 # kickstart 구성 이전에 해야 할 일이 있다. 이것은 kickstart 파일에 포함될 패스워드이다. # 암호화로 변경해서 복사해 둔 후 kickstart 설정시 입력한다. [root@centrepo whchoi]# vi /var/ftp/pub/centos/centos7.cfg #version=DEVEL # System authorization information auth --enableshadow --passalgo=sha512 # Use network installation url --url="ftp://10.72.78.253/pub/centos/“ ### network 기반 설치로, centos가 이미지가 위치한 경로를 지정해 준다. FTP 디렉토리이다. # Use graphical install graphical # Run the Setup Agent on first boot firstboot --enable ignoredisk --only-use=sda # Keyboard layouts keyboard --vckeymap=us --xlayouts='us','kr' # System language lang en_US.UTF-8 --addsupport=ko_KR.UTF-8 ## 기존에 사용중인 PXE의 환경을 그대로 수용한다. # Network information network --bootproto=dhcp --device=ens192 --activate network --hostname=localhost.localdomain ## 네트워크 환경설정 부분이다. 가상화 VM으로 ens192를 사용중이다. # Root password rootpw --iscrypted $1$chjTYEgU$Rkr9yKAqEfhHT78ObeJJp0 # System services services --enabled="chronyd" # System timezone timezone Asia/Seoul --isUtc --nontp user --groups=wheel --name=whchoi --password=$1$chjTYEgU$Rkr9yKAqEfhHT78ObeJJp0/ --iscrypted --gecos=“whchoi" #앞서 선언한 패스워드를 root와 Admin user에게 동일하게 넣어 준다. # 시간대 설정과 시스템 서비스등을 선언한다. # System bootloader configuration bootloader --append=" crashkernel=auto" --location=mbr --boot-drive=sda autopart --type=lvm # Partition clearing information clearpart --none --initlabel # 파티션에 대한 정보도 넣어 준다. LVM으로 자동 파티션을 사용한다. %packages @^minimal @core kexec-tools net-tools chrony # 추가로 필요한 패키지를 사전에 설치할 수 있다. ISO 파일에 있는 기본 패키지를 필요한 것을 선언한다. %end %addon com_redhat_kdump --enable --reserve-mb='auto' %end %anaconda pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty pwpolicy user --minlen=6 --minquality=1 --notstrict --nochanges --emptyok pwpolicy luks --minlen=6 --minquality=1 --notstrict --nochanges --notempty %end | cs |
11. 주요 서비스 재구동.
이제 모든 구성이 완료됐으므로, 시스템들을 Restart시켜 준다.
1 2 3 4 5 6 | [root@centrepo ~]# systemctl restart dhcpd [root@centrepo ~]# systemctl restart tftp [root@centrepo ~]# systemctl restart xinetd [root@centrepo ~]# systemctl reenable vsftpd # 주요 서비스들을 재구동 시킨다. | cs |
12. VM Template 생성
PXE booting 자동화를 시험하기 위해, vCenter에서 템플릿 하나를 생성한다.
전원을 켜고 시스템을 구동한다.
vCenter Console을 통해서 보면 앞에서 설정한 PXE 환경 설정 라벨이 부팅과 동시에 보인다.
또한 곧바로 TFTP 서버를 통해서 PXE Kernel과 이미지가 로딩되는 것을 확인할 수 있다.
PXE가 부팅되면서 환경설정 파일이 함께 로딩되고, CentOS7 로딩이 된다.
로딩이 완료되면, 실제 CentOS 구성환경 화면을 콘솔을 통해서 확인 할 수 있다.
별도 구성없이 이미 KickStart에서 설정된 것이 모두 백그라운드로 설정되어 화면에 나타난다.
패스워드 설정도 앞서 kickstart에서 구성한 데로 자동 설정되며, 패키지도 자동 설치되는 것을 볼 수 있다.
잠시만 기다리면 모두 자동설치 완료가 된다.
실제 PXE/TFTP/DHCP 서버에서 로그를 확인해 보면 실제 동작 과정을 상세히 지켜 볼 수 있다.
제일 먼저 PXE 를 위한 DHCP가 동작하고,
이후 PXE TFTP를 통해서 PXE kernel, 이미지, 설정 파일등이 로딩되는 것을 확인 할 수 있다.
이후 정상적으로 CentOS가 설치가 시작되면 네트워크 재구성이 일어나므로 다시 DHCP가 동작하는 것이 확인된다.
만약 기업용 버전으로 vCenter 로 설치 구성한다면, vCenter Template에서도 이러한 기능들이 지원되므로 충분히 더 편리하게 구성할 수 있다.
하지만 내부에서 Vagrant, Virtual Box등이나 개인용 가상화등을 사용할 경우, 물리적인 서버 배포 등을 구현할 경우에는 앞서 소개한 PXE/KickStart로 구성하게 되면 편리하게 구성이 가능하며, 이후 패키지는 Ansible/Puppet/Chef 등과 같은 도구로 추가적인 관리가 가능하다.
'운영체제 > CentOS 강좌' 카테고리의 다른 글
CentOS 강좌 PART 2. 10 PXE기반의 CentOS 서버 자동 구축 1편 (2) | 2019.04.05 |
---|---|
CentOS 강좌 PART 2. 9 DHCP 서버 구축 (0) | 2019.04.04 |
CentOS 강좌 PART 2. 8 SAMBA 서버 구축과 운영 (1) | 2019.04.03 |
CentOS 강좌 PART 2. 7 NFS 서버 구축과 운영 (0) | 2019.04.02 |
CentOS 강좌 PART 2. 6 FTP 서버 구축과 운영 (1) | 2019.04.02 |
공지사항