[簡單部署cloudstack]Centos6.5安裝Cloudstack 4.3-管理節點和計算節點安裝
鈿畑的文章索引
安裝過程中也遇到不少問題,特別感謝 兆松兄 @itnihao 的幫忙,想起那天半夜還在幫忙解決二級存儲無法正常啓動的問題,那是我逝去的青春。
1. 先決條件
- 至少一個支持硬件虛擬化的計算機。如果是個人電腦,在主板bios裏面開啓下虛擬化。
- 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>
- 一個以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
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服務加入開機啓動:
修改成自己域名
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 -FFor 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 -FFor 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 -FFor 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 先決條件
我們同樣使用管理服務器作爲計算節點,這樣我們可以利用在安裝管理服務器時執行完成的那些準備工作,這裏我僅僅列出這些步驟:
- 網絡配置
- 主機名
- SELinux
- NTP
- 配置ClouStack軟件庫
你不需要在管理節點上做操作,但是在任何後添加的節點上你都需要完成以上那些操作。
4.2 安裝cloud-agent
安裝KVM代理僅僅需要一個簡單的命令,但是接下來我們需要進行很多配置。
4.3 配置KVM
我們需要分兩部分配置KVM:libvirt和QEMU。
4.3.1 配置QEMU
KVM只有一個相對簡單的配置項。我們需要編輯QEMU VNC配置。確保/etc/libvirt/qemu.conf文件有如下所示的行,並將其註釋去掉。
4.3.2 配置Libvirt
CloudStack使用libvirt管理虛擬機。因此正確的配置libvirt是非常重要的。Libvirt是cloud-agent的一個依賴組件,它應該已經安裝好了。
- 爲了實現動態遷移libvirt需要監聽不可靠的TCP連接。還需要關閉libvirts嘗試使用組播DNS進行廣播。這些都是在 /etc/libvirt/libvirtd.conf文件中進行配置。
設置下列參數:
- 僅僅在libvirtd.conf中啓用”listen_tcp”是不夠的,我們還必須修改/etc/sysconfig/libvirtd中的參數:
取消下行的註釋:
- 重啓libvirt
KVM配置完成結束對KVM的安裝和配置之後,接下來需要在CloudStack管理界面中實際配置我們的雲。
5. 訪問用戶界面
要訪問CloudStack的WEB界面,你需要在瀏覽器中輸入http://192.168.1.4:8080/client,使用用戶’admin’和默認密碼’password’來登錄。第一次登錄後,有兩個選項可以設置CloudStack。這裏我們選擇繼續執行基本配置安裝。