【Linux】【Basis】塊存儲,文件存儲,對象存儲

1. 塊存儲:服務器

定義:這種接口一般以QEMU Driver或者Kernel Module的方式存在,這種接口須要實現Linux的Block Device的接口或者QEMU提供的Block Driver接口,如Sheepdog,AWS的EBS,青雲的雲硬盤和阿里雲的盤古系統,還有Ceph的RBD(RBD是Ceph面向塊存儲的接口)分佈式

典型設備:磁盤陣列,硬盤,虛擬硬盤優化

操做對象:二進制數據,物理存儲位置是硬盤 (經過邏輯目錄 找到對應分區,而後找到對應存儲塊存儲。)ui

分層:塊存儲就是在物理層這個層面對外提供服務,使用它的系統,有用本身的文件系統格式化。這樣一旦被一個系統使用,就獨佔了。阿里雲

訪問協議:塊存儲,主要操做對象是磁盤。以 SCSI 爲例,主要接口有 Read/Write/Read Capacity/Inquiry 等等。FC,iSCSI,也是塊存儲協議。和文件存儲相比,沒有文件和目錄樹的概念,通常協議也不會定義磁盤的建立和刪除操做。協議更注重傳輸控制。對象

 

2. 文件存儲:接口

定義:一般意義是支持POSIX接口,它跟傳統的文件系統如Ext4是一個類型的,但區別在於分佈式存儲提供了並行化的能力,如Ceph的CephFS(CephFS是Ceph面向文件存儲的接口)ci

典型設備:FTP、NFS服務器,SamBapdo

操做對象:目錄和文件,物理存儲位置 是由 文件服務器對應的文件系統來決定的(比塊存儲多一個過程:判斷參數文件 應該存儲到哪一個邏輯目錄上。)權限控制

分層:在文件系統一層對外提供服務,系統只用訪問文件系統一級就能夠,各個系統均可以根據接口取訪問。

訪問協議:主要操做對象是文件和文件夾。以 NFS 爲例,文件相關的接口包括:LOOKUP/ACCESS/READ/WRITE/CREATE/REMOVE/RENAME 等等,文件夾相關的接口包括:MKDIR/RMDIR/READDIR 等等。同時也會有 FSSTAT/FSINFO 等接口用於提供文件系統級別的信息。POSIX,SAMBA 等也是文件存儲協議。協議更注重接口的靈活,以及訪問權限控制。

 

3. 對象存儲:

定義:也就是一般意義的鍵值存儲,其接口就是簡單的GET、PUT、DEL和其餘擴展,如七牛、又拍、Swift、S3

典型設備:內置大容量硬盤的分佈式服務器,hdfs,gfs

操做對象:對象,存儲位置是大型分佈式服務器. 

分層:文件系統一級提供服務,只是優化了目前的文件系統,採用扁平化方式,棄用了目錄樹結構,便於共享,高速訪問。

訪問協議:主要操做對象是對象(Object)。以 S3 爲例,主要接口有 PUT/GET/DELETE 等。和文件和對象存儲相比,沒有隨機讀寫的接口。和文件存儲相比,沒有目錄樹的概念。協議更注重簡潔。

相關文章
相關標籤/搜索