為了應付突發的通路壓力,我們常常會使用彈性伸縮功能,在系統遭遇突發壓力的時候迅速生成新的主機加入叢集來分擔壓力。但是随着系統越來越大,打包的系統鏡像也越來越大,生成主機的速度也就越來越慢。我的一些伺服器擴容速度從一開始的1分多中已經增加到了8分中左右,對突發性通路壓力的響應速度大打折扣,使用者體驗也開始受到影響。
咨詢了CBS 團隊專家之後,終于找到了優化方案:
1、 制作系統盤鏡像之前,確定制作鏡像使用的主機的系統盤是CBS盤(雲硬碟)。(如果主機用的是本地硬碟的話,先制作一個本地硬碟鏡像以後,按量臨時購買一台使用CBS做系統盤的新伺服器,把鏡像裝上去,然後再關機打包新伺服器的系統盤鏡像。)
2 、關機打包CBS系統盤的完整鏡像
3 、確定彈性伸縮的啟動配置裡面,系統盤使用的是CBS而不是本地硬碟。
也就是說,確定這三件事:被打包的系統盤是CBS盤,被生成的伺服器系統盤是CBS盤,并且打包的時候關機了。
原理是,滿足這幾個條件的情況下,生成鏡像的時候會同時生成CBS快照(雲盤快照),并且創新新主機的時候會采用雲盤快照的復原機制進行復原建立,比原來的系統鏡像方式生成主機快的多。
具體的講,快了多少呢,貼一個兩種方式的對比就知道了:

在這個例子中,原本生成一台主機需要七分半鐘,優化後生成一台一模一樣的主機隻花了1分15秒。