了解ceph

DFS(distributed file system)分布式存储系统,指文件系统管理的物理存储资源,不一定直接连接在本地节点上,而是通过计算机网络与节点相连,众多类别中,ceph是当下应用比较广泛的分布式存储系统,是典型的客户端-服务端模式.

1.ceph具有很多特点,譬如,高扩展(可以无限扩展节点),高可用(提供副本备份),高性能(crush算法,数据分布军均衡,并行度高)等;

2.ceph可以提供块存储,文件系统存储,对象存储;

3.其基本组件有OSD存储设备,monitor集群监控组件,RGW对象存储网关,MDS存放文件系统的元数据,client客户端.

关于ceph的更深层次内容,请查看官方帮助文档:http://docs.ceph.org/start/intro

下面搭建一个小型ceph集群,来做深入的研究.

总体思路: 搭建环境 -> 集群搭建 ->验证

拓扑图:

一, 环境搭建

思路: (1)创建4台虚拟机,1台做客户端,另外3台做存储集群;

(2)配置主机名,IP地址,yum源,挂载ceph光盘;

(3)配置4台主机的ssh无密码连接,实现操作同步;

(4)配置NTP时间同步;

(5)为虚拟机添加磁盘,用于后面的集群存储.

具体步骤:

  //思路:先在主机node1上操作,再同步内容到其它主机上.

1)真机上创建挂载点/var/ftp/ceph,并挂载ceph10.iso光盘;

2)为4台主机设置ssh无密码连接,包括本机;

#ssh-keygen -f /root/.ssh/id_rsa -N ''

#for i in 10 11 12 13     //同步到其它主机

do

scp-copy-ip 192.168.4.$i

done

3)使用本机解析IP地址,并同步到4台主机(这里不再另外搭建DNS服务器)

#vim /etc/hosts

192.168.4.10 client

192.168.4.11  node1

192.168.4.12   node2

192.168.4.13   node3

for i in 10 11 12 13     //同步到其它主机

do

scp /etc/hosts 192.168.4.$i:/etc/

4)配置yum源,调用真机挂载点里的ceph工具

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

[mon]

name=mon

baseurl=ftp://192.168.4.254/ceph/MON

gpgcheck=0

[osd]

name=osk

baseurl=ftp://192.168.4.254/ceph/OSD

gpgcheck=0

[tools]

name=tools

baseurl=ftp://192.168.4.254/ceph/Tools

gpgcheck=0

for i in 10 11 12 13       //同步yum源到其它主机

do

scp /etc/yum.repos.d/ceph.repo  192.168.4.$i:/etc/yum.repos.d/

done

5)配置所有主机NTP与真机一致

#vim /etc/chrony.conf

server 192.168.4.254 iburst

for i in 10 11 12 13   //同步到其它主机

do

scp /etc/chrony.conf  192.168.4.$i:/etc/

done

6)真机上运行virt-manager,调出虚拟系统管理器,为每个虚拟主机添加3块磁盘vdb,vdc,vdd.

二, 集群搭建

思路: (1)安装工具ceph-deploy

(2)创建ceph集群

(3)准备日志,及磁盘分区

(4)创建OSD存储空间

(5)查看ceph状态及验证

具体步骤:

(1)安装工具,并创建目录

yum -y install ceph-deploy

mkdir ceph-cluster

(2)创建ceph集群

a. 定义monitor主机到配置文件ceph.conf里

node1 ceph-cluster]#ceph-deploy new node1 node2 node3

b. 安装ceph相关软件包到所有节点

node1 ceph-cluster]#for i in node1 node2 node3

do

ssh 192.168.4.$i  "yum -y install ceph-mon ceph-osd ceph-mds ceph-radosgw"

done

c.初始化所有节点的Monitor服务,即启动mon服务

node1 ceph-cluster]# ceph-deploy mon create-initial

(3)创建OSD存储

a.将vdb分区成vdb1和vdb2来作为缓存服务器的journal缓存盘

node1 ceph-cluster]# for i in node1 node2 node3

do

ssh 192.168.4.$i "parted /dev/vdb mklabel gpt"

ssh 192.168.4.$i "parted /dev/vdb mkpart primary 1 50%"

ssh 192.168.4.$i "parted /dev/vdb mkpart primary 50% 100%"

done

b.磁盘分区为vdb1和vdb2后的默认权限,不能让ceph软件对其做读写操作,需要修改权限.

注意,4台主机都要改权限,如下以node1为例:

node1 ceph-cluster]# chown ceph.ceph  /dev/vdb1     //临时修改权限

node1 ceph-cluster]# chown ceph.ceph /dev/vdb2      //临时修改权限

永久性地设置权限:

node1 deph-cluster]# vim /etc/udev/rules.d/70-vdb.rules

ENV{DEVNAME}=="/dev/vdb1",OWNER="ceph",GROUP="ceph"

ENV{DEVNAME}=="/dev/vdb2"OWNER="ceph",GROUP="ceph"

#for i in node1 node2 node3     //同步到所有主机

do

scp /etc/udev/rules.d/70-vdb.rules  192.168.4.$i:/etc/udev/rules.d/

done

c.初始化磁盘数据,即清空.

#for i in node1 node2 node3

do

ceph-deploy disk zap $i:vdc $i:vdd

done

d.创建OSD存储空间

#for i in node1 node2 node3

