文档章节

ceph 集群访问权限配置

 惊浪
发布于 2015/01/16 17:51
字数 481
阅读 1394
收藏 6

1、配置文件/etc/ceph/ceph.conf如下

[global]
    auth cluster required = cephx
    auth service required = cephx
    auth client required = cephx
    ;keyring = /etc/ceph/keyring
    ax open files = 131072
    log file = /var/log/ceph/$name.log
    pid file = /var/run/ceph/$name.pid
    osd pool default size = 2
    osd pool default min_size = 1
[mon]
    mon data = /data/$name
    ;keyring = /data/mon.0/keyring
[mon.0]
    host = ceph-one
    mon addr = 192.168.122.1:6789
;[mds]
;[mds.0]
    ;host = ceph-one
[osd]
    osd data = /data/$name
    osd journal = /data/$name/journal
    osd journal size = 1000
    osd mkfs type = xfs
    devs = /dev/ceph/$name
    osd crush update on start = 0
    ;keyring = /etc/ceph/keyring
[osd.0]
    host = ceph-one
[osd.1]
    host = ceph-two
[osd.2]
    host = ceph-three
[osd.3]
    host = ceph-four
[osd.4]
    host = ceph-five
[osd.5]
    host = ceph-six

如上所示auth cluster required=cepghx中三项全部配置为cephx选项,如果不做权限校验全部配置为none

2、生成keyring文件

ceph-authtool --create-keyring /data/mon.0/ceph.mon.keyring --gen-key -n mon. --cap mon 'allow *'

上面的命令生成keyring文件在/data/mon.0/ceph.mon.keyring,如果不配置monitor使用默认keyring文件/data/mon.0/keyring,其中/data/mon.0是ceph.conf的mon data配置目录
ceph auth get-or-create osd.0 mon 'allow rwx' osd 'allow *' -o /data/osd.0/keyring

上面命令生成osd的keyring

ceph auth get-or-create client.admin mds 'allow' osd 'allow *' mon 'allow *' > /etc/ceph/ceph.client.admin.keyring

上面命令生成client.admin的keyring,应该为rados的访问命令。

3、rados使用keyring访问代码示例

#include <stdio.h>
#include <string.h>
#include <rados/librados.h>

   rados_t cluster; //声明 集群句柄
    rados_ioctx_t io;
    char *poolname = "data";
    char cluster_name[] = "ceph";
    char user_name[] = "client.admin"; //用户名
    uint64_t flags;
    char xattr[] = "en_US";
  int err;
 
  char *buf, *st;
  size_t buflen, stlen;
  char *cmd[2];
  cmd[1] = NULL;
 
  err = rados_create2(&cluster, cluster_name, user_name, flags); //创建集群句柄
 
  char fsid[50]={0};
    if (err < 0)
    {
        fprintf(stderr, "%s: Couldn't create the cluster handle! %s\n", argv[0], strerror(-err));
        exit(EXIT_FAILURE);
    }
    else
    {
        printf("\nCreated a cluster handle.\n");
    }


       //读取配置文件,完成cluster句柄
  err = rados_conf_set(cluster,"mon_host", "127.0.0.1");
  err = rados_conf_set(cluster,"key", "AQDhSK9UeA+nOhAAhA7s2GLdU8seDVMBqK+iwg==");  
    //err = rados_conf_read_file(cluster, "/etc/ceph/ceph.conf");
    if (err < 0)
    {
        fprintf(stderr, "%s: cannot read config file: %s\n", argv[0], strerror(-err));
        exit(EXIT_FAILURE);
    }
    else
    {
        printf("\nRead the config file.\n");
    }

err = rados_connect(cluster);

注意rados_conf_set两行代码,我使用的ceph_test.c编译命令行

gcc ceph_test.c -o ceph_test -lrados


© 著作权归作者所有

共有 人打赏支持
上一篇: Ceph读写流程
下一篇: python学习笔记
粉丝 15
博文 29
码字总数 17864
作品 0
福州
程序员
私信 提问
Ceph对象存储网关安装配置

引言 基于已部署好的Ceph集群,部署一个网关服务器,进行对象存储服务。操作系统CentOS6.5 CEPH0.94.3其实基于librados可以直接进行访问,但是我看了百度,UCLOUD的对象存储,用户在网页上进...

西昆仑
2015/10/10
2.5K
5
ceph rbd与openstack的结合

openstack通过libvirt调用qemu来启动具体的虚拟机,qemu通过librbd这个库与librados通信,而librados是ceph集群的统一API库,这样一来openstack就与ceph rbd联系起来了。具体调用流程如下图所...

linuxhunter
2015/12/09
563
0
企业私有云之共享存储ceph在centos7安装与应用

构建云设施,存储是一个重要组件,所以本文主要介绍一下我这里如何使用ceph的。 云软件选择openstack,版本是Mitaka,部署系统是centos 7.1,ceph版本是10.2.2. 选择ceph的原因是,免费、开源...

dl528888
2016/10/19
0
0
Ceph 之 使用ceph-deploy部署ceph集群

上面左边是我的个人微信,如需进一步沟通,请加微信。 右边是我的公众号“Openstack私有云”,如有兴趣,请关注。 环境: 系统centos7.4 ceph版本 ceph version 10.2.10 测试服务器为kvm虚拟...

余伟兵
2018/05/24
0
0
ceph-rbd kvm 删除数据后集群空间不释放

环境描述 ceph版本:luminous 12.2.5 OSD三节点,monitor三节点,同时运行在三台物理服务器; KVM宿主机运行多台虚拟机,其中一台挂载ceph-rbd块存储; KVM调用ceph-rbd 1.ceph集群创建存储池...

冰河sjm
2018/06/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

看过上百部片子的这个人教你视频标签算法解析

本文由云+社区发表 随着内容时代的来临,多媒体信息,特别是视频信息的分析和理解需求,如图像分类、图像打标签、视频处理等等,变得越发迫切。目前图像分类已经发展了多年,在一定条件下已经...

腾讯云加社区
22分钟前
0
0
2. 红黑树

定义:红黑树(Red-Black Tree,简称R-B Tree),它一种特殊的二叉查找树(Binary Search Tree)。 要理解红黑树,先要了解什么是二叉查找树。在上一章中,我们学习了什么是二叉树,以及二叉树...

火拳-艾斯
23分钟前
0
0
input的button类型,点击页面跳转

一、input type=button 不做任何操作 例如: <input type="button" class="btn btn-primary" style="width: 30%" value="返回" onclick="window.location.href='/users/list'"></input> onc......

Sunki
29分钟前
0
0
踩坑:js 小数运算出现精度问题

背景 在学习小程序商城源码时发现了这个问题,单价可能出现小数,小数之间运算结果会莫名其妙多出一大串数字,比如下面这样👇。 在此之前我是知道 js 中著名的 0.1 + 0.2 != 0.3 的问题的,...

dkvirus
34分钟前
0
0
zookeeper和HBASE总结

zookeeper快速上手 zookeeper的基本功能和应用场景 zookeeper的整体运行机制 zookeeper的数据存储机制 数据存储形式 zookeeper中对用户的数据采用kv形式存储 只是zk有点特别: key:是以路径...

瑞查德-Jack
57分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部