最近成功中标一個國内重大酒業集團的公有雲項目,因客戶自身的IT人員緊張,客戶提出要求将應用、資料庫的遷移上雲作為中标方的服務内容之一。以前,經常接觸的政企雲項目,一般由服務商配合客戶完成遷移方案的拟定,服務商将雲資源配置設定好,由客戶自身的廠商完成應用、資料庫的遷移。廠商一般進行應用、資料庫的重新部署,雖然這種方法較繁雜,但也是最穩妥的一種遷移方式。

在本次的中标項目中,客戶的原廠存在無法協調的問題,且資料庫種類多(oracle、oracle rac、sql server、mysql),我們服務商該怎樣為使用者遷移,才能做到既安全可靠、又高效,現将該MySql資料庫遷移的案例進行簡單剖析。
一、首先介紹幾個資料庫遷移備份的術語。
熱備份:在進行資料庫遷移備份時,使用者原資料庫業務不中斷,仍繼續産生新資料。
溫備份:在進行資料庫遷移備份時,使用者原資料庫業務僅産生讀操作,不允許産生新資料。
冷備份:在進行資料庫遷移備份時,使用者原資料庫業務中斷。
實體備份:直接将資料庫檔案進行備份,簡單粗暴的辦法。
邏輯備份:将使用者資料庫按sql語句進行備份,備份内容為文本。
完全備份:備份目前的全部資料庫。
增量備份:僅備份上次完全備份或上次增量備份後的資料。
二、該項目使用者需求要求不能中斷業務,資料量大(超過100GB),且要求做到與原私有雲的秒級資料同步。
1、首先因資料量大,拟為使用者拉一條臨時高帶寬100Mbps的專線實作資料的遷移使用。
2、其次,因必須減少對線上業務的中斷影響,是以遷移必須采用熱遷移的方式。另外,遷移完成後,可采用完全備份+增量備份的方式實作在使用者原私有雲的資料備份。可采用原生工具:Mysqldump原廠工具(邏輯備份)、或xtraBackup第三方開源工具(實體備份)、或其它第三方收費工具(實體備份)。采用第三方工具一般為實體備份,采用Mysqldump為文本備份,存在資料的恢複時間。如果在備份資料庫量較大的情況,備份時會影響業務的運作效率。
3、在定期備份的基礎上,使用者還要求必須做到與原私有雲的秒級資料同步。可采用Mysql的主從配置方式(雲上的Mysql資料庫設定為主、使用者原私有雲的資料庫設定為從),這樣資料的同步效率更高、資料丢失可能更低。采用主從方式的資料恢複效率更高,不存在資料恢複時間。
三、綜上所述,結合使用者需求,建議在本項目中采用Mysqldump原廠工具或xtraBackup第三方工具為使用者進行資料的遷移與定期備份,這樣的好處既可以保證熱備份不影響業務運作,同時也保證在被資料庫惡意攻擊時資料仍有備份。
針對使用者希望做到秒級資料同步、零資料丢失的要求,采用Mysql主從配置進行資料的雲上、私有雲的同時雙寫。唯一的問題是該方案針對不同的資料庫需進行不同的腳本操作,同時需操作使用者的資料庫(存在安全風險)。