CloudStack+KVM環境搭建

本文以4.11.1.0版本爲例,使用的hypervisor類型爲KVM,操作系統爲RedHat7/CentOS7,官方安裝文檔參考:http://docs.cloudstack.apache.org/projects/cloudstack-installation/en/4.11/qig.html

環境準備

一套基本的CloudStack環境,包括一臺CloudStack管理端(cloudstack-management),一個mysql數據庫,若干臺支持KVM虛擬化的計算節點(cloudstack-agent)以及一臺用來做爲二級存儲的nfs服務器:
這裏寫圖片描述

在實際生產中,mysql數據庫和管理端都可能配備多臺作爲高可用,計算節點一般也是配置較高的物理服務器,但在實驗環境,我們可以採用最小化安裝模式,把mysql,nfs和管理端安裝在同一臺虛擬機上,使用一臺支持KVM虛擬化的虛擬機用來作爲計算節點,關於如何創建支持KVM虛擬化的虛擬機,可以參考文章:《KVM嵌套虛擬化 – 在虛擬機中創建虛擬機》
本文使用兩臺虛擬機來搭建我們的環境,nfs,mysql和管理端都裝在同一臺虛擬機上,cloudstack-agent安裝在一臺開啓了虛擬化支持的虛擬機上,部署架構如下:
這裏寫圖片描述

我們甚至可以把cloudstack-agent也安裝在管理端所在的虛擬機上,讓這臺虛擬機作爲計算節點使用,這樣整套環境我們只需要一臺虛擬機就可以部署完成。但我們不缺這幾臺機器,所以在這裏我們還是創建了單獨的虛擬機來作爲計算節點。

我們需要在這兩臺虛擬機上做以下配置:

配置本地域名解析

在文件/etc/hosts最後加上本機的IP及對應的主機名,如:192.168.122.10 MyHost01

關閉selinux
  1. 修改配置文件/etc/selinux/config,將SELINUX=enforcing改爲SELINUX=disabled或SELINUX=permissive
  2. 執行命令:setenforce 0
安裝ntp服務
yum -y install ntp
systemctl start ntpd
systemctl enable ntpd

完了以後我們就可以把CloudStack的安裝下載下來準備安裝,本文基於CloudStack 4.11.1.0 版本,rpm包可以在以下下載鏈接獲取:http://download.cloudstack.org/centos/7/4.11/?C=M;O=A ,下載三個主要的包即可:

cloudstack-management-4.11.1.0-1.el7.centos.x86_64.rpm
cloudstack-common-4.11.1.0-1.el7.centos.x86_64.rpm
cloudstack-agent-4.11.1.0-1.el7.centos.x86_64.rpm

安裝管理端

我們首先把管理端搭建起來,計算節點可以在管理端搭建起來後一臺一臺添加進去,按照管理端我們需要按照以下步驟:

安裝Mysql數據庫

RedHat 7.2中默認的yum源沒有MySql,當有個叫mariadb的數據庫,mariadb是mysql數據庫的一個分支,我們直接安裝默認yum源裏的mariadb就好:

yum install mariadb*
systemctl start mariadb.service
systemctl enable mariadb.service

設置Mysql root密碼:使用命令 mysql_secure_installation 按照提示設置root密碼,第一次使用時root密碼爲空,直接按回車即可

安裝服務端RPM:
yum localinstall cloudstack-management-4.11.1.0-1.el7.centos.x86_64.rpm cloudstack-common-4.11.1.0-1.el7.centos.x86_64.rpm
初始化CloudStack數據庫:
cloudstack-setup-databases cloud:cloud@localhost --deploy-as=root:root

參數解析:
cloud:cloud@localhost :其中cloud:cloud是cloudstack在mysql數據庫中創建的賬戶和密碼,localhost是mysql數據庫的地址,因爲我們裝在本機上,所以是localhost,如果mysql數據庫在另外一臺機器上,則需改爲該機器的IP或域名
–deploy-as=root:root :這個參數的值root:root填的是數據庫的root用戶名和密碼

執行這個命令會在MySql數據庫上創建一個cloud的用戶,並使用這個用戶創建一個cloud數據庫。出現以下信息則表明cluodstack的數據庫初始化成功:
這裏寫圖片描述

初始化cloudstack管理服務器

使用以下命令初始化並啓動cloudstack的管理服務器:

cloudstack-setup-management

出現以下界面表明管理服務器啓動成功:
這裏寫圖片描述

打開瀏覽器,在地址欄輸入[host_ipaddress]:8080/client可以看到CloudStack的UI界面:
這裏寫圖片描述
使用默認賬戶admin/password登錄,第一次登錄時會進入引導界面:
這裏寫圖片描述
我們可以選擇跳過直接進入CloudStack的主界面,此時由於我們還未添加資源,CloudStack主界面空空如也:
這裏寫圖片描述

