叢集檔案系統

叢集檔案系統(英語:clustered file system)是一種通過同時掛載在多個伺服器上實現共享的檔案系統。有幾種實現叢集的方法,其中大多數不使用叢集檔案系統(每個節點只有直連式儲存)。叢集檔案系統可以提供基於位置的定址和冗餘等功能,這些特性可以提高可靠性或降低叢集其他部分的複雜性。並列檔案系統 是一種跨多個儲存節點傳播資料的叢集檔案系統,通常是為了冗餘或效能。[1]

共享磁碟檔案系統

編輯

共享磁碟檔案系統 使用儲存區域網路(SAN)允許多台電腦在塊級別直接訪問磁碟。從應用程式使用的檔案級操作到SAN使用的塊級操作的訪問控制和轉換必須在客戶機節點上進行。最常見的叢集檔案系統檔案系統是共享磁碟檔案系統,它通過增加並行控制機制,提供了檔案系統的一致性和可串行化的視圖,即使多個客戶機試圖同時訪問相同的檔案,也能避免損壞和意外的資料遺失。共享磁碟檔案系統通常採用某種隔離機制,以防止在節點故障時出現資料損壞,因為非隔離裝置如果失去與其姐妹節點的通訊並試圖訪問其他節點正在訪問的相同資訊,就可能導致資料損壞。底層儲存區域網路可以使用任何一種塊級協定,包括SCSIiSCSI、HyperSCSI、ATA over Ethernet(AoE)、光纖通道、網路塊裝置和InfiniBand。

共享磁碟檔案系統有不同的體系結構方法。有些在叢集中的所有伺服器上分發檔案資訊(完全分散式)。[2] 另一些使用集中的集中式元資料伺服器。兩者都實現了相同的結果,即允許所有伺服器訪問共享儲存裝置上的所有資料。[3]

範例

編輯
  • Silicon Graphics (SGI) clustered file system (CXFS)
  • Veritas Cluster File System
  • DataPlow Nasan File System
  • IBM General Parallel File System (GPFS)
  • Lustre
  • Microsoft Cluster Shared Volumes (CSV)
  • Oracle Cluster File System (OCFS)
  • OpenVMS Files-11 File System
  • PolyServe storage solutions
  • Quantum StorNext File System (SNFS), ex ADIC, ex CentraVision File System (CVFS)
  • Blue Whale Clustered file system (BWFS)
  • Red Hat Global File System (GFS2)
  • Sun QFS
  • TerraScale Technologies TerraFS
  • Versity VSM
  • VMware VMFS
  • Apple Xsan
  • LizardFS

分散式檔案系統

編輯

分散式檔案系統不共享對同一儲存的塊級訪問,而是使用網路協定 。[4] [5] 這些系統通常被稱為網路檔案系統 ,儘管它們並不是唯一使用網路傳送資料的檔案系統。[6] 分散式檔案系統可以根據伺服器和客戶端上的存取控制列表或能力來限制對檔案系統的訪問,具體取決於協定的設計方式。分散式檔案系統和分散式資料儲存之間的區別在於,分散式檔案系統允許使用與本地檔案相同的介面和語意來訪問檔案 – ,例如,掛載/解除安裝,列出目錄、讀取/寫入位元組邊界、系統的本地權限模型。相比之下,分散式資料儲存需要使用不同的 API 或庫,並且具有不同的語意(通常是資料庫的語意)。[7]

分散式檔案系統也可以由實現IBM的分散式資料管理體系結構 (DDM)的軟體建立,其中在一台電腦上執行的程式使用本地介面和語意來建立、管理和訪問位於其他聯網電腦上的檔案。所有這樣的客戶機請求都被擷取並轉換為由DDM定義的等效訊息。同樣,這些訊息也會使用DDM定義的協定被傳輸到指定的遠端電腦,在這台電腦上,DDM伺服器程式解釋訊息,並使用該電腦的檔案系統介面來定位和互動指定的檔案。

設計目標

編輯

