首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >003.Ceph扩展集群

003.Ceph扩展集群

作者头像
木二
发布2019-07-01 16:01:41
5520
发布2019-07-01 16:01:41
举报
文章被收录于专栏:木二天空木二天空

一 基础准备

参考《002.Ceph安装部署》文档部署一个基础集群。

二 扩展集群

2.1 扩展架构

013
013

需求:添加Ceph元数据服务器node1。然后添加Ceph Monitor和Ceph Manager node2,node3以提高可靠性和可用性。

2.2 添加元数据(metadata)服务器

  1 [manager@deploy my-cluster]$ ceph-deploy mds create node1

提示:要使用CephFS,您至少需要一个元数据服务器。

2.3 添加监视(Monitor)服务器

  1 [manager@deploy my-cluster]$ ceph-deploy mon add node2
  2 [manager@deploy my-cluster]$ ceph-deploy mon add node3
  3 [root@node1 ~]# ceph quorum_status --format json-pretty		#查看仲裁(quorum)状态信息
014
014

提示:若出现如图所示报错,需要在ceph.conf中添加Public_network,并重新推相关配置文件,操作如下:

  1 [manager@deploy my-cluster]$ vi ceph.conf
  2 [global]
  3 #……
  4 public_network = 172.24.8.0/24
  5 [manager@deploy my-cluster]$ ceph-deploy --overwrite-conf mon add node2
  6 [manager@deploy my-cluster]$ ceph-deploy --overwrite-conf mon add node3
015
015

提示:Ceph存储集群需要至少运行一个Ceph Monitor和Ceph Manager。为了实现高可用性,Ceph存储集群通常运行多个Ceph监视器,因此单个Ceph监视器的故障不会导致Ceph存储集群崩溃。Ceph使用Paxos算法,该算法需要大多数监视器(即,大于N/2,其中N是监视器的数量)才能形成法定人数。虽然这不是必需的,但监视器的数量往往更好。

2.4 添加管理员

  1 [manager@deploy my-cluster]$ ceph-deploy mgr create node2 node3
  2 [manager@deploy my-cluster]$ ssh node1 sudo ceph -s		#查看验证
016
016

提示:Ceph Manager守护进程以active/standby模式运行。部署其他管理器守护程序可确保在一个守护程序或主机发生故障时,另一个守护程序或主机可以在不中断服务的情况下接管。

2.5 添加RGW

  1 [manager@deploy my-cluster]$ ceph-deploy rgw create node1

提示:要使用Ceph的Ceph对象网关组件,必须部署RGW实例;

默认情况下,RGW实例将侦听端口7480.可以通过在运行RGW的节点上编辑ceph.conf来更改此设置。

三 客户端存储示例

3.1 创建pool

  1 [manager@deploy my-cluster]$ ssh node1 sudo ceph osd pool create mytest 64
  2 [manager@deploy my-cluster]$ ssh node1 sudo rados lspools
  3 [manager@deploy my-cluster]$ ssh node1 sudo ceph osd lspools
  4 [manager@deploy my-cluster]$ ssh node1 sudo ceph osd dump | grep pool

提示:以上三种可以查看已经存在的pool信息,第三种方式查看的结果最为详细。

3.2 客户端模拟

  1 [root@node3 ~]# echo 'This is my test file!' >> test.txt	#创建模拟文件
  2 [root@node3 ~]# rados put test-object-1 test.txt --pool=mytest

3.3 查看确认

  1 [manager@deploy my-cluster]$ ssh node1 sudo rados -p mytest ls	#查看存储的对
  2 test-object-1

3.4 定位对象

  1 [manager@deploy my-cluster]$ ssh node1 sudo ceph osd map mytest test-object-1	#定位对象到相应的归置组
  2 osdmap e30 pool 'mytest' (5) object 'test-object-1' -> pg 5.74dc35e2 (5.22) -> up ([2,1,0], p2) acting ([2,1,0], p2)

提示:Ceph 客户端检出最新集群运行图,用 CRUSH 算法计算出如何把对象映射到归置组,然后动态地计算如何把归置组分配到 OSD 。要定位对象,只需要对象名和存储池名字即可。

3.5 删除对象

  1 [manager@deploy my-cluster]$ ssh node1 sudo rados rm test-object-1 --pool=mytest

3.6 删除pool

  1 [manager@deploy my-cluster]$ ssh node1 sudo ceph osd pool delete mytest
  2 [manager@deploy my-cluster]$ ssh node1 sudo ceph osd pool delete mytest mytest --yes-i-really-really-mean-it
  3 pool 'mytest' removed

提示:若出现以下报错:由于删除pool时,pool名字要输入两次同时要加入--yes-i-really-really-mean-it参数,且需要在ceph.conf配置中开启允许删除,操作如下:

017
017
  1 [manager@deploy my-cluster]$ vi ceph.conf
  2 [global]
  3 #……
  4 [mon]
  5 mon allow pool delete = true				                                #添加此行
  6 [manager@deploy my-cluster]$ ceph-deploy --overwrite-conf config push node1 node2 node3     #重推一次配置文件
  8 [root@node1 ~]# systemctl restart ceph-mon.target	#所有节点均需要重启一次该服务
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-01-17 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一 基础准备
  • 二 扩展集群
    • 2.1 扩展架构
      • 2.2 添加元数据(metadata)服务器
        • 2.3 添加监视(Monitor)服务器
          • 2.4 添加管理员
            • 2.5 添加RGW
            • 三 客户端存储示例
              • 3.1 创建pool
                • 3.2 客户端模拟
                  • 3.3 查看确认
                    • 3.4 定位对象
                      • 3.5 删除对象
                        • 3.6 删除pool
                        领券
                        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档