一 基础准备

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

二 扩展集群

2.1 扩展架构

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

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

 [manager@deploy my-cluster]$ ceph-deploy mds create node1
提示:要使用CephFS,您至少需要一个元数据服务器。

2.3 添加监视(Monitor)服务器

 [manager@deploy my-cluster]$ ceph-deploy mon add node2
[manager@deploy my-cluster]$ ceph-deploy mon add node3
[root@node1 ~]# ceph quorum_status --format json-pretty #查看仲裁(quorum)状态信息
 
提示:若出现如图所示报错,需要在ceph.conf中添加Public_network,并重新推相关配置文件,操作如下:
 [manager@deploy my-cluster]$ vi ceph.conf
[global]
#……
public_network = 172.24.8.0/24
[manager@deploy my-cluster]$ ceph-deploy --overwrite-conf mon add node2
[manager@deploy my-cluster]$ ceph-deploy --overwrite-conf mon add node3
 
提示:Ceph存储集群需要至少运行一个Ceph Monitor和Ceph Manager。为了实现高可用性,Ceph存储集群通常运行多个Ceph监视器,因此单个Ceph监视器的故障不会导致Ceph存储集群崩溃。Ceph使用Paxos算法,该算法需要大多数监视器(即,大于N/2,其中N是监视器的数量)才能形成法定人数。虽然这不是必需的,但监视器的数量往往更好。

2.4 添加管理员

 [manager@deploy my-cluster]$ ceph-deploy mgr create node2 node3
[manager@deploy my-cluster]$ ssh node1 sudo ceph -s #查看验证
 
提示:Ceph Manager守护进程以active/standby模式运行。部署其他管理器守护程序可确保在一个守护程序或主机发生故障时,另一个守护程序或主机可以在不中断服务的情况下接管。

2.5 添加RGW

 [manager@deploy my-cluster]$ ceph-deploy rgw create node1
提示:要使用Ceph的Ceph对象网关组件,必须部署RGW实例;
默认情况下,RGW实例将侦听端口7480.可以通过在运行RGW的节点上编辑ceph.conf来更改此设置。

三 客户端存储示例

3.1 创建pool

 [manager@deploy my-cluster]$ ssh node1 sudo ceph osd pool create mytest 64
[manager@deploy my-cluster]$ ssh node1 sudo rados lspools
[manager@deploy my-cluster]$ ssh node1 sudo ceph osd lspools
[manager@deploy my-cluster]$ ssh node1 sudo ceph osd dump | grep pool
 
提示:以上三种可以查看已经存在的pool信息,第三种方式查看的结果最为详细。

3.2 客户端模拟

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

3.3 查看确认

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

3.4 定位对象

 [manager@deploy my-cluster]$ ssh node1 sudo ceph osd map mytest test-object-1	#定位对象到相应的归置组
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 删除对象

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

3.6 删除pool

 [manager@deploy my-cluster]$ ssh node1 sudo ceph osd pool delete mytest
[manager@deploy my-cluster]$ ssh node1 sudo ceph osd pool delete mytest mytest --yes-i-really-really-mean-it
pool 'mytest' removed
 
提示:若出现以下报错:由于删除pool时,pool名字要输入两次同时要加入--yes-i-really-really-mean-it参数,且需要在ceph.conf配置中开启允许删除,操作如下:
 [manager@deploy my-cluster]$ vi ceph.conf
[global]
#……
[mon]
mon allow pool delete = true #添加此行
[manager@deploy my-cluster]$ ceph-deploy --overwrite-conf config push node1 node2 node3 #重推一次配置文件
[root@node1 ~]# systemctl restart ceph-mon.target #所有节点均需要重启一次该服务
 

