1. 環境簡介
1.1硬件環境
準備4臺物理服務器作爲部署節點
進入主機BIOS,開啓Intel(R) Virtualization Technology和Intel(R) VT forDirected I/O虛擬化支持功能。
oVirt硬件環境官方需求如圖。
1.2軟件環境
所有服務器系統:CentOS7.3 minimal 64位
oVirt版本:4.1.1
2. oVirt簡介
oVirt是基於KVM虛擬化組建私有云平臺的管理工具。oVirt以web界面的方式管理KVM虛擬化環境,主要由Engine和Node兩部分組成,Engine是oVirt中的管理節點,提供web界面與用戶交互,使Node節點管理可視化。Node是oVirt中的計算節點,底層專注KVM虛擬化,併爲虛擬機運行提供計算資源。oVirt是數據中心虛擬化管理平臺解決方案,數據中心是邏輯的概念,按照主數據存儲的組織方式劃分,以便快速構建私有云,主要應用於桌面雲和服務器虛擬化。
oVirt Engine負責整個系統的管理維護是整個oVirt管理平臺的核心部件,Engine節點內置數據庫記錄整個系統中所有的虛擬機配置、節點狀態、系統環境、存儲器等信息。實現管理的邏輯、狀態及策略,良好的web界面客戶端,使系統管理員通過網頁進行管理系統的任何操作。oVirt Node只負責提供計算資源及功能實現,不記錄任何信息,僅僅負責實現虛擬機器與設備的創建與修改,資源的共享與保護。Node節點可以由普通Linux操作系統安裝VDSM組件構成,也可以是專爲Node定製的Linux操作系統。VDSM是維繫Node節點與Engine關係的紐帶,負責節點的自啓動與註冊及對網絡、存儲、主機、虛擬機的管理,支持對虛擬機的外部干涉、內存與存儲的合併與超支等功能。Node節點系統重啓後內容消失,從而保證了Node的無狀態性。
oVirt官網:http://www.ovirt.org/
oVirt官網部署手冊:
http://www.ovirt.org/documentation/install-guide/Installation_Guide/
3. 部署實踐
根據oVirt方案架構圖需求,要用3臺服務器部署oVirt Node計算節點,1臺服務器部署oVirt Engine管理節點。oVirt既可以安裝在虛擬機中,也可以安裝在物理服務器上。本次安裝採用物理服務器,不推薦用虛擬機安裝,用虛擬機安裝時,安裝好後運行虛擬機無法進入控制檯頁面。
3.1環境準備
部署底層系統
oVirt虛擬化所有服務都需要將Linux系統作爲底層運行環境。因此,將四臺物理服務器全部安裝CentOS7.3 minimal 64位操作系統。配置好正確時間和時區(Shanghai)。
關閉所有主機防火牆:
#systemctl stop firewalld.service
#systemctl disable firewalld.service
修改主機名:
以engine爲例,如下:
#hostnamectl --static set-hostname engine.taocloud.com
配置好其餘Node節點主機名。
配置yum源
oVirt-Engine採用yum源的安裝方式,配置所有主機的oVirt yum源,官網中所提供yum源下載速度過慢,因此不推薦使用。在每臺服務器中分別執行如下命令:
sudo yum install http://mirror.isoc.org.il/pub/ovirt/yum-repo/ovirt-release41.rpm
Engine節點需要yum安裝oVirt-Engine,Node節點需要部署VDSM與KVM服務。
3.2Engine管理節點
安裝管理節點
Engine作爲管理節點,是整個系統的核心部件,控制計算節點資源的使用,提供用戶訪問的web管理界面。
配置好所有yum源後安裝oVirt-Engine管理節點,執行如下命令:
sudo yum install ovirt-engine –y
配置oVirt Engine
執行命令:ovirt-engine setup
除部分需要填寫的名稱外,其餘全部爲默認,配置信息如下圖所示。
登錄Engine Web管理界面
Ovirt Engine使用FQDN方式進行web端訪問,沒有配置DNS時,需要修改遠端Windows機器的hosts文件,如下圖。
在遠程windows端打開瀏覽器,輸入:http://ovirtengine.taocloud.com/ovirt-engine進入oVirt WEB界面。用管理門戶進行登錄。
不修改hosts文件解析主機名時將無法正常名訪問到WEB界面。
使用系統默認的數據中心,配置集羣時選擇共享存儲方式
3.3Node計算節點
Ovirt Node支持兩種部署方式,可由普通Linux系統安裝VDSM和KVM服務組建Node節點,也可以在服務器之間安裝oVirt Node定製的Linux操作系統。本次部署採用由普通Linux系統部署服務的方法。
安裝計算節點
oVirt Node作爲虛擬化環境的計算節點,負責提供計算資源,搭建時需要在Linux操作系統部署VDSM和KVM服務。安裝服務前需要確保服務器具備以下條件:
能ping通外網
yum源配置正確
執行命令: # setenforce 0 #關閉SElinux
#vi /etc/selinux/config #修改配置文件,保證重啓後狀態不變
#SELINUX =enforcing #註釋掉改行內容,並在其下部添加信息
SELINUX=permissive
保存退出後。執行命令: #getenforce
Permissive #返回該結果說明配置正確
以上條件滿足後,回到Engine管理界面,通過ip直接添加oVirt Node節點,名稱隨意寫可用ip代替,一定要輸入正確的節點ip和驗證密碼,其餘內容根據個人需求填寫。等待一段時間後,即完成oVirt Node安裝,確保以上條件滿足時安裝過程中可能有警告但不會報錯。
Node定製鏡像
ovirt官網下載Node定製Linux系統鏡像:
ovirt-node-ng-installer-ovirt-4.1-2017041904.iso
把該系統鏡像直接部署在Node服務器上,之後之間在Engine管理界面添加Node節點。
3.4存儲域
配置nfs存儲
oVirt集羣有本地存儲與共享存儲兩種方式,選擇本地存儲時集羣中只能添加單臺Node節點,所以爲了更好發揮集羣特性,採用nfs共享存儲方式,在每臺Node節點上配置nfs共享存儲用於安裝虛擬機,執行以下命令:
mkdir /export/iso #創建iso存儲域用於存放系統鏡像
mkdir /export/data #創建data存儲域用於存放虛擬機數據
chown 36:36 –R /export #賦予VDSM權限
chmod 0755 –R /export #賦予執行權限
cat /etc/exports #按照以下內容編輯exports文件
/export/ iso *(rw,sync,no_subtree_check,all_squash,anonuid=36,anongid=36)
/export/ data*(rw,sync,no_subtree_check,all_squash,anonuid=36,anongid=36)
systemctl start nfs.service #啓動nfs服務
systemctl enable nfs.service #設置nfs服務開機自啓動
添加NFS存儲
在oVirt存儲域管理界面新建data存儲域用於存放數據,再新建ISO存儲域用於存放虛擬機鏡像,根據頁面提示填寫好正確的存儲路徑及其它信息。
上傳鏡像
在界面添加好iso存儲域和data數據存儲域後,可將系統鏡像直接拷貝到/export/ iso/98e1a52b-b72f-40f5-8c3e-f1cbb8989b93/p_w_picpaths/11111111-1111-1111-1111-111111111111目錄下,拷貝完成後在前臺界面刷新即可使用。
3.5虛擬機
創建虛擬機
創建虛擬機時一定要至少附件或創建一個實例鏡像即虛擬機系統盤,至少添加一個網絡,編輯好規格需求後點擊確定。
在虛擬機列表界面選中虛擬機後點擊“只運行一次”,進入引導選項選擇相應的系統鏡像,之後便可打開控制檯進行操作系統安裝。
4. 常見問題
錯誤1:
執行yum install ovirt-engine時若有任何報錯,檢查yum源是否有問題,一般yum源配置正確不會出現錯誤,無法確定的情況下嘗試更換yum源。
錯誤2:
在管理界面添加Node節點時報錯:
Host installation failed. Command returnedfailure code 1 during SSH session '[email protected].*.*'
解決:
(1)查看/etc/yum.repos.d裏面的ovirt源是否齊全,必須有ovirt-4.1-dependencies.repo和ovirt-4.1.repo,以及CentOS-*,以下爲正常源。
[root@node01 ~]# ls /etc/yum.repos.d/
bak CentOS-Debuginfo.repo CentOS-Sources.repo ovirt-4.1.repo
CentOS-Base.repo CentOS-fasttrack.repo CentOS-Vault.repo server.repo
CentOS-CR.repo CentOS-Media.repo ovirt-4.1-dependencies.repo
可執行yum clean all清理yum源緩存。
(2)查看是否能ping通外網
(3)/etc/init.d/rpcbind restart /etc/init.d/vdsmd restart
(4)檢測firewalld與selinux狀態,如果依然添加失敗可嘗試執行:
在Node節點添加失敗的任何情況下都可按照此方法排查。
錯誤3:
掛載nfs失敗時,進入底層用指令測試:
[root@node1 ~]# showmount -e 192.168.3.233
rpc mount export: RPC: Unable to receive;errno = No route to host
關閉firewalld和iptables