551 likes | 740 Views
儲存虛擬 化. Storage Virtualization. 教材. 湯秉翰 著( 2013 ), 雲端網頁程式設計- Google App Engine 應用實作 ( 第二版 ) , 博碩文化, ISBN 978-986-201-824-8 (書號 PG31356 ) 鍾葉青、鍾武君 著( 2013 ), 雲端計算, 東華書局, ISBN 9789861579030 (書號 CL009 )
E N D
儲存虛擬化 Storage Virtualization
教材 湯秉翰 著(2013), 雲端網頁程式設計-Google App Engine應用實作(第二版), 博碩文化, ISBN 978-986-201-824-8 (書號 PG31356) 鍾葉青、鍾武君 著(2013), 雲端計算, 東華書局, ISBN 9789861579030 (書號 CL009) 許清榮、林奇暻、買大誠 著(2012), 掌握Hadoop翱翔雲端-Windoop應用實作指南, 博碩文化, ISBN 978-986-201-673-2 (書號 PG21241) 鍾葉青、李冠憬、許慶賢、賴冠州 著(2011), 雲端程式設計: 入門與應用實務, 東華書局, ISBN 9789861578125 (書號 CL008)
大綱 儲存虛擬化簡介 儲存虛擬化層級 儲存虛擬化對象 儲存虛擬化實作 儲存虛擬化案例
概述 • 簡介 • 儲存虛擬化層級? • 區塊、檔案系統 • 儲存虛擬化對象? • 本機端為主、網路端為主、儲存端為主 • 儲存虛擬化實作? • 頻內、頻外 • 市場案例 • Lustre、LVM
一般的儲存架構 • DAS – 直接連接儲存Direct Attached Storage • 簡單的資料儲存方式,儲存設備直接與伺服器或工作站相連,並未經過儲存網路 • NAS – 網路附接儲存Network Attached Storage • 檔案層級的資料儲存方式,將檔案系統與網路連結,以提供資料存取給異質網路使用者 • SAN – 儲存區域網路Storage Area Network • 區塊層級的資料儲存方式,連接遠端的儲存設備到伺服端,使得設備就像是從本地連接儲存裝置到作業系統
儲存虛擬化需要的性質 • 可管理性 Manageability • 儲存資源應該能很容易地被配置和調配 • 可用性 Availability • 儲存硬體的故障不會影響應用程式的資料存取 • 可擴展性 Scalability • 儲存資源可以很容易地做擴展或是縮減 • 安全性 Security • 儲存資源應被安全地分開
儲存概念與技術 資源映射表 Storage resource mapping table 冗餘資料 Redundant data 多重路徑 Multi-path 資料共享 Data sharing 分層管理 Tiering
資源映射表Storage Resource Mapping Table 使用表單以分隔不同的儲存空間位址 儲存資源會映射到對應的儲存位址上 為了精簡配置,可動態更改表單條目
冗餘資料Redundant Data RAID5 維護副本(複製資料)以提高可用性 使用磁碟陣列技術以改善效能和可用性
多重路徑 Multi-path • 一種高容錯和效能加強的技術 • 主機和儲存設備透過匯流排、控制器、交換機和橋接設備連接,產生多條實體路徑
資料共享 Data Sharing 使用重複資料刪除的技術,刪除重複且冗餘的資料 節省並改善儲存空間的使用
分層管理 Tiering 根據不同特性的重要性或是存取的頻率,自動在儲存資源間遷移資料
儲存虛擬化層級 • 可被虛擬化的層級 • 檔案系統 File system • 提供可與系統呼叫介面相容的管理方法,讓使用者方便作空間的操作 • 區塊設備 Block device • 提供可相容的區塊設備介面給檔案系統 • 透過如 SCSI、SAS、ATA、SATA等介面
檔案系統層級 • 關於檔案 • 元數據 Metadata • 檔案管理的控制資訊 • 包括檔案屬性和資料內容的位置指標 • 可以從檔案的資料內容分離出檔案元數據 • 元數據上檔案的所有權和權限,會被使用在檔案的存取上 • 元數據的檔案時間標記有助於實現自動管理,如備份和生命週期管理 • 不同檔案系統 • 在Unix系統,檔案元數據被包含在i-node 結構中 • 在Windows系統,檔案元數據被包含在檔案屬性的記錄中
檔案系統層級 • 檔案系統 • 什麼是檔案系統? • 檔案系統是一負責組織及管轄創造、修改、刪除檔案的軟體層 • 檔案系統提供一分層的架構,將檔案分配到目錄和次目錄 • 用B-tree演算法,根據名稱作排序,加速檔案的搜尋及檢索 • 透過複製主表、變更日誌、即時寫入檔案變動,來維護檔案系統的完整性 • 不同檔案系統 • 在Unix,高階區塊(super block)包含檔案系統當前狀態及資源資訊 • 在Windows NTFS,主檔案表(master file table)包含所有的檔案條目及狀態資訊
檔案系統層級 • 檔案系統層級虛擬化 • 檔案系統維護每一個檔案的元數據(i-node) • 翻譯檔案的存取請求給下面的檔案系統 • 有時候為了使用平行的存取來改善效能,會將大型檔案切割成數個小型的次檔案(磁記憶塊)
區塊設備層級 • 區塊層級資料 Block level data • 檔案系統區塊 file system block • 檔案系統管理的最小單位 • 一個檔案的資料可擴到多個檔案系統區塊 • 檔案系統區塊由一段連續範圍的磁碟區塊位址組成 • 磁碟中資料 • 由磁碟驅動程式透過磁柱、磁頭和磁區幾何數據,讀寫資料到介質上 • 磁碟上有微碼可負責將磁碟區塊數目和磁柱/磁頭/磁區位置作轉換 • 這種轉換是虛擬化的基本形式
區塊設備層級 • 邏輯單元(Logical Unit)和邏輯卷宗(Logical Volume) • 邏輯單元 • 一個處理儲存目標實體的SCSI命令即為一個邏輯單元(LU),並由主機平台指派一個可供辨識的邏輯單元編號(LUN) • 可透過邏輯單元編號的映射,指派邏輯單元編號,即為使用虛擬的LUN替代真實的LUN • 邏輯卷宗 • 一個卷宗代表一或多個磁碟機的儲存容量 • 邏輯卷宗管理可能放置在檔案系統和控制系統讀寫的裝置驅動程式之間 • 卷宗管理負責「創造」和「維護儲存容量」的元數據 • 卷宗是儲存虛擬化的原始形式
區塊設備層級 • 資料區塊層級虛擬化 • LUN & LBA • 資訊的單一區塊會使用邏輯單元編號以及其偏移量作定址,這被稱作邏輯區塊位址(LBA – Logical Block Address) • 應用位址空間重新映射 • 在邏輯磁碟以及由一或多個儲存控制器呈現的邏輯單元之間作位址空間映射
儲存虛擬化對象 • 儲存互連(Storage Interconnection) • 儲存路徑 • 主機和儲存設備之間提供一條資料傳輸路徑 • 透過作業系統提供相對應的I/O 驅動程式給儲存介面 • 經由匯流排的轉接器或是網路介面卡的轉送,將操作指令透過共通的傳輸協定傳送到指定的目標儲存設備 • 目標儲存設備則根據I/O 的請求執行相對應的操作結果
儲存虛擬化對象 • 抽象化的實體儲存 • 實體到虛擬 • 將個別磁碟的磁柱、磁頭和磁區幾何數據虛擬化到邏輯區塊位址 • 在儲存網路上,透過網路位址/邏輯單元編號來識別實體儲存系統 • 結合磁碟陣列建立能適應效能差異的虛擬化鏡射 • 元數據的完整性 • 使用冗餘錯誤轉移或負載平衡,來維持元數據的完整性 • 使用智慧型的虛擬化技術,來能確保資料的一致性
儲存虛擬化對象 • 不同的對象與方法 • 本機端為主的方法Host-based • 被實作在主機系統上 • 網路端為主的方法Network-based • 被實作在網路設備上 • 儲存端為主的方法Storage-based • 被實作在儲存設備上
本機端虛擬化Host-based Virtualization • 本機端為主的方法 • 檔案層級 File level • 以虛擬檔案系統(virtualized file system)將檔案對應到區塊,區塊散布於許多儲存裝置
本機端虛擬化Host-based Virtualization • 本機端為主的方法 • 區塊層級 • 在主機端執行邏輯卷宗管理(logical volume management)軟體,以偵聽I/O請求並將它們重新定向到儲存端設備 • 提供的服務 • 軟體磁碟陣列(Software RAID)
本機端虛擬化Host-based Virtualization • 邏輯卷宗管理(Logical Volume Management) • 介於檔案系統和磁碟驅動程式間的軟體層 • 由本機端的CPU執行 • 缺少硬體輔助 • 獨立於特定廠商的儲存架構 • 動態分配容量以擴大或縮小卷宗 • 支援多重傳輸路徑達到高可用性
本機端虛擬化Host-based Virtualization • 本機端為主的實作 • 優點 • 不需要額外的硬體或基礎設施 • 易於設計和實作 • 改善儲存利用率 • 缺點 • 軟體實作需依賴不同的作業系統 • 只能對於單一主機上的儲存設備達到利用率的最佳化 • 虛擬化將會消耗CPU脈衝週期 • 例子 • LVM
網路端虛擬化Network-based Virtualization • 以網路端為主的方法 • 檔案層級 • 極少在網路設備實作檔案層級的儲存虛擬化 • 區塊層級 • 執行在專門的智慧交換機或路由器上 • 提供的服務 • 多路徑 • 儲存池
網路端虛擬化Network-based Virtualization • 常見的需求 • 智慧型的功能與服務 • 登入服務 Logon services • 簡易名稱伺服器 Simple name server • 變更通知 Change notification • 分配網路位址 Network address assignment • 分區 Zoning • 結構交換器應提供: • 適用所有儲存異動的連通性 • 不同伺服器、作業系統和目標設備間的相互操作性 • 提供高效能的框架處理及區塊位址映射 • 保證五個九(99.999%)的高可用性
網路端虛擬化Network-based Virtualization • 以網路端為主的實作 • 優點 • 真正的異質性儲存虛擬化 • 不需要對主機或儲存系統做修正 • 多路徑技術改善存取效能 • 缺點 • 複雜的互相操作性矩陣-取決於廠商是否支援 • 很難在交換器設備上,快速地將元數據更新 • 通常需要建立特定的網路設備(如:光纖通道) • 例子 • IBM SVC(SAN卷宗控制器)
儲存端虛擬化Storage-based Virtualization • 以儲存端為主的方法 • 檔案層級 • 在儲存設備執行軟體,透過網路,提供以檔案為主的資料儲存服務給主機
儲存端虛擬化Storage-based Virtualization • 以儲存端為主的方法 • 區塊層級 • 將技術嵌入到目標儲存設備 • 提供的服務 • 儲存池 • 副本和磁碟陣列 • 資料共享和分層管理
儲存端虛擬化Storage-based Virtualization • 以陣列為主的虛擬化 • 儲存控制器以RAID管理、鏡射、和邏輯單元編號映射或遮蔽的形式,提供基本的磁碟虛擬化 • 提供光纖通道、iSCSI 及 SCSI 協議 • 透過快取記憶體加強效能 • 為確保高可用性,必須在多個儲存系統間作協調 • 資料副本為磁碟到磁碟的副本 • 儲存控制器必須能同時做為發起及目標的角色
儲存端虛擬化Storage-based Virtualization • 常見的特色 • 同步化 vs. 非同步化 • 同步化資料副本確保在主要陣列向伺服器確認任務完成之前,將檔案寫入到次要的磁碟陣列 • 非同步化資料副本透過主要陣列提供完整寫入,儘管有些異動可能仍在等待被寫入次要陣列 • 分散式模組虛擬化 • 自實體磁碟組中解耦儲存控制器邏輯,會提供支援異質性磁碟資源的彈性,並有助於分散式虛擬化的資訊。 • 調節儲存服務的類別和資料生命週期管理。
儲存端虛擬化Storage-based Virtualization • 儲存端為主的實作 • 優點 • 擁有儲存虛擬化的絕大部分益處 • 減低個別I/O的額外等待時間 • 缺點 • 儲存虛擬化只能透過相連的控制器來達成最佳化 • 副本和資料遷移只能用在相連的控制器和相同廠商的設備 • 例子 • 磁碟陣列產品
頻內虛擬化In-band Virtualization • 實作方法: • 頻內 • 也稱作對稱(symmetric ),虛擬化設備位於主機和儲存端之間的資料路徑上 • 主機在虛擬化設備上執行I/O,永遠不和真實儲存設備互動 • 優點 • 容易實作 • 缺點 • 擴展性差&瓶頸
頻外虛擬化Out-of-band Virtualization • 實作方法: • 頻外 • 也稱作非對稱(asymmetric),虛擬化設備有時候被稱為元數據伺服器(metadata server) • 主機需要額外的軟體幫助,才能知道真實資料的第一個請求位置 • 優點 • 可擴展性&效能 • 缺點 • 難於實作
其他虛擬化服務 異質性儲存資源池 異質化鏡射 異質化鏡射提供比傳統鏡射更彈性化的選項,包括從不同儲存系統切出儲存容量的鏡射 在虛擬化儲存池,透過聚集的總儲存容量,虛擬資源可被動態地更改大小及分配給伺服器
其他虛擬化服務 異質性資料副本 異質性資料副本可將重複資料儲存在彼此不相容的儲存系統中
市場案例 • 兩個例子 • Lustre • 在檔案層級虛擬化 • 以本機端為主的虛擬化方法 • 頻外虛擬化 • 邏輯卷宗管理(LVM-Logical Volume Management ) • 在區塊層級虛擬化 • 以本機端為主的虛擬化方法 • 頻內虛擬化
Lustre檔案系統 • 什麼是Lustre? • 一種與POSIX兼容的全域性、分散式、平行檔案系統 • Lustre屬於通用公眾授權條款(GPL) • 一些特色 • 平行且可分享的POSIX檔案系統 • 可延展性 Scalable • 高效能 • PB的儲存能力 • 一致性 Coherent • 單一命名空間 • 嚴格的併行控制 • 異質性網路 • 高可用性
Lustre檔案系統 • Lustre組成元件 • 元數據伺服器(MDS-Metadata Server) • MDS 伺服器將元數據儲存在一或多個元數據目標中 • 元數據目標(MDT-Metadata Target) • MDT 在一個MDS裡儲存元數據(如檔案名稱、權限) • 物件儲存伺服器(OSS-Object Storage Servers) • OSS提供檔案讀寫服務,並處理一或多個本地OST的網路請求 • 物件儲存目標(OST-Object Storage Target) • OST在一或多個OSS中,將檔案資料儲存成資料物件 • Lustre網路 • 支援的網路類型 • Infiniband、Ethernet上的TCP/IP、Myrinet、Quadrics等 • 具有遠端直接記憶體存取(RDMA)的優點 • 提高產能並減少CPU使用率
Lustre檔案系統 • Lustre的應用 -HPC • Lustre是HPC常用的檔案系統 • 前十名中,有七個使用 • 前百名中,超過40% • 經證實的高度可延展性 • 效能 • 190 GB/sec IO • 26,000客戶 • 超過1,000節點的系統 • 例子 • 橡樹嶺(Oak Ridge)國家實驗室的美洲虎超級電腦 • 勞倫斯利弗莫爾國家實驗室(LLNL-Lawrence Livermore National Laboratory)的系統 • 德州先進運算中心(TACC-Texas Advanced Computing Center)
LVM-邏輯卷宗管理 • 什麼是LVM? • LVM是介於檔案系統和儲存設備之間的一個邏輯層 • LVM已被廣泛應用於Linux的硬碟分割管理 • LVM屬於通用公眾授權條款(GPL) • 一些特色 • 實作在使用者空間以及核心空間兩部分 • 只能用簡單映射機制來管理邏輯卷宗 • 不支援跨機器映射