簡單部署cloudstack

[簡單部署cloudstack]Centos6.5安裝Cloudstack 4.3-管理節點和計算節點安裝

2014年5月15日woyoo657 瀏覽數 發表評論閱讀評論

安裝過程中也遇到不少問題,特別感謝 兆松兄 @itnihao 的幫忙,想起那天半夜還在幫忙解決二級存儲無法正常啓動的問題,那是我逝去的青春。

1. 先決條件

 

  1. 至少一個支持硬件虛擬化的計算機。如果是個人電腦,在主板bios裏面開啓下虛擬化。
  2. CentOS 6.4 x86_64 的 minimal install CD <http://mirrors.kernel.org/centos/6.4/isos/x86_64/CentOS-6.4-x86_64-minimal.iso>
  3. 一個以xxx.xxx.xxx.1/24作爲網關的C類地址並且該網絡中不能存在DHCP服務器;運行Cloudstack 的機器不能使用動態地址。這樣做只是爲了簡單起見,我的環境中是192.168.1.0/24網絡。

2. 環境介紹

 

CloudStack可分爲管理節點安裝和受控節點安裝,我的cloudstack部署在家裏一臺pc上,並且在路由器上做了映射,然後用了dnspod的ddns來更新域名解析。這裏我使用單節點方式

電腦配置8核推土機,8G內存(有條件內存可以再加點,到時候可以多跑幾個虛擬機),家裏內網ip是192.168.1.網段,裝cloudstack這臺機器的ip是192.168.1.4

首先,我們先準備要Cloudstack的安裝環境。其中包括以下步驟。

2.1 操作系統

 

使用CentOS 6.5 x86_64 最小化安裝鏡像在你的設備上安裝CentOS系統,下面的安裝操作使用默認選項完成。

在安裝完成之後,可以使用root用戶通過SSH連接到該系統。注意,在生產環境中你應該禁止root登錄,所以在你完成安裝和配置之後要關閉遠程登錄。

 

2.2 網絡配置

 

默認情況下,網絡需要配置才能在我們的環境中正常使用。由於沒有使用DHCP服務器所以我們需要手動配置網絡接口。對於本次練習我們假設,僅使用eth0這一個網絡接口。

使用root用戶在登錄本地控制檯。檢查/etc/sysconfig/network-scripts/ifcfg-eth0,默認它應如下所示:

很不幸,當前配置不允許連接到網絡,當然也不符合我們安裝Cloudstack的條件。我們按照以下示例來配置IP地址,子網掩碼等等:

在配置好網絡之後,我們需要運行一些命令來啓動網絡:

 

2.3 主機名配置

CloudStack要求正確配置主機名。在默認情況下,安裝完操作系統後,主機名是localhost.localdomain。運行下面的命令來測試:

在此處將返回這樣的結果:

爲了糾正這種情況,我們需要編輯/etc/hosts文件來設置主機名,類似如下格式:

在你編輯完hosts文件之後,使用下面的命令重啓網絡:

現在使用hostname –fqdn命令重新檢查主機名並確認返回了正確的FQDN

 

2.4 SELinux配置

爲了讓CloudStack正常工作,我們必須將SELinux設置爲permissive。需要在當前系統運行狀態下和啓動後都能夠生效,進行以下配置。

在系統運行狀態下的將SELinux設置爲permissive,請執行下面命令:

按照下面的列子來配置/etc/selinux/config文件以確保當前SELinux狀態爲permissive。如這個例子所示:

 

2.5 NTP

 

需要爲CloudStack環境中的所有服務器指定NTP服務器以便保證時鐘同步。然而,默認安裝情況下NTP是沒有安裝的。要安裝NTP,請按下面方法操作:

實際上默認配置已經滿足我們的要求了,所以我們要做的就是啓用NTP 並配置其在啓動後自動運行:

 

2.6 配置ClouStack軟件庫

 

我們需要配置這臺機器使用CloudStack軟件庫。

註解

Apache CloudStack官方發佈的爲源代碼。因此沒有可用的“官方”安裝程序。完整的安裝嚮導介紹了怎麼獲取源代碼和以及製作RPM包和yum庫。本指南儘可能簡化這些操作,所以我們使用一個社區提供的yum庫。

要添加CloudStack庫,創建/etc/yum.repos.d/cloudstack.repo文件,並添加如下信息。

 

2.7 NFS

 

主存儲和輔助存儲我們都使用NFS存儲。接下來我們要設置兩個NFS共享。首先安裝nfs-utils。

現在我們在NFS服務器上配置兩個不同的共享目錄。我們需要在/etc/exports文件中分別配置一下。確保這個文件中包含下面內容:

自己測試玩玩的話,可以這樣配置nfs,生產環境不能這樣, * 表示所以客戶端都能掛載這2個目錄,當然這裏把ip固定死也不是很好的解決方案,畢竟虛擬機也是要能掛載二級存儲的,可以使用防火牆或者hosts.allow deny來控制

你可能注意到系統中根本不存在這兩個目錄。我們可以用下面的命令來創建並且賦予相應的權限:

CentOS 6.x默認使用NFSv4。NFSv4需要所有客戶端設置域。在我們的環境中域名爲cloud.priv,要達到這個目的,請在/etc/idmapd.conf文件中去掉如下注釋並修改:Domain = cloud.priv

接下來請在/etc/sysconfig/nfs文件中去掉如下選項的註釋:

接下來需要配置防火牆策略允許NFS客戶端訪問。編輯/etc/sysconfig/iptables

配置完成後用下面的命令行重啓iptables服務:

