KVM - 윈디하나의 솔라나라
|
root@wll ~ # egrep '^flags.*(vmx|svm)' /proc/cpuinfo 1) flags : ... vmx ... root@wll ~ # yum groupinstall "Virtualization" "Virtualization Client" "Virtualization Platform" "Virtualization Tools" root@wll ~ # yum install qemu-kvm-tools root@wll ~ # yum install tunctl root@wll ~ # lsmod | grep kvm 2) kvm_intel 50444 0 kvm 306096 1 kvm_intel root@wll ~ # reboot1) CPU가 vmx 또는 svm 플래그를 가지고 있어야 한다.
pkg update
를 사용해 모든 패키지를 업데이트 해 놓자. 이후 OpenIndiana 151 를 기준으로 아래와 같이 설치한다. 설치가 완료되면 qemu-kvm(1)은 /usr/bin
에 설치된다. qemu(1) 도 /usr/bin
에 설치되는데, qemu(1)은 사용하지 않는다.
root@wl ~ # pkg install \ driver/i86pc/kvm \ system/qemu \ system/qemu/kvm Packages to install: 4 Packages to update: 63 Create boot environment: Yes DOWNLOAD PKGS FILES XFER (MB) Completed 67/67 4881/4881 175.8/175.8 PHASE ACTIONS Removal Phase 198/198 Install Phase 592/592 Update Phase 5707/5707 PHASE ITEMS Package State Update Phase 130/130 Package Cache Update Phase 63/63 Image State Update Phase 2/2 A clone of openindiana exists and has been updated and activated. On the next boot the Boot Environment openindiana-1 will be mounted on '/'. Reboot when ready to switch to this updated BE. root@wl ~ # ls /usr/bin/qemu* /usr/bin/qemu /usr/bin/qemu-system-mips /usr/bin/qemu-ga /usr/bin/qemu-system-mips64 /usr/bin/qemu-img /usr/bin/qemu-system-mips64el /usr/bin/qemu-io /usr/bin/qemu-system-mipsel /usr/bin/qemu-kvm /usr/bin/qemu-system-ppc /usr/bin/qemu-nbd /usr/bin/qemu-system-ppc64 /usr/bin/qemu-system-arm /usr/bin/qemu-system-ppcemb /usr/bin/qemu-system-cris /usr/bin/qemu-system-s390x /usr/bin/qemu-system-i386 /usr/bin/qemu-system-sh4 /usr/bin/qemu-system-lm32 /usr/bin/qemu-system-sh4eb /usr/bin/qemu-system-m68k /usr/bin/qemu-system-sparc /usr/bin/qemu-system-microblaze /usr/bin/qemu-system-sparc64 /usr/bin/qemu-system-microblazeel /usr/bin/qemu-system-x86_64 root@wl ~ # reboot새로운 부트 환경이 만들어 졌고, 재시작 하면 KVM 로드된다.
roto@wll ~ # chkconfig NetworkManager off roto@wll ~ # chkconfig network on roto@wll ~ # service NetworkManager stop roto@wll ~ # service network start roto@wll ~ # vi /etc/sysconfig/network-scripts/ifcfg-br0 DEVICE=br0 TYPE=Bridge BOOTPROTO=none ONBOOT=yes IPADDR=192.168.0.100 PREFIX=24 GATEWAY=192.168.0.1 DNS1=168.126.63.1 DELAY=0 NM_CONTROLLED=no roto@wll ~ # vi /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 BRIDGE=br0 ONBOOT=yes HWADDR=00:00:00:FF:FF:FF NM_CONTROLLED=no roto@wll ~ # service network restart roto@wll ~ # brctl show bridge name bridge id STP enabled interfaces br0 8000.0018f3d08a00 no eth0 virbr0 8000.5254004a7552 yes virbr0-nic roto@wll ~ # ifconfig -a br0 Link encap:Ethernet HWaddr 00:18:F3:D0:8A:00 inet addr:192.168.0.100 Bcast:192.168.0.255 Mask:255.255.255.0 inet6 addr: fe80::218:f3ff:fed0:8a00/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:139 errors:0 dropped:0 overruns:0 frame:0 TX packets:140 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:14170 (13.8 KiB) TX bytes:19910 (19.4 KiB) eth0 Link encap:Ethernet HWaddr 00:18:F3:D0:8A:00 inet6 addr: fe80::218:f3ff:fed0:8a00/64 Scope:Link UP BROADCAST RUNNING PROMISC MULTICAST MTU:1500 Metric:1 RX packets:1143 errors:0 dropped:0 overruns:0 frame:0 TX packets:1052 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:142224 (138.8 KiB) TX bytes:137676 (134.4 KiB) Interrupt:17 roto@wll ~ # vi /etc/udev/rules.d/80-kvm.rules ... KERNEL=="tun", GROUP="kvm", MODE="0666" roto@wll ~ # iptables -I FORWARD -m physdev --physdev-is-bridged -j ACCEPT roto@wll ~ # iptables -I INPUT -i br0 -j ACCEPT roto@wll ~ # service iptables save roto@wll ~ # service iptables restart roto@wll ~ # service libvirtd reload
roto@wll ~ # qemu-img create -f qcow2 -o preallocation=metadata /var/lib/libvirt/images/winxp.qcow2 20Gqcow2 는 [QEMU Copy On Write 2]의 약어로 QEMU 버전 0.9 부터 지원된 하드디스크 이미지 포맷이다.
roto@wll ~ # tunctl -b -u root roto@wll ~ # brctl addif br0 tap0 roto@wll ~ # /usr/libexec/qemu-kvm \ -name "WinXP" \ -hda /var/lib/libvirt/images/winxp.qcow2 \ -cdrom winxp.iso \ -smp 2 -m 512 \ -net nic -net tap,ifname=tap0,script=no,downscript=no \ -vnc :0 \ -boot d \ -daemonizeCD롬으로 부팅될 것이다. 아래와 같이 VNC viewer 를 사용해 콘솔에 접속할 수 있다.
root@wll ~ # yum install tigervnc root@wll ~ # vncviewer localhost:5900CD롬으로 부팅하지 않으려면 [-boot d]를 빼고 부팅한다.
root@wl ~ # dladm show-link LINK CLASS MTU STATE BRIDGE OVER yge0 phys 1500 up -- -- root@wl ~ # dladm create-vnic -l yge0 vnic0 root@wl ~ # dladm show-link LINK CLASS MTU STATE BRIDGE OVER yge0 phys 1500 up -- -- vnic0 vnic 1500 up -- yge0 root@wl ~ # MAC=$(dladm show-vnic -po macaddress vnic0) root@wl ~ # echo $MAC 2:8:20:9e:fa:63
root@wl ~ # zfs create -p -V 20G rpool/kvm/guest/disk0
root@wl ~ # /usr/bin/qemu-kvm \ -boot cd \ -enable-kvm \ -vnc 0.0.0.0:1 \ -smp 2 \ -m 2048 \ -no-hpet \ -localtime \ -drive file=/dev/zvol/rdsk/rpool/kvm/guest/disk0,if=ide,index=0 \ -drive file=/home/windy/src/oi-dev-151a-text-x86.iso,media=cdrom,if=ide,index=2 \ -net nic,vlan=0,name=net0,model=e1000,macaddr=$MAC \ -net vnic,vlan=0,name=net0,ifname=vnic0,macaddr=$MAC \ -vga std// TODO
RSS ATOM XHTML 5 CSS3 |
Copyright © 2004-2025 Jo HoSeok. All rights reserved. |