kvm
開源的系統虛擬化模塊,基于內核的虛擬機kvm是針對包含虛擬化擴展(intel VT或AMD-V)的x86硬件上的linux的完全原聲的虛擬化解決方案。
kvm屬于完全虛擬化 需要硬件支持(intel vt 或AMD V技術)
和qemu和libvirt的區別
qemu是一個虛擬化技術 就算不用kvm qemu也可以完全實現一個虛擬機 ,雖然kvm技術已經相當成熟 而且可以對很多東西進行隔離,但是在某些方面還是無法虛擬出真實的機器,比如對網卡的虛擬qemu-kvm則能實現這種技術。他補充了kvm的不足,而且對kvm在性能上進行了優化。
libvirt是一系列提供出來的庫函數,用其他技術來調用,管理上面的虛擬機 ,包括各種虛擬化技術 比如kvm xen lxc等 不同的虛擬化技術都可以調用libvirt提供的api對虛擬化進行管理。
完全虛擬化技術實際上是通過軟件實現對操作系統的資源再分配,比較成熟 比如kvm virtualbox
半虛擬化技術則是通過代碼修改已有的系統,形成新的可虛擬化的系統,調用硬件資源去安裝多個系統,整體速度上相對高一些,比如xen。
一臺可以運行最新linux內核的intel處理器(含vt虛擬化技術)或AMD處理器(含SVM安全虛擬化技術的AMD處理器,也叫AMD-V),需要開啟bios虛擬化功能 cpuinfo →virtualization technology選項設置為enabled
egrep ‘vmx|svm‘ /proc/cpuinfo
輸出是vmx 他是intel處理器虛擬機技術的標志
輸出是svm 他是AMD虛擬機技術的標志
如果什么都沒有得到,就是系統不支持虛擬化的處理,不能使用kvm
yum install -y kvm python-virtinst libvirt bridge-utils virt-manager qemu-kvm-tools virt-viewer virt-v2v libguestfs-tools
kvm網橋配置實戰
kvm 虛擬機網絡配置兩種方式:
NAT模式:讓虛擬機訪問主機,互聯網或本地網絡上的資源的簡單方法,但是不能從網絡或其他的客戶機訪問客戶機
bridge模式, 主機和主機之間 ,客戶機和主機之間的通信都很容易,使虛擬機成為網絡中具有獨立ip的主機
kvm虛擬機鏡像的選擇:raw 格式是原始鏡像,會直接當作一個塊設備給虛擬機來使用,I/O性能比qcow2高,不支持快照。
qcow2支持鏡像快照,zlib磁盤壓縮,AES加密等。
無論哪種格式,磁盤的利用率來說,都是一樣的,因為實際占用的塊數量都是一樣的,但是raw的虛擬機會比qcow2的虛擬機IO效率高一些,所以根據實際的應用環境來選擇磁盤鏡像的格式。
lsmod | grep kvm可以查看kvm模塊是否已添加。
/etc/libvirt/qemu 虛擬機的配置文件路徑
浙公網安備 33010602011771號