Ceph三大儲存訪問型別之Ceph FS檔案系統

2021-10-07 21:16:06 字數 1561 閱讀 7770

相比nfs或cifs,ceph fs提供主副本冗餘,具備高可靠性。ceph fs使用metadata server(mds)管理檔案系統的命名空間以及客戶端訪問到後端osd資料。metadata server是乙個服務程序,提供乙個包含智慧型快取層的一致性檔案系統,它不會直接向客戶端提供任何實際資料,所有資料由osd提供,降低自身讀寫的次數。metadata server可被配置成活躍或被動狀態,活躍metadata server被稱為主metadata server,其他則為standby狀態,當主metadata發生故障,standby節點接管工作公升為主metadata server。

metadata server採用在記憶體中快取的方式響應外部訪問請求。客戶端向mds傳送讀請求,mds先向osd定位檔案所在的檔案索引節點,索引節點包含唯一的數字、檔案所有者、大小和許可權及其他元資料。mds賦予客戶端讀以及快取檔案內容的許可權,返回對應的元資料到客戶端,客戶端直接同osd進行io互動。

客戶端發起寫請求,mds賦予客戶端帶緩衝區的的寫許可權,客戶端執行完寫操作,提交給mds,mds將檔案的資訊重新寫入到osd的object中。mds集群為了適應分布式快取元資料特點,採用動態子樹分割槽的策略,可以理解為橫跨多個mds節點的目錄層級結構,mds統計乙個目錄中元資料被訪問的頻繁程度並計數,mds同時維護權重的樹,記錄最近元資料的負載情況。mds定期載入比較前後權重值的大小,根據權重值適當遷移子樹實現工作流的負載均衡。訪問程度頻繁的熱點目錄可被hash後存在多個mds上。

客戶端有兩種,第一種是作為linux核心模組,另一種是作為ceph fs fuse。

工具:ceph-deploy命令。

# ceph-deploy --overwrite-conf mds create ceph1

## 兩個pool,乙個fs_data的pool儲存資料,另乙個fs_metadata的pool儲存元資料

# ceph osd pool create fs_data # ceph osd pool create fs_metadata ## 建立乙個ceph fs

# ceph fs new cephfs fs_metadata fs_data

## 檢視ceph fs

# ceph fs ls

# ceph mds stat

掛載客戶端:

## 核心模組方式掛載

# mkdir /cephfs_test

# mount -t ceph ip:port:/ /cephfs_test

## 將 ip:port://cephfs_test ceph noatime 0 2 寫入到/etc/fstab中

## 以fuse方式掛載

# yum install ceph-fuse

# mkdir /ceph_fuse

# ceph-fuse -m ip:port /ceph-fuse

## id=admin,conf=/etc/ceph/ceph.conf/ceph-fuse fuse.ceph defaults 0 0 寫入/etc/fstab實現自動掛載

## 檢視掛載結果

# df -h

Ceph三大儲存訪問型別之BRD塊儲存

術語解釋 rbd rados block device的簡稱。rbd是ceph分布式集群最常使用的儲存型別。block是乙個有序位元組,普通block大小為512位元組,硬碟 cd光碟等都是基於block儲存的裝置。ceph的block裝置可以擴充套件大小且以條帶化方式儲存在集群中多個osd中。br...

c 訪問 redis 儲存型別

資料儲存在redis上有多種方式 1.key形式 2.hash形式 3.list形式 4 string形式 5 set 形式 6 sortedset 有序集合 根據提供的介面,用class包裝所以儲存型別的介面 oper redis.h ifndef oper redis h define oper...

c 三大特性之 繼承

繼承 乙個非常自然的概念,現實中的很多事情都是具有繼承性的。類似於自己繼承父母的特性,這也是繼承的特性 而繼承的上層稱為基類,下一層就叫做派生類。格式 class 派生類 繼承方式 基類 繼承 例如 include using namespace std class person class stu...