執行以下命令,將nfs服務加入開機啓動:

 這裏nfs服務啓動後,我們不用手動掛載這2個目錄,系統虛擬機啓動時會自己掛載的。
查看下這2個目錄
如果客戶端和服務器端使用nfs v4版本,需在hypervisor和管理服務器上修改 /etc/idmapd.conf

修改成自己域名

 

3. 管理服務器安裝

 

我們將要進行CloudStack管理節點和相關工具的安裝。

 

3.1 安裝配置數據庫

 

接下來安裝MySQL數據庫並配置一些選項以確保和CloudStack能正常工作。

執行下面的命令來安裝:

安裝MySQL之後我們需要改動/etc/my.cnf文件中的一些配置。我們需要在[mysqld]下面添加下列參數:當然後期根據cloudstack實際運行情況來對mysql進行優化。

正確配置完成之後使用以下命令來使MySQL啓動並將其添加到開機自動啓動項:

 如果你想偷懶不想手動設置密碼和做一些安全措施的話,可以運行mysql_secure_installation 根據嚮導來對mysql進行操作。

3.2 安裝cloudstack

 

現在我們開始安裝管理服務器。執行以下命令:

等待程序執行完畢後,我們初始化數據庫,執行下面的命令行和選項:

這裏我們這樣運行

當操作完成後,你應該會看到”CloudStack has successfully initialized the database.”這個消息。

創建好數據庫之後,我們執行最後的步驟來安裝和啓動管理服務器:

 

3.3 上傳系統模板

 

CloudStack使用一組系統虛機來提供訪問虛機控臺,各種網絡服務和管理存儲的功能。當你引導雲的時候,該步驟會獲取這些準備用於部署的系統鏡像。

現在我們要從剛剛掛載的共享存儲上面下載虛機模板並部署它們。管理服務器上有一個腳本來操作這些系統虛機鏡像。

如果你事先下載好了模版,只需導入下即可

下載其他類型的虛擬機模版可參考

 

For Hyper-V
# /usr/share/cloudstack-common/scripts/storage/secondary/cloud-install-sys-tmplt -m /mnt/secondary -u http://download.cloud.com/templates/4.3/systemvm64template-2013-12-23-hyperv.vhd.bz2 -h hyperv -F

For XenServer:
# /usr/share/cloudstack-common/scripts/storage/secondary/cloud-install-sys-tmplt -m /mnt/secondary -u http://download.cloud.com/templates/4.3/systemvm64template-2014-01-14-master-xen.vhd.bz2 -h xenserver -F

For vSphere:
# /usr/share/cloudstack-common/scripts/storage/secondary/cloud-install-sys-tmplt -m /mnt/secondary -u http://download.cloud.com/templates/4.3/systemvm64template-2014-01-14-master-vmware.ova -h vmware -F

For LXC:
# /usr/share/cloudstack-common/scripts/storage/secondary/cloud-install-sys-tmplt -m /mnt/secondary -u http://download.cloud.com/templates/4.3/systemvm64template-2014-01-14-master-kvm.qcow2.bz2 -h lxc -F

 

總結我們管理服務器的設置。在配置完hypervisor之後我們仍需對CloudStack進行配置。

 

4. KVM安裝和配置

 

我們使用KVM作爲 hypervisor-我們在hypervisor主機上恢復已經做過的初始化操作並且覆蓋安裝代理軟件,你可以重複同樣的步驟來添加其他的KVM節點到CloudStack環境中。

 

4.1 先決條件

 

我們同樣使用管理服務器作爲計算節點,這樣我們可以利用在安裝管理服務器時執行完成的那些準備工作,這裏我僅僅列出這些步驟:

  1. 網絡配置
  2. 主機名
  3. SELinux
  4. NTP
  5. 配置ClouStack軟件庫

你不需要在管理節點上做操作,但是在任何後添加的節點上你都需要完成以上那些操作。

 

4.2 安裝cloud-agent

 

安裝KVM代理僅僅需要一個簡單的命令,但是接下來我們需要進行很多配置。

 

4.3 配置KVM

 

我們需要分兩部分配置KVM:libvirt和QEMU。

 

4.3.1 配置QEMU

 

KVM只有一個相對簡單的配置項。我們需要編輯QEMU VNC配置。確保/etc/libvirt/qemu.conf文件有如下所示的行,並將其註釋去掉。

vnc_listen=0.0.0.0

 

4.3.2 配置Libvirt

 

CloudStack使用libvirt管理虛擬機。因此正確的配置libvirt是非常重要的。Libvirt是cloud-agent的一個依賴組件,它應該已經安裝好了。

  1. 爲了實現動態遷移libvirt需要監聽不可靠的TCP連接。還需要關閉libvirts嘗試使用組播DNS進行廣播。這些都是在 /etc/libvirt/libvirtd.conf文件中進行配置。

設置下列參數:

  1. 僅僅在libvirtd.conf中啓用”listen_tcp”是不夠的,我們還必須修改/etc/sysconfig/libvirtd中的參數:

取消下行的註釋:

  1. 重啓libvirt

KVM配置完成結束對KVM的安裝和配置之後,接下來需要在CloudStack管理界面中實際配置我們的雲。

5. 訪問用戶界面

 

要訪問CloudStack的WEB界面,你需要在瀏覽器中輸入http://192.168.1.4:8080/client,使用用戶’admin’和默認密碼’password’來登錄。第一次登錄後,有兩個選項可以設置CloudStack。這裏我們選擇繼續執行基本配置安裝。

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