分散式檔案系統可以在許多方面實現"透明性"。也就是說,它們的目標是讓客戶機程式"看不見"它們,這些客戶端程式「看到」的事一個類似於本地檔案系統的系統。在幕後,分散式檔案系統處理定位檔案、傳輸資料,並可能提供下面列出的其他功能。

  • 訪問透明性 :客戶端感受不到檔案是分散式的,並且可以像訪問本地檔案一樣訪問它們。
  • 位置透明性 :存在一致的命名空間,包含本地檔案和遠端檔案。檔名不提供其位置。
  • 並行透明性 :所有客戶端都具有相同的檔案系統狀態視圖。這意味著,如果一個行程正在修改一個檔案,那麼同一系統或遠端系統上訪問該檔案的任何其他行程都會以一致的方式看到修改。
  • 失敗透明性 :客戶端和客戶端程式應在伺服器發生故障後正常執行。
  • 異構性 :檔案服務應該跨不同的硬體和作業系統平台提供。
  • 可延伸性 :檔案系統應該在小型環境(1台機器,12台機器)中執行良好,並且可以優雅地擴充到更大的(數百到數萬個系統)。
  • 複製透明性 :客戶端不應感受到檔案複製是跨多個伺服器執行的。
  • 遷移透明度 :檔案在不同的伺服器之間的移動不應該讓客戶感受到。

歷史

編輯

在20世紀60年代,不相容分時系統使用虛擬裝置進行透明的機器間檔案系統訪問。20世紀70年代開發了更多的檔案伺服器。1976年, 數字裝置公司發明了檔案訪問監聽器(FAL),這是資料訪問協定的一種實現,作為DECnet階段II的一部分,成為第一個廣泛使用的網路檔案系統。1985年,昇陽電腦建立了名為「網路檔案系統」(NFS)的檔案系統,該系統成為第一個廣泛使用的基於Internet協定的網路檔案系統。[5] 其他著名的網路檔案系統包括安德魯檔案系統(AFS)、Apple檔案協定(AFP),NetWare核心協定(NCP)和伺服器訊息區塊(SMB,也稱為通用網際網路檔案系統(CIFS))。1986年,IBM宣布為執行CICS的System/36、System/38和IBM大型電腦提供分散式資料管理架構(DDM)的客戶端和伺服器支援。隨後是對IBM Personal Computer、AS/400、MVS和VSE作業系統下的IBM大型電腦以及FlexOS的支援。DDM也成為分散式關聯式資料庫體系結構 (也稱為DRDA)的基礎。

面向雲端運算的開源分散式檔案系統或閉源叢集檔案系統,有許多對等網路協定,例如:9P、AFS、CodaCIFS/SMB、DCE/DFS、Lustre、PanFS頁面存檔備份,存於網際網路檔案館)、Google File System、Mnet、Chord Project。

範例

編輯
  • Alluxio
  • BeeGFS (弗勞恩霍夫)
  • Ceph (Inktank,Red Hat,SUSE)
  • Windows Distributed File System (DFS) (Microsoft)
  • Infinit
  • GfarmFS
  • GlusterFS (紅帽)
  • GFS (谷歌公司)
  • HDFS (Apache軟體基金會)
  • IPFS
  • iRODS
  • LizardFS (Skytechnology)
  • MapR FS
  • MooseFS (Core Technology / Gemius)
  • ObjectiveFS
  • OneFS (EMC Isilon)
  • OpenIO
  • OrangeFS (克萊姆森大學,Omnibond Systems),以前的並列虛擬檔案系統
  • PanFS (Panasas)
  • 並列虛擬檔案系統 (克萊姆森大學,阿貢國家實驗室,俄亥俄州超級電腦中心)
  • RozoFS (Rozo Systems)
  • Torus(CoreOS)
  • XtreemFS

網路附加儲存

編輯

網路附加儲存(NAS)提供儲存和檔案系統,就像儲存區域網路(SAN)上的共享磁碟檔案系統。NAS通常使用基於檔案的協定(與SAN將使用的基於塊的協定不同),例如NFS (在UNIX系統上很流行),SMB/CIFS(伺服器訊息區塊/通用Internet檔案系統)(與MS Windows系統一起使用),AFP (與Apple Macintosh電腦一起使用)或NCP(與OES和Novell NetWare一起使用)。

設計方面的考慮

編輯

避免單點故障

編輯

