安装依赖:

yum install -y yum-utils && yum-config-manager --add-repo https://dl.fedoraproject.org/pub/epel/7/x86_64/ && yum install --nogpgcheck -y epel-release && rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 && rm -f /etc/yum.repos.d/dl.fedoraproject.org*

搭建环境和初始化系统参见一下网址:http://ceph.org.cn/

                 http://docs.ceph.org.cn/start/quick-start-preflight/

ceph-deploy new mon-node1 mon-node2 mon-node3  #初始化监控集群

编辑配置文件:

vim ceph.conf   

  osd pool default min sisz=2
  osd pool default size = 3
  public_network = 10.0.0.0/24

  cluster network=192.168.107.0/24

ceph-deploy install mon-node1 mon-node2 mon-node3 data-node1 data-node2 data-node3 #安装集群

ceph-deploy mon create-initial #初始化集群

ceph-deploy gatherkeys mon  #生成集群钥匙

sudo ceph-create-keys --id mon #检查生成的钥匙

ceph-deploy mon create-initial  #初始化集群监控  生成集群钥匙

需要格式化:data上的硬盘

支持格式是:xfs和btrfs

使用mkfs.btrfs -f /dev/sdb1  或者  mkfs.xfs -f /dev/sdb1

ceph-deploy osd prepare data-node1:/osd1  #制作存储空间

ceph-deploy osd activate data-node1:/osd1  #激活存储空间   激活osd进程,一个进程管理一个分区或者磁盘

ceph-deploy admin mon-node1 mon-node2 mon-node3 data-node1 data-node2 data-node3  # 拷贝配置文件到每一台机器上

sudo chmod +r /etc/ceph/ceph.client.admin.keyring #给钥匙加权限

常用命令:

ceph-deploy --overwrite-conf config push mon-node1 mon-node2 mon-node3 data-node1 data-node2 data-node3

ceph mon remove node1 #删除一个mon节点

ceph mon add node1 node1_ip #添加一个mon节点 

 网关的安装:

一、添加radosgw(civetweb方式)

1、创建网关实例的数据目录

mkdir /var/lib/ceph/radosgw

mkdir /var/lib/ceph/radosgw/ceph-rgw.{name}

2、创建启动文件和done文件

touch /var/lib/ceph/radosgw/ceph-rgw.{name}/done

touch /var/lib/ceph/radosgw/ceph-rgw.{name}/systemd

3、创建用户使用的密钥

ceph auth get-or-create client.rgw.node3 osd "allow rwx" mon "allow rw" -o /var/lib/ceph/radosgw/ceph-rgw.{name}/keyring

cp /var/lib/ceph/radosgw/ceph-rgw.{name}/keyring /etc/ceph/ceph.client.rgw.{name}.keyring

ceph-deploy install --rgw mon-node1 mon-node2 mon-node3

简单集群操作:

ceph health  # 查看集群状态

ceph health detail  #查看集群健康状态细节

ceph -s  #查看进程状态

ceph -w  #查看实时运行状态

ceph osd tree  # 查看osd进程树

列出储存池:

ceph df  #查看存储空间

ceph auth list #查看ceph集群中的认证用户及相关的key

ceph auth del osd.0  #删除集群中的一个认证用户

ceph auth get client.admin  #查看一个用户的详细权限信息

sudo  ceph daemon mon.mon-node1 config show | more #查看集群的详细配置

新增一个客户端用户:

  ceph auth add client.john mon 'allow r' osd 'allow rw pool=liverpool'
  ceph auth get-or-create client.paul mon 'allow r' osd 'allow rw pool=liverpool'
  ceph auth get-or-create client.george mon 'allow r' osd 'allow rw pool=liverpool' -o george.keyring
  ceph auth get-or-create-key client.ringo mon 'allow r' osd 'allow rw pool=liverpool' -o ringo.key

修改一个用户权限:

  ceph auth get client.john
  ceph auth caps client.john mon 'allow r' osd 'allow rw pool=liverpool'
  ceph auth caps client.paul mon 'allow rw' osd 'allow rwx pool=liverpool'
  ceph auth caps client.brian-manager mon 'allow *' osd 'allow *'

mon的命令:

ceph mon stat  #查看mon的状态信息

ceph quorum_status  #查看mon的选举状态

ceph mon dump   #查看mon的映射信息

ceph mon remove node1  #删除一个mon节点

ceph daemon mon.node1  mon_status   #查看mon的详细状态

osd的命令:

ceph osd stat   #查看ceph osd运行状态

ceph osd dump   #查看osd映射信息

ceph osd tree    #查看osd的目录树

ceph osd down 0 #down掉一个osd硬盘

ceph osd rm 0   #在集群中删除一个osd硬盘

ceph osd crush rm osd.0  #在集群中删除一个osd 硬盘 crush map

ceph osd crush rm node1   #在集群中删除一个osd的host节点

ceph osd out osd.3  #把一个osd节点逐出集群

