歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> CloudStack 4.1.0安裝詳解 - 1、管理節點

CloudStack 4.1.0安裝詳解 - 1、管理節點

日期:2017/3/1 15:53:07   编辑:關於Linux
CloudStack 4.1.0安裝詳解 - 1、管理節點 CloudStack是一個功能強大、UI友好的開源雲(IaaS)計算解決方案。自Ctrix將CloudStack捐獻給 apache 後,一直持續高速發展,其社區活躍度已經漸漸趕上風頭一時無兩的另一開源雲OpenStack平台。
CloudStack擁有所有開源雲平台中最為友善的管理界面,而且其天生的多語種支持會使中文用戶感覺很爽。 今天我們來詳細介紹一下CloudStack最新版本 4.1.0 在 CentOS 6.4 下的安裝部署的步驟。鑒於網上文章一大抄,很多內容都是裝來裝去一大堆東西,看官們一會就暈了,根本不了解為什麼裝這些程序,裝來是干什麼的。這回呢,我會把每一步說明盡可能詳細一些,外加我的經驗和理解(不少心得是重裝了10次以上後得出的),希望能讓後來者可以少走些彎路。
CloudStack可分為管理節點安裝和受控節點安裝。 管理節點安裝無特殊要求,完全可以安裝到虛擬機環境下。
受控節點因要創建虛擬機,故需要硬件虛擬化支持,推薦使用獨立主機安裝。CloudStack支持多種虛擬化方案,包括:KVM、Xen、XenServer、VMware。因XenServer、VMware已包含有強大的虛擬機管理功能,CloudStack可以直接與其通信調用其管理接口,因此這兩種受控機環境下,無需安裝任何軟件。但KVM、Xen的受控機必須安裝 CloudStack-Agent 之後,才能被CloudStack管理。 本篇我們主要來講解管理節點搭建步驟: 一、前期准備 1、配置網卡,確保主機能上網 因我們要使用網絡安裝方式,所以要首先保證你的服務器可以正常聯網。 1 ping www.baidu.com 2、設置主機名稱 CloudStack運行時需要獲取本機名稱,如無法正確獲取可能導致服務無法正常啟動並報一大堆的錯。 運行以下命令檢查: 1 hostname --fqdn 如無正常返回,請編輯 /etc/hosts 文件,添加主機ip對應的名稱。 1 如: 2 192.168.19.135 manage.cloudstack.com vi /etc/sysconfig/network 將 HOSTNAME= 改為同你剛設置的一樣。 編輯完後立即生效。如果還不成的話,重啟下服務器應該就會好了。 3、配置時間同步 管理節點會通過各種協議與受控節點通訊,為了確保安全,受控節點接到命令後會進行一系列的校驗,如果兩機的時間不同步的話,會導致命令拒絕執行。 最簡單的辦法就是,所有服務器都安裝 ntp實現時間的自動同步。 1 yum install ntp 4、修改Linux安全設置 服務器上的SELinux會攔截CloudStack的一些命令,導致CloudStack操作失敗,因此啟動CloudStack前需要對SELinux進行設置。 vi /etc/selinux/config 1 SELINUX=permissive 以上修改需重啟服務器才能生效,為使設置立即生效可使用下邊的命令 1 setenforce permissive 二、更新 yum 倉庫 默認情況下,CentOS的軟件源中沒有收錄最新版本CloudStack,為了能順利安裝,我們需要手工指定軟件源。 新建 /etc/yum.repos.d/cloudstack.repo 文件,內容為: 1 [cloudstack] 2 name=cloudstack 3 baseurl=http://cloudstack.apt-get.eu/rhel/4.1/ 4 enabled=1 5 gpgcheck=0 三、安裝管理節點 設置好源以後,我們就可以直接使用 yum安裝了,非常簡單方便。 安裝管理節點的命令為: 1 yum install cloud-client 如果你的CentOS 是最小化安裝的話,將需要安裝 160 兆以上的東東,請耐心等待哈... 四、配置數據庫 CloudStack使用mysql管理數據,但安裝cloud-client時沒有包含mysql,這時需要我們手工安裝,並導入數據。這是可以理解的,因為數據庫可以被安裝到其它機器上。 1 yum install mysql-server 默認的,mysql有連接數限制,無法滿足CloudStack管理節點的要求,需要手工設定。 vi /etc/my.cnf 增加以下內容: 1 innodb_rollback_on_timeout=1 2 innodb_lock_wait_timeout=600 3 max_connections=350 4 log-bin=mysql-bin 5 binlog-format='ROW' 注:如果沒改的話會發生什麼現象我沒有嘗試,不過還是建議按要求修改。 max_connections的參數應設置350乘以你准備部署的管理節點的數量。這裡假定只安裝一個管理節點。 現在,啟動 mysql 服務: 1 service mysqld start 缺省安裝的mysql安全級別比較低,需要手工設置mysql下密碼、禁用遠程訪問,刪除無用賬戶及測試數據庫。方法也很簡單,直接使用如下命令按向導提示一步步來即可: 1 mysql_secure_installation 數據庫准備好後,需導入CloudStack的表及基礎數據,這樣雲平台才能正常使用: 1 cloudstack-setup-databases cloud:123456@localhost --deploy-as=root:剛才設定的root密碼 如果沒有意外的話,最後會輸出 CloudStack has successfully initialized database 字樣,表示數據庫已經准備好了。 五、登陸WEB-UI 到目前為止,雖然還有很多工作要做,但你現在其實已經可以登陸CloudStack控制台啦。 先啟動CloudStack服務: 1 server cloudstack-management restart 啟動CloudStack服務需要花點時間,這期間你可以查看下它的日志,確保它正常啟動: 1 tail -100f /var/log/cloudstack/management/catalina.out 一般情況下,它會正常啟動。如果啟動時報權限問題,一般是因為 cloud用戶沒有/var/log/cloudstack/management/ 寫入權限導致。 1 chown cloud /var/log/cloudstack/ -R 啟動成功能後,你現在就可以用谷歌、火狐浏覽器訪問管理節點啦: http://管理節點ip:8080/client 注:IE訪問可能有兼容性問題。 Cloudstack基於tomcat提供web服務,默認使用了8080端口。如果你想改用其它端口,可以修改 /etc/tomcat6/server.xml 文件進行配置。 Cloudstack 默認安裝在 /etc/cloudstack/management 目錄下,你可以通過修改 log4j-cloud.xml 文件來調整日志的輸出級別、路徑等。 CloudStack原生支持中文,怎麼樣看著親切吧? 默認的用戶名為 admin 密碼是 password 。 初次登陸時會顯示向導頁面,一步步引導你創建第一個基礎架構。目前我們的准備工作尚未完成,還無法正確添加,因此這裡先選擇跳過。 登陸後點擊“基礎架構”,CloudStack資源管理的功能都在“基礎架構”下。 其中,“區域”可以理解為一個機房; “提供點”可以理解為一個機架; “群集”是機架中主機的分組管理; “主存儲”是網絡存儲,主要用於存放虛擬機硬盤的,當然你也可以使用本地存儲; “二級存儲”也是網絡存儲,主要用於存在虛擬機模板、快照的。 “系統VM”是CloudStack自帶的專用虛機,用於管理二級存儲及遠程終端。其中二級存儲虛機必須正常啟動模板等一干功能才可用。遠程終端虛機正常啟動後,才能通過WEB頁面直接訪問虛機控制台。 “虛擬路由器”也是CloudStack自帶的專用虛機。主要用於網絡隔離、端口轉發等網絡相關功能。 根據以上的介紹,想添加新的“區域”還必須依賴於網絡存儲、系統虛機的支持,因此各位看官還需繼續努力哦。 六、安裝網絡存儲 主存儲由於可使用本地存儲,故可不添加,但二級存儲只能使用網絡存儲。 CloudStack支持多種網絡存儲協議,如iSCSI、NFS、VMFS等。由於NFS簡單易用,推薦使用NFS搭建網絡存儲。 安裝NFS服務: 1 yum install nfs-utils 編輯 /etc/export 文件,設置主存儲和二級存儲的路徑 # vi /etc/exports 在文件中,增加如下內容 1 /export *(rw,async,no_root_squash) 實際建立文件夾 1 mkdir -p /export/secondary 2 mkdir -p /export/primary 修改 /etc/sysconfig/nfs 將其中的端口號全部打開 1 LOCKD_TCPPORT=32803 2 LOCKD_UDPPORT=32769 3 MOUNTD_PORT=892 4 RQUOTAD_PORT=875 5 STATD_PORT=662 6 STATD_OUTGOING_PORT=2020 接著開放iptables相關端口: vi /etc/sysconfig/iptables 01 -A INPUT -p tcp -m tcp --dport 111 -j ACCEPT 02 -A INPUT -p udp -m udp --dport 111 -j ACCEPT 03 -A INPUT -p tcp -m tcp --dport 2049 -j ACCEPT 04 -A INPUT -p tcp -m tcp --dport 32803 -j ACCEPT 05 -A INPUT -p udp -m udp --dport 32769 -j ACCEPT 06 -A INPUT -p tcp -m tcp --dport 892 -j ACCEPT 07 -A INPUT -p udp -m udp --dport 892 -j ACCEPT 08 -A INPUT -p tcp -m tcp --dport 875 -j ACCEPT 09 -A INPUT -p udp -m udp --dport 875 -j ACCEPT 10 -A INPUT -p tcp -m tcp --dport 662 -j ACCEPT 11 -A INPUT -p udp -m udp --dport 662 -j ACCEPT service iptables restart 啟動NFS服務: 1 service nfs start 2 service rpcbind start 設置服務為自動重啟 1 chkconfig nfs on 2 chkconfig rpcbind on CloudStack有一個全局屬性來控制二級存儲所在的網段。如果這個網段沒配或配置的不對,將可能無法成功能添加到二級存儲。 登陸 CloudStack 管理頁面,選擇“全局設置”,在右上邊的搜索框中輸入 sites 搜索。 修改 secstorage.allowed.internal.sites 為二級存儲當前網段,如 192.168.0.0/24 搜索 local,修改system.vm.use.local.storage 為 true,允許系統虛機使用本地存儲。 修改後,重啟 CloudStack 生效。 1 server cloudstack-management restart 七、導入系統虛擬機模板 系統虛機在CloudStack中扮演著重要的角色,如系統虛機沒有正確導入,CloudStack將無法管理二級存儲,也就無法完成導入模板、創建新的虛機等操作。 系統虛機文件很大,沒有包含在CloudStack安裝程序中,需要我們手工下載並導入。 因系統虛機需要存放在二級存儲上,故需先mount 二級存儲到本地硬盤 1 mkdir /tmp/iso -p 2 mount -t nfs 127.0.0.1:/export/secondary /tmp/iso 3 cd /usr/share/cloudstack-common/scripts/storage/secondary/ 不同的虛擬機實現方案系統虛機模板也是不同的 如果你的受控機使用 KVM,則使用下面的命令: 1 ./cloud-install-sys-tmplt -m /tmp/iso/ -u http://download.cloud.com/templates/acton/acton-systemvm-02062012.qcow2.bz2 -h kvm -F 如果你的受控機使用XenServer,則使用下面的命令: 1 ./cloud-install-sys-tmplt -m /tmp/iso/ -u http://download.cloud.com/templates/acton/acton-systemvm-02062012.vhd.bz2 -h xenserver -F 如果你的受控機使用vCenter,則使用下面的命令: 1 ./cloud-install-sys-tmplt -m /tmp/iso/ -u http://download.cloud.com/templates/burbank/burbank-systemvm-08012012.ova -h vmware -F 文件較大,需耐心等待.…… 當然,你也可以把文件下載到本地,然後用 -f 參數導入。如: 1 ./cloud-install-sys-tmplt -m /tmp/iso/ -f /var/acton-systemvm-02062012.qcow2.bz2 -h kvm -F 八、添加“基礎架構” 好了,現在CloudStack管理節點所有的准備工作都已經完成了。接下來你就可以添加自己的第一個“區域”了。 這步的操作方法,CloudStack中已經提供了一個非常友好的向導,可以幫助你正確完成添加。另外,網上也有一大堆的文章介紹,我就不詳細說了,等將來有機會時我再給大家介紹下CloudStack高級網絡域的相關功能及添加方法。 附,可能遇到的問題: 1、管理節點的webui 無法訪問 檢查iptables是否阻擋了8080端口。檢查cloudstack-management服務是否正常啟動。 1 server cloudstack-management status 如果啟動狀態不正常,則需要檢查一下日志。 日志位於 /var/log/cloudstack/management/catalina.out 。根據日志中的錯誤提示,進行相應的處理,絕大多數問題都可以得到解決。 如果日志信息不夠詳細,可以修改 /etc/cloudstack/management/log4j-cloud.xml來調整日志的輸出級別。 2、登陸時提示用戶名密碼不正確。 默認的登陸用戶名為 admin 密碼是 password 。 如果登陸時提示不正確,可能是導入基礎數據庫時有的問題。 重新導入基礎數據庫: 1 cloudstack-setup-databases cloud:123456@localhost --deploy-as=root:root密碼 如果還不行,參考5將數據庫刪掉再重新導入。 3、CloudStack不能添加主存儲或二級存儲 檢查/etc/sysconfig/nfs配置文件是否把端口都開放了。 檢查iptables是否有阻擋。 檢查CloudStack的“全局設置”,secstorage.allowed.internal.sites屬性是否設置正確。 4、CloudStack無法導入IOS或虛擬機模板 創建好“基礎架構”後,就可以導入ISO文件或虛擬機模板,為創建虛機做准備了。 如果你發現注冊ISO或注冊模板時,狀態字段一直不動,已就緒永遠都是no,那一般都是因為二級存儲有問題或Secondary Storage VM 有問題了。 選擇“控制板”->系統容量,檢查二級存儲容量是否正確。 檢查系統VM中的Secondary Storage VM是否正常啟動。 5、CloudStack如何重裝 安裝完CloudStack後,我們往往會做各種實驗,可能會把系統搞得很亂。想刪除的話非常麻煩,因為它們之間往往存在層級關系,必須先從最底層刪起。有沒簡單的辦法直接推倒重來呢?答案是有的,最簡單只要重置下其數據庫即可。 先停掉CloudStack服務: service cloudstack-management stop 登陸mysql控制台,刪除數據庫: mysql -u root -p 1 drop database cloud; 2 drop database cloud_usage; 3 drop database cloudbridge; 4 quit; 重新導入基礎數據: 1 cloudstack-setup-databases cloud:123456@localhost --deploy-as=root:root密碼 重新導入系統虛機: 1 mount -t nfs 127.0.0.1:/export/secondary /tmp/iso 2 rm -rf /tmp/iso/ 3 cd /usr/share/cloudstack-common/scripts/storage/secondary/ 參考第7節,導入相應的系統虛機模板。 重啟cloudstack服務 1 service cloudstack-management start 這時,你再登陸就會發現一個全新的CloudStack啦。 6、CloudStack的區域、提供點等無法用中文命名 CloudStack在4.1以前的版本中,區域、提供點等均可使用中文命名,但4.1版本時卻不知為何做了限制,蛋疼。 如果在意這個功能,請使用4.1以前的版本。推薦使用 4.0.2版。
Copyright © Linux教程網 All Rights Reserved