磁碟硬體或叢集中某個給定儲存節點的故障可能會導致單點故障,從而導致資料遺失或不可用。可以通過各式各樣的資料複製提供容錯和高可用性,這樣即使任何單個裝置發生故障,資料仍然是完整的和可用的。有關範例,請參閱分散式容錯檔案系統和分散式並列容錯檔案系統的列表。

效能

編輯

叢集檔案系統的常見效能度量是滿足服務請求所需的時間量。在傳統系統中,此時間由磁碟訪問時間和少量CPU處理時間組成。但是在叢集檔案系統中,由於分散式結構,遠端訪問會產生額外的開銷。這包括向伺服器傳送請求的時間、向客戶機傳送回應的時間,以及對於每個方向執行通訊協定軟體的CPU開銷。

並行

編輯

當不止一個人或客戶端訪問同一個檔案或塊並想要更新它時,並行控制就會成為一個問題。因此,一個客戶端對檔案的更新不應該干擾其他客戶端的訪問和更新。這個問題在檔案系統中更加複雜,因為並行的重疊寫操作是由不同的寫入器並行地寫入檔案的重疊區域。[8] 這個問題通常由並行控制或鎖來處理,它們可以內建在檔案系統中,也可以通過附加協定來提供。

歷史

編輯

上世紀70年代的IBM大型電腦,如果每台機器都有自己的通道連接到驅動器的控制單元,就可以共享物理磁碟和檔案系統。在20世紀80年代,Digital Equipment Corporation的TOPS-20和OpenVMS叢集(VAX/ALPHA/IA64)包含了共享磁碟檔案系統。[9]

參見

編輯

參考

編輯
  1. ^ Saify, Amina; Kochhar, Garima; Hsieh, Jenwei; Celebioglu, Onur. Enhancing High-Performance Computing Clusters with Parallel File Systems (PDF). Dell Power Solutions. Dell Inc. May 2005 [6 March 2019]. (原始內容存檔 (PDF)於2021-04-24). 
  2. ^ Mokadem, Riad; Litwin, Witold; Schwarz, Thomas. Disk Backup Through Algebraic Signatures in Scalable Distributed Data Structures (PDF). DEXA 2006 Springer. 2006 [8 June 2006]. (原始內容存檔 (PDF)於2019-02-24). 
  3. ^ Periasamy, Anand Babu; Collins, Eli; Darcy, Jeff; Farnum, Gregory. Gluster: What are advantages of using centralized metadata server ( such as namenode in HDFS ) compared to elastic hashing algorithm used in GlusterFS for a File System?. Quora. Quora Inc. April 2013 [6 March 2019]. 
  4. ^ Silberschatz, Abraham; Galvin, Peter; Gagne, Greg. 2013-2014/Operating_System_Concepts,_8th_Edition[A4.pdf Operating System Concepts, 8th Edition] 請檢查|url=值 (幫助) (PDF). University of Babylon. John Wiley & Sons, Inc.: 705–725. 2009 [4 March 2019]. [永久失效連結]
  5. ^ 5.0 5.1 Arpaci-Dusseau, Remzi H.; Arpaci-Dusseau, Andrea C., Sun's Network File System (PDF), Arpaci-Dusseau Books, 2014 [2019-04-03], (原始內容存檔 (PDF)於2019-04-03) 
  6. ^ Sandberg, Russel. The Sun Network Filesystem: Design, Implementation and Experience (PDF). Proceedings of the Summer 1986 USENIX Technical Conference and Exhibition. Sun Microsystems, Inc. 1986 [6 March 2019]. (原始內容存檔 (PDF)於2020-10-25). NFS was designed to simplify the sharing of filesystem resources in a network of non-homogeneousmachines. 
  7. ^ Sobh, Tarek. Advances in Computer and Information Sciences and Engineering. Springer Science & Business Media. 2008: 423-440. 
  8. ^ Pessach, Yaniv (2013). Distributed Storage: Concepts, Algorithms, and Implementations . ISBN 978-1482561043.
  9. ^ Murphy, Dan. Origins and Development of TOPS-20. Dan Murphy. Ambitious Plans for Jupiter. 1996 [6 March 2019]. (原始內容存檔於2018-10-01). Ultimately, both VMS and TOPS-20 shipped this kind of capability. 

擴充閱讀

編輯