1. 程式人生 > >Centos7 部署KVM虛擬化平臺

Centos7 部署KVM虛擬化平臺

linux內核 證明 CA term 實現 oss 光盤安裝 點擊 依賴包

虛擬化概述

虛擬化(系統虛擬化):一個物理機上開很多虛擬機,實現互不幹擾;虛擬硬件使用物理機硬件資源,每個虛擬機擁有獨立的硬件資源。

 名詞:物理機或宿主機(Host,即真機)虛擬機裏面系統(Guest OS)

虛擬機不能直接與物理機資源訪問,必須通過VMM(虛擬機管理程序,即VDSM或稱Hypervisor)才能訪問物理機資源。

虛擬化類型

1、全虛擬化(本地虛擬化、硬件輔助全虛擬化):虛擬機中運行的軟件與系統不需經過任何修改,就好比運行在真實硬件一樣;但依然使用虛擬硬件設備,並且需要硬件支持,物理機需支持虛擬化功能(grep -E ‘vmx|svm‘ /proc/cpuinfo,查詢intel與AMD是否支持)

2、半虛擬化:另一種類似於全虛擬化的熱門技術,它使用Hypervisor(虛擬機管理程序)分享存取底層的硬件, 但是它的客戶操作系統集成了虛擬化方面的代碼,該方法無需重新編譯或引起陷阱,因為操作系統自身能夠與虛擬進程進行很好的協作;但半虛擬化需要客戶操作系統做一些修改(配合VDSM),這是一個不足之處,但是半虛擬化提供了與原始系統相近的性能,與全虛擬化一樣,半虛擬化可以同時能支持多個不同的操作系統
技術分享圖片

虛擬機概述

虛擬機:運行在計算機上的一款軟件程序,模擬計算機硬件的功能,為其他軟件程序提供一個獨立的計算機環境;使用資源為真機資源。
虛擬機的運行架構:

1、傳統運行模式:一臺計算機同時只能運行一個操作系統,在系統之上運行運用軟件。

2、寄居架構:將虛擬機軟件安裝在操作系統之上,作為一個應用程序,在虛擬機軟件創建出來的虛擬機上還可以安裝操作系統軟件。

3、原生架構(裸金屬架構):虛擬機軟件不需要依賴其他操作系統,直接安裝在計算機硬件上,虛擬機軟件本身就是一個操作系統。

KVM簡介

KVM是Kernel Virtual Machine的簡寫,使用半虛擬化技術創建虛擬機的模塊,目前Red Hat只支持在64位的RHEL 5.4及以上的系統運行KVM(其余發行版也可使用),同時硬件需要支持VT技術;KVM的前身是QEMU,2008年被Red Hat公司收購並獲得一項hypervisor技術,不過Red Hat的KVM被認為是將成為未來Linux hypervisor的主流,準確來說,KVM僅僅是Linux內核的一個模塊,管理和創建完整的KVM虛擬機,需要更多的輔助工具。

KVM自Linux 2.6.20版本後就直接整合到Linux內核,它依托CPU和虛擬化指令集(如Inter-VT、AMD-V)實現高性能的虛擬化支持;由於與Linux內核高度整合,因此在性能、安全性、兼容性、穩定性上都有很好的表現。
技術分享圖片
圖上簡單描述了KVM虛擬化架構,在KVM環境中運行的每個虛擬化操作系統都將表現為單個獨立的系統進程。因此它可以很方便地與Linux系統中的安全模塊進行整合(SElinux),可以靈活地實現資源的管理及分配。

實驗環境:

系統:centos7-3.10.0-514.el7.x86_64
虛擬化:開啟虛擬化支持選項(虛擬機需要在關機狀態開啟處理器裏的虛擬化引擎)
技術分享圖片
KVM軟件版本:qemu-kvm-1.5.3-156.el7_5.2.x86_64
檢查系統是否支持虛擬化:
Intel CPU:cat /proc/cpuinfo |grep --color vmx
AMD CPU:cat /proc/cpuinfo |grep --color smv
註:若以上操作有輸出,就說明 CPU 支持虛擬化。如下截圖
技術分享圖片

一、安裝KVM

1、安裝KVM和依賴包

yum -y install qemu-kvm qemu-img virt-manager libvirt libvirt-python python-virtinst libvirt-client virt-install virt-viewer
技術分享圖片

2、查看kvm是否安裝 lsmod | grep kvm
技術分享圖片
註:以上截圖證明KVM安裝成功!

3、啟用libvirtd服務 systemctl start libvirtd

4、設置開機啟動 systemctl enable libvirtd

二、配置網卡

1、查看網卡信息 ip a
技術分享圖片

2、拷貝網卡並命名為br0
cp /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-br0

