文档章节

ceph客户端命令行

 惊浪
发布于 2014/11/13 15:52
字数 233
阅读 217
收藏 1

#include <stdio.h>
#include <string.h>
//#include <rados/librados.h>
#include <rados/librados.hpp>
#include <iostream>
#include <fstream>
#include <list>
#include <iterator>
#define EXIT_SUCCESS 0
using namespace std;
using namespace librados;
int main(int argc, char **argv)
{
   Rados rados;
    rados_ioctx_t io;
    const char *poolname = "data";
   const char cluster_name[] = "ceph";
   const char user_name[] = "client.admin"; //用户名
    uint64_t flags=0;
    char xattr[] = "en_US";
  int err;
 
  char fsid[50]={0};
    
  err= rados.init2(user_name,cluster_name,  flags);
  if (err<0) {
     cerr << "couldn't initialize rados! error " << err << std::endl;
  }
  //读取配置文件,完成rados句柄
  err=rados.conf_read_file("/etc/ceph/ceph.conf");
 if (err < 0)
    {
        fprintf(stderr, "%s: cannot read config file: %s\n", argv[0], strerror(-err));
    }
    else
    {
        printf("\nRead the config file.\n");
    }

        /* Connect to the cluster */
    err = rados.connect();
    if (err < 0)
    {
        fprintf(stderr, "%s: cannot connect to cluster: %s\n", argv[0], strerror(-err));
    }
    else
    {
        printf("\nConnected to the cluster.\n");
   }

  bufferlist inbl, outbl;
  string outs;
  err = rados.mon_command("{\"prefix\": \"mon_status\"}",
                   inbl, &outbl, &outs);
  if (err < 0) {
      cerr << "error listing get_command_descriptions: " << err << std::endl;
      rados.shutdown();
  }
  cout << outbl.c_str() << std::endl;
      
  err = rados.mon_command("{\"prefix\": \"osd find\", \"id\":\"osd.1\"}",
                   inbl, &outbl, &outs);
  if (err < 0) {
      cerr << "error listing get_command_descriptions: " << err << std::endl;
      rados.shutdown();
  }
  cout << outbl.c_str() << std::endl;    

    rados.shutdown();
    return 0;
}

g++ ceph_conmand.c -o ceph_con -lrados


© 著作权归作者所有

共有 人打赏支持
上一篇: ceph PG创建流程
下一篇: JUnit Test Case
粉丝 16
博文 29
码字总数 17864
作品 0
福州
程序员
私信 提问
云计算/云存储---Ceph和Openstack的cinder模块对接方法

1.创建存储池 在ceph节点中执行如下语句。 #ceph osd pool create volumes 128 2.配置 OPENSTACK 的 CEPH 客户端 在ceph节点两次执行如下语句,两次{your-openstack-server}分别填控制节点和...

yaohong
2017/10/22
0
0
Ceph 源代码目录结构详解

转载自:6沙鱼的博客 从GitHub上Clone的Ceph项目,其目录下主要文件夹和文件的内容为: 1 根目录 [src]:各功能某块的源代码 [qa]:各个模块的功能测试(测试脚本和测试代码) [wireshark]:...

鉴客
2015/07/06
3.4K
0
OpenStack 和 Ceph 集成

也许Ceph最有意思的部分就是同OpenStack的集成了。所以在讨论Ceph RadosGW之前,我将先对这部分进行展示。我假定你在看下面的OpenStack同Ceph的集成指南之前,已经架设成功并让Ceph集群(Bob...

oschina
2013/05/20
6.1K
0
译:块设备和 OpenStack

libvirt 配置了 librbd 的 QEMU 接口,通过它可以在 OpenStack 中使用 Ceph 块设备镜像。Ceph 块设备镜像被当作集群对象,这意味着它比独立的服务器有更好的性能。 在 OpenStack 中使用 Ceph...

Jerry_Baby
2015/02/09
0
0
Proxmox VE 4.4 发布,新 Ceph 仪表盘上线

Proxmox VE 4.4 发布了,除了许多改进和更新,还为 Ceph 和集群带来了一个新的仪表盘。 Proxmox VE (Proxmox Virtual Environment) 是一个非常棒的集成 OPENVZ 支持 KVM 应用的环境。有方便易...

王练
2016/12/14
1K
1

没有更多内容

加载失败,请刷新页面

加载更多

EOS官方钱包keosd

EOS官方钱包的名称是keosd,它负责管理你的私钥,并且帮你进行交易的签名。 不过不幸的是,keosd钱包对普通用户并不友好,它是一个命令行程序,目前还没有像以太坊的mist那样的图形化界面,而...

汇智网教程
今天
20
0
ArrayList的实现原理以及实现线程安全

一、ArrayList概述 ArrayList是基于数组实现的,是一个动态的数字,可以自动扩容。 ArrayList不是线程安全的,效率比较高,只能用于单线程的环境中,在多线程环境中可以使用Collections.syn...

一看就喷亏的小猿
今天
20
0
Netty 备录 (一)

入职新公司不久,修修补补1个月的bug,来了点实战性的技术---基于netty即时通信 还好之前对socket有所使用及了解,入手netty应该不是很难吧,好吧,的确有点难,刚看这玩意的时候,可能都不知道哪里...

_大侠__
昨天
30
0
Django简单介绍和用户访问流程

Python下有许多款不同的 Web 框架。Django是重量级选手中最有代表性的一位。许多成功的网站和APP都基于Django。 Django是一个开放源代码的Web应用框架,由Python写成。 Django遵守BSD版权,初...

枫叶云
昨天
36
0
Spring Cloud Stream消费失败后的处理策略(四):重新入队(RabbitMQ)

应用场景 之前我们已经通过《Spring Cloud Stream消费失败后的处理策略(一):自动重试》一文介绍了Spring Cloud Stream默认的消息重试功能。本文将介绍RabbitMQ的binder提供的另外一种重试...

程序猿DD
昨天
21
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部