Posted
Filed under Computer/Linux

KVM 은 CLI만 지원하므로 사용하기가 좀 불편하다. 그래서 간단하게나마 script로 약간 편의를 돕기위해 몇가지 옵션등을 만들어 실수할만한것을 줄여보고자 만들어봤다.

간단히 몇가지 사용법을 설명하면 다음과 같다.

kvm_interface.tar.gz를 다운로드 받는다.

물론 이것은 이전에 kvm-88.tar.gz를 다운받아 시스템에 설치를 끝냈다고 가정한다음에 설명하는것이다.

kvm_interface.tar.gz 를 풀면 3개의 파일이 나온다.
default.cfg           : 가상 machine용 기본 옵션
create_hdd.sh     : 가상 machine용 HDD 만들때
run_guest_os.sh  : 가상 machine 부팅 시킬때

 create_hdd.sh <disk image name> [<option>]

    disk image name      : just name (exclude expantion name)
    -s <disk image size> : default 5 (unit Gigabyte)
    -c                   : create configure file
    -h                   : help
    -g                   : grow disk size(not recommand)

예로 rhel5.3를 깐다고 할 경우에 다음처럼 한다.

1. 가상 machine을 위한 HDD를 먼저 만들어 준다.
./create_hdd.sh rhel53 -c

2. modify rhel53.cfg file
----------------------------------------------------------
boot=cdrom  # boot device를 cdrom으로 설정한다.
cdrom=rhel5.3-dvd.iso #RHEL5.3 CD image파일명을 써준다.
mem=500     #default : 400MB, 500MB의 메모리를 쓰고 싶다면 이부분에 숫자를 500이라 쓴다.
daemon=ok  # run_guest_os.sh를 실행했을때 daemon 방식으로 띄우고 싶다면 ok를 그냥 프로세스로 잡고 싶다면 주석처리 해준다.
localtime=ok # 시간 동기화를 localtime으로 하고 싶다면 ok를 그렇지 않으면 주석처리 (default: utc)
user=kage    # 만약에 가상 프로그램을 kage 계정으로 돌리고 싶다면 kage를 그냥 쓸꺼라면 주석처리해준다.
-----------------------------------------------------------

3. 가상 machine에 OS 깔기
./run_guest_os.sh rhel53

그러면 자동으로 kvm module를 체크해서 필요하면 맞는 module를 찾아 올리고, 있다면 그냥 실행시킨다. 이것은 new console를 띄우므로 X-windows 상에서 실행해야만 된다.

인스톨이 끝난다음에 hdd로만 부팅을 하고 싶다면 iso 파일도 빼고 싶다면 2번 step 에서
"boot=hdd" 로 바꾸고 "cdrom="으로 바꿔주면 된다.


2009/12/04 16:08 2009/12/04 16:08
[로그인][오픈아이디란?]
Posted
Filed under Computer/Linux

KVM을 사용하기위해서 cpu에서 가상화를 지원하는지 체크해보자
  Intel  : vmx
  AMD : svm

cat /proc/cpuinfo |grep -e svm -e vmx  > /dev/null && echo "support" || echo "not support"

Guest OS를 올리기위해 사용할 guest os의 HDD를 생성하자.
이 HDD는 qeumu-img 명령어를 이용하여 생성하게 되고 QEMU에서 제공하는 qcow(copy-on-write format) 옵션을 사용하여 partition table만 생성해 실제 파일크기는 지정한 size만큼 크지 않고 사용하면서 점점 지정한 크기만큼 늘어난다. 그럼 16GB짜리 HDD를 생성해보자

$ /usr/local/bin/qemu-img create -f qcow vm-disk.img 16G

"-f qcow" 옵션을 넣고 disk를 만들면 windows xp같은 경우에 하드 디스크를 포멧하려 하지만 포멧을 완성하지 못하고 에러가 난다. Linux에서도 파일 시스쳄 포멧하는데 시간이 너무나 많이 걸려 실제 Install을 진행하지 못한다. 그러므로 "-f qcow"옵션을 빼고 진행하는것이 문제요소를 없애고 잘 된다.

$ /usr/local/bin/qemu-img create vm-disk.img 16G


이제는 guest OS에 OS를 install 해보자. 그렇게 하기위해서는 OS용 CD나 iso 파일등이 필요한데 iso file을 이용하여 OS를 install 해보자.