3、配置第一塊ens33網卡信息 vi /etc/sysconfig/network-scripts/ifcfg-ens33
技術分享圖片

4、配置第二塊br0網卡信息 vi /etc/sysconfig/network-scripts/ifcfg-br0
技術分享圖片

5、重啟網卡服務 systemctl restart network

三、KVM安裝虛擬機

1、遞歸創建存儲池 mkdir -pv /kvm/{store,iso}
技術分享圖片
註:在安裝虛擬機之前,為了方便管理虛擬機的磁盤及鏡像文件,一般建議單獨新建存儲池(即磁盤文件和鏡像存儲位置指定)

運行虛擬機管理軟件有兩種方式:
方式一:給系統安裝桌面,在桌面運行命令virt-manager調用管理軟件。
方式二:雙擊打開第三方插件xhell裏的工具Xmanager-Passive然後從shell

運行命令virt-manager調用管理軟件。
註:我這裏使用的是安裝桌面方式!

2、安裝桌面GNOME環境 yum -y install gnome-classic-session gnome-terminal nautilus-open-terminal control-center liberation-mono-fonts

3、安裝交互環境 yum -y groupinstall "X Window System"

4、運行虛擬機管理軟件 virt-manager
在桌面系統運行virt-manager,然後就能看到如下截圖;
技術分享圖片

1)雙擊QEMU/KVM選擇"存儲選項卡",然後單擊"+"按鈕新建存儲池;
技術分享圖片

根據提示輸入存儲池的名稱,如store;
技術分享圖片

點擊Forward,指定store存儲池裏面內容的store存儲目錄(該處為之前新建的/kvm/store);
技術分享圖片

然後點擊Finish,然後能看見剛添加的store存儲池;
技術分享圖片

2)同樣的操作創建iso的鏡像存儲池,單擊"+"按鈕新建存儲池;
技術分享圖片

根據提示輸入iso存儲池的名稱,如iso;
技術分享圖片

點擊Forward,指定存儲池裏面內容的iso存儲目錄(該處為之前新建的/kvm/iso);
技術分享圖片

然後點擊Finish,然後能看見剛添加的iso存儲池;
技術分享圖片

5、上傳鏡像到鏡像池

1)上傳鏡像到鏡像目錄(我是用xsehll上傳到這個目錄下的)
技術分享圖片

2)在圖形界面點擊iso目錄,然後點擊刷新就能看到鏡像文件
技術分享圖片

6、新建存儲卷

存儲卷即安裝系統時虛擬機所使用的磁盤文件,那麽在vmware軟件中是在新建虛擬機時可選擇磁盤文件的位置和大小,而KVM可提前新建虛擬機所使用磁盤文件及大小(當然也可直接使用默認KVM創建的default存儲池空間),相比更加靈活。

1)單擊剛創建好的"store"存儲池,單擊對話框中間的"+"按鈕建立一個存儲卷;
技術分享圖片

設置新建存儲卷卷名並指定卷最大容量與分配容量(Format選擇"qcow2"不然不能快照);
技術分享圖片

點擊Finish完成即可
技術分享圖片

7、新建虛擬機
回到首頁虛擬系統管理器後,選擇"第一個電腦圖標"選項;
技術分享圖片

指定從本地或光盤中選擇鏡像安裝系統,然後點擊Forward;
技術分享圖片

點擊"Browse"瀏覽本地鏡像並選擇鏡像,光盤安裝就選擇1,本地鏡像安裝就選擇2,我選擇2做實驗,然後點擊Choose Volume;
技術分享圖片
技術分享圖片

自動識別操作系統類型與版本,然後點擊Forward,進行下一步;
技術分享圖片

指定新建虛擬機采用的內存及CPU核心數;
技術分享圖片

繼續點擊Forward,進行下一步;
技術分享圖片

點擊Manage選擇虛擬機產生文件存儲位置;
技術分享圖片

這裏選擇之前新建存儲卷"centos7x64"使用它的空間;
技術分享圖片

然後點擊Choose Volume;
技術分享圖片

繼續點擊Forward,進行下一步;
技術分享圖片

指定虛擬機名稱,然後將Storage選項下方的方格勾選上;
技術分享圖片

然後點擊Finish完成即可
技術分享圖片

讓"虛擬機"鍵盤布局和真機一樣(一定選擇,不然裏面鍵盤輸入有問題)
技術分享圖片

然後點擊Apply,進行下一步;
技術分享圖片
註:你會發現你選擇的選項變成了en-us,centos7系統默認的,所以不用管,繼續創建即可。

點擊左上角Begin Installtion,開始引導安裝系統,之後就不再多說了,直接使用即可;
技術分享圖片
註:到這裏就已經完成了Centos7上部署KVM,具體使用方式,後續會更新!

Centos7 部署KVM虛擬化平臺