一、部署准备:

准备5台机器(linux系统为centos7.6版本),当然也可以至少3台机器并充当部署节点和客户端,可以与ceph节点共用:
    1台部署节点(配一块硬盘,运行ceph-depoly)
    3台ceph节点(配两块硬盘,第一块为系统盘并运行mon,第二块作为osd数据盘)
    1台客户端(可以使用ceph提供的文件系统,块存储,对象存储)
 
(1)所有ceph集群节点(包括客户端)设置静态域名解析;
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.253.135 controller
192.168.253.194 compute
192.168.253.15 storage
192.168.253.10 dlp
 
(2)所有集群节点(包括客户端)创建cent用户,并设置密码,后执行如下命令:
 
useradd cent && echo "123" | passwd --stdin cent
echo -e 'Defaults:cent !requiretty\ncent ALL = (root) NOPASSWD:ALL' | tee /etc/sudoers.d/ceph
chmod 440 /etc/sudoers.d/ceph
 
(3)在部署节点切换为cent用户,设置无密钥登陆各节点包括客户端节点
 
  su - cent 
ceph@dlp15:17:01~#ssh-keygen
ceph@dlp15:17:01~#ssh-copy-id dlp
ceph@dlp15:17:01~#ssh-copy-id controller
ceph@dlp15:17:01~#ssh-copy-id compute
ceph@dlp15:17:01~#ssh-copy-id storage
 
 
 

(4)在部署节点切换为cent用户,在cent用户家目录,设置如下文件:vi config

然后设置如下权限:

Host dlp
Hostname dlp
User cent
Host controller
Hostname controller
User cent
Host compute
Hostname compute
User cent
Host storage
Hostname storage
User cent

chmod 600 ./ssh/config

二、所有节点配置国内ceph源:

(1)所有节点下载阿里云的镜像源,并删除或者移动rdo-release-yunwei.repo去另一个目录下

  wget https://mirrors.aliyun.com/centos/7/storage/x86_64/ceph-jewel/

 2)接着yum clean all ,yum makecache缓存原数据。执行
  
 
  wget  http://download2.yunwei.edu/shell/ceph-j.tar.gz
 
 
(3)将下载好的rpm拷贝到所有节点,并安装。注意ceph-deploy-xxxxx.noarch.rpm 只有部署节点用到,其他节点不需要,部署节点也需要安装其余的rpm包
 