003.Ceph扩展集群的更多相关文章

  1. Ceph 存储集群

    Ceph 存储集群 Ceph 作为软件定义存储的代表之一,最近几年其发展势头很猛,也出现了不少公司在测试和生产系统中使用 Ceph 的案例,尽管与此同时许多人对它的抱怨也一直存在.本文试着整理作者了解 ...

  2. 002.RHCS-配置Ceph存储集群

    一 前期准备 [kiosk@foundation0 ~]$ ssh ceph@serverc #登录Ceph集群节点 [ceph@serverc ~]$ ceph health #确保集群状态正常 H ...

  3. Ceph 存储集群 - 搭建存储集群

    目录 一.准备机器 二.ceph节点安装 三.搭建集群 四.扩展集群(扩容)   一.准备机器 本文描述如何在 CentOS 7 下搭建 Ceph 存储集群(STORAGE CLUSTER). 一共4 ...

  4. Ceph 存储集群5-数据归置

    一.数据归置概览 Ceph 通过 RADOS 集群动态地存储.复制和重新均衡数据对象.很多不同用户因不同目的把对象存储在不同的存储池里,而它们都坐落于无数的 OSD 之上,所以 Ceph 的运营需要些 ...

  5. Ceph 存储集群1-配置:硬盘和文件系统、配置 Ceph、网络选项、认证选项和监控器选项

    所有 Ceph 部署都始于 Ceph 存储集群.基于 RADOS 的 Ceph 对象存储集群包括两类守护进程: 1.对象存储守护进程( OSD )把存储节点上的数据存储为对象: 2.Ceph 监视器( ...

  6. ceph存储集群的应用

    1.ceph存储集群的访问接口   1.1ceph块设备接口(RBD) ceph块设备,也称为RADOS块设备(简称RBD),是一种基于RADOS存储系统支持超配(thin-provisioned). ...

  7. Ceph 存储集群第一部分:配置和部署

    内容来源于官方,经过个人实践操作整理,官方地址:http://docs.ceph.org.cn/rados/ 所有 Ceph 部署都始于 Ceph 存储集群. 基于 RADOS 的 Ceph 对象存储 ...

  8. Ceph 存储集群 - 搭建存储集群---教程走到osd激活这一步执行不下去了,报错

    目录 一.准备机器 [1. 修改主机名](所有节点)(https://www.cnblogs.com/zengzhihua/p/9829472.html#1-修改主机名) [2. 修改hosts文件] ...

  9. Redis复制与可扩展集群搭建

    抄自:http://www.infoq.com/cn/articles/tq-redis-copy-build-scalable-cluster 讨论了Redis的常用数据类型与存储机制,本文会讨论一 ...

随机推荐

  1. Oracle12c从入门到精通(第二版) PDF 下载

    一:下载地址: 二:本书图样 三本书目录 前言 第一章 Oracle数据库概述 第二章 Oracle在Windows 8上的安装与配置 第三章 SQL基础 第四章 Oracle PL/SQL及编程 第 ...

  2. SWift中 '?' must be followed by a call, member lookup, or subscript 错误解决方案

    那是因为你在使用自己写的分类时没有指定返回的数据类型  指定下返回数据类型就好了 我是用的oc写的分类在Swift中使用的 错误代码 private lazy var btn = UIButton.C ...

  3. es6简单介绍

    1.ECMAScript 6 简介 2.let和const命令 3.变量的解构赋值 4.字符串的扩展之模板字符串 5.正则的扩展 6.数值的扩展 7.函数的扩展 8.数组的扩展 9.对象的扩展 10. ...

  4. PDF编辑方法,PDF如何去除数字签名

    有些人会在PDF文件中添加数字签名,但当PDF文件有数字签名的时候就无法对PDF文件进行编辑.添加等操作.这个时候就需要去除PDF文件中的数字签名了,要怎么做呢,就由我来跟大家分享一下小编我的去除数字 ...

  5. java子类对象和成员变量的隐写&方法重写

    1.子类继承的方法只能操作子类继承和隐藏的成员变量名字类新定义的方法可以操作子类继承和子类新生命的成员变量,但是无法操作子类隐藏的成员变量(需要适用super关键字操作子类隐藏的成员变量.) publ ...

  6. mysql+redis+memcached

    mysql+redis+memcached 数据库 数据库设计 a. 单表 b. FK(单表:一张表存储时,如果有重复出现的字段为了防止硬盘的浪费,所以做一个FK:去掉FK变成单表(这样子访问速度快了 ...

  7. python面向对象三大特性之封装

    一. 概述 定义:隐藏对象的属性和实现细节,仅对外提供公共访问方式 封装的原则:把不需要对外提供的内容都隐藏起来,提供公共的方法访问这些隐藏属性 二.封装手段 使用双下划线将属性和方法隐藏起来 cla ...

  8. MariaDB修改默认字符集

    MariaDB修改默认字符集,以及创建数据库授权 1 . 修改server默认字符集utf8 [root@aws my.cnf.d]# vim /etc/my.cnf.d/server.cnf [my ...

  9. ubuntu16.04安装skype

    ubuntu16.04安装skype 一句命令搞定 wget https://repo.skype.com/latest/skypeforlinux-64.deb && sudo dp ...

  10. Linux(CentOS7)安装Tomcat

    概述 Tomcat是运行Jsp文件的容器服务,能够处理URL请求,类似于IIS.相对于IIS,Tomcat可以部署到Linux.Windows.IOS等操作系统.这里主要整理将Tomcat部署到Lin ...