您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關數據一致性、分級存儲、分層存儲與信息生命周期管理的存儲知識分析,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
一、概述
數據一致性是指關聯數據之間的邏輯關系是否正確和完整。問題可以理解為應用程序自己認為的數據狀態與最終寫入到磁盤中的數據狀態是否一致。比如一個事務操作,實際發出了五個寫操作,當系統把前面三個寫操作的數據成功寫入磁盤以后,系統突然故障,導致后面兩個寫操作沒有寫入磁盤中。此時應用程序和磁盤對數據狀態的理解就不一致。當系統恢復以后,數據庫程序重新從磁盤中讀出數據時,就會發現數據再邏輯上存在問題,數據不可用。
二、Cache引起的數據一致性問題
引起數據一致性問題的一個主要原因是位于數據I/O路徑上的各種Cache或Buffer(包括數據庫Cache、文件系統Cache、存儲控制器 Cache、磁盤Cache等)。由于不同系統模塊處理數據IO的速度是存在差異的,所以就需要添加Cache來緩存IO操作,適配不同模塊的處理速度。這些Cache在提高系統處理性能的同時,也可能會“滯留”IO操作,帶來一些負面影響。如果在系統發生故障時,仍有部分IO“滯留”在IO操作中,真正寫到磁盤中的數據就會少于應用程序實際寫出的數據,造成數據的不一致。當系統恢復時,直接從硬盤中讀出的數據可能存在邏輯錯誤,導致應用無法啟動。盡管一些數據庫系統(如Oracle、DB2)可以根據redo日志重新生成數據,修復邏輯錯誤,但這個過程是非常耗時的,而且也不一定每次都能成功。對于一些功能相對較弱的數據庫(如SQL Server),這個問題就更加嚴重了。
解決此類文件的方法有兩個,關閉Cache或創建快照(Snapshot)。盡管關閉Cache會導致系統處理性能的下降,但在有些應用中,這卻是唯一的選擇。比如一些高等級的容災方案中(RPO為0),都是利用同步鏡像技術在生產中心和災備中心之間實時同步復制數據。由于數據是實時復制的,所以就必須要關閉Cache。
快照的目的是為數據卷創建一個在特定時間點的狀態視圖,通過這個視圖只可以看到數據卷在創建時刻的數據,在此時間點之后源數據卷的更新(有新的數據寫入),不會反映在快照視圖中。利用這個快照視圖,就可以做數據的備份或復制。那么快照視圖的數據一致性是如何保證的呢?這涉及到多個實體(存儲控制器和安裝在主機上的快照代理)和一系列的動作。典型的操作流程是:存儲控制器要為某個數據卷創建快照時,通知快照代理;快照代理收到通知后,通知應用程序暫停IO操作(進入 backup模式),并flush數據庫和文件系統中的Cache,之后給存儲控制器返回消息,指示已可以創建快照;存儲控制器收到快照代理返回的指示消息后,立即創建快照視圖,并通知快照代理快照創建完畢;快照代理通知應用程序正常運行。由于應用程序暫停了IO操作,并且flush了主機中的 Cache,所以也就保證了數據的一致性。
創建快照是對應用性能是有一定的影響的(以Oracle數據庫為例,進入Backup模式大約需要2分鐘,退出Backup模式需要1分鐘,再加上通信所需時間,一次快照需要約4分鐘的時間),所以快照的創建不能太頻繁。
三、時間不同步引起的數據一致性問題
引起數據不一致性的另外一個主要原因是對相關聯的多個數據卷進行操作(如備份、復制)時,在時間上不同步。比如一個Oracle數據庫的數據庫文件、 Redo日志文件、歸檔日志文件分別存儲在不同的卷上,如果在備份或復制的時候未考慮幾個卷之間的關聯,分別對一個個卷進行操作,那么備份或復制生成的卷就一定存在數據不一致問題。
此類問題的解決方法就是建立“卷組(Volume Group)”,把多個關聯數據卷組成一個組,在創建快照時同時為組內多個卷建立快照,保證這些快照在時間上的同步。之后再利用卷的快照視圖進行復制或備份等操作,由此產生的數據副本就嚴格保證了數據的一致性。
四、文件共享中的數據一致性問題
通常所采用的雙機或集群方式實現同構和異構服務器、工作站與存儲設備間的數據共享,主要應用在非線性編輯等需要多臺主機同時對一個磁盤分區進行讀寫。
在 NAS環境中,可以通過網絡共享協議N FS或CIFS來做到數據的共享。但是如果不在NAS環境中,多臺主機同時對一個磁盤分區進行讀寫會帶來寫入數據一致性的問題,造成文件系統被破壞或者當前主機寫入后其它主機不能讀取當前寫入數據的問題。可以通過使用數據共享軟件裝在多臺主機上來實現磁盤分區的共享。由數據共享軟件來調配多臺主機數據的寫入,保證數據的一致性。
HSM:Hierarchical Storage Management,分級存儲管理。起源于1978年,首先使用于IBM的大型機系統。是一種將離線存儲與在線存儲融合起來的技術。它將磁盤中常用的數據按指定的策略自動遷移到磁帶庫等二級大容量存儲設備上。當需要使用這些數據時,分級存儲系統會自動將這些數據從下一級存儲設備調回到上一級磁盤上。
ILM:Information Lifecycle Management,信息生命周期管理。2001年由StorageTek(現被SUN收購)提出,然而ILM的大力宣傳和實踐卻是由EMC來完成的。
Tiered Storage:分層存儲,指的是基于性能、業務連續性、安全、保護、數據保留、法規遵從以及成本的考慮,將數據分層存放,如主盤,備份盤,歸檔盤,磁帶歸檔,光盤歸檔等。HP曾提出過TSC(Tiered Storage Classes)的概念。
其實,Tiered Storage的意義和HSM相近,都是根據實際需求,選擇存儲性能、容量相適宜的存儲設備,從而降低存儲總成本。下面詳細地探討一下分級存儲和信息生命周期管理的定義以及區別。
一、分級存儲
分級存儲,就是根據數據不同的重要性、訪問頻次等指標分別存儲在不同性能的存儲設備上,采取不同的存儲方式。這樣一方面可大大減少非重要性數據在一級本地磁盤所占用的空間,還可加快整個系統的存儲性能。在這里就涉及到幾種不同性能的存儲設備和不同的存儲形式了。
目前常用于數據存儲的存儲設備主要有磁盤(包括磁盤陣列)、磁帶(包括磁帶機和磁帶庫)和光盤(包括一切CD-R、CD-RW、DVD-R、DVD-RW等光盤塔和光盤庫設備)。從性能上來說,磁盤當然是最好的,光盤次之,最差的是磁帶。而從價格上來說,單位容量成本磁盤最貴、光盤次之,磁帶最低。這就為我們不同的應用追求最佳性價比提供了條件,因為這些不同的存儲媒介可應用于不同的存儲方式中。這不同的存儲形式包括在線存儲、近線存儲和離線存儲。
1、在線存儲
在線存儲(OnStore),又稱工作級的存儲,存儲設備和所存儲的數據時刻保持“在線”狀態,是可隨意讀取的,可滿足計算平臺對數據訪問的速度要求。如我們PC機中常用的磁盤基本上都是采用這種存儲形式的。一般在線存儲設備為磁盤和磁盤陣列等磁盤設備,價格相對昂貴,但性能最好。
2、離線存儲
離線存儲(NearStore),主要是用于對在線存儲的數據進行備份,以防范可能發生的數據災難,因此又稱備份級的存儲。離線海量存儲的典型產品就是磁帶或磁帶庫,價格相對低廉。離線存儲介質上的數據在讀寫時是順序進行的。當需要讀取數據時,需要把帶子卷到頭,再進行定位。當需要對已寫入的數據進行修改時,所有的數據都需要全部進行改寫。因此,離線海量存儲的訪問是慢速度、低效率的。
3、近線存儲
近線存儲(OffStore),就是指將那些并不是經常用到,或者說數據的訪問量并不大的數據存放在性能較低的存儲設備上。對這些的設備要求是尋址迅速、傳輸率高。因此,近線存儲對性能要求相對來說并不高,但由于不常用的數據要占總數據量的大多數,這也就意味著近線存儲設備首先要保證的是容量。
二、信息生命周期管理
信息生來并非平等的,不同的信息具有不同的價值,如與業務生產相關的關鍵數據和日志。同一信息在其不同階段價值也不一樣。
信息從產生的那一刻起就自然地進入到了一個循環,經過創建、保護、訪問、遷移、歸檔和銷毀,最終完成一個生命周期,而這個過程必然需要良好的管理,否則,要么是浪費了過多的資源;要么是資源不足降低了工作效率。
ILM的目標是讓信息在其整個生命周期中實現最大價值,使信息在其生命周期的每一點都能以最低的TCO發揮最大的價值。ILM是一種戰略,根據信息不斷變化的價值,使IT基礎結構與業務需要相協調。
實施ILM戰略共可以分為三個階段:
階段 I —建立基礎結構分類或服務級別,并努力讓信息存儲在適當的存儲層。這一階段允許您利用分層基礎結構的價值,盡管是手動進行的,但它為任何基于策略的信息管理奠定了基礎。
階段 II —完成詳細的應用程序和數據分類,以及到業務策略的鏈接。可以使用工具為一個或多個應用程序自動執行制定的策略,實現存儲資源的更好的管理和最佳分配。大量消耗 IT 資源的應用程序,或者能夠利用信息生命周期管理快速實現 ROI 的應用程序,是本階段的理想目標。
階段 III —為已確立的策略增加自動化功能,將信息生命周期管理的范圍擴展到更廣大的一組企業級應用程序,并進一步優化基礎結構。這一階段允許您盡可能多地利用通用組件和方法,從而可以進一步減少操作和基礎結構成本。
三、分級存儲與信息生命周期管理的關系
分級存儲只是一種存儲數據的方式,它是實施ILM的重要組成部分,但并非全部。把它與ILM混為一體,就像是把備份或歸檔與ILM混為一體。分級存儲是ILM實施過程中寶貴的第一步。但是僅此而已,它從未解決過因數據大量保存在數據中心而變得日益關鍵的很多重大問題,像如何迅速恢復數據、如何提供管理存儲的服務等問題。
四、分級存儲與分層存儲的關系(不太明白,望高手指點)
Michael Peterson在2006年1月與SNIA 數據管理論壇里撰文ILM and Tiered Storage提到,分層存儲有三種存放數據的機制:
1、 靜態的應用將信息指定存放到某一層
2、 階段的成批地移動數據(如歸檔)
3、 動態的一些自動地數據遷移(如分級存儲管理或者某些基于ILM策略的服務)
看完上述內容,你們對數據一致性、分級存儲、分層存儲與信息生命周期管理的存儲知識分析有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。