一、环境准备

创建两台主机,ip地址和主机名如下

  192.168.2.100,主机名ceph-1

  192.168.2.101,主机名ceph-2

每个主机 新增加一块数据盘,分区根据自己需要分区即可,这里分了4个分区。

ceph部署至少两个两个节点,数据盘或者分区至少三个。

ceph-1节点作为部署节点执行部署操作。

二、ceph-deploy admin node节点

1、添加yum源

vim /etc/yum.repos.d/ceph.repo

[Ceph]
name=Ceph packages for $basearch
baseurl=http://mirrors.aliyun.com/ceph/rpm-infernalis/el7/$basearch
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=http://mirrors.aliyun.com/ceph/keys/release.asc
priority=1

[Ceph-noarch]
name=Ceph noarch packages
baseurl=http://mirrors.aliyun.com/ceph/rpm-infernalis/el7/noarch
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=http://mirrors.aliyun.com/ceph/keys/release.asc
priority=1

[ceph-source]
name=Ceph source packages
baseurl=http://mirrors.aliyun.com/ceph/rpm-infernalis/el7/SRPMS
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=http://mirrors.aliyun.com/ceph/keys/release.asc
priority=1

2、主机名解析

vim /etc/hosts

192.168.2.100   ceph-1
192.168.2.101 ceph-2

3、NTP时间同步

vim /etc/chrony.conf

allow 192.168.2.0/16
local stratum 10

systemctl restart chronyd
systemctl enable chronyd

chronyc sources -v

4、免密登陆

ssh-keygen
ssh-copy-id ceph-1
ssh-copy-id ceph-2

5、磁盘分区格式化

fdisk /dev/sdb
mkfs.xfs /dev/sdb1

5、安装ceph-deploy

yum install ceph-deploy -y

6、新建集群,生成配置文件

mkdir ceph-cluster && cd ceph-cluster
ceph-deploy new ceph-1 ceph-2

7、修改ceph-cluster/ceph.conf

#添加网络地址
public_network= 192.168.2.0/24

#副本pg数为2,默认为3,最小工作size为默认size - (默认size/2)
osd pool default size = 2

#官方建议平均每个osd 的pg数量不小于30,即pg num > (osd_num) * 30 / 2(副本数)
osd pool default pg num = 1024
osd pool default pgp num = 1024

8、安装ceph软件包

ceph-deploy install ceph-1 ceph-2

#或者每个节点安装
yum -y install ceph ceph-radosgw

9、传送ceph.conf

ceph-deploy --overwrite-conf config push ceph-1 ceph-2

10、查看各节点磁盘

ceph-deploy disk list ceph-1 ceph-2

11、初始化mon节点

ceph-deploy mon create-initial

如果报错:RuntimeError: config file /etc/ceph/ceph.conf exists with different content; use --overwrite-conf to overwrite,执行如下命令后再执行上述命令
ceph-deploy --overwrite-conf mon create ceph{3,1,2}
ceph -s # 查看mon是否添加成功

12、配置admin key 到每个节点

ceph-deploy admin ceph-1 ceph-2

13、添加osd

ceph-deploy --overwrite-conf osd prepare ceph-1:sdb1 ceph-1:sdb2 ceph-1:sdb3 ceph-1:sdb4 ceph-2:sdc1 ceph-2:sdc2 ceph-2:sdc3 ceph-2:sdc4
 
ceph-deploy --overwrite-conf osd activate ceph-1:sdb1 ceph-1:sdb2 ceph-1:sdb3 ceph-1:sdb4 ceph-2:sdc1 ceph-2:sdc2 ceph-2:sdc3 ceph-2:sdc4

清理环境

ceph-deploy purge ceph-1 ceph-2
ceph-deploy purgedata ceph-1 ceph-2
ceph-deploy forgetkeys
rm -f ceph.*

