ceph支持块存储、对象存储、cephfs文件共享系统,概念性的东西这里不过多介绍,请自行查阅ceph分布式存储相关资料,本文主要介绍ceph分布式集群部署

操作系统:centos7.9 最小安装
节点配置:node1+node2+node3 Dell R730xd 3台(单台配置 256G内存+4块128G SSd+10块8T HDD),4块ssd raid10 数据盘未作raid,节点多有条件的可以做raid10
集群组成: master控制节点+node1存储节点+node2存储节点+node3存储节点

1.主机名解析,写入到hosts文件,此操作在所有设备上面操作

设备对应关系如下:
主机名                  ip                          角色
admin            192.168.1.20          master控制节点,安装ceph-deploy
node1            192.168.1.21          mon、mgr、osd
node2            192.168.1.22          osd
node3            192.168.1.23          osd注意:ceph.client我这里是作为测试用途,实际的client客户端可能是任意的与master节点路由可达的linux虚拟机,master节点与node节点也并不一定是内网,请根据实际业务场景来部署
vim /etc/hosts
192.168.1.20    admin
192.168.1.21    node1
192.168.1.22    node2
192.168.1.23    node3注意:配置写入完成后,在每台设备上面互ping一下主机名,看看能否正常解析,这点很重要,不要嫌麻烦

2.关闭所有设备的防火墙和selinux

此步骤省略,请自行关闭,不会的百度一下
注意,若设备含有公网地址,ssh默认22端口先不要更改,否则等会部署ceph节点的时候没法加ssh端口号,会被拒绝连接,等所有配置都完成后,再开启防火墙放通相应的端口

3.创建一个普通用户用作后续集群部署的用户,并赋予sudo权限,所有设备上面均需要操作

创建用户并设置密码
useradd it
passwd it赋予新用户sudo权限
vim /etc/sudoers
root    ALL=(ALL) ALL 找到这行,在下面新增一行,如下
it      ALL=(root)      NOPASSWD:ALL注意:这是个只读文件,保存的时候需要加一个!

4.配置master控制节点ssh免密登录所有设备,在admin设备上面操作

[root@admin ~]# su - it
[it@admin ~]$ sudo ssh-keygen
[it@admin ~]$ sudo ssh-copy-id it@node1
[it@admin ~]$ sudo ssh-copy-id it@node2
[it@admin ~]$ sudo ssh-copy-id it@node3在admin设备上用root用户添加.ssh/config配置文件,这样ceph-deploy 就能用所建的用户名登录ceph节点了,如下
[root@admin ~]#mkdir ~/.ssh
[root@admin ~]# vim ~/.ssh/config
Host node1
Hostname node1
User itHost node2
Hostname node2
User itHost node3
Hostname node3
User it

5.在admin设备安装ceph-deploy ,用root用户执行

配置ceph yum源
[root@admin ~]# vim /etc/yum.repos.d/ceph.repo
[ceph-noarch]
name=Ceph noarch packages
baseurl=https://download.ceph.com/rpm-luminous/el7/noarch
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://download.ceph.com/keys/release.asc重建一下yum元数据,并开启yum缓存
yum clean all
yum makecache
[root@admin ~]# vim /etc/yum.conf
keepcache=1安装ceph-deploy
[root@admin ~]# yum install ceph-deploy -y

6.安装ntp,在admin设备操作

注意:我这里选择admin设备作为ntp时间服务器,其它设备均向admin设备同步时间
[root@admin ~]# yum install -y ntp
[root@admin ~]# vim /etc/ntp.conf  #有4行server的位置,把那4行server行注释掉,填写以下两行
server 127.127.1.0 # local clock
fudge  127.127.1.0 stratum 10

更改完如下图

启动一下ntp服务
systemctl start ntpd
systemctl enable ntpd在全部节点上用root用户执行如下命令:
yum install ntpdate  -y
ntpdate  时间服务器ip

7.ceph 集群部署

