CloudStack升級實戰:4.1.x至4.3版本

前言
本文不再對升級過程做太詳細說明。
升級指南參考我的另外一篇博文:http://systems.blog.51cto.com/2500547/1385470

另外,生產環境中,如果需要升級,一定要進行多次模擬測試!
備份工作一定要做好。確定萬無一失再進行升級!

環境
CloudStack:4.1.1 → 4.3.0
虛擬化:KVM
主機系統:RHEL6.3

升級過程

一、上傳4.3的系統虛擬機模版
由於不同版本的CS所使用的系統虛擬機模版不一樣。爲了確保在升級完成後,系統虛擬機等組件能正常工作,官方首先建議在升級前就先把對應版本的系統虛擬機模版導入。方便升級後,現有系統虛擬機的更新。

1.由於我4.1.1的環境中僅存在kvm虛擬化平臺,所以我只需上傳4.3 for kvm的系統虛擬機模版。各位根據自己的環境上傳。如果異構環境的話,建議3個模版全部上傳。

注意:
註冊模版嚴格按照升級文檔要求來寫。上傳後系統虛擬機模版會有2個,一個是systemvm-kvm-4.3,另一個爲默認的:SystemVM Template(KVM). 無須手動干預。也不要去手動刪除它。

wKioL1Mz8qyg60BjAAFZ_NPwcWU298.jpg


上傳成功。查看模版信息:

wKiom1Mz8tSRWYYRAAGj09_M0gA551.jpg



二、備份數據庫
備份數據庫是爲了出現錯誤時回滾升級操作,保證在升級新版本失敗時,可以正常回滾到舊版本的基礎。
1.首先,停止management服務
[root@SJCloudManager ~]# service cloudstack-management stop
2.(選做)停止usage服務,如果你在使用的話
[root@SJCloudManager ~]# service cloudstack-usage stop
3.(選做)如果你使用了本地存儲,需修改本地存儲路徑,將路徑最後的斜槓“/”移除
查看當前的本地存儲信息:
[root@SJCloudManager ~]# mysql -ucloud -p1qaz2wsx -e "select id,name,path from cloud.storage_pool where pool_type='Filesystem'"
+-----+--------------+--------------------------+
| id | name | path |
+-----+--------------+--------------------------+
| 201 | SJCloudKVM-2 | /var/lib/libvirt/images/ |
+-----+--------------+--------------------------+
[root@SJCloudManager ~]#
#修改如上本地存儲路徑,將路徑最後的斜槓“/”移除:
[root@SJCloudManager ~]# mysql -ucloud -p1qaz2wsx -e 'update cloud.storage_pool set path="/var/lib/libvirt/images" where path="/var/lib/libvirt/images/"';
[root@SJCloudManager ~]# mysql -ucloud -p1qaz2wsx -e "select id,name,path from cloud.storage_pool where pool_type='Filesystem'"
+-----+--------------+-------------------------+
| id | name | path |
+-----+--------------+-------------------------+
| 201 | SJCloudKVM-2 | /var/lib/libvirt/images |
+-----+--------------+-------------------------+
[root@SJCloudManager ~]#
#唯一的變化爲路徑最後的斜槓被移除。此步驟爲官方要求。
4.開始備份數據庫
[root@SJCloudManager ~]# mysqldump -uroot -proot cloud > cloudstack-backup.sql

三、製作4.3YUM源
此步驟不再囉嗦,不會的可以看我另一篇博客:http://systems.blog.51cto.com/2500547/1338039
#僅看下我的cloudstack的repo文件
[root@SJCloudManager 430]# cat /etc/yum.repos.d/cloudstack.repo
[apache-cloudstack]
name=Apache CloudStack 4.3.0
baseurl=http://192.168.100.3/cloudstack/430/
enabled=1
gpgcheck=0
[root@SJCloudManager 430]# yum clean all; yum makecache


四、升級管理端主機:
#停止cloudstack-management服務
[root@SJCloudManager ~]# service cloudstack-management stop
#upgrade cloudstack-management軟件包
[root@SJCloudManager ~]# yum upgrade cloudstack-management -y
#啓動cloudstack-management服務
[root@SJCloudManager ~]# service cloudstack-management start

管理端升級完成!

