13. Xen Yasik 박중언
목차 1. 가상화(Virtualization)? 2. Xen ? Xen 은 가상화의 한 종류. 먼저 가상화에 대해 배운 다음에 Xen 에 대해 자세히 알아보자.
가상화(virtualization) 컴퓨터에서 컴퓨터 리소스의 추상화를 일컫는 광범위한 용어이다. – 위키피디아 일컫는 광범위한 용어이다. – 위키피디아 컴퓨터 운영체재(OS)를 시스템 구조나 하드웨어에 영향받지 않고 설치, 사용할 수 있도록 하는 기술 - 네이버백과 리소스란? 컴퓨터 시스템에 관한 하드웨어, 소프트웨어, 데이터의 한 구성요소 등 사용될 수 있는 자원을 총칭하는 말.
가상화의 사용 하나의 물리적인 하드웨어를 마치 여러 대의 독립된 장비처럼 사용 CPU, 메모리, IO 등 서버 자원을 여러 도메인으로 분할하여 사용 물리적으로 다른 장비를 하나의 장비처럼 사용
쉽게 말하자면… 가상화는 계속 발전하고 있는 개념
가상화의 장점 서버의 용량의 효율적인 사용 보안, 관리 및 유지의 장점 etc. 대부부의 서버는 단지 용량의 10~15%만 사용 단일 서버스 OTL ARA 를 위해 하나의 서버를 운영하는걸 상상해보시면 됨
Without Hardware Assist 가상화 종류 Virtualization Emulation Full virtualization With Hardware Assist Without Hardware Assist Para virtualization Etc. 종류에 대해 알아보기 전에 용어설명!
용어 설명 Hypervisor Dom0 / DomU
Hypervisor 가상화 머신 모니터(virtual machine monitor, 줄여서 VMM)라고도 부른다. 호스트 컴퓨터에서 다수의 운영 체제(operating system)를 동시에 실행하기 위한 논리적 플랫폼을 말한다 호스트 컴퓨터와 게스트 os 사이에서 신호를 전달해주는 통로역할
Type1(native, bare-metal) Type2(hosted) 해당 하드웨어 위에서 Hypervisor가 직접 실행된다. ex) xen, ESX Server (Vmware), 하이퍼v,KVM Type1 : 게스트os는 하이퍼바이저 위에서 2번째 수준으로 실행된다. Type2 : 하이퍼바이저는 일반 프로그램과 같이 호스트 운영 체제에서 실행되며 게스트 운영 체제는 하드웨어에서 3번째 수준으로 실행된다. Host 운영체제 위에서 Hypervisor가 실행된다. ex) Vmware server, VirtualBox , parallels workstation, Virtual pc
- Host OS - 다른 게스트 domain을 만들거나 관리 할 시 사용 될 수 있다. DomU VM(virtual machine) 위에 새로 설치되는 os들과 그 시스템을 가리키는 말
Emulation 컴퓨터 프로그램이나 전자기기가 다른 프로그램이나 device를 imitate하는 능력 대부분의 printer들이 hp프린터 처럼 보이게 하여 드라이버나 소프트웨어가 hp프린터로 그 프린터를 인식 할 수있게함.
Emulation HW위에 가상의 HW를 생성 VM이 guest OS를 수정하지 않은 채로 운영 될 수 있다. 가장 복잡한 가상화
Full virtualization Hypervisor가 HW/hostOS와 guestOS들 사이에서 중재를 해준다. guestOS들은 Hypervisor를 통해 기반HW, hostOS를 공유한다. guestOS에서 보낸 명령어들이 Hypervisor를 통해 hostOS에 전달된다. guestOS들은 자신들이 마치 진짜 HW 위에 있는 것 처럼 느낀다. 따라서 OS를 따로 수정할 필요가 없다. Ex) VMWare, VirtualBox, Parallels, Microsoft VirtualPC 전가상화를 위해서 물리적인 가상화 지원기능 CPU의 가상화기술을 이용할 필요가 있습니다. 이로인해 성능의 저하가 발생한다는 단점이 있씁니다. 그래서 전가상화 기술을 이용하기 위해서는 해당 CPU가 가상화 기술을 지원해야 합니다.
Para virtualization guestOS와 hostOS의 커널을 수정하여 가상화 인식 코드를 OS로 통합시킨다. guestOS들이 자신이 hypervisor위에 있다는 것을 인식한다. hypervisor에서 재컴파일이나 트래핑을 할 필요가 없다. 따라서 가상화되지 않은 시스템 성능에 가까운 성능! Ex) xen Full virtualization과 약간 유사한 대중적인 기술 커널은 컴퓨터 운영체계의 가장 중요한 핵심으로서, 운영체계의 다른 모든 부분에 여러 가지 기본적인 서비스를 제공한다. 여러OS에서 제공
quiz 이건 2010년도에 alphamin 회원이 올린건데요 다음중 zen을통해서 guest Os 로 설치하 ㄹ수 없는거 ㄴ뭘까요
토발즈 찡 만ㅋ세 Ubuntu 12.04 이후 버전부터는 Xen이 커널에 포함되어있습니다.
Xen 설치 * 기본적으로 BIOS setup 에서 가상화가 Enable 되어 있어야 합니다. 1. 설치를 위한 패키지 다운로드 $ sudo apt-get install libcurl4-openssl-dev xserver-xorg-dev mercurial gitk build-essential libncurses5-dev uuid-dev gawk gettext texinfo bcc libncurses5-dev dpkg-dev debhelper iasl texinfo bridge-utils bison flex $ sudo apt-get build-dep xen-hypervisor-4.1-i386 * 기본적으로 BIOS setup 에서 가상화가 Enable 되어 있어야 합니다.
Xen 실습 는 일단 가상서버말고 본서버에서 해야되서 미완..
sudo apt-get install xen-linux-system
이 명령어를 통해 어떤 파일들이 설치되었는지 보면 첫번째 네모가 커널 두번째 네모가 하이퍼바이저 그 다음 명령어로 xen-tool도 설치! xen-tools : instance를 쉽게 띄울 수 있도록 도와줌.
부트로더를 grub 명령어를 통해 xen 커널로 변경 (xen을 띄우기 위해서는 hostOS의 커널을 xen에 맞게 변경해줘야 하니까) 그후 업데이트와 리부트!
커널이 바뀐것을 확인할수있다. 하이퍼바이저가 실행되고 있음을 확인할수있다.
Xen networking Bridge networking Routed networking with NAT hostOS와 guestOS 가 다른 ip 사용 Routed networking with NAT hostOS와 guestOG 가 같은 ip 사용 Two-way Routed network 우리는 서버위에 떠있는 스팍스,아라,otl 등 가상서버를 모두 다른 ip 로 접근해야 하므로 bridge networking 사용
Bridge Networking
Network 설정하기 #vi /etc/xen/xend-config.sxp network-script network-bridge (주석 처리 없애주기) #/etc/init.d/xend restart
GuestOS 설치하기 Image-based VM Installing - host머신 특정 위치에 디스크 이미지 파일 존개 여러 가지 방법중 가장 쉬운 방법을 선택하였음 Using LVM(logical volume management) logical volume을 직접 나누고, file system을 만들고, swap 파티션 따로 만들어주는 등의 복잡,치밀한 과정을 거쳐야함
Image 만들기 # vi /etc/xen-tools/xen-tools.conf dir=/home/xen dist=`xt-guess-suite-and-mirror –suite` Install-method=debootstrap passwd=1 gateway,netmask,broadcast 값도 변경! 첫번째 : VM image가 저장될 곳 두번째 : VM에 설치될 버전 ( debian squeeze ) 세번째 : OS intall 방법 여기서 debootstrap은 VM에 Debian을 설치할 수 있게 해주는 Tool 네번째 : root비밀번호 (근데 왜 안쓰이지…..?)
2. image 생성 # mkdir /home/xen # xen-create-image --hostname=xen1 --size=4Gb –swap=256Mb –ip=143.248.234.111 –memory=256Mb –role=udev –arch=amd64 Hostname : guestOS 이름 Ip지정 Image생성 시간쫌 걸림. Root비밀번호 물어봄.
#xm create /etc/xen/xen1.cfg #xm list #xm shutdown xen1
카이스트의 경우 맥 주소를 카이스트에 인증해야해요. 컴퓨터 맥 주소를 이미지의 맥주로소 바꾸고 인터넷 접속 ㄱㄱ
Putty 로 들어가기! 143.248.234.111
자세한 내용들은.. Rain 회원의 2012년 휠세미나 자료 Alpamin 회원의 2011년 휠세미나 자료 검색 선배님들