VI. 가상화 관리
가상화 서비스의 이해
1) 가상화 개요 및 주요 기능
*가상화 정의
•가상화는 하드웨어 플랫폼, 운영체제, 스토리지, 네트워크 리소스 등을 시뮬레이션 하는 것이다.
*가상화의 종류
[1] 하드웨어 가상화 - 운영체제와 실제 컴퓨터처럼 동작하는 가상 머신을 소프트웨어적으로 구성 한 것이다.
• 전가상화: 하드웨어를 모두 시뮬레이션 하며, 게스트 OS와 실제 하드웨어 사이를 중재하는 가상머신을 이용한다. 이때 CPU가 VT 기능을 제공해야 하며, 게스트 OS의 수정이 필요하지 않다.
• 반가상화: 하드웨어를 완전히 가상화 하지 않는데, 이로 인해 성능은 향상되지만, 게스트 OS를 수정해야 한다. 이러한 이유로 비공개 OS를 사용할 수 없다.
[2] 데스크톱 가상화 - 1대의 PC를 여러명이 나눠 쓰기 위해 개발 되었으며, 데스크톱 가상화의 한 형태인 VDI는 하드웨어 가상화의 진보된 형태로 생각 할 수 있다. 사용자는 네트워크를 통해 다른 단말을 사용하여 호스트 컴퓨터와 연결하는데, 이는 데이터 및 자원을 중앙 집중 관리할 수 있고 단물은 더욱 저렴하게 만들 수 있어 기업의 자원관리를 극대화 시킬 수 있다.
[3] 기타 가상화
• OS 레벨 가상화: 하나의 OS를 다수의 가상화된 OS 환경으로 나눠 마치 각각의 독립된 OS처럼 보이게 하는 기술이다. 하나의 물리적 서버에 여러 개의 독립된 VPS 또는 VE와 같은 운영체제 인스턴스를 실행한다. (ex. OpenVZ, LXC)
• 어플레이션 가상화: 초기 UCSD 파스칼에서 최초 시도되었고 현재 JVM처럼 프로그램소스를 컴파일하여 가상코드를 생성하여 가상머신이 설치된 곳이면 어디서든 돌아갈 수 있는 이식성 높은 프로그램을 개발할 수 있다.
• 메모리 가상화: 각 서버의 메모리 자원을 고성능 네트워크를 통해 하나의 메모리 풀을 생성하는 가상화이다.
• 스토리지 가상화: 물리적 스토리지를 논리적 스토리지로 가상화 시키는 것이다.
2) 리눅스 기반 가상화 서비스 종류 및 특징
①KVM
•2006년 전가상화 방식을 사용하여 개발한 하이퍼바이저로, Disk I/O의 반가상화를 지원한다.
•x86 시스템 기반의 리눅스 전가상화를 지원하는 기술로 CPU 가상화 기술인 인텔의 VT 및 AMD-V를 기반으로 동작한다.
•QEMU이라는 CPU 에뮬레이터를 사용하고, 수정되지 않은 리눅스나 윈도우의 이미지를 생성하여 다중의 가상머신을 운영한다.
•특정장치에 대해 반가상화를 제공한다. [CPU는 제공하지 않음]
•커널 모드, 사용자 모드 이외에도 게스트 운영체제에 실행에 사용되는 게스트 모드도 있다.
ex)RHEV: KVM 기반의 하이퍼바이저 오픈소스 서버 가상화 솔루션으로 SPICE 프로토콜과 VDSM을 사용하여 관리하는 솔루션
②XEN
•오픈소르 type-1 하이퍼바이저로 각기 다른 많은 운영체제를 하나의 컴퓨터에 병렬로 실행시키는 가상화이다.
•서버가상화, Iaas, 데스크탑 가상화 등 다양한 곳에 사용된다.
특징
•가벼운 용량과 인터페이스: 마이크로커널 디자인과 작은 메모리 사용량, 제한적인 인터페이스를 사용하기 때문에 다른 하이퍼바이저보다 더 강력하고 안전하다.
•운영체제에 독립적: 메인 컨트롤 스택은 리눅스에 설치되어 실해되는데 리눅스 대신에 NetBSD, 오픈 솔라리스를 사용할 수 있다.
•드라이버 격리(isolation): 가상머신 내에서 실행하는 주장치 드라이버를 허용하는 기능이 있는데, 드라이버가 충돌 및 손상된 경우, 가상머신을 재부팅하고 드라이버가 시스템의 나머지 부분에 영향을 주지않고 다시 시작 할 수 있다.
•반가상화: Xen은 전가상화, 반가상화를 모두 지원하며, CPU 반가상화 지원으로 다른 기술과 비교해서 물리적서버 대비 효율성이 가장 좋다. 반가상화 구성시에는 호스트와 다른 아키텍처의 게스트는 실행할 수 없으며, 전가상화 구성시엔 QEMU 기반으로 동작한다
•Xen 하이퍼바이저는 하드웨어 위에서 직접 실행되면서, CPU, 메모리, 인터럽트를 관리하는 역할을 하는 매우 가벼운 S/W 계층이다. 네트워킹 및 스토리지와 같은 I/O기능에 대해 관여하지 않는다.
•게스트 종류
-Xen 반가상화(PV): 효율적이고 가벼운 가상화 기술로, 호스트 CPU에서 가상화 확장 기능을 필요로 하지 않는다.
-Xen 전가상화(HVM): CPU 가상화 확장 기능을 사용한다. Intel VT 또는 AMD-V 확장기능을 요구하고 컴퓨터의 BIOS에서 가상화 확장기능의 활성화 되어 있어야 한다.
-전가상화에 반가상화: 전가상화 환경과 에뮬레이션을 우회하는 디스크 및 네트워크IO에 최적화된 반가상화 드라이버들이다.
가상화 서비스 구축
1) KVM 서비스 구축
*KVM 구축
[1] CPU 스펙 확인 - CPU 가상화 지원 여부 확인 : '/proc/cpuinfo'
root@bjkim:~# egrep "vmx|svm" /proc/cpuinfo
[2] KVM 패키지 설치
root@bjkim:~# yum groupinstall "Virtualization" "Virtualization Client" \ "Virtualization Platform"
설치되는 패키지
•Virtualzation 그룹
- qemu-kvm : KVM의 사용자 공간 구성요소
•Virtualzation Client 그룹
- python-virtinst : 가상머신을 설치하기 위한 Python 모듈 및 유틸리티
- virt-manager : 가상 머신을 손쉽게 시작 및 종료할 수 있고, 가상 머신의 CPU 사용량, 호스트 CPU 사용량 등을 모니터링 할 수 있는 GUI 기반의 도구
- virt-viewer : Xwindow상태의 가상머신 뷰어
- virt-top : top과 비슷한 실시간으로 가상 머신별로 자원 사용률을 모니터링 할때 사용하는 CUI 프로그램
•Virtualzation Platform 그룹
- libvirt : 간단한 가상화 API를 제공하기 위한 라이브러리
- libvirt-client : 사용자 환경에서의 libvirt 라이브러리 및 유틸리티
[3] 가상화 운영 데몬 실행(libvirtd)
root@bjkim:~# service libvird start libvirtd 데몬을 시작 중: [ OK ]
[4] 가상머신 생성 및 관리
-가상머신 관리자 실행
root@bjkim:~# virt-manager
-가상 머신 설정 내역 (/etc/libvrit/qemu/)
root@bjkim:~# ls -l /etc/libvirt/qemu/ 합계 8 -rw-------. 1 root root 2431 2013-08-24 07:32 Bjkim-Guest1.xml drwx------. 3 root root 4096 2013-08-24 07:02 networks
-가상화 디스크 이미지 (/var/lib/libvirt/images/)
root@bjkim:~# ls -lh /var/lib/libvirt/images/ 합계 3.7G -rw-------. 1 root root 3.7G 2013-08-24 07:39 Bjkim-Guest1.img
-가상머신 관리 (virsh)
root@bjkim:~# virsh list Id 이름 상태 ------------------------------------------------- 4 Bjkim-Guest1 실행중
▲텍스트 기반의 콘솔 환경에서 가상 머신을 관리해주는 도구로 생성, 시작, 재시작, 종료, 강제 종료 등의 기능을 수행
2) Xen 서비스 구축
*Xen 구축
[1] XEN 설치
root@bjkim:~# yum install "Virtualization"
설치되는 패키지
•Virtualzation 그룹
- kernel-xen : Xen관련 소스가 커널에 패치된 리눅스 커널
- xen : Xen 하이퍼 바이저와 Xen 관련 유틸리티
- gnome-applet-vm : 그놈판넬에서 제공되는 가상머신 모니터
- libvirt : 간단한 가상화 API를 제공하기 위한 라이브러리
- virt-manager : 가상머신 관리자(GUI)
[2] 가상머신 생성 및 관리
-가상머신 관리자 실행
root@bjkim:~# virt-manager
-가상 머신 설정 내역 (/etc/xen/)
root@bjkim:~# ls -l /etc/xen/ 합계 108 -rw------- 1 root root 522 4월 25 10:13 winxp drwxr-xr-x 2 root root 4096 4월 8 2013 auto -rwxr-xr-x 1 root root 156 5월 18 2013 qemu-ifup drwxr-xr-x 2 root root 4096 6월 3 2013 scripts -rw-r--r-- 1 root root 6152 4월 8 2013 xend-config.sxp -rw-r--r-- 1 root root 1256 4월 8 2013 xend-pci-permissive.sxp -rw-r--r-- 1 root root 4129 4월 8 2013 xend-pci-quirks.sxp -rw-r--r-- 1 root root 7264 4월 8 2013 xmexample.hvm -rw-r--r-- 1 root root 5315 4월 8 2013 xmexample.vti -rw-r--r-- 1 root root 5463 4월 8 2013 xmexample1 -rw-r--r-- 1 root root 6746 4월 8 2013 xmexample2
-가상화 디스크 이미지 (/var/lib/xen/images/)
root@bjkim:~# ls -lh /var/lib/xen/images/ 합계 3.7G -rw-------. 1 root root 4G 2013-08-24 07:39 winxp.img
-가상머신 관리 (virsh, xm)
root@bjkim:~# virsh list Id 이름 상태 ------------------------------------------------- 4 winxp 실행중 root@bjkim:~# xm list Name ID Mem(MiB) VCPUs State Time(s) winxp 26 1031 1 -b---- 322907.2
가상화 서비스의 운영
1) 게스트 운영 체제 시작 및 종료
*가상머신 시작과 종료
[1] 시작
root@bjkim:~# virsh start Bjkim-Guest1 도메인 Bjkim-Guest1가 시작됨
[2] 종료
root@bjkim:~#virsh destroy Bjkim-Guest1 Bjkim-Guest1 도메인 강제 종료
2) 시스템 리소스 관리
사용 가능 명령어 : top, sar, virt-manager, virt-top
※그외 가상화 문제
절연(Insulation) : 가상화 자원들 또는 가상화 자원들을 사용하는 사용자들에게 아무런 영향을 미치지 않으면서 물리적인 자원들이 교체될 수 있도록 해준다.
향상된 프로비저닝 : 사용자의 요구사항에 맞게 할당, 배치, 배포할 수 있도록 만들어 놓는 것을 말한다. 가상화 기반의 자원 할당은 개별 물리적 단위보다도 더 세밀한 조각 단위에서 가능하도록 해준다.
리눅스에서 사용가능한 서버 가상화 기술 : Docker, Cloudstack, Openstack
XEN,KVM 과 같은 다양한 하이퍼바이저를 통합 관리하기 위한 플랫폼 : Cloudstack, Openstack, OpenNebula [Docker X]
버추얼 박스 이용해서 가상 머신을 생성한 후에 CentOS69라는 이름으로 리눅스 설치 시 생성되는 파일명 : CentOS69.vdi
서버 가상화의 장점 : 효율적인 서버 자원 이용 가능, 서버가 차지하고 있는 물리적 공간 절약, 데이터 및 서비스에 대한 가용성이 증가
하이퍼바이저 기반으로 생성되는 가상 머신의 수에 가장 큰 영향을 주는 항목 : CPU 코어 수
'자격증 > 리눅스 마스터 1급' 카테고리의 다른 글
Part3) 네트워크 및 서비스의 활용 - 네트워크 서비스 | 기타 서비스 (0) | 2018.09.05 |
---|---|
Part3) 네트워크 및 서비스의 활용 - 네트워크 서비스 | DNS 관리 (0) | 2018.09.04 |
Part3) 네트워크 및 서비스의 활용 - 네트워크 서비스 | 메일 관련 서비스 (0) | 2018.09.03 |
Part3) 네트워크 및 서비스의 활용 - 네트워크 서비스 | 파일관련 서비스 | NFS, FTP (0) | 2018.08.30 |
Part3) 네트워크 및 서비스의 활용 - 네트워크 서비스 | 파일관련 서비스 | 삼바서버 (0) | 2018.08.28 |