본문 바로가기
Linux

7월 27일 Linux(2)

by 개발자 영만 2022. 7. 27.

PXE 설치 서버와 도커


PXE 설치 서버 개요

  • 시나리오
    • 회사에서 이번에 리눅스 전용의 교육장을 구축하려고 한다. 그래서 100대의 컴퓨터에 가상머신이 아닌 직접 우분투를 설치하려고 한다. 처음에는 우분투 DVD 몇 개를 준비한 후, 들고 왔다갔다하면서 설치할 계획이었다. 시간이 오래 걸리겠지만 가능한 방법이다. 그런데 보안 문제 때문에 교육장 컴퓨터는 입/출력을 할 수 있는 Floppy/DVD/USB 장치를 모두 제거했다는 문제가 있다. 이 상태로는 3장에서 배운 설치 방법으로 설치할 방법이 없다.
  • 해결책
    • PXE 설치 서버

PXE 설치 서버의 개념과 구현

  • PXE 설치 서버의 개념도

실습

Server

  • PXE 서버 설치
    • apt -y install isc-dhcp-server tftpd-hpa inetutils-inetd vsftpd pxelinux
  • 방화벽 비활성화 - 관련 포트를 열어야 하는데, 관련 포트가 여러 개이므로
    • ufw disable
  • 우분투 20.04 Server DVD 파이를 다운로드하고 필요한 파일을 복사하자
  • /srv/ftp/pub 폴더를 생성하고 이 폴더에 ISO 파일을 다운로드
  • 다운로드한 ISO 파일을 마운트해서 일부 파일을 /srv/tftp 폴더에 복사
    • mount ubuntu-20.04-live-server-amd64.iso /mnt - ISO 파일 마운트
    • cp /mnt/casper/vm* /srv/tftp
    • cp /mnt/casper/initrd* /srv/tftp
    • cp /usr/lib/syslinux/modules/bios/ldlinux.c32 /srv/tftp/
    • umount /mnt

  • 부팅 관련 파일을 /srv/tftp 폴더에 다운로드 한다.
  • DHCP, TFTPD 등을 설정하자. 추가로 PXE 부팅을 허용하도록 추가해주는 작업만 하면 된다.
    • gedit /etc/dhcp/dhcpd.conf
    • subnet 192.168.111.0 netmask 255.255.255.0 {
          option routers 192.168.111.2;
          option subnet-mask 255.255.255.0;
          range dynamic-bootp 192.168.111.200 192.168.111.220;
          option domain-name-servers 192.168.111.2;
          allow booting;
          allow bootp;
          next-server 192.168.111.100;
          option bootfile-name "pxelinux.0";
      }

  • /srv/tftp/pxelinux.cfg 폴더를 생성한 후 default 이름의 빈 파일을 만든다.
    • mkdir pxelinux.cfg
    • cd pxelinux.cfg
    • touch default

  • /srv/tftp/pxelinux.cfg/default 파일에 다음 내용을 입력하자.

  • gedit /etc/vsftpd.conf 파일을 열고 25행 anonymous_enable=NO를 YES로 변경
  • PXE 설치 서버와 관련된 isc-dhcp-server, vsftpd, tftpd-hpa 서비스를 재시작, 상시 가동 한다.
    • systemctl restart/enable isc-dhcp-server
    • systemctl restart/enable vsftpd
    • systemctl restart/enable tftpd-hpa
  • 직접 구축할 DHCP 서버를 사용하기 위해 VMware가 제공하는 DHCP 서버 기능을 끄자.
    • Virtual Network Editor에서 VMnet8의 Use local DHCP service to distribute IP address to VMs 체크 해제

새 가상머신

  • Memory, Processors, Hard Disk, Network Adapter, Display 만 있는 가상머신을 직접 만들자
  • 주의할 점은 RAM을 4GB로 설정해야한다.
  • 가상머신을 부팅하면 자동으로 IP 주소를 할당받고, 스스로 tftp에 접속해서 파일을 다운로드할 것이다.
  • 성공하면 다음과 같은 설치 화면이 나올 것이다.

도커의 개념

  • 도커Docker란 작은 운영체제를 포함한 가상화 기술을 의미
  • 가상 컴퓨터는 완전한 OS를 포함한 독립된 컴퓨터로 간주되며 상당히 무거움
  • 도커는 가상 컴퓨터와 거의 비슷한 기능을 갖고 있으면서도 훨씬 가볍게 생성하고 운영
  • 도커에서 사용되는 작은 컴퓨터를 컨테이너Container라고 부른다.

가상 컴퓨터와 컨테이너의 차이점

실습

  • 도커 패키지 설치
    • apt -y install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
  • GPG키 추가

  • 도커가 잘 작동하는지 테스트
    • docker run hello-world

  • 도커 사용법을 익히고 센토스의 Bash 셀을 설치하고 사용해보자.
  • 먼저 https://hub.docker.com 에 접속해 centos 검색
  • 다운로드 수가 많은 centos를 클릭하고 다운로드하기 위한 방법 확인

  • 센토시 이미지를 다운로드
    • docker pull centos

  • 컨테이너를 실행해보자
    • docker run -it centos bash -> 실행하면 프롬프트가 변경될 것이다.
  • 이제 센토스 Bash 셀 명령을 사용할 수 있다. 센토스의 버전을 확인해보자.
    • cat /etc/system-release
  • 확인했으면 exit 명령으로 컨테이너를 종료한다.

  • 설치된 컨테이너의 이름, ID, 크기 등을 확인해보자.
    • docker images

  • 설치된 컨테이너의 상세한 내용을 확인해보자.
    • docker container ls -a

  • 컨테이너 이미지를 삭제해보자
    • docker rm 컨테이너ID

'Linux' 카테고리의 다른 글

7월 28일 Linux  (0) 2022.07.28
7월 27일 Linux(1)  (0) 2022.07.27
7월 26일 Linux(2)  (0) 2022.07.26
7월 26일 Linux(1)  (0) 2022.07.26