注意:以下操作没有特别说明,均在admin设备操作
创建集群操作目录
[root@admin ~]# su - it
[it@admin ~]$ sudo  mkdir cluster   ## ceph-deploy命令需要在此目录执行依赖安装
[it@admin ~]$ sudo wget -c https://files.pythonhosted.org/packages/5f/ad/1fde06877a8d7d5c9b60eff7de2d452f639916ae1d48f0b8f97bf97e570a/distribute-0.7.3.zip
[it@admin ~]$ sudo unzip distribute-0.7.3.zip  #若没有unzip命令先安装yum -y install unzip
[it@admin ~]$ cd distribute-0.7.3
[it@admin distribute-0.7.3]$ sudo python setup.py install集群创建
[it@admin ~]$ cd cluster/   # cd 回到家目录
[it@admin cluster]$ sudo  ceph-deploy new node1
[it@admin cluster]$ ls
ceph.conf  ceph-deploy-ceph.log  ceph.mon.keyring  #集群创建成功后会有这三个文件安装luminous-12.2.13
配置国内ceph yum源,所有设备均操作
sudo yum -y install epel-release
sudo vim /etc/yum.repos.d/ceph.repo  #admin设备之前有创建过这个文件,可以把里面的内容替换掉,如下
[Ceph]
name=Ceph packages for $basearch
baseurl=http://mirrors.aliyun.com/ceph/rpm-luminous/el7/$basearch
enabled=1
gpgcheck=0
type=rpm-md
gpgkey=https://mirrors.aliyun.com/ceph/keys/release.asc
priority=1[Ceph-noarch]
name=Ceph noarch packages
baseurl=http://mirrors.aliyun.com/ceph/rpm-luminous/el7/noarch
enabled=1
gpgcheck=0
type=rpm-md
gpgkey=https://mirrors.aliyun.com/ceph/keys/release.asc
priority=1[ceph-source]
name=Ceph source packages
baseurl=http://mirrors.aliyun.com/ceph/rpm-luminous/el7/SRPMS
enabled=1
gpgcheck=0
type=rpm-md
gpgkey=https://mirrors.aliyun.com/ceph/keys/release.asc
priority=1
保存退出后重建一下yum元数据
sudo yum clean all
sudo yum makecache在node1 node2 node3  上面安装ceph和ceph-radosgw
sudo yum install ceph ceph-radosgw  -y   #以上设备都需要执行验证:在node1、node2、node3、client上面看一下ceph版本
sudo ceph --version
ceph version 12.2.13 (584a20eb0237c657dc0567da126be145106aa47e) luminous (stable)

8.集群初始化

在admin设备上面用 it 用户执行,初始化mon
[it@admin cluster]$ sudo ceph-deploy mon create-initial赋予各个节点使用命令免用户名权限:
[it@admin cluster]$ sudo ceph-deploy admin node1 node2 node3安装ceph-mgr:只有luminous才有,为使用dashboard做准备
[it@admin cluster]$ sudo ceph-deploy mgr create node1   ##我这里规划的node1创建osd
注意:各个节点上提供存储空间的磁盘大小不能太小,最好50G以上,注意检查磁盘名字
[it@admin cluster]$ sudo  ceph-deploy osd create --data /dev/sdb node1  #这里省略,我有8块存储磁盘/dev/sdb /dev/sdc /dev/sdd ......
[it@admin cluster]$ sudo  ceph-deploy osd create --data /dev/sdb node2  #这里省略,同上
[it@admin cluster]$ sudo  ceph-deploy osd create --data /dev/sdb node3  #这里省略,同上
命令中/dev/sdb是在各个节点上为osd准备的空闲磁盘(无需分区格式化,如果有分区需要指定具体分区),个人建议不要分区查看集群状态:
[it@admin cluster]$ ssh node1 sudo ceph -s
如果显示health_ok,3个osd up就成功了

如下所示,就表示ok了

9.在ceph.node1上面配置Dashboard