利用ceph-deploy部署ceph存储集群的更多相关文章

  1. 001.Ansible部署RHCS存储集群

    一 前期准备 1.1 前置条件 至少有三个不同的主机运行monitor (MON)节点: 至少三个直接存储(非外部SAN硬件)的OSD节点主: 至少两个不同的manager (MGR)节点: 如果使用 ...

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

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

  3. 二十八. Ceph概述 部署Ceph集群 Ceph块存储

    client   :192.168.4.10 node1 :192.168.4.11 ndoe2 :192.168.4.12 node3 :192.168.4.13   1.实验环境 准备四台KVM虚 ...

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

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

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

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

  6. Centos6.5下一个Ceph存储集群结构

    简单的介绍 Ceph的部署模式下主要包括下面几个类型的节点 • Ceph OSDs: A Ceph OSD 进程主要用来存储数据,处理数据的replication,恢复,填充.调整资源组合以及通过检查 ...

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

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

  8. Ceph 存储集群

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

  9. Ceph 存储集群搭建

    前言 Ceph 分布式存储系统,在企业中应用面较广 初步了解并学会使用很有必要 一.简介 Ceph 是一个开源的分布式存储系统,包括对象存储.块设备.文件系统.它具有高可靠性.安装方便.管理简便.能够 ...

  10. Ceph 存储集群-低级运维

    低级集群运维包括启动.停止.重启集群内的某个具体守护进程:更改某守护进程或子系统配置:增加或拆除守护进程.低级运维还经常遇到扩展.缩减 Ceph 集群,以及更换老旧.或损坏的硬件. 一.增加/删除 O ...

随机推荐

  1. Inversion 多校签到题

    存下值和下标后排序,每次从坐后面开始取就可以了. ac代码: #include <algorithm> #include <cstdio> #include <cstri ...

  2. python 比对PDF文件

    基本思路: 1.读取pdf内容,存放到不同的 list 2.比较 list 的相似度 ------------------------ 实现------------------------- 1.PD ...

  3. SpringBoot中获取spring.profiles.active的值

    一.网上很多采用@Profile("dev")的方式获取,但是这个是类级别的 二.开发中可能需要代码级别 1.刚开始我想通过classpath下的文件读取方式,麻烦死了,于是换了个 ...

  4. ASP.NET-A low-level Look at the ASP.NE

    请求处理模型1: ******** 1.浏览器向服务器发送请求,先到达服务器的http.sys系统文件,进行初步的处理. (服务器分为内核模式和用户模式,http.sys在内核模式种,IIS在用户模式 ...

  5. Winform界面GridView中XCDataGridViewCheckBoxAllColumn改变触发事件

    1.首先利用CurrentCellDirtyStateChanged事件 监测状态改变后判断是否有未提交的更改,若有则提交 private void CurrentCellDirtyStateChan ...

  6. SAS.EnhancedEditor.dll 已加载,但找不到入口点DLLRegisterServer

    SAS.EnhancedEditor.dll 已加载,但找不到入口点DLLRegisterServer 重新安装EnhancedEditor 安装Microsoft.NET Framework 3.5 ...

  7. Oracle问题总结

    1.账号锁定了 2.忘记密码 3.Oracle create session权利 4.oracle中单引号和双引号的作用 5.不支持 insert into tableName values (... ...

  8. 【jekins】tomcat+jenkins

    启动jiekins:进入tomcat安装路径下的bin文件,运行startup.bat文件 打开http://127.0.0.1:8080/jenkins 地址 一.构建github项目 原理:构建项 ...

  9. C和指针--动态内存分配

    1.为什么需要使用动态内存分配 数组的元素存储于内存中连续的位置上,当一个数组被声明时,它所需要的内存在编译时就被分配.当你声明数组时,必须用一个编译时常量指定数组的长度.但是,数组的长度常常在运行时 ...

  10. myBatis的坑 01 %的坑 框架内置的小BUG

    <select id="queryUserLikeUserName" resultType="cn.itcast.pojo.User"> selec ...