(4)在部署节点(cent用户下执行):安装 ceph-deploy,在root用户下,进入下载好的rpm包目录,执行:
 yum -y  localinstall ./*
创建ceph工作目录
  mkdir ceph  && cd ceph
 
(5)在部署节点(cent用户下ceph目录下):配置新集群
 
  ceph-deploy new  controller compute storage

  vim conf
  添加:osd_pool_default_size = 2
 
(6)在部署节点执行(ceph目录下):所有节点安装ceph软件
 
  ceph-deploy install dlp controller compute  storage
 
 
   7)  初始化集群(ceph目录下)
 
  ceph-deploy mon create-initial
 
如果报错1:
eph部署monitor时出现"monitor is not yet in quorum.

这是因为防火墙没关闭,去各个节点关闭所有防火墙

再执行:

  ceph-deploy --overwrite-conf  mon create-initial

 
报错2:
[ceph_deploy.mon][ERROR ] RuntimeError: config file /etc/ceph/ceph.conf exists with different content; use --overwrite-conf to overwrite
[ceph_deploy][ERROR ] GenericError: Failed to create 3 monitors
原因:修改了ceph用户里的ceph.conf文件内容,但是没有把这个文件里的最新消息发送给其他节点,所有要推送消息
解决:ceph-deploy --overwrite-conf config push node1-4
  或ceph-deploy --overwrite-conf mon create node1-4

  列出节点磁盘:ceph-deploy disk list node1
  擦净节点磁盘:ceph-deploy disk zap controller:/dev/sdb         #擦除选择磁盘而不是分区
 
 8) 给每个节点分区
 
  fdisk /dev/sdb                 #自己注意是分哪个硬盘,注意w保存
 
   9)准备osd(Object Storage Daemon:对象存储保护程序)
 
ceph-deploy osd prepare controller:/dev/sdb1 compute:/dev/sdb1 storage:/dev/sdc1
 10)激活osd
 
ceph-deploy osd activate controller:/dev/sdb1 compute:/dev/sdb1 storage:/dev/sdc1
   1 1)  在部署节点transfer config files

 
ceph-deploy admin dlp controller compute storage

sudo chmod 644 /etc/ceph/ceph.client.admin.keyring(在其他节点上)

   12  )在ceph集群中任意节点检测:
 
[root@controller old]# ceph -s
cluster 8e03f0d7-06cb-49c6-b0fa-b9764e85e61a
health HEALTH_OK
monmap e1: 3 mons at {compute=192.168.253.194:6789/0,controller=192.168.253.135:6789/0,storage=192.168.253.15:6789/0}
election epoch 6, quorum 0,1,2 storage,controller,compute
osdmap e14: 3 osds: 3 up, 3 in
flags sortbitwise,require_jewel_osds
pgmap v2230: 64 pgs, 1 pools, 0 bytes data, 0 objects
24995 MB used, 27186 MB / 52182 MB avail
64 active+clean

三、rbd块设备设置

 
 
 创建rbd:rbd create disk01 --size 10G --image-feature layering    删除:rbd rm disk01
 
列示rbd:rbd ls -l

[cent@dlp ceph]$ rbd create disk01 --size 10G --image-feature layering
[cent@dlp ceph]$ rbd ls -l
NAME SIZE PARENT FMT PROT LOCK
disk01 10240M 2
 
映射rbd的image map:sudo rbd map disk01      取消映射:sudo rbd unmap disk01

[root@controller ~]# rbd map disk01      #在root目录下这么些,其他目录下要加sudo在前面/dev/rbd0

将rbd0成功映射到了/dev/目录下,但是lsblk并无法查看到/dev/rbd0,这是因为还没有格式化和挂载。

显示map:rbd showmapped
 
 
格式化disk01文件系统xfs:sudo mkfs.xfs /dev/rbd0

[root@controller ~]# mkfs.xfs /dev/rbd0
meta-data=/dev/rbd0 isize=512 agcount=17, agsize=162816 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=2621440, imaxpct=25
= sunit=1024 swidth=1024 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=8 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
挂载硬盘:sudo mount /dev/rbd0 /mnt
[root@controller ~]# mount /dev/rbd0 /mnt
[root@controller ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 19G 0 part
├─centos-root 253:0 0 17G 0 lvm /
└─centos-swap 253:1 0 2G 0 lvm [SWAP]
sdb 8:16 0 20G 0 disk
└─sdb1 8:17 0 20G 0 part /var/lib/ceph/osd/ceph-0
sdc 8:32 0 10G 0 disk
└─sdc1 8:33 0 10G 0 part /var/lib/ceph/osd/ceph-3
sr0 11:0 1 4.2G 0 rom /mnt
rbd0 252:0 0 10G 0 disk /mnt
 
验证是否挂着成功:df -hT
 
 

停止ceph-mds服务:
systemctl stop ceph-mds@node1
 
ceph mds fail 0
 
列示存储池  
ceph osd lspools
显示结果:0 rbd,
  
删除存储池
ceph osd pool rm rdb --yes-i-really-really-mean-it
 
 
 

四、删除环境:

 

  清空集群信息

ceph-deploy purge dlp node1 node2 node3 controller

 ceph-deploy purgedata dlp node1 node2 node3 controller
   
  忘记身份认证的密钥
 ceph-deploy forgetkeys
 
 rm -rf ceph*
 

ceph部署的更多相关文章

  1. Ceph部署(二)RGW搭建

    背景 Ceph RGW简介 Ceph RGW基于librados,是为应用提供RESTful类型的对象存储接口.RGW提供两种类型的接口: 1) S3:兼容Amazon S3RESTful API: ...

  2. OpenStack Kilo版加CEPH部署手册

    OpenStack Kilo版加CEPH部署手册 作者: yz联系方式: QQ: 949587200日期: 2015-7-13版本: Kilo 转载地址: http://mp.weixin.qq.co ...

  3. 自动化kolla-ansible部署ubuntu20.04+openstack-victoria之ceph部署-07

    自动化kolla-ansible部署ubuntu20.04+openstack-victoria之ceph部署-07 欢迎加QQ群:1026880196 进行交流学习 近期我发现网上有人转载或者复制原 ...

  4. Ceph部署(一)集群搭建

    背景 Ceph简介 Ceph是一个分布式存储,可以提供对象存储.块存储和文件存储,其中对象存储和块存储可以很好地和各大云平台集成.一个Ceph集群中有Monitor节点.MDS节点(可选,用于文件存储 ...

  5. ceph部署实践(mimic版本)

    一.准备环境 4台adminos7.4 环境,存储节点上两块磁盘(sda操作系统,sdb数据盘) clientadmin storage1storage2storage3 二.配置环境 1.修改主机名 ...

  6. ceph部署手册

    CentOS7.2部署Luminous版Ceph-12.2.0 在CentOS7.2上安装部署Luminous版Ceph-12.2.0.由于ceph的Luminous版本默认使用bluestore作为 ...

  7. [ ceph ] CEPH 部署完整版(CentOS 7 + luminous)

    1. 前言 拜读了 胖哥的(el7+jewel)完整部署 受益匪浅,目前 CEPH 已经更新到 M 版本,配置方面或多或少都有了变动,本博文就做一个 ceph luminous 版本完整的配置安装. ...

  8. 分布式存储ceph部署(2)

    一.部署准备: 准备5台机器(linux系统为centos7.6版本),当然也可以至少3台机器并充当部署节点和客户端,可以与ceph节点共用:     1台部署节点(配一块硬盘,运行ceph-depo ...

  9. ceph部署-集群建立

    一.配置storage集群1.建立集群管理目录(管理配置文件,密钥)mkdir ceph-clustercd ceph-cluster/ 2.创建一个新集群(需要先将主机名加入/etc/hosts 必 ...

随机推荐

  1. 用BOOST_FOREACH简化遍历操作

    BOOST_FOREACH能够方便的遍历STL容器. 仅仅须要头文件: #include <boost/foreach.hpp> 然后遍历容器vector/list/set/deque/s ...

  2. LeetCode 804. Unique Morse Code Words (唯一摩尔斯密码词)

    题目标签:String 题目给了我们 对应每一个 字母的 morse 密码,让我们从words 中 找出 有几个不同的 morse code 组合. 然后只要遍历 words,把每一个word 转换成 ...

  3. ORACLE 11G 怎样改动 awr 的保留期限小于8天

     ORACLE 11G 怎样改动 awr 的保留期限小于8天 Oracle Database 11g 默认具备一个系统定义的Moving Window Baseline,该基线相应于 AWR 保留 ...

  4. mysql select 操作优先级

    单表查询操作 select filed1,filed2... form table where ... group by ... having .... order by ... limit ... ...

  5. HyperLedger Fabric部署与链码解读

    1.Fabric简介 Fabric是超级账本中的一个项目,用以推进区块链技术.和其他区块链类似,它也有一个账本,使用智能合约,且是一个参与者可以分别管理自身交易的系统.它是一个联盟链.Fabric与其 ...

  6. Win7 + VS2015 + Python3.6编译

    0. 下载安装hg. http://bitbucket.org/tortoisehg/files/downloads/tortoisehg-4.0.1-x64.msi 1. 下载Python3.6源代 ...

  7. JavaScript--改变 HTML 样式

    HTML DOM 允许 JavaScript 改变 HTML 元素的样式.如何改变 HTML 元素的样式呢? 语法: Object.style.property=new style; 注意:Objec ...

  8. Horspool和BM算法解析

    最近算法中学到了Horspool,KMP,BM三种算法.接下来给大家做个分享. Horspool算法: 算法思路: 1.分为匹配串,原串 2.从右往左依次匹配: 一旦遇到不匹配的,原串相对于匹配串 移 ...

  9. B-Tree 漫谈 (从二叉树到二叉搜索树到平衡树到红黑树到B树到B+树到B*树)

    关于B树的学习还是需要做点笔记. B树是为磁盘或者其他直接存取辅助存储设备而设计的一种平衡查找树.B树与红黑树的不同在于,B树可以有很多子女,从几个到几千个.比如一个分支因子为1001,高度为2的B树 ...

  10. IIS: 响应消息的内容类型 text/html; charset=utf-8 与绑定(text/xml; charset=utf-8)的内容类型不匹配。如果使用自定义编码器,请确保正确实现 IsContentTypeSupported 方法

    以前好好的项目,突然出现了这个问题.一顿google后无果,有人说是程序池的原因,有人说是安全配置的原因,照着网上方法试了多次,还是没有解决.如下图: 突然发现了一片文章 (https://www.j ...