ceph osd in osd.3    #把逐出的osd加入集群

设置权重:

ceph osd getmaxosd  #查看最大osd的个数      max_osd = 4 in epoch 514默认最大是4个osd节点

ceph osd setmaxosd 10  #设置最大的osd的个数(当扩大osd节点的时候必须扩大这个值)

ceph osd crush set 3 3.0 host=node4  #设置osd crush的权重   ceph osd crush set {id} {weight} [{loc1} [{loc2} ...]]

ceph osd reweight 3 0.5  #设置osd的权重

msd的命令:

ceph mds stat  #查看msd状态

ceph mds dump #查看msd的映射信息

ceph  mds rm 0 mds.node1   #删除一个mds节点

集群操作:

ceph osd pause  #暂停osd (暂停后整个集群不再接收数据)

ceph osd unpause  #再次开启osd (开启后再次接收数据)

PG组操作:

ceph pg dump  #查看pg组的映射信息

ceph pg map 0.3f  #查看一个PG的map

ceph pg stat     #查看PG状态

ceph pg  0.26 query   #查询一个pg的详细信息

ceph pg dump --format plain  #显示一个集群中的所有的pg统计

ceph pg {pg-id} mark_unfound_lost revert   #恢复一个丢失的pg

ceph pg dump_stuck inactive|unclean|stale   #显示非正常状态的pg

pool操作:

ceph osd lspools   #查看ceph集群中的pool数量

ceph osd pool create jiayuan 100   #在ceph集群中创建一个pool

ceph osd pool set-quota data max_objects 10000   #为一个ceph pool配置配额

ceph osd pool delete jiayuan  jiayuan  --yes-i-really-really-mean-it  #集群名字需要重复两次     #在集群中删除一个pool

rados df   #显示集群中pool的详细信息

ceph osd pool mksnap data   date-snap  #给一个pool创建一个快照

ceph osd pool rmsnap data date-snap  #删除pool的快照

ceph osd pool get data pg_num  #查看data池的pg数量

ceph osd pool set data target_max_bytes 100000000000000  #设置data池的最大存储空间为100T(默认是1T)

ceph osd pool set data size 3  #设置data池的副本数是3

ceph osd pool set data min_size 2  #设置data池能接受写操作的最小副本为2

ceph osd dump | grep 'replicated size'  #查看集群中所有pool的副本尺寸

ceph osd pool set data pg_num 100   #设置一个pool的pg数量

ceph osd pool set data pgp_num 100  #设置一个pool的pgp数量

rados和rbd指令:

rados lspools   #查看ceph集群中有多少个pool

rados df   #查看ceph集群中有多少个pool,并且每个pool容量及利用情况

rados mkpool test  #创建一个pool

rados ls -p volumes | more  #查看ceph pool中的ceph object (这里的object是以块形式存储的)

rados create test-object -p test  #创建一个对象object

rados rm test-object-1 -p test  #删除一个对象

rbd ls images  #查看ceph中一个pool里的所有镜像

rbd ls volumes

rbd info -p images --image 74cb427c-cee9-47d0-b467-af217a67e60a   #查看ceph pool中一个镜像的信息

rbd create -p test --size 10000 zhanguo   #在test池中创建一个命名为zhanguo的10000M的镜像

rbd -p test info zhanguo  #查看新建的镜像的信息

rbd rm  -p test  lizhanguo  #删除一个镜像

rbd resize -p test --size 20000 zhanguo  #调整一个镜像的尺寸

rbd -p test info zhanguo   #调整后的镜像大小

rbd  snap create  test/zhanguo@zhanguo123  #池/镜像@快照    #给一个镜像创建一个快照

rbd   snap ls  -p test zhanguo  #查看

rbd info test/zhanguo@zhanguo123  #查看

rbd snap ls  -p volumes volume-7687988d-16ef-4814-8a2c-3fbd85e928e4  #查看一个镜像文件的快照

rbd snap rm volumes/volume-7687988d-16ef-4814-8a2c-3fbd85e928e4@snapshot-ee7862aa-825e-4004-9587-879d60430a12  #删除一个镜像文件的一个快照快照   快照所在的池/快照所在的镜像文件@快照

rbd snap unprotect volumes/volume-7687988d-16ef-4814-8a2c-3fbd85e928e4@snapshot-ee7862aa-825e-4004-9587-879d60430a12 #上面不能删除显示的报错信息是此快照备写保护了,命令是删除写保护后再进行删除

rbd snap purge  -p volumes volume-7687988d-16ef-4814-8a2c-3fbd85e928e4  #删除一个镜像文件的所有快照

rbd export -p images --image 74cb427c-cee9-47d0-b467-af217a67e60a /root/aaa.img  #把ceph pool中的一个镜像导出

rbd import /root/aaa.img -p images --image 74cb427c-cee9-47d0-b467-af217a67e60a   #把一个镜像导入ceph中 (但是直接导入是不能用的,因为没有经过openstack,openstack是看不到的)