五、升級KVM主機:
#停止cloudstack-agent服務
[root@SJCloudKVM-2 ~]# service cloudstack-agent stop
[root@SJCloudKVM-2 ~]# killall jsvc
#upgrade cloudstack-agent軟件包
[root@SJCloudKVM-2 ~ ]# yum upgrade cloudstack-agent -y
#查找/etc/cloudstack/agent/environment.properties文件中,有無如下行:
[root@SJCloudKVM-2 ~]# grep -r "paths.script" /etc/cloudstack/agent/environment.properties
paths.script=/usr/share/cloudstack-common
#確定存在paths.script行,如果沒有,自行添加上去。
#啓動cloudstack-agent服務
[root@SJCloudKVM-2 ~]# service cloudstack-agent start
#確定服務啓動
[root@SJCloudKVM-2 ~]# service cloudstack-agent status
cloudstack-agent (pid 19059) is running...

KVM主機升級完成!

六、登錄CS管理頁面
1.查看CS版本是否更新成功。
2.設置全局變量”integration.api.port“參數爲:8096

在升級結束後cloud-sysvmadm腳本會使用這個端口,進行對系統虛擬機的管理。

3.並確保在防火牆中開放此端口的訪問。

wKiom1Mz8tHxPAqsAAJXLRxiYfI233.jpg


wKioL1M0ReTBnEOIAAFBaWkijzM106.jpg

七、升級系統虛擬機
升級系統虛擬機有幾種辦法:
1.官方說只需要重啓系統虛擬機即可。你可以手動或者藉助cloudstack-sysvmadm腳本。 #但我未驗證是否可行。
2.銷燬系統虛擬機,待系統自行創建      #我在升級SSVM和CPVM過程中是採用這種方式。
3.手動點擊使用新模版更新系統虛擬機   #我在升級VR過程中是採用這種方式。

升級前系統虛擬機狀態:

wKiom1Mz8tPw2eAhAAIGSfJRvsU351.jpg


手動升級虛擬路由器虛擬機:

wKioL1Mz8q3zaMUbAAJR1_RlzGw190.jpg


升級完畢後,該升級選項消失:

wKiom1Mz8teTpKfRAAMHZBgHydc184.jpg


至此,CS4.1.1 到4.3.0的升級工作全部完成!

升級過程中,虛擬機實例沒有出現異常宕機情況


已知問題(BUG?)

升級完成後,如果碰到控制檯界面打不開,提示如下:

wKioL1NfTZqBs5_mAAI1Bk2QtDE370.jpg


提示找不到服務器,無法找到 x.x.x.x.*.realhostip.com.

可以看到realhostip.com前被加入了一個*,正是因爲該域名無法解析照成console打不開。

此問題由4.1升級到4.3帶來,且全新安裝不會出現該問題。

請修改兩個變量參數。

consoleproxy.url.domain
secstorage.ssl.cert.domain

升級完成後,該值被修改爲 *.realhostip.com

正確的應該爲realhostip.com

升級後:

wKioL1NfS_zhsbO4AAEG-NGSof4164.jpg


驗證

更新前我有一臺虛擬機實例:


更新後此實例沒有被影響:

wKioL1Mz8quieDlKAAJE7te2S10933.jpg



更新前,我主存儲本地路徑信息:

wKiom1Mz8tjz03m-AALPbhzs9os425.jpg


更新後的信息:
wKiom1M0Rtuwv8AmAALPbhzs9os580.jpg

創建新的虛擬機測試:

wKioL1Mz8rDB6HGKAAJNN5G***Y401.jpg




九、新版UI

登錄界面:

wKioL1Mz8qiSJ3EKAALgLdXrQWk392.jpg


控制板:


wKioL1Mz8qrDm9rgAAUO8bq-s4Q424.jpg


項目視圖:


wKiom1M0R2SiELF6AANLUSrwpyU360.jpg

基礎架構視圖:

wKiom1Mz8tKwiiQSAAK-6rt8bbg356.jpg



十、扯犢子
使用CS的過程中,狀況百出,特別是面對一坨有一坨的java異常。
那種感覺,你懂得。
蛋疼菊緊人憔悴。
但,生活還得繼續。
活着,就要繼續被虐。

什麼是經驗?
經驗就是CS虐了你千百遍,腦子缺根筋的你還要當它是初戀似的一次又一次撲上去。
爲啥撲不對?“姿勢”很重要。

















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