公有雲物件儲存服務的耐久性與可用性,都是架構在分散存取機制上,基於多複本同步複製或erasure coding等編碼技術,跨多個實體裝置節點分散寫入資料,從而可以承受單一實體裝置或磁碟的失效,並校驗資料的錯誤。如果進一步將分散儲存的範圍,擴大到位於不同資料中心機房、或不同區域的資料中心,還能承受單一資料中心或服務區域的失效,提供更高的耐久性與可用性。

不過,分散式存取機制本身也是一種同步寫入作業,必須等待每一個節點都寫入完成後,才算完成一筆寫入作業,而且須考慮到延遲問題,因此,允許分散的地理範圍也有限,通常僅限於同一服務區域(Region)。

因此,對於有更高可用性需求,需要將資料分散到更遠距離的用戶,則需透過另外的非同步遠端複製功能來實現。

公有雲物件儲存的存取保護機制

所以,我們可以將公有雲物件的耐久性與可用性機制,區分為這兩大類型;

(1)個別物件層級的分散儲存機制,依分散儲存的範圍,又可分為2個層級:單一資料中心,以及單一服務區域內跨多個資料中心。

(2)Bucket儲存容器層級的非同步遠端複製功能,雖然在非同步複製模式下,目的地端與來源端之間存在一定的時間延遲,但可以跨不同服務區域,提供更遠距離的資料分散。

AWS S3

在AWS S3延伸的6種物件儲存服務中(扣除掉用於本地端混合雲架構的「S3 Outposts」),除了「S3標準—不常存取(單區域)」這種服務,是將物件分散存放於單一可用區域(Availability Zones,AZ)內的多個裝置,其餘5種,都是將資料同步分散寫入至少3個可用區域的多個裝置上,而且,可以承受任一可用區域完全失效。

S3的物件層級同步分散寫入機制,分散的範圍,限於同一區域內(Region)的單一可用區域,或多個可用區域。對於需將物件分散到更遠距離的用戶,S3提供Bucket儲存容器層級的2種非同步遠端複製機制:跨區域複製(Cross-Region Replication,CRR)與同區域複製(Same-Region Replication,SRR)。CRR是跨不同區域(Regions)的Bucket層級非同步遠端複製,SRR則是同一區域的Bucket層級非同步遠端複製。

Azure

一般而言,Azure所有物件儲存體都有3複本同步寫入保謢,並有下列4種備援服務可選:1.本地備援儲存體(Locally Redundant Storage,LRS);2.區域備援儲存體(Zone Redundant Storage,ZRS);3.異地備援儲存體(Geo-Redundant Storage,GRS);4.異地區域備援儲存體(Geo- Zone Redundant Storage,GZRS)。

其中,LRS是最基本的服務保護等級,在主要區域(Primary Region)的單一資料中心內提供3複本同步複製,可以承受個別伺服器機架或磁碟的失效,但無法承受整個資料中心的失效。

ZRS可在主要區域的多個可用區域(Availability Zones)內,跨3個資料中心提供3複本同步複製保護,不僅可以承受單一資料中心的失效,也能將資料的耐久性從LRS的11個9,提高到12個9。

GRS是在LRS的基礎上,結合非同步遠端複製功能,可將資料耐久性提高到16個9。運作上,是先在主要區域的單一資料中心,透過LRS執行3複本同步複製,再運用非同步複製,將資料抄寫到數百公里外的次要區域單一資料中心,在這個次要區域的資料中心內,亦能以LRS為資料進行3複本同步複製。

GZRS則是ZRS與非同步遠端複製的結合。運作上,先在主要區域的3個可用區域資料中心內提供3複本同步複製,再透過非同步複製,將資料抄寫到遠距離外次要區域的單一資料中心,藉此不僅可提供高達16個9的耐久性,同時也具備可承受區域災害的能力。

GRS另外還延伸出一種稱作讀取權限異地備援儲存體(Read-Access Geo-Redundant Storage,RA-GRS)的服務,也就是,在GRS的基礎上,進一步允許對異地端資料提供唯讀應用。

在Azure物件儲存服務的3個層級中,用戶若選擇「經常性」與「非經常性」等兩個層級,能使用前述全部的備援選項,如果選擇「歸檔」級則只能選擇LRS、GRS與RA-GRS。

另外,Azure也提供了儲存容器層級的非同步遠端複製功能,稱作物件複寫(Object Replication),可以在不同區域(Region)之間複製物件。

Google Cloud

目前Google Cloud的所有物件儲存服務層級,都可選擇3種儲存位置型式(location types):單區域、雙區域與多區域,從而具備不同等級的可用性。

其中單區域(Region)是物件只存放於單區域的資料中心,可提供較佳的延遲與傳輸頻寬。

雙區域(Dual-Regions)與多區域(Multi-Regions)是物件除了存放於單區域資料中心外,再透過非同步遠端複製,將物件抄寫到另一地理區域的資料中心,可以提供較高的可用性。

透過雙區域與多區域儲存選項,Google Cloud聲稱用戶無須再使用任何遠端複製工具,就能實現建立遠端複本的目的,也無需支付額外的傳輸費用。

IBM Cloud

IBM Cloud物件儲存服務的分散儲存機制,目前提供:單一資料中心、單區域(Region)、跨區域(Cross-Regions),有3種可用性等級可選。

