您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關虛擬化技術QEMU-KVM的示例分析,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
一.QEMU、KVM、QEMU-KVM
QEMU提供一系列的硬件模擬設備(CPU,網卡,磁盤等),客戶機指令都需要QEMU翻譯,因而性能較差。KVM是linux內核提供的虛擬化,可以用來進行vCPU的創建與運行,虛擬內存的地址空間分配,指令執行效率較高,但缺少IO設備的虛擬化。QEMU-KVM就是KVM與QEMU的結合,KVM負責CPU虛擬化+內存虛擬化,QEMU模擬其它IO設備。
二.安裝并創建虛擬機
安裝qemu-kvm軟件
faramita2016@linux-l9e6:~> zypper install qemu-kvm // Ubuntu系統使用apt-get install qemu-kvm
創建qcow2格式虛擬機磁盤文件
faramita2016@linux-l9e6:~> qemu-img create -f qcow2 vdisk.img 5G // 磁盤大小5G
使用debian鏡像安裝虛擬機,order=dc優先使用CD-ROW(d),后使用硬盤(c),內存默認128m,使用-m 512指定
faramita2016@linux-l9e6:~> qemu-kvm -cpu host -cdrom debian-9.4.0.iso -hda vdisk.img -boot order=dc
三.設置虛擬機使用網橋bridge模式
宿主機中執行,qemu-bridge-helper增加當前用戶可執行權限,用來自動添加網絡后端tap設備
faramita2016@linux-l9e6:~> sudo chmod o+x /usr/lib/qemu-bridge-helper
宿主機中執行,-net nic為虛擬機創建nic網卡(網絡前端),-net bridge指定宿主機中使用網橋(網絡后端)
faramita2016@linux-l9e6:~> qemu-kvm -cpu host -hda vdisk.img -net nic -net bridge,br=br0 // 指定網橋br0
虛擬機中執行,編輯/etc/network/interfaces,設置靜態IP
root@debian:~# vi /etc/network/interfaces # The primary network interface allow-hotplug ens3 #iface ens3 inet dhcp iface ens3 inet static address 10.0.0.8 netmask 255.0.0.0 gateway 10.0.0.1 hwaddress ether 52:54:00:12:34:56 // 設置mac地址,前3組不變 root@debian:~# ifup ens3 // 打開ens3網絡接口,ifdown關閉網絡接口 root@debian:~# /etc/init.d/networking restart // 重啟網絡服務
虛擬機中執行,編輯/etc/resolv.conf,設置DNS
root@debian:~# vi /etc/resolv.conf nameserver 8.8.8.8 // Google DNS
四.設置虛擬機為非圖形模式
虛擬機中執行,編輯/etc/default/grub文件,添加console=ttyS0啟動參數
root@debian:~# vi /etc/default/grub GRUB_DEFAULT=0 // 默認啟動項 GRUB_TIMEOUT=0 // 默認菜單項停留時間 GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian` GRUB_CMDLINE_LINUX_DEFAULT="quiet" // 默認內核啟動參數 GRUB_CMDLINE_LINUX="console=ttyS0" // 手動添加內核啟動參數,添加console=ttyS0
虛擬機中執行,更新grub配置,并重啟
root@debian:~# update-grub root@debian:~# shutdown -h now
a.宿主機中執行,添加-nographic參數創建虛擬機,當前shell前臺創建虛擬機
faramita2016@linux-l9e6:~> qemu-kvm -cpu host -hda vdisk.img -net nic -net bridge,br=br0 -nographic
b.宿主機中執行,添加-display none -daemonize參數創建虛擬機,當前shell后臺創建虛擬機
faramita2016@linux-l9e6:~> qemu-kvm -cpu host -hda vdisk.img -net nic -net bridge,br=br0 -display none -daemonize
五.以只讀方式啟動虛擬機
a.創建一個快照
用qemu-img命令創建一個原始鏡像的快照
faramita2016@linux-l9e6:~> qemu-img create -f qcow2 -b vdisk.img snapshot.img
使用快照文件啟動虛擬機
faramita2016@linux-l9e6:~> qemu-kvm -cpu host -hda snapshot.img -net nic -net bridge,br=br0 -nographic
b.使用臨時快照
原理:創建一個臨時快照,虛擬機啟動之后,自動刪除快照文件
faramita2016@linux-l9e6:~> qemu-kvm -cpu host -hda vdisk.img -net nic -net bridge,br=br0 -snapshot -nographic
關于“虛擬化技術QEMU-KVM的示例分析”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。