WDS관련해서는 마지막 강좌가 될 것 같습니다. WDS를 이용해서 리눅스 시스템을 자동설치하는 과정입니다.
전체 과정은 간단합니다. WDS설치 폴더에 리눅스 부팅이미지(vmlinuz,initrd.img)를 복사해 두고 네트워크로 부팅한 다음 ks파일을 넘겨줘서 자동으로 리눅스를 설치하는 과정입니다.
기본적으로 레드햇 리눅스 계열은 kickstart라는 네트워크 설치 프로세서를 제공한다.
대부분의 경우 tftp서버 및 nfs,http,dhcp서버등을 리눅스로 구성한 다음 네트워크 설치를 구성하지만 필자의 경우 windows 시스템과 리눅스 시스템이 혼용이 되어 있어서 간략한 시스템을 구성하기 위해 통합 작업을 하였다. 아래 포스트에 WDS와 syslinux를 이용한 네트워크 설치 서버 구성편을 읽어보고 구성이 되어 있다고 가정한다.
전체적인 작업 순서
- WDS에 리눅스 부팅 이미지를 적당한 곳에 위치한다. 리눅스 부팅 이미지는 설치CD/images/pxeboot/ 에 커널(vmlinux) 과 초기화램디스크 이미지(initrd.img) 두개의 파일을 이용해서 네트워크 부팅을 시작
- 자동설치를 위해서 kickstart 설정파일(ex. ks.cfg) 파일을 생성하고 적당한 위치에 둔다. ks파일은 http,ftp,nfs등을 이용해서 접근하도록 구성하면 된다.
ex) http://example.com/ks/rhel6-32bit.ks.cfg ,ftp://example.com/ks/rhel6-32bit.ks.cfg,nfs://nfsserver/ks/ks.cfg - 네트워크 부팅 후 initrd 에 kickstart 설치 값을 전달한다.(WDS설치디렉토리(RemoteInstall)\Boot\x86\pxelinux.cfg\default 파일에서 설정해 준다.)
예제)LABEL CentOS 6.8(64bit) MENU LABEL CentOS 6.8 64bit KERNEL /Linux/CentOS/6.8/x86_64/vmlinuz APPEND initrd=/Linux/CentOS/6.8/x86_64/initrd.img ks=ftp://192.168.30.100/ks/cent6-ks.cfg
Kickstart환경설정 파일 생성
kickstart설치를 위한 환경설정 파일은 미리 만들어진 파일을 참고하여 만들어도 되고 가장 편한 방법은 레드햇 계열의 시스템을 설치하면 자동으로 생성되는 anaconda-ks.cfg(/root 디렉토리에 자동생성된다.) 를 이용하는 방법이 있다.
아래는 Centos 6 ks.cfg 예제이다. Centos 7버전은 형식이 조금 달라졌으니 확인하기 바란다.
install #설치할 것인지 업그레이드 할 것인지 선택 text # text모드로 설치 url --url http://ftp.daumkakao.com/centos/6.8/os/x86_64 #미러서버 경로(내부에 구성했다면 내부서버경로를 잡아주자) lang en_US.UTF-8 #설치 언어 keyboard us #키보드 설정 network --onboot no --device eth0 --bootproto dhcp --noipv6 #네트워크 설정 rootpw --iscrypted $6$bsimcTMIypuVEJKu$yeYkKkqQUSW8nwhx4HbCL8x9V6KqBC9.nMVMlTLwfO.# root사용자 비번 firewall --service=ssh #방화벽 설정 authconfig --enableshadow --passalgo=sha512 # 인증 및 암호화 알고리즘 selinux --disabled # selinux설정 timezone --utc Asia/Seoul # 시간설정 bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet" # 부트로더 설정 clearpart --all --drives=sda #sda의 기존 파티션을 모두 삭제한다.주의할 것! part /boot --fstype=ext4 --size=500 part pv.008002 --grow --size=1 volgroup vg_lvs --pesize=4096 pv.008002 logvol / --fstype=ext4 --name=lv_root --vgname=vg_lvs --grow --size=1024 --maxsize=51200 logvol swap --name=lv_swap --vgname=vg_lvs --grow --size=1638 --maxsize=1638 %packages --nobase #설치할 패키지 @core #패키지 및 패키지 그룹을 적어준다. %end
참고) 암호화된 rootpw 생성방법
anaconda로 생성된 ks 파일에 이미 설치할때 입력한 root패스워드를 이용하지 않고 새롭게 입력하고 한다면 아래의 방법을 사용하도록 하자. 생성된 암호를 rootpw 라인에 넣어주면 된다.
- 암호화 알고리즘을 md5 로 설정한 경우(
authconfig --enableshadow --enablemd5)
openssl passwd -1 "사용할패스워드"
grub-crypt --md5
- 암호화 알고리즘을 sha512 로 사용하는 경우(authconfig --enableshadow --passalgo=sha512)
grub-crypt --sha-512
|