安裝系統虛擬機

我們還需要把系統虛擬機下載下來並安裝到二級存儲上去,這樣當我們在啓用資源域的時候系統虛擬機才能成功被創建。
系統虛擬機的下載鏈接:http://cloudstack.apt-get.eu/systemvm/4.11/systemvmtemplate-4.11.1-kvm.qcow2.bz2

上文提到的NFS服務器就是作爲二級存儲使用的,所以我們還需要在本機上搭建一個NFS服務器後才能把系統虛擬機模板傳上去。不過不用擔心,NFS服務器的搭建非常簡單,不會的同學可以參考這篇文章:RedHat7/Centos7 搭建NFS服務器

假設掛載到NFS的目錄爲/mnt/secondary,那麼我們可以使用以下命令將系統虛擬機模板上傳到NFS上:

bunzip2 systemvmtemplate-4.11.1-kvm.qcow2.bz2	
/usr/share/cloudstack-common/scripts/storage/secondary/cloud-install-sys-tmplt -m /mnt/secondary -f systemvmtemplate-4.11.1-kvm.qcow2 -h kvm -F

出現類似以下信息則表明系統虛擬機模板已經成功上傳到NFS上:
這裏寫圖片描述

安裝Agent端

Agent端(即我們的計算節點)在安裝cloudstack-agent,還需要安裝libvirt和qemu,cloudstack對KVM虛擬化層的操作實際上都是libvirt和qemu來完成的,執行以下命令完成我們Agent端的安裝:

yum install libvirt*  qemu*
yum localinstall cloudstack-agent-4.11.1.0-1.el7.centos.x86_64.rpm cloudstack-common-4.11.1.0-1.el7.centos.x86_64.rpm
systemctl start cloudstack-agent
systemctl enable cloudstack-agent

需要注意的是,Agent端所在的機器也需要經過一開始時配置本地域名解析,安裝ntp,關閉selinux的配置哦。
完成以上步驟後稍後我們就可以把這個Agent作爲計算節點加入到CloudStack的資源域中。

創建Zone(資源域)

關於Zone是什麼,可以在這個鏈接瞭解一下:https://mp.csdn.net/mdeditor/76368387
在完成了以上步驟以後,我們終於可以來添加我們的第一個Zone了。點擊Infrastructure -> Zones->Add Zone,彈出以下頁面:
這裏寫圖片描述

有Basic和Advanced兩種Zone可以選擇,我們選Advanced,然後點Next,進入以下界面:
這裏寫圖片描述
Name隨便填一個,DNS可以根據具體的情況填寫,關鍵是下面的Hypervisior在這裏我們要選KVM,最下面兩個複選框也需要勾選,如下圖所示:
這裏寫圖片描述
完事以後點擊Next進入下面的頁面,這個是爲計算節點的不同網絡流量配置不同的網卡,因爲我們的計算節點只有一張默認網卡,所以我們可以直接點擊Next跳過,讓所有網絡流量都走默認網卡即可:
這裏寫圖片描述

在下面這個頁面我們需要爲CloudStack配置一個可用的IP範圍,用於公共流量(Public traffic),公共流量用於和外網進行通信,我們的IP範圍需要至少有2個IP用於公共流量:
這裏寫圖片描述
點擊下一步,進入到Pod的配置頁面,Name可以隨便取一個,下面的網段信息用於配置CloudStack的管理流量(Management traffic),即用於CloudStack各個組件間進行通信,配置一個CloudStack服務端和Agent端都可以訪問的可用的IP範圍即可:
這裏寫圖片描述

點擊下一步,配置一個系統保留VLAN範圍,隨便填100到200即可:
這裏寫圖片描述

點擊下一步,給我們的第一個Cluster取個名字,隨便取:
這裏寫圖片描述

點擊下一步,添加我們的第一個計算節點,這個Host Name要填我們上面那臺作爲計算節點的Agent的IP地址,Username和Password填Linux操作系統的用戶名和密碼:
這裏寫圖片描述

點擊下一步,添加一個二級存儲,Provider選nfs,Name隨便取,Server要填前面我們搭的那個NFS服務器,Path要填我們NFS服務器的共享目錄:
這裏寫圖片描述

點擊下一步,終於完了,點Launce Zone等待一段時間,等創建完成即可:
這裏寫圖片描述

如果中間有配置錯誤的地方會提示我們修改,最終出現以下頁面表明Zone以及成功創建,點擊Yes啓用資源域:
這裏寫圖片描述

此時的Infrastructure界面可以看到我們創建的資源都顯示在這個界面上:
這裏寫圖片描述

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