더북(TheBook)

초보 시스템 관리자의 일기 | 실무에 퍼펫 도입하기

가만히 앉아서 모든 시스템을 통제한다. 퍼펫이야 말로 시스템 관리자의 ‘절대 반지’가 아니겠는가. 퍼펫을 실무에서 사용하기에 앞서 추가로 알아둘만한 내용들을 메모해뒀다.

먼저 ‘시스템 자동 설치 과정에서 퍼펫 함께 설치하기’다. 우분투 시스템을 자동으로 설치하는 과정에서 puppet 패키지를 함께 설치하고 인증까지 처리할 수 있다면 시스템 설치부터 관리까지 모든 과정을 자동화할 수 있다. 이렇게 되면 시스템 관리자에게 휴가를 좀 더 줘도 문제없지 않을까?!

일단 새로 설치할 가상 시스템 vm03과 vm04를 준비한다.

shinjaehun@losttemple:~$ sudo virt-clone --original guest --name vm03 -file /home/shinjaehun/virtual_machines/vm03.img
shinjaehun@losttemple:~$ sudo virt-clone --original guest --name vm04 --file /home/shinjaehun/virtual_machines/vm04.img

virsh edit 명령으로 게스트 장치 정보를 열어 수정한다.

shinjaehun@losttemple:~$ virsh edit vm03

<boot> 항목으로 부팅할 장치를 추가한다. <mac address>를 찾아 네트워크 인터페이스의 하드웨어 주소도 알아둬야 한다. 설정을 변경했으면 libvirt-bin 서비스를 재시작해서 반영한다.

<os>
  <type arch='i686' machine='pc-1.0'>hvm</type>
  <boot dev='network' />
  <boot dev='hd'/>
</os>

vm04에 대한 설정도 수정했으면 libvirt-bin을 재시작한다.

shinjaehun@losttemple:~$ sudo service libvirt-bin restart

DHCP 서버 설정 파일에도 새로 추가할 시스템에 대한 정보가 포함되어야 한다. DHCP 서버 설정 파일을 vi로 열어서 새로운 시스템에 대한 호스트 정보를 추가한다.

shinjaehun@losttemple:~$ sudo vi /etc/dhcp/dhcpd.conf

네트워크 부팅이 가능하도록 next-server와 filename 행에 있던 주석도 해제해야 한다.

subnet 192.168.122.0 netmask 255.255.255.0 {
        range 192.168.122.101 192.168.122.254;
        option subnet-mask 255.255.255.0;
        option broadcast-address 192.168.122.255;
        option routers 192.168.122.1;
        option domain-name-servers 192.168.122.1;

        next-server 192.168.122.1;
        filename "pxelinux.0";
...
        host vm03.linuxmaster.com {
                option host-name "vm03.linuxmaster.com";
                hardware ethernet 52:54:00:9c:ea:ef;
                fixed-address 192.168.122.103;
        }

        host vm04.linuxmaster.com {
                option host-name "vm04.linuxmaster.com";
                hardware ethernet 52:54:00:04:98:4d;
                fixed-address 192.168.122.104;
        }
}

설정을 변경했으면 DHCP 서버를 재시작한다.

gunsmoke@losttemple:$ sudo service isc-dhcp-server restart

이제 puppet 패키지를 다운로드하고 퍼펫 마스터와 에이전트 사이의 인증을 처리하는 과정을 시스템 자동 설치 후 처음 실행하는 스크립트에 포함시킨다. 시스템 초기화 셸 스크립트 ‘initialscript.sh’를 vi로 수정한다.

shinjaehun@losttemple:~$ sudo vi /var/www/html/initialscript.sh
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.