Fall in IT.

KVM 가상환경 구축 본문

시스템구축

KVM 가상환경 구축

D.Y 2016. 2. 21. 02:47

서버장비에 KVM 가상환경을 구축합니다. (구축 시 필요한 개념들도 하나하나 정리합니다.)


목적 

서버장비에 Linux(CentOS)를 설치 후 가상환경을 구축하여, 동일 네트워크 망에서 원격으로 접속하여 가상머신 관리 및 사용이 가능하게 합니다.



요구사항

  • 물리적인 서버 장비 한대에 가상화를 통하여 여러개의 가상머신을 설치하도록 합니다.
  • 원격에서 Manager-console로 접속해 가상머신을 매니지먼트(추가/삭제/수정) 할 수 있도록 합니다.
  • 사용자(다수)는 가상머신 등록 후 내부 아이피로 설정하고 가상머신에 접속해 사용하도록 합니다.

구축환경
  • 서버장비는 1대만 사용합니다. 따라서, Manager-console + Host Server가 하나의 시스템에 구축됩니다.
    (가상머신의 현재 상황을 모니터링하고 생성/삭제 등을 담당하는 관리 콘솔과 실제 가상머신을 운용하는 클라우드 호스트를 하나의 시스템에 구축합니다.)
  • 서버장비 OS는 CentOS 7을 사용하고, 올릴 하이퍼바이저로 KVM을 사용합니다.
  • 가상머신은 내부 IP를 사용하여 외부 컴퓨터의 접근이 가능하게 설정합니다. (방화벽 설정)


하이퍼바이저란?
  • 예를들어, vmware라는 소프트웨어는 윈도우즈 상에서 설치되어 윈도우즈가 접근할 있는 각종 자원을 vmware상에 설치되는 가상머신(리눅스)들이 접근할 있도록 하는 역할을 합니다.
  • 이렇게 vmware같이 호스트서버(가상머신이 설치될 원래 물리서버) 위에 설치되어 가상머신이 서버 장비의 각종자원, cpu, 네트워크, 스토리지 등을 사용할 있도록 해주는 소프트웨어를 하이퍼바이저라고 합니다.


KVM이란?
  • 리눅스 기반에서 cpu 기반의 전가상화, 하드웨어 전체를 가상화 하는 것을 지원하는 하이퍼바이저를 말합니다.
  • , 하이퍼바이저의 종류. 리눅스 커널을 기본적으로 가상화 지원됩니다.
  • KVM 레드헷 계열 리눅스, centos, fedora 기반 리눅스 등에 기본적으로 포함됩니다.


Manager-console이란?
  • 가상머신 관리 콘솔입니다. 이를 사용함으로 원격 컴퓨터에서 클라우드 호스트의 가상머신 운용상태를 효과적으로 관리 할 수 있도록 도와주는 응용프로그램입니다.



<시스템 구성도>

                                                       

위의 시스템 구성도와 동일하나, 다른점은 Manager-console과 Cloud Host서버가 1대안에 모두 구축된다는 점입니다.



구축 방법


1. 사전 준비 작업

  • 서버장비에 CentOS를 설치합니다. (CentOS 7 버전 사용하였음.)
  • CentOS 설치 시 Desktop 버전을 설치합니다. (Manager-console을 사용하여 GUI환경에서 가상머신을 컨트롤하기 위함.)
  • 패키지 관리 프로그램이 인터넷을 통하여 설치되기 때문에 인터넷을 연결합니다. 
  • SELinux를 비활성화 합니다. KVM 프로세스는 리눅스 커널을 직접 이용하므로 해제해야합니다.
    (SELinux : 리눅스의 보안 강화 버전으로 리눅스 보안 모듈 구조체를 이용하여 리눅스 커널에 대한 접근 제어를 구현하는 것.)
  • SELinux는 시스템 재시작 해야 동작하므로 reboot을 실시합니다.

2. KVM 설치 및 Bridge 네트워크 설정 작업


설치 전 확인사항

  • KVM 관련 모듈 설치 여부를 확인합니다.
  • 확인방법 : $ lsmod | grep kvm
  • 아무것도 나오지 않을 경우, 설치 되지 않음.
  • 서버의 가상화 지원 여부(KVM이 지원되는 cpu인지 확인)
  • 확인방법 : $ egrep '(vmx|svm)' --color=always /proc/cpuinfo
  • 명령 실행시 flags 정보에 VMX나 SVM이 표시되지 않는다면 BIOS설정에서 가상화 확장 기능 활성화로 변경해줘야 합니다.


KVM 설치 방법

  • $ yum install kvm libvirt qemu-kvm 입력
  • $ lsmod | grep kvm 명령어를 통해 제대로 설치가 되었는지 확인합니다. 아래의 설치된 화면과 같다면 제대로 설치된 것입니다.

Bridge 설치

  • bridge-utils가 설치되어 있는지 확인합니다.
  • $ yum info bridge-utils 명령어 입력
  • 설치되어 있지 않을 경우 $ yum install bridge-utils 입력하여 설치합니다.


