centos7環境,kvm命令行模式部署虛擬機

KVM簡介

KVM(名稱來自英語:Kernel-basedVirtual Machine的縮寫,即基於內核的虛擬機),是一種用於Linux內核中的虛擬化基礎設施,可以將Linux內核轉化爲一個hypervisor。KVM在2007年2月被導入Linux 2.6.20核心中,以可加載核心模塊的方式被移植到FreeBSD及illumos上。

KVM在具備Intel VT或AMD-V功能的x86平臺上運行。它也被移植到S/390,PowerPC與IA-64平臺上。在Linux內核3.9版中,加入ARM架構的支持。


1).KVM是開源軟件,全稱是kernel-based virtual machine(基於內核的虛擬機)。
2).是x86架構且硬件支持虛擬化技術(如 intel VT 或 AMD-V)的Linux全虛擬化解決方案。
3).它包含一個爲處理器提供底層虛擬化 可加載的核心模塊kvm.ko(kvm-intel.ko或kvm-AMD.ko)。
4).KVM還需要一個經過修改的QEMU軟件(qemu-kvm),作爲虛擬機上層控制和界面。
5).KVM能在不改變linux或windows鏡像的情況下同時運行多個虛擬機,(它的意思是多個虛擬機使用同一鏡像)併爲每一個虛擬機配置個性化硬件環境(網卡、磁盤、圖形適配器……)。
6).在主流的Linux內核,如2.6.20以上的內核均已包含了KVM核心。

kvm 是linux內核包含的東西,使用qemu作爲上層管理(命令行)。
1).要求cpu 必須支持虛擬化。
2).性能:作爲服務器很好,可是圖形能力十分的差。即使放電影,圖像也是像刷油漆一樣,一層一層的。
3).cpu使用率控制很好。
4).控制上比較簡潔,功能比較豐富:比如使用“無敵功能”所有更改指向內存,你的鏡像永遠保持乾淨。“母鏡像”功能讓你擁有n個獨立快照點。還有很多參數。另外,kvm作爲內核級的虛擬機,剛開始發展關注的公司比較多——但是還沒有達到商業應用的水平。
KVM內存管理
KVM繼承了Linux系統管理內存的諸多特性,比如,分配給虛擬使用的內存可以被交換至交換空間、能夠使用大內存頁以實現更好的性能,以及對NUMA的支持能夠讓虛擬機高效訪問更大的內存空間等。
KVM基於Intel的EPT(ExtendedPage Table)或AMD的RVI(Rapid Virtualization Indexing)技術可以支持更新的內存虛擬功能,這可以降低CPU的佔用率,並提供較好的吞吐量。
此外,KVM還藉助於KSM(Kernel Same-pageMerging)這個內核特性實現了內存頁面共享。KSM通過掃描每個虛擬機的內存查找各虛擬機間相同的內存頁,並將這些內存頁合併爲一個被各相關虛擬機共享的單獨頁面。在某虛擬機試圖修改此頁面中的數據時,KSM會重新爲其提供一個新的頁面副本。實踐中,運行於同一臺物理主機上的具有相同GuestOS的虛擬機之間出現相同內存頁面的概率是很高的,比如共享庫、內核或其它內存對象等都有可能表現爲相同的內存頁,因此,KSM技術可以降低內存佔用進而提高整體性能。


1,環境準備

4G,2核
#關閉防火牆和selinux
[root@ c7-41 ~] systemctl stop firewalld
[root@ c7-41 ~] systemctl disable firewalld
[root@ c7-41 ~] setenforce 0
[root@ c7-41 ~] sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

在這裏插入圖片描述
檢查cpu是否支持虛擬化

[root@ c7-41 ~] egrep '(vmx|svm)' /proc/cpuinfo

在這裏插入圖片描述
2,安裝所需組件kvm用戶態模塊

[root@ c7-41 ~] yum -y install qemu-kvm qemu-kvm-tools libvirt
#libvirt用來管理kvm
#kvm屬於內核不用安裝
[root@ c7-41 ~] systemctl start libvirtd #啓動libvirt
[root@ c7-41 ~] systemctl enable libvirtd #添加開機自啓

3,進入opt,上傳鏡像,使用dd命令,複製系統鏡像,掛載到光盤上

[root@ c7-41 ~] cd /opt/
[root@ c7-41 opt] ls
CentOS-7-x86_64-DVD-1908.iso
[root@ c7-41 opt] dd if=/dev/cdrom of=/opt/CentOS-7-x86_64-DVD-1908.iso

4,創建磁盤

[root@ c7-41 opt] qemu-img create -f qcow2 /opt/c77.qcow2 8G
Formatting '/opt/c77.qcow2', fmt=qcow2 size=8589934592 encryption=off cluster_size=65536 lazy_refcounts=off 
[root@ c7-41 opt] ll
total 4554948
-rw-r--r-- 1 root root     197120 May 13 14:11 c77.qcow2
-rw-r--r-- 1 root root 4664066048 May 13 14:08 CentOS-7-x86_64-DVD-1908.iso

5,安裝虛擬機

[root@ c7-41 opt] yum -y install virt-install
[root@ c7-41 opt] virt-install --virt-type=kvm --name=c77 --vcpus=1 -r 1024 --cdrom=/opt/CentOS-7-x86_64-DVD-1908.iso --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole --os-type=linux --os-variant=rhel7 --disk path=/opt/c77.qcow2,size=6,format=qcow2

Starting install...
Domain installation still in progress. You can reconnect to 
the console to complete the installation process.

相關參數註釋在這裏插入圖片描述

[root@ c7-41 opt] virsh list --all #查看虛擬機運行狀態
 Id    Name                           State
----------------------------------------------------
 1     c77                            running

6,使用vnc登陸,開始設置安裝虛擬機
在這裏插入圖片描述
選擇語言
在這裏插入圖片描述選擇時區
在這裏插入圖片描述
在這裏插入圖片描述
最小化安裝,可以安裝在幾個工具在這裏插入圖片描述在這裏插入圖片描述
關閉kdump
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
開始安裝
在這裏插入圖片描述
設置用戶密碼
在這裏插入圖片描述
在這裏插入圖片描述
安裝完成,重啓
在這裏插入圖片描述
重啓後會斷掉,在服務器上執行啓動命令

[root@ c7-41 opt] virsh start c77 #c77是創建虛擬機的名字
Domain c77 started

重新登錄vnc
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章