国产精品免费嫩草研究院|无遮羞动漫在线观看AV|国产麻豆精品传媒AV国产在线|村在线观看|寂寞情人1正版|韩国床震韩国床震古|精品系列专区久久

分布式存儲系統之Ceph集群訪問接口啟用

前文我們使用ceph-deploy工具簡單拉起了ceph底層存儲集群RADOS,回顧請參考https://www.cnblogs.com/qiuhom-1874/p/16724473.html;今天我們來聊一聊ceph集群訪問接口相關話題;
我們知道RADOS集群是ceph底層存儲集群,部署好RADOS集群以后,默認只有RBD(Rados Block Device)接口;但是該接口并不能使用;這是因為在使用rados存儲集群存取對象數據時,都是通過存儲池找到對應pg,然后pg找到對應的osd,由osd通過librados api接口將數據存儲到對應的osd所對應的磁盤設備上;
啟用Ceph塊設備接口(RBD)
對于RBD接口來說,客戶端基于librbd即可將RADOS存儲集群用作塊設備,不過,用于rbd的存儲池需要事先啟用rbd功能并進行初始化;
1、創建RBD存儲池
[root@ceph-admin ~]# ceph osd pool create rbdpool 64 64pool 'rbdpool' created[root@ceph-admin ~]# ceph osd pool lstestpoolrbdpool[root@ceph-admin ~]#2、啟用RBD存儲池RBD功能
查看ceph osd pool 幫助
Monitor commands: =================osd pool application disable <poolname> <app> {--yes-disables use of an application <app> on pool i-really-mean-it}<poolname>osd pool application enable <poolname> <app> {--yes-i- enable use of an application <app> [cephfs,rbd,rgw] really-mean-it}on pool <poolname>提示:ceph osd pool application disable 表示禁用對應存儲池上的對應接口功能,enbale 表示啟用對應功能;后面的APP值只接受cephfs、rbd和rgw;
[root@ceph-admin ~]# ceph osd pool application enable rbdpool rbdenabled application 'rbd' on pool 'rbdpool'[root@ceph-admin ~]#3、初始化RBD存儲池
[root@ceph-admin ~]# rbd pool init -p rbdpool[root@ceph-admin ~]#驗證rbdpool是否成功初始化,對應rbd應用是否啟用?

分布式存儲系統之Ceph集群訪問接口啟用

文章插圖
提示:使用ceph osd pool ls detail命令就能查看存儲池詳細信息;到此rbd存儲池就初始化完成;但是,rbd存儲池不能直接用于塊設備,而是需要事先在其中按需創建映像(image),并把映像文件作為塊設備使用;
4、在rbd存儲池里創建image
[root@ceph-admin ~]# rbd create --size 5G rbdpool/rbd-img01[root@ceph-admin ~]# rbd ls rbdpoolrbd-img01[root@ceph-admin ~]#查看創建image的信息
[root@ceph-admin ~]# rbd info rbdpool/rbd-img01rbd image 'rbd-img01':size 5 GiB in 1280 objectsorder 22 (4 MiB objects)id: d4466b8b4567block_name_prefix: rbd_data.d4466b8b4567format: 2features: layering, exclusive-lock, object-map, fast-diff, deep-flattenop_features:flags:create_timestamp: Sun Sep 25 11:25:01 2022[root@ceph-admin ~]#提示:可以看到對應image支持分層鏡像,排他鎖,對象映射等等特性;到此一個5G大小的磁盤image就創建好了;客戶端可以基于內核發現機制將對應image識別成一塊磁盤設備進行使用;
啟用radosgw接口
RGW并非必須的接口,僅在需要用到與S3和Swift兼容的RESTful接口時才需要部署RGW實例;radosgw接口依賴ceph-rgw進程對外提供服務;所以我們要啟用radosgw接口,就需要在rados集群上運行ceph-rgw進程;
1、部署ceph-radosgw
[root@ceph-admin ~]# ceph-deploy rgw --helpusage: ceph-deploy rgw [-h] {create} ...Ceph RGW daemon managementpositional arguments:{create}createCreate an RGW instanceoptional arguments:-h, --helpshow this help message and exit[root@ceph-admin ~]#提示:ceph-deploy rgw命令就只有一個create子命令用于創建RGW實例;
[root@ceph-admin ~]# su - cephadmLast login: Sat Sep 24 23:16:00 CST 2022 on pts/0[cephadm@ceph-admin ~]$ cd ceph-cluster/[cephadm@ceph-admin ceph-cluster]$ ceph-deploy rgw create ceph-mon01[ceph_deploy.conf][DEBUG ] found configuration file at: /home/cephadm/.cephdeploy.conf[ceph_deploy.cli][INFO] Invoked (2.0.1): /bin/ceph-deploy rgw create ceph-mon01[ceph_deploy.cli][INFO] ceph-deploy options:[ceph_deploy.cli][INFO]username: None[ceph_deploy.cli][INFO]verbose: False[ceph_deploy.cli][INFO]rgw: [('ceph-mon01', 'rgw.ceph-mon01')][ceph_deploy.cli][INFO]overwrite_conf: False[ceph_deploy.cli][INFO]subcommand: create[ceph_deploy.cli][INFO]quiet: False[ceph_deploy.cli][INFO]cd_conf: <ceph_deploy.conf.cephdeploy.Conf instance at 0x7fa658caff80>[ceph_deploy.cli][INFO]cluster: ceph[ceph_deploy.cli][INFO]func: <function rgw at 0x7fa6592f5140>[ceph_deploy.cli][INFO]ceph_conf: None[ceph_deploy.cli][INFO]default_release: False[ceph_deploy.rgw][DEBUG ] Deploying rgw, cluster ceph hosts ceph-mon01:rgw.ceph-mon01[ceph-mon01][DEBUG ] connection detected need for sudo[ceph-mon01][DEBUG ] connected to host: ceph-mon01[ceph-mon01][DEBUG ] detect platform information from remote host[ceph-mon01][DEBUG ] detect machine type[ceph_deploy.rgw][INFO] Distro info: CentOS Linux 7.9.2009 Core[ceph_deploy.rgw][DEBUG ] remote host will use systemd[ceph_deploy.rgw][DEBUG ] deploying rgw bootstrap to ceph-mon01[ceph-mon01][DEBUG ] write cluster configuration to /etc/ceph/{cluster}.conf[ceph-mon01][WARNIN] rgw keyring does not exist yet, creating one[ceph-mon01][DEBUG ] create a keyring file[ceph-mon01][DEBUG ] create path recursively if it doesn't exist[ceph-mon01][INFO] Running command: sudo ceph --cluster ceph --name client.bootstrap-rgw --keyring /var/lib/ceph/bootstrap-rgw/ceph.keyring auth get-or-create client.rgw.ceph-mon01 osd allow rwx mon allow rw -o /var/lib/ceph/radosgw/ceph-rgw.ceph-mon01/keyring[ceph-mon01][INFO] Running command: sudo systemctl enable ceph-radosgw@rgw.ceph-mon01[ceph-mon01][WARNIN] Created symlink from /etc/systemd/system/ceph-radosgw.target.wants/ceph-radosgw@rgw.ceph-mon01.service to /usr/lib/systemd/system/ceph-radosgw@.service.[ceph-mon01][INFO] Running command: sudo systemctl start ceph-radosgw@rgw.ceph-mon01[ceph-mon01][INFO] Running command: sudo systemctl enable ceph.target[ceph_deploy.rgw][INFO] The Ceph Object Gateway (RGW) is now running on host ceph-mon01 and default port 7480[cephadm@ceph-admin ceph-cluster]$

經驗總結擴展閱讀