把ceph-mgr和ceph-mon安装在同一个主机上,最好只有一个ceph-mgr
[root@node1 ~]# su - it创建管理域密钥
[it@node1 ~]$ sudo ceph auth get-or-create mgr.node1 mon 'allow profile mgr' osd 'allow *' mds 'allow *'开启ceph-mgr 管理域
[it@node1 ~]$ sudo ceph-mgr -i node1查看ceph状态,确认mgr的状态为active
[it@node1 ~]$ sudo ceph status
cluster:id:     aec06bc6-428c-49ff-a2c1-2d84808bcb54health: HEALTH_OKservices:mon: 1 daemons, quorum node1mgr: node1(active, starting)osd: 3 osds: 3 up, 3 indata:pools:   0 pools, 0 pgsobjects: 0 objects, 0Busage:   3.01GiB used, 12.0GiB / 15.0GiB availpgs:打开dashboard模块:
[it@ceph.node1 ~]$ sudo ceph mgr module enable dashboard绑定开启dashboard模块的ceph-mgr节点的ip地址:
[it@node1 ~]$ sudo ceph config-key set mgr/dashboard/node1/server_addr 192.168.121  ##这个是node1的ip创建存储池:
[it@node1 ~]$ sudo ceph osd pool create kvm-backup  733 733  #这里的kvm-backup为pool名字,名字随意取#扩展:少于 5 个 OSD 时可把 pg_num 设置为 128
OSD 数量在 5 到 10 个时,可把 pg_num 设置为 512
OSD 数量在 10 到 50 个时,可把 pg_num 设置为 4096
**注意:这个地方一定要注意,我22个osd,理论上需要写4096,但是4096需要后面加参数,我这里按计算公式来计算出来的 22*100/3 (22为osd数量、100是默认值、3是副本数量,副本数量默认是3初始化存储池:
[it@node1 ~]$ sudo rbd pool init kvm-backup浏览器登录:
http://192.168.1.21:7000

到这里ceph分布式集群部署完成!

10.client端挂载使用,client端我这里直接以命令行的形式表述

1.yum环境配置
yum -y install epel-release
vim /etc/yum.repos.d/ceph.repo
[Ceph]
name=Ceph packages for $basearch
baseurl=http://mirrors.aliyun.com/ceph/rpm-luminous/el7/$basearch
enabled=1
gpgcheck=0
type=rpm-md
gpgkey=https://mirrors.aliyun.com/ceph/keys/release.asc
priority=1[Ceph-noarch]
name=Ceph noarch packages
baseurl=http://mirrors.aliyun.com/ceph/rpm-luminous/el7/noarch
enabled=1
gpgcheck=0
type=rpm-md
gpgkey=https://mirrors.aliyun.com/ceph/keys/release.asc
priority=1[ceph-source]
name=Ceph source packages
baseurl=http://mirrors.aliyun.com/ceph/rpm-luminous/el7/SRPMS
enabled=1
gpgcheck=0
type=rpm-md
gpgkey=https://mirrors.aliyun.com/ceph/keys/release.asc
priority=1yum clean all
yum makecache
yum  -y install python-setuptools2.创建ceph存储池用户it
useradd it
passwd it3.授权cephu用户sudo权限
vim /etc/sudoers
在root    ALL=(ALL)       ALL行下面新增一行
it  ALL=(ALL)       NOPASSWD:ALL4.切换到cephu用户登录
su - it5.安装ceph
sudo yum install ceph ceph-radosgw  -y
安装完成后用ceph --version 查看版本信息是否为12.2.136.上传mgr节点授权信息到/etc/ceph/目录,并授权可读权限(就是前文提到的那三个文件,client安装完是没有授权文件的,需要手动上传)
cd /etc/ceph
sudo chmod +r /etc/ceph/ceph.client.admin.keyring
ls
-rw-r--r-- 1 root root  63 12月 22 21:08 ceph.client.admin.keyring
-rw-r--r-- 1 root root 221 12月 23 11:30 ceph.conf
-rw-r--r-- 1 root root  92 1月  31 2020 rbdmap7.修改ceph.conf文件,解决映射镜像时出现问题
sudo vi /etc/ceph/ceph.conf
rbd_default_features = 18.client节点创建块设备镜像:单位是M,这里创建4个G(根据存储池大小按需分配)
sudo rbd create ceshi10 --size 40960
注意:若不是用的默认存储池名rbd,需要指定一下存储池的名字,如下
sudo rbd create  --pool backup(这个是存储池名) --image kvm-backup(这个是镜像名) --image-format 2 --image-feature layering --size 20480000(大小为20T)9.将client节点映射镜像到主机(ceph集群)
sudo rbd map ceshi10 --name client.admin
没有报错的话应该会提示/dev/rbd0
注意:如果不是默认的rbd存储池,映射的时候需要加上存储池名字,如下sudo rbd map backup/kvm-backup --name client.admin10.将client节点格式化块设备
sudo mkfs.xfs /dev/rbd/rbd/ceshi10 #建议xfs格式
如果格式化的空间较大,这里需要的时间比较久,等待即可11.挂载刚刚格式化完的块设备
sudo mkdir /ceshi
sudo mount /dev/rbd/rbd/ceshi10  /ceshi
cd /ceshi
进入块设备测试一下看看能不能正常使用
sudo mkdir 111
ls
111说明:client端不建议直接使用root用户来操作!

集群最终的监控状态如下,至此ceph分布式存储部署完成

CEPH分布式存储部署相关推荐

  1. CentOS 7部署 Ceph分布式存储架构

    目录 : 8.1 Ceph概述 8.2 ceph集群部署实验 8.3 不同挂载方式 8.1 Ceph概述 随着OpenStack日渐成为开源云计算的标准软件栈,Ceph也已经成为OpenStack的首 ...

  2. Ceph分布式存储系列(二):ceph-deploy方式部署三节点ceph集群

    承接上文:Ceph分布式存储系列(一):Ceph工作原理及架构浅析梳理 之前都是使用Deepsea方式部署的ceph,长时间不用ceph-deploy了,这次来回顾,顺便总结下! 前言: ceph-d ...

  3. 部署ceph分布式存储集群

    部署ceph分布式存储集群 本次ceph分布式存储集群部署基于centos7.4操作系统环境且服务器或PC硬件应具备4个硬盘. 1 安装CentOS 7.4操作系统 1.1 制作安装U盘 (1)安装U ...

  4. 世界500强是如何解决千亿流量留存问题的,《Ceph分布式存储架构》-使用CentOS 7部署 Ceph分布式存储架构-为他们解决什么问题。

    文章目录 一.Ceph概述 1.1 Ceph介绍 1.2 Ceph各组件介绍 二.ceph集群部署实验 2.1 配置Ceph安装源 2.2 在xuegod63上安装ceph-deploy管理工具 2. ...

  5. Centos7下使用Ceph-deploy快速部署Ceph分布式存储

    #Centos7下使用Ceph-deploy快速部署Ceph分布式存储 CEPH 简介  不管你是想为云平台提供Ceph 对象存储和/或 Ceph 块设备,还是想部署一个 Ceph 文件系统或者把 C ...

  6. ceph 面试_终于有人把Ceph分布式存储讲清楚了!

    Ceph项目最早起源于Sage就读博士期间的工作(最早的成果于2004年发表),并随后贡献给开源社区.在经过了数年的发展之后,目前已得到众多云计算厂商的支持并被广泛应用.RedHat及OpenStac ...

  7. 有状态容器实践:k8s集成ceph分布式存储

    全栈工程师开发手册 (作者:栾鹏) 架构系列文章 先格式化一块硬盘并设置开机自动挂载 mkfs.ext4 -f /dev/sdc 创建挂载点以及配置开机自动挂载: 方法一: mkdir /data1: ...

  8. Ceph分布式存储实战:从0搭建一个存储集群,并把块设备镜像映射到CentOS 7系统上的步骤

    本文配套视频和笔记: Ceph分布式存储实战(Ceph快速上手) B站视频在线观看链接:[千锋教育]Ceph分布式存储技术教程(进阶到实战) 百度网盘链接:2020全新_Ceph分布式存储技术-进阶到 ...

  9. Ceph 分布式存储

    一.Ceph分布式存储 1.1.Ceph文件系统简述 诞生于2006年的Ceph,是私有云事实上的标准-OpenStack的默认存储后端. Ceph是一种软件定义存储,可以运行在几乎所有主流的Linu ...

最新文章

  1. 守护进程中创建的对象php,在PHP中生成守护进程(Daemon Process)
  2. 联想rd540服务器怎么装系统,联想RD540加显卡BIOS设置
  3. return error怎么定义_SpringBoot 系列 web 篇之自定义返回 Http Code 的 n 种姿势
  4. 递归-裴波那契数列(代码、分析、汇编)
  5. 【观点】传统企业如何在数字化时代实现进化?
  6. 血泪教训!拖垮公司的技术团队常用的 7 个操作
  7. Treejs+EasyUI+Vuejs实操
  8. 法律人学python_你要埋头苦学三个月,然后悄悄惊艳所有人。python速成大法满足你所有的要求!...
  9. oracle异步sql,Oracle sqlplus登陆异步io错误
  10. TCP/IP系列概述之体系结构原则
  11. hlws如何修改服务器密码,线切割hl控制系统输入法操作说明
  12. lanhelper1.83 注册
  13. eclipse中项目运行时报错之 Compilation error解决方法
  14. restTemplate访问接口
  15. android版本5.1怎么升级到6.1,carlife车机端安装包下载
  16. 爬取QQ音乐(周杰伦)
  17. 湖南文旅数据中心:湖南文旅数据早知道(9月3日)
  18. Kafka GroupCoordinator机制(十六):GroupCoordinator之LeaveGroupRequest分析
  19. graphpad prism8教程柱状图_一起来看看Graphpad Prism 8.0进阶篇吧!
  20. 仿写哔哩哔哩的头部导航部分(HTML+CSS静态)

热门文章

  1. 网易有道2019年内推笔试程序题Java
  2. PCB模块化设计20——光耦模块PCB布局布线设计规范
  3. Qt 停靠布局QDockWidget使用
  4. 智能阀门定位器的原理和操作
  5. 在linux中配置usb连接(android手机调试)
  6. 失落、失恋时可以听一下的歌。!
  7. 长尾关键词的挖掘与分析
  8. PPOCR 检测器配置文件参数详解
  9. 具有120度大机翼的喷气式飞机
  10. vivado 2018.2\2018.3\2019.1下载