<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
官方檔案:docs.ceph.com/en/pacific/…
傳統的檔案儲存通常使用的是NAS儲存,通過NFS協定來實現,NFS型別的檔案儲存可以同時共用給多個使用者端使用,傳輸協定簡單,只要有網路就可以實現。
對於儲存而言,高可用性是必須具備的,一旦儲存宕機,就會影響應用程式的使用,而NAS儲存最典型的缺點就是單點故障。
在Ceph分散式儲存系統中有關於檔案儲存的儲存型別,稱之為CephFS,CephFS是一個符合POSIX的檔案系統,構建在Ceph物件儲存Rados之上,CephFS可以為各種應用程式提供最先進的、多用途、高可用性和高效能的檔案儲存。
CephFS檔案系統至少需要一個MDS(Metadata Server元件)來儲存檔案系統的後設資料資訊,因此在使用CephFS檔案儲存之前,首先要在叢集中部署MDS元件,我們希望CephFS檔案儲存具備高可用性,所以MDS元件一般都會在叢集中部署多個,大多數情況下都是三個MDS元件。
CephFS支援使用者級別和核心級別的掛載使用,可延伸性極高,並且可以同時讓多個Client使用者端進行讀寫。
簡而言之:CephFS檔案儲存就是提供類似NFS服務的共用儲存系統,相當於基於NFS的分散式檔案儲存系統,多個使用者端可以同時去掛載這個檔案儲存系統,並且還可以提供高可靠服務。
CephFS檔案系統的核心元件有:
MDS:MDS元件主要用於儲存檔案的後設資料資訊,會單獨存放在一個Pool資源池中。
MDS支援高可用性,預設採用主備模式,也可以設定成多主模式。
Client:使用者端。
RADOS:CephFS也是基於RADOS來實現檔案儲存的,CephFS檔案儲存中的檔案資料與檔案的後設資料都是單獨在不同的Pool資源池中儲存的。
Ceph叢集如果想要實現CephFS檔案儲存,首先需要在叢集中準備MDS元件,MDS元件主要是來儲存檔案儲存中檔案的後設資料資訊,一般會部署三個MDS元件,形成高可用模式,其中一個MDS的Active狀態提供服務,另外兩個都是Standby的狀態,當Active狀態的MDS掛掉後,Standby狀態的MDS之間會就進行選舉,選舉成功的MDS節點就會成為叢集中的Active。
MDS元件會將檔案的後設資料資訊寫在Journal紀錄檔中,最終Journal紀錄檔中的檔案後設資料資訊會寫入到一個Metadata的Pool資源池中,所有的MDS節點都會連線這個Pool資源池,並且MDS各節點之間會交換後設資料資訊,當Active狀態的MDS元件掛掉了,選舉出來的MDS會從Metadata Pool資源池獲取整個叢集中所有檔案的後設資料資訊。
CephFS會將使用者寫入的檔案資料與檔案的後設資料分開存放在不同的Pool資源池中,將資料與後設資料分開儲存。
Client使用者端可以直接在存放資料的Pool資源池中寫入檔案資料,寫入的檔案依舊會被拆分成多個Object物件檔案,這些Object物件檔案寫入到PG中,最後通過CRUSH演演算法儲存在多個OSD中。
應用場景:
CephFS檔案系統多MDS的優勢及特點:
1.在叢集所有節點都安裝mds元件 yum -y install ceph-mds 2.將所有的ceph節點都部署mds元件形成高可用叢集 [root@ceph-node-1 ~]# cd /data/ceph-deploy/ [root@ceph-node-1 ceph-deploy]# ceph-deploy mds create ceph-node-1 ceph-node-2 ceph-node-3
3.檢視叢集狀態 [root@ceph-node-1 ceph-deploy]# ceph -s cluster: id: a5ec192a-8d13-4624-b253-5b350a616041 health: HEALTH_OK services: mon: 3 daemons, quorum ceph-node-1,ceph-node-2,ceph-node-3 (age 19h) mgr: ceph-node-1(active, since 19h), standbys: ceph-node-2, ceph-node-3 mds: 3 up:standby osd: 6 osds: 6 up (since 18h), 6 in (since 18h) rgw: 1 daemon active (ceph-node-1) task status: data: pools: 7 pools, 320 pgs objects: 252 objects, 161 KiB usage: 6.1 GiB used, 54 GiB / 60 GiB avail pgs: 320 active+clean
可以看到叢集中已經有3個MDS元件了,但是狀態都處於standby,那是因為叢集中還沒有建立CephFS檔案系統,導致MDS元件無法選舉。
一個Cephfs檔案儲存系統至少需要兩個Rados資源池,一個資源池用於存放檔案資料,另一個資源池用於存放檔案的後設資料資訊,如果後設資料資源池中的任何資料丟失,都有可能導致整個檔案系統無法存取。
對後設資料資源池建議使用較低延遲的OSD,例如可以使用SSD硬碟的OSD,後設資料資源池的延遲直接會影響在使用者端中檔案系統操作的延遲。
建立好這兩個Pool資源池後,只能為一個cephfs檔案儲存系統使用,如果叢集中需要建立多個cephfs檔案系統,則需要建立多個後設資料池和資料池,一個後設資料資源池和資料資源池只能為一個Cephfs檔案系統提供使用。
1.建立後設資料資源池 [root@ceph-node-1 ~]# ceph osd pool create cephfs_metadata 16 16 pool 'cephfs_metadata' created 2.建立資料資源池 [root@ceph-node-1 ~]# ceph osd pool create cephfs_data 16 16 pool 'cephfs_data' created 3.檢視建立的資源池 [root@ceph-node-1 ~]# ceph osd lspools 1 ceph-rbd-data 2 .rgw.root 3 default.rgw.control 4 default.rgw.meta 5 default.rgw.log 6 default.rgw.buckets.index 7 default.rgw.buckets.data 8 cephfs_metadata 9 cephfs_data
命令格式:ceph fs new {cephfs_name} {metadata_pool} {data_pool}
1.建立cephfs檔案儲存 [root@ceph-node-1 ~]# ceph fs new cephfs-storage cephfs_metadata cephfs_data new fs with metadata pool 8 and data pool 9 2.檢視建立的cephfs檔案儲存 [root@ceph-node-1 ~]# ceph fs ls name: cephfs-storage, metadata pool: cephfs_metadata, data pools: [cephfs_data ] [root@ceph-node-1 ~]# ceph fs volume ls [ { "name": "cephfs-storage" } ]
[root@ceph-node-1 ~]# ceph -s cluster: id: a5ec192a-8d13-4624-b253-5b350a616041 health: HEALTH_OK services: mon: 3 daemons, quorum ceph-node-1,ceph-node-2,ceph-node-3 (age 24h) mgr: ceph-node-1(active, since 24h), standbys: ceph-node-2, ceph-node-3 mds: cephfs-storage:1 {0=ceph-node-1=up:active} 2 up:standby #當建立完cephfs檔案系統後,mds元件自動選舉一個mds元件為active狀態,其餘為standby狀態 osd: 6 osds: 6 up (since 23h), 6 in (since 23h) rgw: 1 daemon active (ceph-node-1) task status: data: pools: 9 pools, 352 pgs objects: 274 objects, 164 KiB usage: 6.1 GiB used, 54 GiB / 60 GiB avail pgs: 352 active+clean
掛載的操作檔案:docs.ceph.com/en/pacific/…
1)在使用者端中建立掛載目錄
[root@ceph-node-1 ~]# mkdir /cephfs_data
2)使用核心級別掛載Cephfs檔案系統
CephFS系統可以理解為也是一個磁碟,型別是ceph的型別,直接可以通過mount命令進行掛載。
命令格式:mount -t ceph {monitor_addr}:/ /{path} -o name=admin
掛載時最好指定所有monitor元件的地址,否則當有一個monitor元件產生問題,就會影響掛載。
1.首先確認mount是否支援ceph型別的檔案系統,如果不支援則去安裝ceph-common包 [root@ceph-node-1 ~]# which mount.ceph /usr/sbin/mount.ceph 2.掛載cephfs檔案系統 [root@ceph-node-1 ~]# mount -t ceph 192.168.20.20:6789,192.168.20.21:6789,192.168.20.22:6789:/ /cephfs_data/ -o name=admin #這個admin使用者是ceph叢集預設的使用者,不需要指定secret key 3.檢視是否掛載成功 [root@ceph-node-1 ~]# df -hT /cephfs_data/ 檔案系統 型別 容量 已用 可用 已用% 掛載點 192.168.20.20:6789,192.168.20.21:6789,192.168.20.22:6789:/ ceph 17G 0 17G 0% /cephfs_data 4.此時就可以在掛載目錄中寫入資料了。
1.獲取admin使用者的Key
[root@ceph-node-1 ~]# cat /etc/ceph/ceph.client.admin.keyring [client.admin] key = AQBIWUhiEmaFOBAA6Jr6itUeHiLVVOeYFVpRog== caps mds = "allow *" caps mgr = "allow *" caps mon = "allow *" caps osd = "allow *"
2.通過認證方式掛載CephFS檔案系統
[root@ceph-node-1 ~]# mount -t ceph 192.168.20.20:6789,192.168.20.21:6789,192.168.20.22:6789:/ /cephfs_data/ -o name=admin,secret=AQBIWUhiEmaFOBAA6Jr6itUeHiLVVOeYFVpRog==
3.檢視是否掛載成功
[root@ceph-node-1 ~]# df -hT /cephfs_data/ 檔案系統 型別 容量 已用 可用 已用% 掛載點 192.168.20.20:6789,192.168.20.21:6789,192.168.20.22:6789:/ ceph 17G 0 17G 0% /cephfs_data
4.設定開機自動掛載
[root@ceph-node-1 ~]# vim /etc/fstab 192.168.20.20:6789,192.168.20.21:6789,192.168.20.22:6789:/ /cephfs_data ceph name=admin,secret=AQBIWUhiEmaFOBAA6Jr6itUeHiLVVOeYFVpRog== 0 0
也可以將使用者的Key寫入到一個檔案中,然後參照這個檔案,如下所示:
1.將key寫入到一個檔案中 [root@ceph-node-1 ~]# ceph-authtool -p /etc/ceph/ceph.client.admin.keyring > admin.key [root@ceph-node-1 ~]# chmod 600 admin.key 2.掛載時參照這個Key檔案 [root@ceph-node-1 ~]# mount -t ceph 192.168.20.20:6789,192.168.20.21:6789,192.168.20.22:6789:/ /cephfs_data/ -o name=admin,secretfile=/root/admin.key 3.開機自動掛載 192.168.20.20:6789,192.168.20.21:6789,192.168.20.22:6789:/ /cephfs_data ceph name=admin,secretfile=/root/admin.key 0 0
1.安裝ceph-fuse使用者端 [root@ceph-node-1 ~]# yum -y install ceph-fuse 2.建立掛載點 [root@ceph-node-1 ~]# mkdir /cephfuse-data 3.使用fuse掛載 [root@ceph-node-1 ~]# ceph-fuse -n client.admin -m 192.168.20.20:6789,192.168.20.21:6789,192.168.20.22:6789 /cephfuse-data/ 2022-04-03 23:37:18.794 7f5574ca7f80 -1 init, newargv = 0x5615fadddb50 newargc=9ceph-fuse[31903]: starting ceph client ceph-fuse[31903]: starting fuse 4.檢視掛載的檔案系統 ceph-fuse[31903]: starting fuse [root@ceph-node-1 ~]# df -HT /cephfuse-data/ 檔案系統 型別 容量 已用 可用 已用% 掛載點 ceph-fuse fuse.ceph-fuse 19G 0 19G 0% /cephfuse-data
[root@ceph-node-1 ~]# ceph fs status cephfs-storage
以上就是Ceph叢集CephFS檔案儲存核心概念及部署使用詳解的詳細內容,更多關於Ceph CephFS檔案儲存部署的資料請關注it145.com其它相關文章!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45