ceph 安装过程的更多相关文章

  1. ceph安装过程

    创建群集[2019-03-20 18:35:04,232][ceph_deploy.conf][DEBUG ] found configuration file at: /home/sceph/.ce ...

  2. ceph安装

    使用ceph-deploy部署部署版本ceph-luminous   一,下载安装包,制作yum源,yum将挂载到192.168.100.100 (1)下载安装包 mkdir ceph-luminou ...

  3. webstorm下载&&安装过程&&打开项目

    一.webstorm下载 WebStorm 是jetbrains公司旗下一款JavaScript 开发工具.被广大中国JS开发者誉为"Web前端开发神器"."最强大的HT ...

  4. vagrant 1.8.6 安装过程及总结遇到的坑

    下面先总结遇到的问题,这些问题如果你也遇到,可能需要搜索很多次才能找到原因. 如果想看安装过程,可以先直接跳到后面第二部分部分. 1 问题汇总: 1.1 vagrant版本过高问题. vagrant ...

  5. 安装过程错误[INS-30131]

    问题:Oracle Database 安装过程错误[INS-30131]   原因:安装用户没有对临时文件夹的读写权限   解决方案:   1.以管理员身份运行cmd.exe 2.输入命令(需启动Se ...

  6. TortoiseGIT的安装过程详解

    TortoiseGIT简介 TortoiseGIT 是Git版本控制系统的一个免费开源客户端,它是git版本控制的 Windows 扩展.可以使你避免使用枯燥而且不方便的命令行.它完全嵌入 Windo ...

  7. RabbitMQ 集群安装过程详解

    一.安装Erlang 1.rabbitMQ是基于erlang的,所以首先必须配置erlang环境. 从erlang官网下载 otp 18.3.下载链接:http://erlang.org/downlo ...

  8. JAVA安装过程中出现的“javac不是内部或外部指令”的解决方法

    近来重新安装了JAVA,安装过程中出现问题,网上找到解决办法,汇总发布. 解决流程: 1.确定自己的环境变量设置没问题,没有出现遗漏 : . 等情况 (具体环境变量设置百度) 2.环境变量设置后 ,d ...

  9. LNMP安装过程

    LNMP一键安装包是什么? LNMP一键安装包是一个用Linux Shell编写的可以为CentOS/RadHat/Fedora.Debian/Ubuntu/Raspbian/Deepin VPS或独 ...

随机推荐

  1. ASP.NET quartz 定时任务

    1.下载 2.使用例子 Demo 概述:Quartz 是开源的定时任务工具类,默认每隔10秒执行一次任务,相当于C#的Timer,不断的循环执行(Start 方法),也可以随时停止(ShutDown方 ...

  2. <转>jmeter(十五)函数助手

    jmeter作为一个开源的性能测试工具,作用还是蛮强大的,找到一篇对jmeter中函数助手解释蛮详细的一篇博客,感觉不错,转载过来,希望对大家有所帮助. 由于时间和版本问题,其中有些内容和排版我做了修 ...

  3. 学习CSS布局 - position例子

    position例子 通过具体的例子可以帮助我们更好地理解“position”.下面是一个真正的页面布局. 结果: 代码如下: <!DOCTYPE html> <html lang= ...

  4. maven 基础

    maven安装链接 maven基础命令: 编译命令:mvn compile 测试命令:mvn test 清空命令:mvn clean 打包命令:mvn package 打包命令:mvn install ...

  5. BZOJ4237 JOISC2014 稻草人 CDQ分治、单调栈

    传送门 题意:给出平面上$N$个点,求满足以下两个条件的矩形:①左下角与右上角各有一个点:②矩形内部没有点.$N \leq 2 \times 10^5$,所有数字大于等于$0$,保证坐标两两不同 最开 ...

  6. git log 的常用选项

  7. SequenceFile文件

    SequenceFile文件是Hadoop用来存储二进制形式的key-value对而设计的一种平面文件(Flat File).目前,也有不少人在该文件的基础之上提出了一些HDFS中小文件存储的解决方案 ...

  8. python实现微信自动回复机器人

    一 简单介绍 wxpy基于itchat,使用了 Web 微信的通讯协议,,通过大量接口优化提升了模块的易用性,并进行丰富的功能扩展.实现了微信登录.收发消息.搜索好友.数据统计等功能. 总而言之,可用 ...

  9. Docker inspect - format格式化输出 - 运维笔记

    Docker --format 参数提供了基于 Go模板 的日志格式化输出辅助功能,并提供了一些内置的增强函数. 什么是模板?上图是大家熟悉的 MVC 框架(Model View Controller ...

  10. HTTP请求头和响应头部包括的信息有哪些?

    每个HTTP请求和响应都会带有相应的头部信息.默认情况下,在发送XHR请求的同时,还会发送下列头部信息: Accept:浏览器能够处理的内容类型 Accept-Charset:浏览器能够显示的字符集 ...