KVM虛擬機器

2021-06-03 01:40:17 字數 3695 閱讀 7719

一 kvm虛擬機器簡介 

kernel-based virtual machine的簡稱,是乙個開源的

系統虛擬化模組,自linux 2.6.20之後整合在linux的各個主要發行版本中。它使用linux自身的排程器進行管理,所以相對於xen,其核心原始碼很少。kvm目前已成為學術界的主流vmm之一。

kvm的虛擬化需要硬體支援(如intel vt技術或者amd v技術)。是基於硬體的完全虛擬化。而xen早期則是基於

軟體模擬的para-virtualization,新版本則是基於硬體支援的完全虛擬化。但xen本身有自己到

程序排程器,儲存管理模組等,所以**較為龐大。廣為流傳的

商業系統虛擬化軟體vmware esx系列也是基於軟體模擬的para-virtualization。

二 kvm虛擬機器安裝與使用

1 前期準備

1.1確定機器有vt

終端輸入命令: grep vmx /proc/cpuinfo (intel晶元)

grep svm /proc/cpuinfo (amd晶元)

不知道晶元的生產廠商則輸入:egrep '(vmx|svm)' /proc/cpuinfo

如果flags: 裡有vmx 或者svm就說明支援vt;如果沒有任何的輸出,說明你的cpu不支援,將無法成功安裝kvm虛擬機器。

1.2 確保bios裡開啟vt:

intel(r) virtualization tech [enabled]

如有必要,還需在bios中開啟vt-d

1.3 確保核心版本較新,支援kvm

用uname –r檢視核心版本,如果在2.6.20以下的linux版本,需公升級核心。

2安裝kvm

下面就ubuntu和centos下安裝使用kvm虛擬機器做介紹:

ubuntu 中用guest登陸,安裝kvm的命令為:

sudo 

apt-get install kvm qemu qemu-kvm virt-manager kernel-package linux-source kqemu-source build-essential

kvm安裝成功後會有/dev/kvm,如果無需圖形管理器,只需要安裝前三個即可。

再來檢視下kvm是否安裝成功,執行:virsh -c qemu:///system list

如果輸入結果像下面這樣的,那麼成功了:

connecting to uri: qemu:///system

id name state

----------------------------------

注1:centos中安裝時,先要選擇selinux為enalble,使用命令

#system-config-securitylevel-tui

可檢視或修改selinux的狀態。

注2: centos中用root登陸時則安裝命令為:

yum install kvm kmod-kvm qemu

再裝入kvm模組:modprobe kvm-intel (intel機器) 或者 modprobe kvm-amd (amd機器)

注3:可以用以下命令來檢查是否裝入kvm模組:

/sbin/lsmod | grep kvm

如果輸出關於kvm版本的資訊則已裝入kvm模組

注4: 安裝好後,可使用qemu-kvm命令,輸入該命令,如果系統顯示未知的命令,可檢視/usr/libexec中是否有qemu-kvm

可執行檔案,如果有,將其拷貝到/bin目錄下即可。如果確實按照上面的步驟進行了,卻在/bin,/usr/libexec,/usr/bin,/usr/sbin裡都找不到qemu-kvm可執行檔案,可執行以下命令:

#yum provides "*/qemu-kvm"

注5:安裝新核心後,可能有部分軟體版本過低,不相容。比如firefox因版本過低,無法啟動。

centos下可使用如下命令更新該軟體(以firefox為例):

#yum update firefox

3 在kvm下安裝虛擬機器

3.1用qemu建立磁碟映象

sudo qemu-img create –f qcow windows.img 8g

注:在centos和新版qemu中為:qemu-img create –f qcow2 windows.img 8g

3.2使用kvm安裝guest vm

光碟安裝:

sudo kvm –localtime –cdrom /dev/cdrom -m 512 -boot d win2.img

硬碟安裝:

sudo kvm –localtime –m 512 –hda windows.img –cdrom winxp.iso –boot d –clock –rtc –no-acpi

注:官方推薦使用 -no-acpi 引數,原因是 qemu/kvm不太支援,可能造成 cpu 的占用偏高。

注1:centos下硬碟安裝為qemu-kvm –localtime –m 512 –hda windows.img –cdrom winxp.iso –boot d –no-acpi 即需要去掉了-clock rtc選項,否則會出現無法初始化時鐘。

注2:centos quest mouse: export sdl_video_x11_dgamouse=0可解決vm中無法識別usb滑鼠的問題。

注3: 安裝win 7時,不能使用-no-acpi選項。

4 kvm啟動guest

sudo kvm –boot c –m 512

–hda windows.img

② sudo kvm -boot c

-m 512

-hda /home/lm/kvm/winxp.img

-localtime

-net nic,vlan=0,macaddr=52-54-00-12-34-01 -net tap,vlan=0,df=h,ifname=tap0,script=no

-clock rtc

-soundhw es1370

-smp 2

注意:在kvm-87下,請去掉df=h

-m 512 分配512mb的記憶體

-hda /home/lm/kvm/winxp.img

-localtime 使用本地時間(一定要加這個引數,不然虛擬機器時間會有問題)

-net nic,vlan=0,macaddr=52-54-00-12-34-01 -net tap,vlan=0,df=h,ifname=tapo,script=no

使用網路,並連線到乙個存在的網路裝置tap0,注意mac位址一定要自己編乙個,特別是如果你虛擬了多個系統並且要同時執行的話,不然就mac衝突了,在kvm-87下去掉df=h

-boot d 從光碟啟動 (從

映象啟動也是用這個。從硬碟啟動則為 -boot c )

-smp 2 smp處理器個數為2個,如果你是4核處理器,後面的數字就為4

-clock rtc

使用rtc時鐘(如果不開啟此選項,winxp可能會很慢)

KVM複製虛擬機器,KVM轉殖虛擬機器

1.關閉要轉殖的虛擬機器 2.語法 virt clone o 原虛擬機器 n 新虛擬機器 f 新虛擬機器存放的路徑 virt clone o centos7.0 n xuegod110 f var lib libvirt images xuegod110.img qcow2格式 virt clone...

debian虛擬機器安裝kvm虛擬機器

一 概念介紹 1 libvirt是linux上的虛擬化庫,是長期穩定的c語言api,支援kvm qemu xen lxc等主流虛擬化方案。virsh是libvirt對應的shell命令。2 kvm,即kernel basedvirtual machine的簡稱,是乙個開源的系統虛擬化模組,自linu...

KVM虛擬機器介紹

一 kvm虛擬機器簡介 kernel based virtual machine的簡稱,是乙個開源的 系統虛擬化模組,自linux 2.6.20之後整合在linux的各個主要發行版本中。它使用linux自身的排程器進行管理,所以相對於xen,其核心原始碼很少。kvm目前已成為學術界的主流vmm之一。...