很過玩過 CloudStack的童鞋,或多或少在剛剛入門 CloudStack的時候,對一個搭建環境需要做N多次的建立,刪除才能最終執行好一個雲環境,但是在這個過程中,如果遇到問題,找不出其他方法解決的話,很多新手暫時能夠想到的就是重新建立環境,在這個過程中,有幾項注意點需要提醒各位,否則即使重建好了環境,也會由於某些配置的殘留而導致新的環境出現新的問題。

1. CloudStack +  KVM

這樣的組合其實就是兩個RHEL6U3系統上面CloudStack-Management服務與CloudStack-Agent的合作,當然對於Agent而言,libvirt也是一個重要的元件嘛。【假設就是一個管理節點,一個代理節點】一般這樣的組合搭建步驟如下:

管理節點:

(1)安裝作業系統

(2)配置YUM源,安裝cloudstack-management ,mysql-server 元件

(3)初始化cloudstack的mysql資料庫檔案

(4)掛載二級儲存,匯入系統VM模板

(5)通過cloudstack-setup-management命令完成cloustack管理服務啟動以及防火牆策略配置

代理節點:

(1)安裝作業系統

(2)配置YUM源,安裝cloudstack-agent元件

(3)配置libvirt相關配置檔案,/etc/libvirt/libvirtd.conf以及/etc/sysconfig/libvirtd

配置完成之後,通過cloudstack管理節點的web介面登入

http://cloudstack-management`s ip:8080/client

admin /password 登入

進行區域【Zone】的建立即可,具體步驟請參照博主其他部落格。

2. CloudStack +  VMWARE

這樣的組合一般是CloudStack+VCenter的合作,一個RHEL6U3系統上面執行CloudStack-Management服務,一個是VCenter配置好所有的主機資訊

步驟如下:

管理節點

除了掛載二級儲存,匯入的系統VM模板不同外(這裡需要匯入VMWARE的OVA模板,而非KVM的qcow2模板),其他所有步驟均與 CloudStack + KVM一樣。

代理節點(指的是ESXI主機,但是無需安裝CloudStack Agent元件)

(1) 安裝ESXI作業系統

(2) 安裝VCenter,可以使用Windows Server 2008 R2作業系統進行安裝

(3) 登入VCenter,新增資料中心–叢集,新增ESXI主機

配置完成之後,通過cloudstack管理節點的web介面登入

http://cloudstack-management`s ip:8080/client

admin /password 登入

進行區域【Zone】建立,建立過程中按照VCenter上真實資料中心以及叢集資訊填寫即可。具體步驟請參考博主的其他部落格。


以上都是CloudStack跟兩種主流虛擬化平臺的組合步驟,現在說下,在進行環境清理,然後重建環境需要注意的步驟

1. 管理節點

(1) 通過mysql客戶端登陸mysql伺服器,刪除cloud,cloud_usage,cloudbridge庫

(2) 重新通過命令初始化如上庫

必要的時候(希望完全清理的時候),掛載二級儲存,一級儲存,刪除所有檔案,然後重新掛載二級儲存,匯入系統VM模板

2. 代理節點

(1) 針對KVM主機, virsh pool-destroy 原有的儲存池 (一級儲存以及二級儲存)

(2) 針對VCenter,解除安裝原有掛載的儲存(一級儲存以及二級儲存),需事先刪除所有的主機跟模板檔案。


然後再重新通過按照上面的安裝步驟進行環境的重新搭建,基本不會出現由於舊環境的殘留資料引起的奇怪問題。




如何重建cloudstack後保留配置以及資料資訊


[root@SJCloudManager ~]# /etc/init.d/cloudstack-management  stop   //停止管理服務

Stopping cloudstack-management:                            [  OK  ]

//備份所有資料

[root@SJCloudManager ~]# mysqldump -uroot -p123456  –all-databases > cloud20140122.sql

//刪除cloudstack所有軟體包

[root@SJCloudManager ~]# yum remove cloudstack-* -y

//檢查是否刪除成功

[root@SJCloudManager ~]# rpm -qa |grep cloudstack

//將配置檔案備份到其他路徑

[root@SJCloudManager ~]# cp  /etc/cloudstack/management/db.properties.rpmsave   /root/db.properties

//刪除與cloudstack相關的目錄檔案

[root@SJCloudManager ~]# rm -rf /usr/share/cloudstack-management/*

[root@SJCloudManager ~]# rm -rf /usr/share/cloudstack-common/*
[root@SJCloudManager ~]# rm -rf /usr/share/cloudstack-bridge/*
[root@SJCloudManager ~]# rm -rf /etc/cloudstack/management/*

[root@SJCloudManager ~]# rm -rf /var/log/cloudstack/management/*

//安裝cloudstack管理節點軟體

[root@SJCloudManager ~]# yum install cloudstack-management   -y
[root@SJCloudManager ~]# rpm -qa |grep cloud
cloudstack-awsapi-4.2.0-2.el6.x86_64
cloudstack-management-4.2.0-2.el6.x86_64

cloudstack-common-4.2.0-2.el6.x86_64

//恢復配置檔案

[root@SJCloudManager ~]# cp /root/db.properties  /etc/cloudstack/management/

cp: overwrite `/etc/cloudstack/management/db.properties`? y

//重新初始化表結構

[root@SJCloudManager ~]# cloudstack-setup-databases cloud:123456@localhost -e file -m 123456 -k 123456

//恢復資料庫資料

[root@SJCloudManager ~]# mysql -uroot -p123456 < cloud20140122.sql

//重新初始化cloudstack-management

[root@SJCloudManager ~]# cloudstack-setup-management