文档章节

ceph 集群访问权限配置

 惊浪
发布于 2015/01/16 17:51
字数 481
阅读 1378
收藏 6
点赞 0
评论 0

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


© 著作权归作者所有

共有 人打赏支持
粉丝 16
博文 28
码字总数 17864
作品 0
福州
程序员
Ceph对象存储网关安装配置

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

西昆仑 ⋅ 2015/10/10 ⋅ 5

ceph rbd与openstack的结合

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

linuxhunter ⋅ 2015/12/09 ⋅ 0

企业私有云之共享存储ceph在centos7安装与应用

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

dl528888 ⋅ 2016/10/19 ⋅ 0

Ceph 之 使用ceph-deploy部署ceph集群

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

余伟兵 ⋅ 05/24 ⋅ 0

cephfs文件系统环境搭建介绍

cephfs文件系统环境搭建介绍 一、cephfs简介。 cephfs是一个基于ceph集群且兼容POSIX标准的文件系统。创建cephfs文件系统时需要在ceph集群中添加mds服务,该服务负责处理POSIX文件系统中的m...

linuxhunter ⋅ 2015/12/11 ⋅ 0

CephFS在CentOS的部署

1.引言 为了测试CephFS系统的数据读写性能,搭建相关集群环境进行测试。 Ceph版本:0.94.3 操作系统版本:CentOS 6.5 2.集群角色设置 2.1 角色说明 IP地址 角色 58.220.31.60 DeployNode,C...

西昆仑 ⋅ 2015/09/02 ⋅ 0

ceph radosgw模块介绍

ceph object store模式 一、总体概括。 ceph对象网关存储指的是,通过在librados库基础上对外提供Restful API的方式来访问ceph集群。ceph对象网关通常指的是radosgw程序,该程序建立在libra...

linuxhunter ⋅ 2015/12/11 ⋅ 0

cephfs kernel client针对inode的相关操作

针对文件的inode的操作体现在数据结构struct inode_operations中,具体内容如下: const struct inodeoperations cephfile_iops = { .permission = ceph_permission, .setattr = ceph_setatt......

linuxhunter ⋅ 2016/08/12 ⋅ 0

Ceph与OpenStack整合(将云主机磁盘镜像文件直接建在ceph集群vms存储池中)

思路及实现: 1.承接前两篇文章,镜像服务的存储 池为images,云盘的存储池为volumes,目前要完成openstack新建云主机磁盘镜像文件直接存放到ceph中去(在ceph中新建存储池vms)。 云主机在启...

linhaifeng4573 ⋅ 2016/05/26 ⋅ 0

单机Ceph从Firefly升级到Hammer

单机上部署了Firefly版的Ceph集群,其中包括:mon(一个)、osd(三个)和mds(一个)。单机上使用的操作系统是ubuntu-14.04-server-amd64版。此次升级的要求是数据不能丢失且不能停机升级。...

linuxhunter ⋅ 2015/12/18 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

说说javascript中的那些专业名词

DOM(Document Object Model) 文档对象模型 BOM(Browser Object Model) 浏览器对象模型 ECMA(European Computer Manufacturer's Association) 欧洲计算机制造商协会 W3C(World Wide Web Conso......

hang1989 ⋅ 20分钟前 ⋅ 0

Bootstrap Wizard 多步表单控件

废话 有一块需求是 有多步表单 点击下一步时触发验证一个范围内的表单,点击上一步或取消,清空表单并返回第一步,点击最后一步提交整个表单的 就找到了这个插件,本来自己写了一个原生的 fo...

无极之岚 ⋅ 36分钟前 ⋅ 0

如何利用Spring Cloud构建起自我修复型分布式系统

利用Netflix所打造的组件及各类大家熟知的工具,我们完全可以顺利应对由微服务以及分布式计算所带来的技术挑战。 在过去一年当中,微服务已经成为软件架构领域一个炙手可热的新名词,而且我们...

harries ⋅ 今天 ⋅ 0

临近实习前的感想

再过两星期就要开始新的一段实习了,想想去年的这个时候也在实习,心中不免思绪万千,也一直想写对2017做个总结,但一直迟迟没有下笔。 2017年的春节,我就开始准备开学后找份实习。那时候就...

无精疯 ⋅ 今天 ⋅ 0

Spring AOP(面向切面编程)

Spring AOP概念: Spring AOP 可以劫持一个执行的方法,在方法执行之前或之后添加额外的功能。通常情况下,AOP把项目中需要在多处用到的功能,比如日志、安全和事物等集中到一个类中处理,而...

霍淇滨 ⋅ 今天 ⋅ 0

人工智能、机器学习、数据挖掘以及数据分析有什么联系?

人工智能是目前炙手可热的一个领域,所有的互联网公司以及各路大迦们纷纷表态人工智能将是下一个时代的革命性技术,可与互联网、移动互联网时代的变更相媲美;AlphaGo在围棋领域战胜人类最顶...

董黎明 ⋅ 今天 ⋅ 0

使用 vue-cli 搭建项目

vue-cli 是一个官方发布 vue.js 项目脚手架,使用 vue-cli 可以快速创建 vue 项目,GitHub地址是:https://github.com/vuejs/vue-cli 一、 安装 node.js 首先需要安装node环境,可以直接到中...

初学者的优化 ⋅ 今天 ⋅ 0

设计模式 之 享元模式

设计模式 之 享元模式 定义 使用共享技术来有效地支持大量细粒度对象的复用 关键点:防止类多次创建,造成内存溢出; 使用享元模式来将内部状态与外部状态进行分离,在循环创建对象的环境下,...

GMarshal ⋅ 今天 ⋅ 0

SpringBoot集成Druid的最简单的小示例

参考网页 https://blog.csdn.net/king_is_everyone/article/details/53098350 建立maven工程 Pom文件 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM......

karma123 ⋅ 今天 ⋅ 0

Java虚拟机基本结构的简单记忆

Java堆:一般是放置实例化的对象的地方,堆分新生代和老年代空间,不断未被回收的对象越老,被放入老年代空间。分配最大堆空间:-Xmx 分配初始堆空间:-Xms,分配新生代空间:-Xmn,新生代的大小一...

算法之名 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部