do

ceph-deploy osd create $i:vdc:/dev/vdb1 $i:vdd:/dev/vdb2

//创建osd存储设备,vdc提供存储空间,vdb1提供日志缓存;vdd提供存储空间,vdb2提供日志缓存.

done

三, 验证

node1~]# ceph -s  //查看状态,

//如果失败,尝试重启ceph服务:# systemctl restart ceph\*.server ceph\*.target

随笔完毕.

小型ceph集群的搭建的更多相关文章

  1. 删除ceph集群mds

    ceph集群新搭建以后是只有一个默认的存储池rbd的池 ## 创建文件接口集群 1.创建一个元数据池 [root@mytest ~]# ceph osd pool create metadata 20 ...

  2. ceph-deploy离线部署ceph集群及报错解决FAQ

    ceph-deploy部署ceph集群 环境介绍 主机名 ip地址 操作系统 角色 备注 ceph-node1 10.153.204.13 Centos7.6 mon.osd.mds.mgr.rgw. ...

  3. CentOS 7 搭建 Ceph 集群(nautilus 版本)

    搭建 Ceph 分布式集群( nautilus 版本 ) 一.服务器环境说明 主机名 角色 IP地址 ceph-admin ceph-deploy 192.168.92.21 ceph-node1 m ...

  4. ceph集群搭建

    CEPH 1.组成部分 1.1 monitor admin节点安装ceph-deploy工具 admin节点安装ceph-deploy 添加源信息 rm -f /etc/yum.repos.d/* w ...

  5. Ceph集群搭建及Kubernetes上实现动态存储(StorageClass)

    集群准备 ceph集群配置说明   节点名称 IP地址 配置 作用 ceph-moni-0 10.10.3.150 centos7.5 4C,16G,200Disk 管理节点,监视器 monitor ...

  6. 搭建ceph集群(单节点)

    https://blog.csdn.net/Greenchess/article/details/77525786 软件环境: - Centos7 x64 CEPH版本 : - ceph-deploy ...

  7. centos7搭建ceph集群

    一.服务器规划 主机名 主机IP 磁盘配比 角色 node1 public-ip:10.0.0.130cluster-ip:192.168.2.130 sda,sdb,sdcsda是系统盘,另外两块数 ...

  8. docker创建ceph集群

    背景 Ceph官方现在提供两类镜像来创建集群,一种是常规的,每一种Ceph组件是单独的一个镜像,如ceph/daemon.ceph/radosgw.ceph/mon.ceph/osd等:另外一种是最新 ...

  9. CEPH集群操作入门--配置

      参考文档:CEPH官网集群操作文档   概述 Ceph存储集群是所有Ceph部署的基础. 基于RADOS,Ceph存储集群由两种类型的守护进程组成:Ceph OSD守护进程(OSD)将数据作为对象 ...

随机推荐

  1. 使用JS&jQuery改善用户体验

    第一章  JavaScript基本语法 一.运算符 运算符就是完成操作的一系列符号,它有七类: 赋值运算符(=,+=,-=,*=,/=,%=,<<=,>>=,|=,&= ...

  2. CorelDRAW 2017通过智能笔触调整自然地绘制草图

    LiveSketch 工具是CorelDRAW 2017版本中的新增功能,LiveSketch 工具适合快速草图和绘图,可以帮助您加快工作流并使您能够专注于创建流程.该工具并不预填充节点和图柄,而且无 ...

  3. 如何在使用layer.prompt在输入值为空的情况下点击确定继续执行逻辑?

    突然发现在使用LayUI时,用到弹出层layer.prompt时,如果文本框输入值是空的话点击确定没有反应,不能向下执行. 但是我又需要在这种情况下去继续执行判断或逻辑时该怎么做?? 示例:原代码如下 ...

  4. Ubuntu14.0 + CUDA9.0 + cudnn7.0 + TensorFlow-gpu1.7.0

    在安装好nvidia驱动的基础上安装 CUDA9.0 + cudnn7.0 + TensorFlow-gpu1.7.0 这三个是匹配的版本 别的匹配(CUDA8.0 + cudnn6.0 + Tens ...

  5. docker images镜像无法删除

    删除所有容器: docker rm $(docker ps -aq) 删除镜像: docker rmi $(docker images -q) 如果有镜像无法删除,有可能更改了名字,用docker r ...

  6. 51nod 1302(贪心+平衡树)

    能推出一些性质. 矩形肯定是全部躺着或全部立着比较优. 如图x1显然等于x2,y1显然小于y2. 所以我们就让它们都躺下吧. 然后一定有一组的宽为宽最小的矩形的宽. 然后我们枚举另一组的宽最小的矩形. ...

  7. [LUOGU]P3701 主席树(假的)

    有人恶意刷难度...就一个最大流模板... 但是题面吼啊2333 #include <iostream> #include <cstdio> #include <queu ...

  8. web前端开发技术栈分析图

  9. Selenium:简单的尝试一下

    一.创建maven工程引入依赖 1)创建项目 创建一个简单的maven工程即可 这里我使用jar项目进行简单的演示 2)引入依赖 <dependencies> <dependency ...

  10. like

    5.在WHERE中使用like做模糊查询    %符号表示0到多个任意字符    _符号表示1个任意字符     //查询名字中含有O字符的员工信息   select empno,ename   fr ...