安装依赖:

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. 【Codeforces 204E】Little Elephant and Strings

    Codeforces 204 E 题意:给\(n\)个串,求对于每一个串在至少\(k\)个串中出现的它的子串\(S_{l..r}\)有多少个. 思路:后缀自动机上\(dp\)... 我们首先构造出这\ ...

  2. 如何屏蔽SkylineGlobe提供的三维地图控件上的快捷键

    SkyllineGlobe提供的 <OBJECT ID=" TerraExplorer3DWindow" CLASSID="CLSID:3a4f9192-65a8- ...

  3. u-boot全面分析

    uboot主Makefile分析1 uboot住Makefile分析参考:https://www.2cto.com/kf/201607/522424.html uboot version确定(Make ...

  4. 搭建mysql cluster

    虚拟机搭建Mysql Cluster 参考文档:http://www.cnblogs.com/jackluo/archive/2013/01/19/2868152.html http://www.cn ...

  5. LOJ2542 PKUWC2018 随机游走 min-max容斥、树上高斯消元、高维前缀和、期望

    传送门 那么除了D1T3,PKUWC2018就更完了(斗地主这种全场0分的题怎么会做啊) 发现我们要求的是所有点中到达时间的最大值的期望,\(n\)又很小,考虑min-max容斥 那么我们要求从\(x ...

  6. windows下docker启动.net core mvc随手记

    docker基本命令: 查看当前的版本docker--version查看本地所有镜像:docker images查看当前正在运行的所有容器docker ps停止某个容器:docker stop 容器I ...

  7. Jmeter(三十四)_Beanshell解析并提取json响应

    1:前置条件 将fastjson-1.2.49.jar包置于jmeter的lib目录下,并将该jar包添加到测试计划的Library中:否则会报:Typed variable declaration ...

  8. 基于 HTML5 Canvas 的 3D WebGL 机房创建

    对于 3D 机房来说,监控已经不是什么难事,不同的人有不同的做法,今天试着用 HT 写了一个基于 HTML5 的机房,发现果然 HT 简单好用.本例是将灯光.雾化以及 eye 的最大最小距离等等功能在 ...

  9. 跨平台、跨语言应用开发,Elements 介绍

    目录 1,Elements 介绍 2,Elements 版本 3,Elements 能干嘛 4,Elements  IDES 5,Elements 工具 1,Elements 介绍 RemObject ...

  10. 磁盘挂载问题:Fdisk最大只能创建2T分区的盘,超过2T使用parted

    需求说明:云服务器上买了一块8T的磁盘,准备挂载到服务器上的/data目录下. ===================================parted命令说明=============== ...