A. 塊儲存,對象存儲,文件存儲的區別和聯系
通常來講,磁碟陣列都是基於Block塊的存儲,而所有的NAS產品都是文件級存儲。
1. 塊存儲:DAS SAN
a) DAS(Direct Attach Storage): 是直接連接於主機伺服器的一種存儲方式,每台伺服器有獨立的存儲設備,每台主機伺服器的存儲設備無法互通,需要跨主機存取資料室,必須經過相對復雜的設定,若主機分屬不同的操作系統,則更復雜。
應用:單一網路環境下且數據交換量不大,性能要求不高的環境,技術實現較早。
b) SAN(Storage Area Network): 是一種高速(光纖)網路聯接專業主機伺服器的一種存儲方式,此系統會位於主機群的後端,它使用高速I/O聯接方式,如:SCSI,ESCON及Fibre-Channels.特點是,代價高、性能好。但是由於SAN系統的價格較高,且可擴展性較差,已不能滿足成千上萬個CPU規模的系統。
應用:對網速要求高、對數據可靠性和安全性要求高、對數據共享的性能要求高的應用環境中。
2. 文件存儲
通常NAS產品都是文件級存儲。
NAS(Network Attached Storage):是一套網路存儲設備,通常直接連在網路上並提供資料存取服務,一套NAS儲存設備就如同一個提供數據文件服務的系統,特點是性價比高。
它採用NFS或CIFS命令集訪問數據,以文件為傳輸協議,可擴展性好、價格便宜、用戶易管理。目前在集群計算中應用較多的NFS文件系統,但由於NAS的協議開銷高、帶寬低、延遲大,不利於在高性能集群中應用。
3. 對象存儲:
總體上講,對象存儲同時兼具SAN高級直接訪問磁碟特點及NAS的分布式共享特點。
核心是將數據通路(數據讀或寫)和控制通路(元數據)分離,並且基於對象存儲設備(OSD),構建存儲系統,每個對象存儲設備具備一定的職能,能夠自動管理其上的數據分布。
對象儲存結構組成部分(對象、對象存儲設備、元數據伺服器、對象存儲系統的客戶端)
3.1 對象
一個對象實際就是文件的數據和一組屬性信息的組合。
3.2 對象存儲設備(OSD)
OSD具有一定的智能,它有自己的CPU、內存、網路和磁碟系統。
OSD提供三個主要功能:包括數據存儲和安全訪問
(1)數據存儲 (2)智能分布 (3)每個對象元數據的管理
3.3 元數據伺服器(Metadata Server , MDS)
MDS控制Client與OSD對象的交互,主要提供以下幾個功能:
(1) 對象存儲訪問
允許Client直接訪問對象,OSD接收到請求時先驗證該能力,再訪問。
(2) 文件和目錄訪問管理
MDS在存儲系統上構建一個文件結構,限額控制、包括目錄、文件的創建、訪問控制等
(3) Client Cache 一致性
為提高性能,在對象存儲系統設計時通常支持Client的Cache。因此帶來了Cache一致性的問題,當Cache文件發生改變時,將通知Client刷新Cache,以防Cache不一致引發的問題。
對象存儲:
一個文件包含了屬性(術語叫matadata元數據,例如該文件的大小、修改時間、存儲路徑等)以及內容(簡稱數據)。
以往的文件系統,存儲過程將文件按文件系統的最小塊來打散,再寫進硬碟,過程中沒有區分元數據(metadata)和數據。而在每個塊最後才會告知下一個塊的地址,因此只能一個一個讀,速度慢。
而對象存儲則將元數據獨立出來,控制節點叫元數據伺服器(伺服器+對象存儲管理軟體),裡面主要存儲對象的屬性(主要是對象的數據被打散存放到了那幾台分布式伺服器中的信息),而其他負責存儲數據的分布式伺服器叫做OSD,主要負責存儲文件的數據部分。當用戶訪問對象時,會先訪問元數據伺服器,元數據伺服器只負責反饋對象存儲在那些OSD。假設反饋文件A存儲在B,C,D三台OSD,那麼用戶就會再次訪問三台OSD伺服器去讀取數據。
這時三台OSD同時對外傳輸數據,因此傳輸的速度就加快了。OSD伺服器數量越多,這種讀寫速度的提升就越大。
另一方面,對象存儲軟體有專門的文件系統,所以OSD對外又相當於文件伺服器,那麼就不存在文件共享方面的困難了,也解決了文件共享方面的問題。
因此對象存儲的出現,很好的結合了塊存儲與文件存儲的優點。
為什麼還要使用塊存儲和文件存儲:
1.有一類應用是需要存儲直接裸盤映射的,比如資料庫。因為資料庫需要存儲裸盤映射給自己後,再根據自己的資料庫文件系統來對了裸盤進行格式化,因此不能採用其他已經被格式化為某種文件系統的存儲。此類更適合塊存儲。
2.對象存儲的成本比普通的文件存儲還是較高,需要購買專門的對象存儲軟體以及大容量硬碟。如果對數據量要求不是海量,只是為了作文件共享的時候,直接用文件存儲的形式就好了,性價比高。
B. 不屬於對象存儲的存儲類型
屬於對象存儲的類型:
對象存儲分為標准、低頻、歸檔三種存儲類型,分別用於頻繁訪問的熱點數據、低頻訪問的備份數據和適用於長期保存的歸檔數據,全面覆蓋從熱到冷的各種數據存儲場景。
1.標准存儲
標准存儲提供高可靠、高可用、高性能的對象存儲服務,具有高吞吐和低延時的服務響應能,能夠支持頻繁的熱點數據訪問。
2.低頻存儲
低頻存儲類型提供高可靠性,較低存儲成本和較低訪問時延的對象存儲服務,適合長期保存不經常訪問的數據。存儲單價低於標准類型,低頻存儲有最短存儲時間和最小對象大小,存儲時間短於 30 天提前被刪除會產生一定費用。單個文件大小低於 64KB,會按照 64KB 計算存儲空間,數據獲取會產生費用。
3.
歸檔存儲
歸檔存儲類型提供了高可靠性,極低存儲成本和長期保存的離線冷數據存儲,適合需要長期保存(建議半年以上)的歸檔數據,在存儲周期內極少被訪問。在三種存儲類型中單價最低,歸檔存儲有有最短存儲時間和和最小對象大小,存儲時間短於 60 天的文件提前刪除會產生一定費用。文件大小低於 64KB,會按照 64KB 計算存儲空間,數據獲取會產生費用。
C. 對象存儲、文件存儲和塊存儲有什麼區別
對象存儲、文件存儲和塊存儲區別為:存儲設備不同、特點不同、缺點不同。
一、存儲設備不同
1、對象存儲:對象存儲的對應存儲設備為swift,鍵值存儲。
2、文件存儲:文件存儲的對應存儲設備為FTP、NFS伺服器。
3、塊存儲:塊存儲的對應存儲設備為cinder,硬碟。
二、特點不同
1、對象存儲:對象存儲的特點是具備塊存儲的高速以及文件存儲的共享等特性。
2、文件存儲:文件存儲的特點是一個大文件夾,大家都可以獲取文件。
3、塊存儲:塊存儲的特點是分區、格式化後,可以使用,與平常主機內置硬碟的方式完全無異。
三、缺點不同
1、對象存儲:對象存儲的缺點是不兼容多種模式並行。
2、文件存儲:文件存儲的缺點是傳輸速率低。
3、塊存儲:塊存儲的缺點是不能共享數據。
D. 塊存儲、文件存儲、對象存儲這三者的本質差別是什麼
存儲設備不同:對象存儲的對應存儲設備為swift,鍵值存儲。文件存儲的對應存儲設備為FTP、NFS伺服器。塊存儲的對應存儲設備為cinder,硬碟。
特點不同:對象存儲的特點是具備塊存儲的高速以及文件存儲的共享等特性,文件存儲的特點是一個大文件夾,大家都可以獲取文件。塊存儲的特點是分區、格式化後,可以使用,與平常主機內置硬碟的方式完全無異。
塊存儲注意事項
要運行任何新的RAID+功能,陣列控制器都需要一個元數據基礎,看起來很像文件系統那樣。以重復數據刪除為例來說,陣列必須將數據分解成4K到1MB的塊,解算出哪些塊存儲的是同樣的數據,然後構建一個指針列表將LUN邏輯塊地址映射到所儲存的塊。
自動分層要求更多的元數據,因為系統必須跟蹤數據塊的邏輯塊地址,而這些數據塊分處在不同的存儲類型上的不同的RAID集中。除了要解算出哪些是必須升級到更快的存儲層的熱數據和哪些是必須降級的冷數據外,系統還必須收集訪問頻率元數據。
E. 對象的存儲類有哪些
對象類型和整型、字元串等類型一樣,也是PHP中的一種數據類型。都是在程序中用於存儲不同類型數據使用的,在程序運行時它的每部分內容都要先載入到內存中再被使用。那麼對象類型的數據在內存中是如何分配的呢?先來了解一下內存結構。邏輯上內存大體被分為四段,分別為棧空間段、堆空間段、初始化數據段和代碼段,程序中不同類型數據的聲明將會被存在不同的內存段裡面。每段內存的特點如下。
①.棧空間段
棧的特點是空間小但被CPU訪問的速度快,是用戶存放程序中臨時創建的變數。由於棧的後進先出特點,所以棧特別方便用來保存和恢復調用現場。從這個意義上講,我們可以把堆棧看成一個臨時數據寄存、交換的內存區。用於存儲佔用空間長度不變並且佔用空間小的數據類型的內存段,例如整型1、100、10000等在內存中佔用空間是等長的,佔用空間都是32位的4個位元組。還有double、boolean等都可以存儲在棧空間段中。
②.堆空間段
堆是用於存放進程運行中被動態分配的內存段,它大小並不固定,可動態擴張或縮減。用於存儲數據長度可變或佔用內存比較大的數據。例如,字元串、數組和對象就存儲在這段內存中。
③.數據段
數據段用來存放可執行文件中初始化全局變數,換句話說就是存放程序靜態分配的變數。
④.代碼段
代碼段是用來存放可執行文件的操作指令,也就是說它是可執行程序在內存中的鏡像。代碼段需要防止在運行時被非法修改,所以只准許讀取操作,而不允許寫入(修改)操作。例如程序中的函數就存儲在這段內存中。
對象類型的數據就是一種佔用空間比較大的數據類型,並且是佔用的空間不定長的數據類型,所以對象創建完成以後被存放在對內存中,但對象的引用還是存放在棧裡面的。程序在運行時,占內存中的數據是可以直接存取的,而堆內存是不可以直接存取的內存,但可以通過對象的引用名稱訪問對象中的成員。
F. 目前主要三種數據存儲方式
三種存儲方式:DAS、SAN、NAS
三種存儲類型:塊存儲、文件存儲、對象存儲
塊存儲和文件存儲是我們比較熟悉的兩種主流的存儲類型,而對象存儲(Object-based Storage)是一種新的網路存儲架構,基於對象存儲技術的設備就是對象存儲設備(Object-based Storage Device)簡稱OSD。
本質是一樣的,底層都是塊存儲,只是在對外介面上表現不一致,分別應用於不同的業務場景。
分布式存儲的應用場景相對於其存儲介面,現在流行分為三種:
對象存儲: 也就是通常意義的鍵值存儲,其介面就是簡單的GET、PUT、DEL和其他擴展,如七牛、又拍、Swift、S3
塊存儲: 這種介面通常以QEMU Driver或者Kernel Mole的方式存在,這種介面需要實現Linux的Block Device的介面或者QEMU提供的Block Driver介面,如Sheepdog,AWS的EBS,青雲的雲硬碟和阿里雲的盤古系統,還有Ceph的RBD(RBD是Ceph面向塊存儲的介面)
文件存儲: 通常意義是支持POSIX介面,它跟傳統的文件系統如Ext4是一個類型的,但區別在於分布式存儲提供了並行化的能力,如Ceph的CephFS(CephFS是Ceph面向文件存儲的介面),但是有時候又會把GFS,HDFS這種非POSIX介面的類文件存儲介面歸入此類。