第0045期•2018.06.20 發行
ISSN 2077-8813

首頁 >專題報導

雲端時代資料保存的再思

作者:張書元 / 臺灣大學計算機及資訊網路中心作業管理組幹事

隨著資訊科技與行動通訊的快速發展與普及,雲端運算在這樣的環境下越來越受到重視,更成為應用服務的關鍵平台。而雲端運算的資料保存也不同於傳統的資料保存,本文嘗試探索雲端運算環境下資料保存可能面對的難題和一些已被探索的方法與原理,有助於讀者提昇資料保存的能力。

雲端運算是由許多技術互相搭配而成的一個新型態資訊科技服務模式,根據美國國家標準局與技術研究院(National Institute of Standards and Technology, NIST) 所定義的雲端運算須具備隨需自助服務、廣泛的網路連接、資源匯集、快速彈性及計算服務等五項特性(請見表一)

表一:NIST定義雲端運算的五項必要特性

特性

說明

隨需自助服務
(On-demand self-service )

雲端服務可以自動地為使用者提供所需服務:使用者可以依據自己的需求,自助取得服務,過程中無需服務供應者的人為介入。

廣泛的網路連接
(Broad network access)

運算資源可以透過標準的網路機制,讓不同的使用者終端設備(如個人電腦、平板電腦及手機等)得以連接雲端服務。

資源匯集 (Resource pooling)

雲端服務供應商將所有運算資源如儲存空間、計算能力、記憶體、網路頻寬、虛擬機器等匯集起來,透過多租戶模式(multi-tenant model),根據使用者的需求,動態地分配資源。

快速彈性
(Rapid elasticity)

運算資源可以快速且有彈性地提供給使用者,讓使用者可以快速擴充或縮減其服務規模;在大多數的情況下,運算資源都足夠讓使用者在任何時間進行訂購及使用。

可量測服務 (Measured Service)

運算資源的使用量可以被監視及控制,並提供相關報表給個別使用者,同時也可做為計價的依據。

 

NIST對雲端運算的定義可以幫助我們檢視,分辨何者為雲端運算,何者為非雲端運算。當談論到雲端運算時可將其架構區分為前端與後端。前端泛指在使用者看到或與使用者互動之介面。後端則是提供雲端服務之電腦或是伺服器。兩者之間的連結便是網路,一般講的網路是「網際網路(Internet)」。前端包含了使用者電腦以及相關的應用軟體如網頁、微軟Outlook等,需要具備網路存取的功能。後端則是由一群伺服器互相合作,共同對外提供服務。在後端的組成元素中除了提供計算資源的處理器外,另一個不可缺少的元素便是儲存裝置。

前端應用軟體,界面如Web Browser、Mobile App、Thin Client、Terminal…


圖1:雲端運算概念圖

  本文嘗試探索在雲端運算下資料保護(Date Protection)之意義與實踐。這裡資料保護含兩個層面,不同的意義:一是資料安全性(Data Security),另一是資料完整性(Data Integrity)。本文將側重於資料完整性。
  在雲端時代隨著資料量快速成長,資料存放的位置不再是靜態的、單一設備、或是單一儲存地點,而是動態的,資料可能同時存放在數個不同地點。這種特性使得傳統的資料備份與還原機制不再適合。對於這些動態的、分散式、異地儲存、多樣的儲存需求我們需以新的資料保存方式。
  首先說明兩個相關,但本質上卻截然不同的名詞:Backup和Replication。Backup就字面上而言就是備份,即是將欲保存的對資料與文件在本機或是與本機直接連接的儲存設備複製一份或是多份。而Replication單就字面上的意義而言就是複製,與前述的Backup(備份)表面字意接近。然而此二者其背後代表的精神、機制、與做法非常不同,簡而言之:Backup代表傳統單機,單一儲存裝置或地點之資料保存機制或方法;而Replication則是指從資料動態的在異地端的儲存空間複製一份或多份,並在原資料毀損時,能將備份資料還原或是重建於原來的儲存地點或是指定地點。而這兩個名詞也說明不同世代料保存的差異。

