CEPH FILESYSTEM
參考文檔:
一.環境準備
1.?CephFS
2.?環境
以《CEPH LIO iSCSI Gateway》中的環境為基礎,即:?
| Hostname | IP | Service | Remark |
| ceph01 | publice:172.30.200.57 cluster:192.30.200.57 | ? | 1. centos7.5 with kernel v4.18.7-1; 2. ceph-13.2.1 mimic (stable),已部署 3. ntp已部署; 4. 禁用selinux,firewalld或iptables。 |
| ceph02 | publice:172.30.200.58 cluster:192.30.200.58 | ? | |
| ceph03 | publice:172.30.200.59 cluster:192.30.200.59 | ? | |
| ceph-client | 172.30.200.50 | ? | ceph-fuse-12.2.8-0(ceph yum) |
二.部署CephFS
1.?創建ceph mds
Ceph元數據服務器(MetaDataServer,MDS)主要用于管理文件系統的命名空間。Ceph集群中的元數據與數據均存儲在對象存儲集群中,MDS類似于元數據的代理緩存服務器(不負責存儲元數據),但為了實現擴展性,兩者是分開獨立管理。
Ceph MDS不是一個必需角色,只在使用CephFS的時需要,CephFS至少需要1臺MDS,最佳實踐中也建議部署1臺,但可以部署多臺,默認是主備關系。
# 通過部署服務器部署,格式:ceph-deploy mds create HOST1[:OSD-DAEMON-NAME]; # 后期增加MDS也可通過此方式 [root@ceph01 ~]# su - cephde [cephde@ceph01 ~]$ cd cephcluster/ [cephde@ceph01 cephcluster]$ ceph-deploy mds create ceph01 ceph02# 查看mds守護服務,ceph02節點同理; # 刪除mds步驟:首先停止mds守護服務;再通過”ceph mds fail X”刪除 [cephde@ceph01 cephcluster]$ sudo systemctl status ceph-mds@ceph01
2.?創建pool
# 1個Cephfs至少需要兩個pool,MDS與數據獨立管理; # 粗略的 <pg_num> 的設定規則: # 若少于 5 個 OSD, 設置 pg_num 為 128; # 5~10 個 OSD,設置 pg_num 為 512; # 10~50 個 OSD,設置 pg_num 為 4096; # 除了<pg_num> ,還有一個可選參數 <pgp_num> ,可不設置,pgp是為了管理placement而存在的專門的pg,其pg的數量應該保持一致; # pg數只能增加,無法減少;增加pg_num后必須同時增減pgp_num [root@ceph01 ~]# ceph osd pool create metadata 64 [root@ceph01 ~]# ceph osd pool create data 643.?創建CephFS
# 格式:ceph fs new CEPHFS-NAME METADATA-POOL DATA-POOL; # 刪除cephfs需要提前刪除mds:ceph fs rm CEPHFS-NAME --yes-i-really-mean-it; # 查看:ceph fs ls [root@ceph01 ~]# ceph fs new cephfs metadata data# 同步觀察ceph集群名為cephfs的文件系統狀態變化; # 部署在ceph02節點的MDS被確認為主MDS,被分配”rank 0”,處于active狀態 [root@ceph02 ~]# ceph -w
# 或:ceph mds stat; # 可用的文件系統一定有1個mds處于”up:active”狀態;在創建cephfs前,通過”ceph mds stat”可見mds狀態處于”up:standby” [root@ceph01 ~]# ceph -s
三.掛載CephFS
在ceph-client節點掛載cephfs,CephFS有兩種掛載方式:
1.?通過內核驅動掛載CephFS
通過內核掛載cephfs,對內核版本有一定要求,最佳實踐中并未給出最低版本的要求,只是建議如果從Ceph 10.x (Jewel) 算起,最好用 4.x 以上的內核,但v3.x基本支持。
1)掛載
# 創建掛載點 [root@ceph-client ~]# mkdir -p /cephfs# 注意MDS的狀態:up:active; # 掛載格式:mount -t ceph Mon-IP:6789:/ /MOUNTPOINT [-o name=amdin,secret=Keyring\secretfile=/Path/to/Secretfile]; # 默認采用ceph-deploy部署ceph集群是開啟了cephx認證,需要掛載secret-keyring,即集群mon節點/etc/ceph/ceph.client.admin.keyring文件中的”key”值,采用secretfile可不用暴露keyring,但有1個bug(https://bugzilla.redhat.com/show_bug.cgi?id=1030402),始終報錯:libceph: bad option at 'secretfile=/etc/ceph/admin.secret'; # 如果ceph集群含多個文件系統(默認只能創建1個文件系統,多文件系統屬于實驗性質,需打開開關),掛載時需要指定,參數:-o mds_namespace=CEPHFS-Name, [root@ceph-client ~]# mount -t ceph 172.30.200.57:6789:/ /cephfs -o name=admin,secret=AQBzx5hbtt2iJxAAE4dsque5hpNzWOEYzGNzBw==2)查看掛載情況
# 3副本環境,ceph集群450GB的總容量合并為140GB左右 [root@ceph-client ~]# df -Th# 也可通過”dmesg | tail”觀察掛載情況 [root@ceph-client ~]# dmesg | tail
3)設置開機啟動掛載
# filesystem列設置為”ceph”,filesystem parameters列設置掛載user/key,時間等; # noatime:禁止更新文件與目錄的inode訪問時間,以獲得更快的訪問速度; # _netdev:標識文件系統位于網絡上,防止網絡啟動前掛載 [root@ceph-client ~]# vim /etc/fstab # cephfs 172.30.200.57:6789:/ /cephfs ceph name=admin,secret=AQBzx5hbtt2iJxAAE4dsque5hpNzWOEYzGNzBw==,noatime,_netdev 0 02.?通過FUSE掛載CephFS
1)準備
# 安裝ceph-fuse客戶端,需要提前設置ceph yum源 [root@ceph-client ~]# yum install ceph-fuse -y# 客戶端掛載cephfs時,默認在/etc/ceph目錄下讀取需要的文件,即ceph集群mon節點的ceph.conf文件與ceph.client.admin.keyring文件 [root@ceph-client ~]# mkdir -p /etc/ceph [root@ceph-client ~]# scp root@172.30.200.57:/etc/ceph/ceph.c* /etc/ceph/# 卸載通過內核掛載的cephfs [root@ceph-client ~]# umount /cephfs/2)掛載
# 格式1:ceph-fuse /MOUNTPOINT,ceph-fuse讀取ceph.conf文件,選擇可用的mon節點掛載,此方式具備冗余性(依賴mon節點的冗余); # 格式2:ceph-fuse [-k <keyring_path>/ceph.client.admin.keyring]-m Mon-IP:6789 /MOUNTPOINT,掛載效果同格式1; # 格式3:首先啟動ceph-fuse.target服務:systemctl start ceph-fuse.target;再(依賴前者)啟動掛載:systemctl start ceph-fuse@/MOUNTPOINT.service,unit文件為/usr/lib/systemd/system/ceph-fuse@.service,需要根據掛載點啟動服務,掛載效果與前兩種方式相同 [root@ceph-client ~]# ceph-fuse /cephfs
3)查看掛載情況
# 命令”dmesg | tail”也可查看; # 通過格式1掛載,filesystem源是ceph-fuse,并未綁定特定mon節點,文件系統是fuse.ceph-fuse [root@ceph-client ~]# df -Th
4)設置開機啟動掛載
# device列設置“ceph-fuse”或“id=admin”都可以; # filesystem列設置為”fuse.ceph”,注意不是” fuse.ceph-fuse”; # filesystem parameters列設置掛載時間 [root@ceph-client ~]# vim /etc/fstab # cephfs ceph-fuse /cephfs fuse.ceph noatime,_netdev 0 0轉載于:https://www.cnblogs.com/netonline/p/10485176.html
總結
以上是生活随笔為你收集整理的CEPH FILESYSTEM的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 怎么让自己的手机设置路由器 在手机如何设
- 下一篇: 祝福语大全247个