br0 네트워크 카드 생성 및 설정

  • $ vi /etc/sysconfig/network-scripts/ifcfg-br0

   *추가내용

     DEVICE=br0

     NM_CONTROLLED=no

     ONBOOT=yes

     TYPE=Bridge

     BOOTPROTO=none

     IPADDR=192.168.0.171

     GREFIX=24

     GATEWAY=192.168.0.1

     DNS1=168.126.63.1

     DNS2=168.126.63.2

     NAME="System br0" 


eth0 네트워크 수정

  •  $ vi /etc/sysconfig/network-scripts/ifcfg-eth0

   *주석내용

     IPADDR=192.168.0.171 >>> #IPADDR=192.168.0.171

     NETMASK=255.255.255.0 >>> #NETMASK=255.255.255.0

     GATEWAY=192.168.0.1 >>> #GATEWAY=192.168.0.1

     DNS1=168.126.63.1 >>> #DNS1=168.126.63.1

     DNS2=168.126.63.2 >>> #DNS2=168.126.63.2

   *추가내용

     BRIDGE=br0

  • 저장 후 네트워크 재시작을 합니다.
  • $ /etc/init.d/network restart
  • 변경된 정보를 확인합니다.
  • $ ifconfig
  • 제대로 연결이 되었는지 확인을 위하여 게이트웨이에 핑테스트를 합니다.
  • $ ping "IP"
  • KVM 설치와 Bridge 설정이 완료 되었습니다.
  • 가상머신으로 올릴 OS ISO파일을 /var/lib/libvirt/images/ 로 복사합니다.


3. 관리 콘솔 설치(Manager Console)

  • 가상머신의 운영상태를 관리하는 콘솔을 설치합니다. (현재는 클라우드 호스트 서버에 설치하여 사용합니다.)
  • 다양한 가상머신 관리 콘솔이 있지만, 그 중 Virt-manager을 사용합니다. (GUI 환경으로 사용 편함. KVM말고도 XEN도 사용 가능합니다.)
  • $ yum install virt-manager
  • 설치가 완료됩니다.


4. 관리 콘솔을 이용한 원격 연결

  • virt-manager를 실행합니다.
  • 프로그램 > 시스템 도구 > 가상머신관리
  • 파일 > 연결추가를 선택하여 원격 설정을 설정합니다.
  • Connect to remote host를 체크합니다.
  • Method는 SSH를 사용합니다.
  • 사용자명은 root로 하며 호스트명은 Cloud host ip를 적도록 합니다.
  • 연결 버튼을 누르면, OpenSSH 연결시 키값을 저장한다고 경고창이 나오는데 yes를 입력하고 root의 비밀번호를 입력합니다.
  • 원격으로 Cloud host에 연결이 완료됩니다.





사용방법

  • 사용자는 Manager Console에 접근을 위해서(windows기준) Xming. putty 어플리케이션을 다운받아야 합니다.
  • putty는 ssh 접속을 위해, Xming은 Xwindow 화면을 열기위해 사용합니다.


<Xming 사용방법>

  • XLanuch 실행 -> one window -> start no client -> 클립보드 체크 -> 설정파일 저장


<putty 사용 방법>

  • 호스트명에 접속할 리눅스 서버의 ip 혹은 호스트명을 입력합니다.
  • 좌측 메뉴에서 접속(Connection) > SSH > X11 선택합니다.
  • X11 포워딩 사용(Enable X11 forwarding) 체크 후 X 디스플레이 위치(X display location) 항목에 " localhost:0 " 입력 (안해도 무방)
  • 좌측 메뉴에서 세션(Session) 메뉴 선택 후 입력한 내용 저장 후 하단의 열기 버튼 선택합니다.



<가상머신 관리 콘솔 접속 방법>

  • putty로 ssh 접속 후, virt-manager를 실행합니다.
  • $ virt-manager 입력
  • Xwindow 화면에 가상머신 관리 화면이 나타납니다.
  • 가상머신을 등록/삭제/수정 등의 작업을 실시합니다.



<securecrt 사용방법>

  • Options->Global Options을 선택합니다.
  • Category 부분의General → Default Session→Edit Default Settings버튼 클릭합니다.
  • Category 부분의Connection → Port Forwarding → Remote/X11에서 X11 Forwarding 부분에Forwarding X11 Packets 체크합니다.
  • securecrt로 ssh 접속 후, virt-manager를 실행합니다.





설치자료

  • Xming 자료
    http://sourceforge.net/projects/xming/postdownload?source=dlp
  • Putty 자료
    http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html



구축화면

Manager-console(Virt-Manager)을 사용해서 가상머신을 등록하고 실행하는 화면입니다.





참고자료

  • http://blog.bizmerce.com/?p=338, kvm 및 가상머신 os 설치
  • http://cozyboy.tistory.com/entry/xming-%EC%82%AC%EC%9A%A9putty-gui, putty+xming 사용법
  • http://keep2smile.tistory.com/85, putty+securecrt+xming 사용법
  • http://ko.wikipedia.org/wiki/%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC_%EB%B8%8C%EB%A6%AC%EC%A7%8, 네트워크 브리지에 대한 설명
  • http://www.iamroot.org/xe/Hypervisor_3_KVM/72349, kvm의 내부구조 요약





Comments