雲端運算的資料副本建製系統從邏輯的角度看,它實際上是分散式檔案系統的檔案複製。檔案複製的策略有兩種:
  1. 靜態的資料複製策略:是由操作人員手動進行,因此無法適應雲端運算環境大量使用者和滿足需求變化。
  2. 動態的檔案複製策略:依照使用者的不同需求,來進行不同的複製檔案選擇,當使用者的需求有所改變的時,複製策略也隨之調整。

針對動態複製策略,學者Ranganathan及Foster分析整理出幾種常見的檔案複製作法,包括:Best Client、Cascading Replication、Plain Caching、Caching plus Cascading Replication、及Fast Spread,以下分別說明:
  Best Client作法:這種作法會記錄各個節點與各個檔案的存取歷史,包含(1)存取那個檔案與(2)在那個節點上進行存取。複製策略如下:在一定的時間區間內,對每一個節點進行檢查,如果有檔案在任一節點的存取次數超過門檻次數,則設定為Best Client。而在Best Client中的檔案如果存取次數又超過了門檻次數,則進行複製備份,並且將存取次數重置為零。
  Cascading Replication作法:此作法為一三層式的架構(如圖2所示),當C、D節點對File 1的請求次數已超過門檻值,因此進行檔案的複製備份。而由於D節點的請求次數再次超過門檻值,因此會再複製一份副本至D節點。也就是說根節點(Root)就像是一個水源,隨著水滿到一定的程度,就會往另一個方向流過去。


圖2:Cascading Replication [7]

Plain Caching作法:在Plain Caching作法下,客戶端會請求複製一份副本備份在本地的儲存空間,而文件的大小則是在本地端儲存系統可負荷範圍內。

Caching plus Cascading Replication作法:結合Cascading Replication作法與Plain Caching作法,除了在本地端進行快取儲存外,並在每一特定時間進行副本複製的動作,將超過存取門檻次數的檔案進行完整副本複製。

Fast Spread作法:此方法會將檔案複製在與傳統的資料備份雲端時代的資料備份有以下特徵: 異地性:備份資料與原始資料不在同一儲存設備 時效性或是同?:由於備份時資料透過網路傳遞之延遲,請求點路徑上的所有節點上,可以讓檔案的傳播更為快速。

結論
傳統資料保存著重在文件檔案的保存,不需要考慮重建或是備援,目標單一,只需檔案可以完整無缺的取回即可。雲端資料保存,因其資料的多樣性,不僅是一般的檔案還包括應用程式,如email、資料庫等;且需考慮重建或是備援,雲端資料保存還包括當發生天災、人為疏失或惡意破壞等突發事故,以致服務停頓時,可透過復原機制,服務快速回復正常或可接受的服務水準。這些都需要因地制宜,規劃一個妥善保存資料的策略。

參考文獻
[1] NIST Definition of Cloud Computing,
https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-145.pdf
[2] Ranganathan, K. and Foster, I., “Identifying Dynamic Replication Strategies for a High-Performance Data Grid,” Proceedings of the International Workshop on Grid Computing, pp.75-86, 2001.
[3] Somesh, P. Badhel et al, “A Review on Data Back-up Techniques for Cloud Computing,” International Journal of Computer Science and Mobile Computing, Vol.3 Issue 12, December-2014, pp. 538-542
[4] Paul Ruggiero and Matthew A. Heckathorn, “Data Backup Options,”
https://www.us-cert.gov/sites/default/files/publications/data_backup_options.pdf
[5] 中華民國資訊軟體協會,雲端運算Cloud Computing 的概念與應用,e化部落,2010。
[6] 王逸明,游瑄富,資料格網中可調適的資料複製策略,資訊科技國際期刊(IJAIT),Vol.4,No.2,pp.35-43,2010.
[7] 王順生、王淑卿*、嚴國慶、陳聖中,利用原子衰退值動態調整文件的個數以提升雲端運算環境中檔案複製的效能,資訊科技國際期刊(IJAIT),Vol.6, Bo.2, pp. 207-214,2012。
[8] An Introduction and Overview of Cloud Computing
http://ogervasi.unipg.it/OpSysNet/4Students/Cloud/AnIntroductionAndOverviewOfCloudComputing.pdf