其中的單一資料中心層級,是將物件分散、存放於單一資料中心的多臺實體裝置上,在多數情況下,都擁有最短的存取延遲(若某些服務位於該區域外則否),但無法承受災難導致的單一資料中心失效。

而所謂的單區域,是IBM Cloud預設的可用性等級,會將物件分散存放於單一服務區域內的多個資料中心,也擁有較低的延遲,本身可以承受單一資料中心站點的失效,但無法承受整個服務區域的失效。

跨區域則會將物件分散存放於3個區域,提供最高的可用性,能承受服務區域等級的失效,缺點是存取延遲較單一資料中心或單區域大了10倍,另外,並非所有IBM Cloud的應用服務,都支援跨區域等級的可用性。

另外,在IBM Cloud的物件儲存服務環境當中,用戶也能透過sync、clone與reclone指令,在Bucket儲存容器層級提供非同步的遠端複製。

Oracle Cloud

Oracle物件儲存服務的分散存取保護機制,分為兩種可用性等級:單一可用性網域(availability domains),以及多可用性網域,而用戶能使用哪一種架構,需視Oracle Cloud在個別服務區域提供的基礎架構而定。

Oracle Cloud的應用區域分為3個層級:服務區域(region)、可用性網域(availability domains)、容錯網域(fault domains)。其中服務區域是最大的地理單位,每個服務區域含有1或3個可用性網域,可用性網域是地理區域內的1或多個資料中心,每個可用性網域都含有3個容錯網域,而每個容錯網域都是獨立的硬體設施集合。

在Oracle Cloud現行的24個服務區域中,多達20個服務區域都只含有1個可用性網域,至於其他4個服務區域,則各自含有3個可用性網域。

對於只含有1個可用性網域的服務區域,Oracle目前提供了單一可用性網域等級的3複本保護架構,物件分散複製存放於單一可用性網域下的3個容錯網域(fault domains)中。

對於含有3個可用性網域的服務區域,Oracle Cloud提供了多可用性網域等級的3複本機制,將物件分散複製存放於多個可用性網域的3臺伺服器上。

無論哪一種可用性等級,只要3份複本中,有1份可以存取,那麼用戶就可以下載讀取資料;若是3份複本中,有2份可以存取,用戶就能上傳寫入資料。

除了在物件層級提供3複本保護,Oracle Cloud也提供Bucket容器等級的非同步遠端複製功能Object Storage replication,可以跨服務區域(region)建立Bucket與Bucket間的資料抄寫 。

阿里雲

目前阿里雲提供的物件儲存服務中,對於「標準」與「低存取頻率」兩種儲存層級,都提供2種資料備援儲存架構選擇——本地備援(Locally Redundant Storage,LRS),以及同域備援(Zone Redundant Storage,ZRS)。

LRS是將每個物件的不同複本,分散存放在同一可用區域(Zone)內多個設施的多臺設備上,能承受單一硬體設備的失效。ZRS則是分散到多個可用區域的機制,會將物件分散存放在同一區域(Region)內的3個可用區域,能承受某個可用區域的失效。

LRS與ZRS兩種備援儲存架構,從分散儲存的範圍來看,分別只到單一可用區域,以及單一區域,針對需要將資料分散存放到更大地理距離的用戶,阿里雲也提供跨區域複製(Cross-Region Replication),讓企業可運用Bucket層級的非同步遠端複製功能,雖然這是含有延遲的非同步模式,但可以跨不同區域的資料中心抄寫Bucket資料。

具有高耐久性,但可用性較低

整體來說,當前公有雲物件儲存服務公開的資料耐久性規格,至少都有99.999999999%,也就是11個9的等級,這已經算是極高的水準,在正常維運情況下,幾乎無須擔心資料的遺失,對此若仍有疑慮者,可能關切的部分在於是否具備承受大型災害或意外的能力。

最基本的單一資料中心或單區域等級的分散儲存機制,不具備因應整個資料中心、整個服務區域失效的能力,如果要解決這個問題,就只有選用跨區域等級的分散儲存機制,或是更進一步,另外啟用非同步遠端複製,將資料抄寫到遠距離區域外的資料中心。

但問題在於,跨區域的分散儲存或遠端複製,雖然提高了承受意外的能力,卻也拉長了存取延遲。所以,用戶在選擇保護機制時,必須連同對於存取延遲的承受範圍一併考慮,在保護效果與存取效能間取得平衡。

而與公有雲上其他類型的儲存服務相比,物件儲存服務的特色是「高耐久性」,但又是「低可用性」。可保證資料長期存放仍不致遺失,但停機、離線、服務暫時停止的機率相對較高。

如同前面提到的,透過分散儲存架構,當前的公有雲物件儲存服務的資料耐久性,都至少有11個9的等級(甚至更高)。但服務的可用性則大多只在99.9%到99.99%之間,也就是3到4個9的程度。

換言之,如果在物件儲存服務中存入1千萬個物件,每年遺失的物件數量不到萬分之一個(或者說平均每1萬年才會遺失1個物件) ,顯然這樣的儲存問題幾乎可以忽略。但99.99%或99.9%的服務可用性,代表每年至少有52.6分鐘或8.77小時,是處於停機、無法存取的狀態。

熱門新聞

Advertisement