(略)
基於檔案系統的本地檔案儲存;
基於網路的共享檔案儲存:nfs、samba、windows檔案共享;
基於網路的分布式檔案儲存:hdfs...
一種key(物件id)-- value(物件資料)型的儲存系統;所有資料的儲存基於物件id,通過元資料記錄物件的屬性資訊。
統一的分布式儲存系統,同時提供了物件、塊、和檔案儲存功能。ceph 中文文件
不管你是想為雲平台提供ceph 物件儲存和/或 ceph 塊裝置,還是想部署乙個 ceph 檔案系統或者把 ceph 作為他用,所有 ceph 儲存集群的部署都始於部署乙個個 ceph 節點、網路和 ceph 儲存集群。
當 ceph 儲存集群設定為有2個副本時,至少需要2個 osd 守護程序,集群才能達到 active+clean 狀態( ceph 預設有3個副本,但你可以調整副本數)。
ceph 儲存著發生在monitors 、 osd 和 pg上的每一次狀態變更的歷史資訊(稱為 epoch )。
元資料伺服器使得 posix 檔案系統的使用者們,可以在不對 ceph 儲存集群造成負擔的前提下,執行諸如 ls、find 等基本命令。ceph 把客戶端資料儲存為儲存池內的物件。通過使用 crush 演算法, ceph 可以計算出哪個歸置組(pg)應該持有指定的物件(object),然後進一步計算出哪個 osd 守護程序持有該歸置組。 crush 演算法使得 ceph 儲存集群能夠動態地伸縮、再均衡和修復。
儲存池 pool:定義儲存池大小、使用者許可權、pg數量、資料複製份數以及crush ruleset(資料分布規則)。radosgw 是乙個構建在 librados 之上的物件儲存介面,它為應用程式訪問ceph 儲存集群提供了乙個 restful 風格的閘道器,可以用乙個介面寫如資料、然後用另乙個介面取出資料。存放組 place group:決定物件存放位置的osd節點組合,組合會根據osd節點的數量、狀態和crush ruleset的規則計算得出,動態變化。
crush ruleset:定義了物件複製的份數及選取osd節點的規則。 # crush 我翻譯為:可控、彈性、多副本複製
物件object:ceph 將所有資料都存放在物件中,每個物件對應的osd節點檔案系統裡的乙個檔案,預設檔案大小是4m。
ceph 物件儲存支援 2 種介面:
ceph 物件儲存不使用 ceph 元資料伺服器。塊是乙個位元組序列(例如,乙個 512 位元組的資料塊)。基於塊的儲存介面是最常見的儲存資料方法。
ceph 塊裝置是精簡配置的、大小可調且將資料條帶化儲存到集群內的多個 osd 。
ceph 塊裝置利用 rados 的多種能力,如快照、複製和一致性。 ceph 的 rados 塊裝置( rbd )使用核心模組或 librbd 庫與 osd 互動。
ceph 塊儲存不使用 ceph 元資料伺服器。ceph 檔案系統( ceph fs )是個 posix 相容的檔案系統,它使用 ceph 儲存集群來儲存資料。
ceph 檔案系統與 ceph 塊裝置、同時提供 s3 和 swift api 的 ceph 物件儲存、或者原生庫( librados )一樣,都使用著相同的 ceph 儲存集群系統。
ceph 檔案系統要求 ceph 儲存集群內至少有乙個 ceph 元資料伺服器。在傳統架構裡,客戶端與乙個中心化的元件通訊(如閘道器、中介軟體、 api 、前端等等),它作為乙個複雜子系統的唯一入口,它引入單故障點的同時,也限制了效能和伸縮性(就是說如果中心化元件掛了,整個系統就掛了)。
ceph客戶端讀或寫資料前必須先連線到某個 ceph 監視器、獲得最新的集群執行圖副本。乙個 ceph 儲存集群只需要單個監視器就能執行,但它就成了單一故障點(即如果此監視器宕機, ceph 客戶端就不能讀寫資料了)。
為增強可靠性和容錯能力, ceph 支援監視器集群;在乙個監視器集群內,延時以及其它錯誤會導致一到多個監視器滯後於集群的當前狀態,因此, ceph 的各監視器例程必須就集群的當前狀態達成一致。ceph 總是使用大多數監視器(如: 1 、 2:3 、 3:5 、 4:6 等等)和
paxos 演算法就集群的當前狀態達成一致。
關於配置監視器的詳情,見監視器配置參考。
所有 ceph 部署都始於 ceph 儲存集群。
基於 rados 的 ceph 物件儲存集群包括兩類守護程序:
乙個 ceph 集群可以包含數千個儲存節點,最簡系統至少需要乙個監視器和兩個 osd 才能做到資料複製。ceph 儲存集群的某些配置選項是必要的,但大多數都有預設值。
典型部署是通過部署工具定義集群、並啟動監視器的,關於 ceph-deploy 的詳情見部署。
部署後就可以開始操作 ceph 集群了。運維
手冊頁api
儲存過程概念
剛畢業找工作時,資料庫方面被問的較多的乙個問題,現在才對這個概念有真正的接觸,學習小結一下。將常用的或很複雜的工作,預先用sql語句寫好並用乙個指定的名稱儲存起來,那麼以後要叫資料庫提供與已定義好的儲存過程的功能相同的服務時,只需呼叫execute,即可自動完成命令。使用儲存過程而非sql語句的原因...
儲存過程概念
1 儲存過程的概念 儲存過程是一組為了完成特定功能的sql語句集,經編譯後儲存在資料庫中,使用者通過指定儲存過程的名字並給出引數來執行它,通常情況下,將常用或很複雜的語句編寫成儲存過程。儲存過程 stored procedure 是在大型資料庫系統中,一組為了完成特定功能的sql語句集,儲存在資料庫...
儲存過程概念
專題 資料庫儲存過程的專題 儲存過程 sql語句執行的時候要先編譯,然後執行。儲存過程就是編譯好了的一些sql語句。應用程式需要用的時候直接呼叫就可以了,所以效率會高。儲存過程介紹 儲存過程是由流控制和sql語句書寫的過程,這個過程經編譯和優化後儲存在資料庫伺服器中,應用程式使用時只要呼叫即可。在o...