Ceph实验室:第一课:快速部署ceph集群

本次实验演示如何快速地在centos上部署ceph分布式存储集群。目标是在ceph-node1和ceph-node2上创建一个两节点的集群。


环境

硬件环境

主机名 IP 功能 备注
ceph-node1 192.168.1.120 deploy,mon*1,osd*3
ceph-node2 192.168.1.121 deploy,mon*1,osd*3
ceph-node3 192.168.1.122 横向扩展节点
cloud 192.168.1.102 openstack ocata
test 192.168.1.123 Openstack测试环境,Rally,Sharker

软件环境

操作系统:Centos 7.3
Openstack:Ocata
Ceph:Jewel


安装Ceph

准备repo

在所有ceph节点上准备下面的源。
 yum clean all
 rm -rf /etc/yum.repos.d/*.repo
 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
 wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
 sed -i '/aliyuncs/d' /etc/yum.repos.d/CentOS-Base.repo
 sed -i '/aliyuncs/d' /etc/yum.repos.d/epel.repo
 sed -i 's/$releasever/7/g' /etc/yum.repos.d/CentOS-Base.repo

 #vi /etc/yum.repos.d/ceph.repo
 [ceph]
 name=ceph
 baseurl=http://mirrors.163.com/ceph/rpm-jewel/el7/x86_64/
 gpgcheck=0
 [ceph-noarch]
 name=cephnoarch
 baseurl=http://mirrors.163.com/ceph/rpm-jewel/el7/noarch/
 gpgcheck=0

 yum update -y

操作系统配置

    1:无密码访问配置
      在deploy节点(ceph-node1)上执行。配置deploy节点和其他ceph节点之间的无密码访问。
      sudo su -
      ssh-keygen
      ssh-copy-id root@ceph-node2
      ssh-copy-id root@cloud

    2:启用Ceph monitor OSD端口,在所有ceph节点上执行
      firewall-cmd --zone=public --add-port=6789/tcp --permanent
      firewall-cmd --zone=public --add-port=6800-7100/tcp --permanent
      firewall-cmd --reload
      firewall-cmd --zone=public --list-all

    3:禁用Selinux,在所有ceph节点上执行
      setenforce 0

    4:安装ntp,在所有ceph节点上执行
      yum install ntp ntpdate -y
      systemctl restart ntpdate.service
      systemctl restart ntpd.service
      systemctl enable ntpd.service ntpdate.service

部署Ceph集群

    1:安装ceph-deploy
      yum install ceph-deploy -y

    2:用Ceph-deploy创建Ceph集群
      mkdir /etc/ceph
      cd /etc/ceph
      ceph-deploy new ceph-node1
      生成一个新的ceph集群,集群包括ceph配置文件以及monitor的密钥环。

    3:安装ceph二进制软件包
      ceph-deploy install --no-adjust-repos ceph-node1 ceph-node2

    4:修改ceph 配置文件
      [global]
      fsid = 7bac6963-0e1d-4cea-9e2e-f02bbae96ba7
      mon_initial_members = ceph-node1
      mon_host = 192.168.1.101
      auth_cluster_required = cephx
      auth_service_required = cephx
      auth_client_required = cephx
      public network = 192.168.1.0/24

    5:在ceph-node1上创建第一个ceph monitor
      ceph-deploy mon create-initial

    6:在ceph-node1上创建OSD
      ceph-deploy disk list ceph-node1(列出disk)
      ceph-deploy disk zap ceph-node1:sdb ceph-node1:sdc ceph-node1:sdd
      ceph-deploy osd create ceph-node1:sdb ceph-node1:sdc ceph-node1:sdd

    7:用Ceph-deploy在ceph-node2上创建monitor
      ceph-deploy mon create ceph-node2
      ceph –s
      ceph mon stat
    8:在ceph-node2上创建OSD
      ceph-deploy disk zap ceph-node2:sdb ceph-node2:sdc ceph-node2:sdd
      ceph-deploy osd create ceph-node2:sdb ceph-node2:sdc ceph-node2:sdd
    9:调整rbd存储池的pg_num和pgp_num
      ceph osd pool set rbd pg_num 256
      ceph osd pool set rbd pgp_num 256

总结

通过上面的步骤,一个all in one的ceph就成功部署了。

ceph -s

参考资料

http://docs.ceph.org.cn/rados/deployment/ceph-deploy-new/

时间: 2024-10-03 11:47:55

Ceph实验室:第一课:快速部署ceph集群的相关文章

Shell脚本快速部署Kubernetes集群系统

  本文紧跟上节所讲的手动部署Kubernetes管理Docker篇所写,本篇主要内容利用Shell脚本完成快速部署Kubernetes集群.上节博文看过的朋友也能感觉到部署过程相对比较简单,那么,出于简化工作流程,推进运维自动化角度来说,于是花了2/3天时间写这个部署Kubernetes脚本.   运维工作中,常常会遇到部署各种各样的服务,建议:常规部署都应该尽量使用脚本完成,一方面提高自身脚本编写能力,另一方面推进运维自动化. 详细部署说明文档:http://lizhenliang.blog

云计算的利刃:快速部署Hadoop集群

近来云计算越来越热门了,云计算已经被看作IT业的新趋势.云计算可以粗略地定义为使用自己环境之外的某一服务提供的可伸缩计算资源,并按使用量付费.可以通过 Internet 访问"云"中的任何资源,而不需要担心计算能力.带宽.存储.安全性和可靠性等问题. 从企业的角度来说,日益增长的信息已经很难存储在标准关系型数据库甚至数据仓库中.这些问题提到了一些在实践中已存在多年的难题.例如:怎样查询一个十亿行的表?怎样跨越数据中心所有服务器上的所有日志来运行一个查询?更为复杂的问题是,大量需要处理的

《Storm企业级应用:实战、运维和调优》——2.3 安装部署Storm集群

2.3 安装部署Storm集群 Storm的安装.部署过程分为安装依赖.安装Storm.启动和查看安装等几个部分.其中,前两部分内容在三个节点上都是一样的,只要在启动时区分开角色即可.接下来将讲解Storm集群的安装过程.2.3.1 安装Storm依赖库 在Nimbus和Supervisor的节点上安装Storm时,都需要安装相关的依赖库,具体如下: ZeroMQ 2.1.7. JZMQ. 其中,ZeroMQ推荐使用2.1.7版本,请勿使用2.1.10版本.官方解释是因为该版本的一些严重Bug会

通过Docker来部署Mesos集群

本文讲的是通过Docker来部署Mesos集群,[编者的话]Apache Mesos系统是一套资源管理调度集群系统,可以用来管理Docker集群,换个思路,本文介绍了如何通过Docker容器来部署一个单节点和多节点的Mesos集群,整个过程非常简单,只需要七个命令即可完成,整个步骤作者也记录到了GitHub,推荐学习. 这篇文章将教你如何使用Docker容器部署一个单节点的Mesos集群,整个部署过程非常简单,只需要七个命令.在部署之前你需要准备一个装有Docker的环境,这个非常简单,我不赘述

mapreduce-solaris部署hadoop集群跑wordcount报错

问题描述 solaris部署hadoop集群跑wordcount报错 solaris部署hadoop集群跑wordcount报错, 信息如下: [admin@4bf635fa-5f3e-4b47-b42d-7558a6f0bbff ~]$ hadoop jar /opt/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.1.jar wordcount /input /output 15/08/20 00:48:09 WARN

如何使用Docker Machine部署Swarm集群

大家好,今天我们来研究一下如何使用Docker Machine部署Swarm集群.Docker Machine提供了标准的Docker API 支持,所以任何可以与Docker守护进程进行交互的工具都可以使用Swarm来(透明地)扩增到多台主机上.Docker Machine可以用来在个人电脑.云端以及的数据中心里创建Docker主机.它为创建服务器,安装Docker以及根据用户设定来配置Docker客户端提供了便捷化的解决方案.我们可以使用任何驱动来部署swarm集群,并且swarm集群将由于

批量部署Hadoop集群环境(1)

批量部署Hadoop集群环境(1) 1. 项目简介: 前言:云火的一塌糊涂,加上自大二就跟随一位教授做大数据项目,所以很早就产生了兴趣,随着知识的积累,虚拟机已经不能满足了,这次在服务器上以生产环境来部署Hadoop.已经搭建完毕,分享出来供大家参考. 问题:看到Hadoop部署在一些资料上很是繁琐,一些简单的部署方法只是玩具,无法满足企业的部署条件,如果一台台服务器去部署,显然是不可行. 解决:在学习及其他资料后,准备以<Apache Hadoop Yarn: Moving Beyond Ma

《Storm实时数据处理》一1.10 将产品部署到集群

1.10 将产品部署到集群 在完成整个开发过程之前,我们需要对集群中的Topology进行功能性测试,然后再将其部署到下个环境中. 1.10.1 实战 Step01 首先需要在主机开发环境中配置Storm客户端,在用户主目录下创建.storm目录.然后在这个目录下新建storm.yaml,内容如下: Step02 在项目根目录下,使用以下命令打包Topology: Step03 这样就会在项目的目标目录下生成一个完整并打包好的JAR文件.这时就可以用storm客户端命令将JAR包部署到集群上:

7条命令在docker中部署Mesos集群

7条命令在docker中部署Mesos集群   所有使用的Docker容器构建文件是有也.您可以在本地构建每个容器或只使用位于Docker Hub预构建的容器.下面的命令会自动下载所需的预建的容器为您服务.ZooKeeper - https://registry.hub.docker.com/u/garland/zookeeper/Meso Master - https://registry.hub.docker.com/u/garland/mesosphere-docker-mesos-mas

zookeeper部署及集群测试

zookeeper部署及集群测试 环境 三台测试机 操作系统: centos7 ; hostname: c1 ; ip: 192.168.1.80 操作系统: centos7 ; hostname: c2 ; ip: 192.168.1.81 操作系统: centos7 ; hostname: c3 ; ip: 192.168.1.82 备注 注意要关闭防火墙 查看磁盘状况 为了避免磁盘使用不均而导致系统问题,因而先查看磁盘的分布情况. [root@sso conf]# df -lh Files