2012年10月9日 星期二

KVM

Check CPU:

Intel CPU:
grep vmx /proc/cpuinfo
AMD CPU:
grep svm /proc/cpuinfo

INSTALL:
  • libvirt-bin:提供 libvirtd,用來管理 qemu 與 kvm。
  • vvm或qemu-kvm:主要的虛擬引擎。
  • ubuntu-vm-builder:強大的虛擬機器製作工具。
  • bridge-utils:用來建立虛擬機器使用的 bridge。


sudo apt-get install kvm libvirt-bin ubuntu-vm-builder bridge-utils

sudo apt-get install virt-manager 

sudo apt-get install virt-viewer 

在安裝完成後,系統會自動將您的 username 加入 libvirtd 群組,在這個群組中的使用者才能夠使用 KVM
重新登入後,首先檢查安裝是否正確,執行:
virsh -c qemu:///system list

檢查 sock 檔的權限:
sudo ls -la /var/run/libvirt/libvirt-sock
應該要像這樣
srwxrwx--- 1 root libvirtd 0 2012-02-04 13:38 /var/run/libvirt/libvirt-sock

修改網卡設定:

sudo vm /etc/network/interfaces

# The loopback network interface
auto lo
iface lo inet loopback

iface eth0 inet manual

auto br0

iface br0 inet static
address 原來eth0的IP
netmask 255.255.255.0
gateway 原來eth0的gateway
# 橋接到eth0
bridge_ports eth0
bridge_stp on
dns-nameservers 8.8.8.8
//--------------------------------------------------
若是用NAT方式:
virsh net-list
輸出為

Name State Autostart
-----------------------------------------
default active yes
virsh net-dumpxml default > default.xml

內容應該像這樣:
<network>
<name>default</name>
<uuid>45f1405b-791a-06e4-d8e8-8bcfffc4c90f</uuid>
<forward mode='nat'/>
<bridge name='virbr0' stp='on' delay='0' />
<ip address='192.168.100.1' netmask='255.255.255.0'>
<dhcp>
<range start='192.168.100.2' end='192.168.100.254' />
</dhcp>
</ip>
</network>

 改完傳回virsh
 virsh define default.xml
接著將這個 default 設定設為自動啓動,並啟動這個 default 設定:
virsh net-autostart default
virsh net-start default

 //--------------------------------------------------------
列出關於dom0的相關資訊:
virsh nodeinfo   
列出domain0上的virtual machines:
 virsh list --all
查看特定virtual machine的資訊:
 virsh dominfo <VM ID>

//----------------------------------------------------------------------------------
建立磁碟映像檔
qemu-img create -f raw -o /home/neo/demo.raw 8G
建立VM
virt-install \
              --connect qemu:///system \
              --name demo \
              --ram 1024 \
              --disk path=/home/neo/demo.raw,size=5 \
              --network bridge=br0 \
              --accelerate \
              --vnc \
              --cdrom /home/neo/Downloads/win7.iso

 //---------------------------------------------------------------------------------

啟動virsh -c qemu:///system start myvm
關機
virsh -c qemu:///system shutdown myvm
virsh -c qemu:///system destroy myvm
重開  
virsh -c qemu:///system reboot myvm


virt-viewer連線
本機:
virt-viewer -c qemu:///system myvm

遠端:
virt-viewer -c qemu+ssh://server/system myvm


重新 define,操作步驟為:
virsh dumpxml guest1 > guest1.xml
virsh undefine guest1
virsh define guest1.xml
virsh start guest1


可用qemu-system-x86_64試試
qemu-system-x86_64 -m 512 -boot d -drive file=/home/neo/demo.raw,cache=writeback,if=virtio,boot=on -fda /home/neo/Downloads/virtio-win-1.1.16.vfd -cdrom /home/neo/Downloads/win7.iso
 

修正 VNC 連線滑鼠游標失準問題
virsh shutdown guest1-win7
virsh edit guest1-win7

#在 <devices>...</devices> 之間任一處加入:
<input type='tablet' bus='usb'/>
virsh start guest1-win7

用 Gigabit 網卡 (驅動程式在 virtio-win-0.1-15.iso)
virsh shutdown guest1-win7
virsh edit guest1-win7

#找到 <interface type='bridge'>, 在 </interface> 之前加入:
<model type='virtio'/>
virsh start guest1-win7

 

沒有留言:

張貼留言