kvm old version같은 경우에는 kvm 명령어를 이용하여 사용했지만 kvm-88.tar.gz 버전 같은경우에는 qemu-system-x86_64 로 명령어가 바뀐것 같다. 그래서 kvm과 qemu-syste-x86_64를 다 소개한다.  (-m은 memory size 지정)

#kvm -no-acpi -m 400 -cdrom linux-dvd.iso -hda vm-disk.img -boot d

/usr/local/bin/qemu-system-x86_64 -m 400 -cdrom ./linux-dvd.iso -hda vm-disk.img -boot d

"-no-acpi" 옵션을 주고 실행했더니 설치하다가 도중에 에러 뜨면서 guest os가 재부팅된다.

qemu-system-x86_64 옵션을 보려면 -help를 보면된다.
help로 옵션을 살펴보면 bios까지 만들면 그것을 사용가능하고 메모리를 file로 만들어 이 file을 가상 메모리로 사용도되고 이것역시 XEN보다는 좀 떨어지지만 많은 옵션을 제공하여 다양한 테스트 및 개발에 도움을 줄것 같다.


개인적 생각 )
완전한 software virtual machine이 필요하다면 : vmware-server 버전이 유용할듯 (free)
open source를 써야 한다면
    막강한 파워와 안정성 및 hardware cluster위에 쓸것이라면 : XEN
    잘은 모르지만 기능이 XEN보다는 막강하진 않아도 성능면에서 XEN만큼 유사하고 CLI 로 사용해도 된다면 : KVM
    VMWare처럼 GUI를 어느정도 제공하며 Plaform에 제안 받지 않는 개인적인 VM이라면 : Virtual BOX
     

기타 가상화 software 소개
참조 사이트: http://www.ibm.com/developerworks/kr/library/l-linuxvirt/index.html

Bochs
QEMU
z/VM
UML
Linux-VServer
OpenVZ

VMware
RHEV  ( included Redhat 5.4 : Xen & KVM )
Xen
KVM
Virtual BOX (Sun Microsystems : Java based)

Virtual PC (MS) (guest os : MS)
등이 있네요

2009/12/03 16:03 2009/12/03 16:03
[로그인][오픈아이디란?]
Posted
Filed under Computer/Linux
http://sourceforge.net/projects/kvm/files/

KVM을 다운 받을수 있는곳은 위의 주소에서 받으면 된다.

KVM은 Kernel 속의 KVM driver (kvm.ko)와 Guest OS의 QEMU I/O 인터페이스와 통신을 하여 운영되는 가상 hardware system이라고 볼수 있다.

아직 사용해보지 못해서 정확하게 알수가 없어 이것은 한두번의 연재로 나갈까 한다.

KVM은 VituralBox나 VMWare처럼 software가 크거나 무겁지가 않다.
(kvm-88.tar.gz : 4.5MB)

1. KVM install
테스트 된 장비는 OpenSuSE-11.1 이 깔려있는 laptop (Intel dual core)에서 테스트 해본다.
kvm-88.tar.gz 버전을 받아다가 extract를 시킨후에 컴파일 하니 문제없이 잘된다.

kvm-2xx 이전 버전은 각 버전에 맞는 kernel일 경우에만 됬었지만 kvm-88은 아무 상관없이 kernel module과 소프트웨어가 같이 설치가 되었다.

tar zxvf kvm-88.tar.gz
cd kvm-88
./configure
(기본적으로 /usr/local 에 깔린다.)

make
make install

kvm를 사용하기위해 kvm module를 띄운다.
modprobe kvm
modprobe kvm_intel

내 laptop이 intel CPU 이므로 kvm_intel을 띄웠다.
그러면 /dev/kvm 이란 device가 생길것이다.
(kvm module만 띄우면 /dev/kvm device가 생기지 않는다.)

실행하는 파일은 /usr/local/bin에 존재한다.

명령어가 여러종류가 있는건지 어쩐지는 아직 정확하지 않지만 일단 내 laptop에 설치된것을 기준으로 설명한다면 qemu-sysytem-x86_64 를 실행하면 가상 machine 화면이 pop-up창으로 뜬다.

마치 XEN 다루는것과 비슷하단 생각이 든다.
아직 CLI만 있고 GUI  interface가 없는것인가?

콘솔창으로 들어갈때는 mouse를 클릭하고 다시 컨트롤을 빼오려면 Contro+Alt를 눌러주면 나올수 있다.

2009/12/02 13:14 2009/12/02 13:14
[로그인][오픈아이디란?]