介绍:前期对ceph有一个简单的介绍,但是内容太大,并不具体,接下来使用ceph-deploy部署一个Ceph集群,并做一些运维管理工作,深入的理解Ceph原理及工作工程!

一、环境准备

本次使用的虚拟机测试,使用7.6系统最小化安装,CentOS Linux release 7.6.1810 (Core)

1.1 主机规划:

节点
类型
IP
CPU
内存
ceph1
部署管理平台
172.25.254.130
2 C
4 G
ceph2
Monitor OSD
172.25.254.131
2 C
4G
ceph3
OSD
172.25.254.132
2 C
4 G
ceph4
OSD
172.25.254.133
2 C
4 G
ceph5
client
172.25.254.134
2C
4G

1.2 功能实现

Ceph集群:monitor、manager、osd*3

1.3 主机前期准备

每个节点都要做

修改主机名安装必要软件

hostnamectl set-hostname username
hostname username
yum install -y net-tools wget vim
yum update

配置阿里源

rm -f /etc/yum.repos.d/*
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.com/d' /etc/yum.repos.d/*.repo
echo '#阿里ceph源
[ceph]
name=ceph
baseurl=http://mirrors.aliyun.com/ceph/rpm-luminous/el7/x86_64/
gpgcheck=0
[ceph-noarch]
name=cephnoarch
baseurl=http://mirrors.aliyun.com/ceph/rpm-luminous/el7/noarch/
gpgcheck=0
[ceph-source]
name=ceph-source
baseurl=http://mirrors.aliyun.com/ceph/rpm-luminous/el7/SRPMS/
gpgcheck=0
#'>/etc/yum.repos.d/ceph.repo
yum clean all && yum makecache
yum install deltarpm

配置时间同步

yum install ntp ntpdate ntp-doc

二、部署节点准备

2.1 部署节点配置主机名

[root@ceph1 ~]# vi /etc/hosts

172.25.254.130  ceph1
172.25.254.131 ceph2
172.25.254.132 ceph3
172.25.254.133 ceph4
172.25.254.134 ceph5
172.25.254.135 ceph6

2.2 配置部署节点到所有osd节点免密登录

[root@ceph1 ~]# useradd cephuser    #创建非root用户

[root@ceph1 ~]# echo redhat | passwd --stdin cephuser

[root@ceph1 ~]# for i in {2..5}; do echo "====ceph${i}====";ssh root@ceph${i} 'useradd -d /home/cephuser -m cephuser; echo "redhat" | passwd --stdin cephuser'; done #所有osd节点创建cephuser用户

[root@ceph1 ~]# for i in {1..5}; do echo "====ceph${i}====";ssh root@ceph${i} 'echo "cephuser ALL = (root) NOPASSWD:ALL" > /etc/sudoers.d/cephuser'; done

[root@ceph1 ~]# for i in {1..5}; do echo "====ceph${i}====";ssh root@ceph${i} 'chmod 0440 /etc/sudoers.d/cephuser'; done

2.3 关闭selinux并配置防火墙

[root@ceph1 ~]# sed -i '/^SELINUX=.*/c SELINUX=perimissive' /etc/selinux/config

[root@ceph1 ~]# sed -i 's/^SELINUXTYPE=.*/SELINUXTYPE=disabled/g' /etc/selinux/config

[root@ceph1 ~]# grep --color=auto '^SELINUX' /etc/selinux/config

SELINUX=perimissive
SELINUXTYPE=disabled

[root@ceph1 ~]# setenforce 0

[root@ceph1 ~]# firewall-cmd --list-all

public (active)
target: default
icmp-block-inversion: no
interfaces: ens33
sources:
services: ssh dhcpv6-client
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:

[root@ceph1 ~]# systemctl stop firewalld

[root@ceph1 ~]# systemctl disable firewalld

Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

2.4 部署节点安装pip环境

[root@ceph1 ~]#  curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py

[root@ceph1 ~]#  python get-pip.py

[root@ceph1 ~]# su - cephuser

[cephuser@ceph1 ~]$ ssh-keygen -f ~/.ssh/id_rsa -N ''

[cephuser@ceph1 ~]$ ssh-copy-id -i ~/.ssh/id_rsa.pub cephuser@172.25.254.130

[cephuser@ceph1 ~]$ ssh-copy-id -i ~/.ssh/id_rsa.pub cephuser@172.25.254.131

[cephuser@ceph1 ~]$ ssh-copy-id -i ~/.ssh/id_rsa.pub cephuser@172.25.254.132

[cephuser@ceph1 ~]$ ssh-copy-id -i ~/.ssh/id_rsa.pub cephuser@172.25.254.133

[cephuser@ceph1 ~]$ ssh-copy-id -i ~/.ssh/id_rsa.pub cephuser@172.25.254.134

2.5 修改部署节点的config文件

[cephuser@ceph1 ~]$ vi ~/.ssh/config

Host node1
Hostname ceph1
User cephuser
Host node2
Hostname crph2
User cephuser
Host node3
Hostname ceph3
User cephuser
Host node4
Hostname ceph4
User cephuser
Host node5
Hostname ceph5
User cephuser

[cephuser@ceph1 ~]$ chmod 600 .ssh/config

测试

[cephuserr@ceph1 ~]$ ssh cephuser@ceph2

[cephuser@ceph2 ~]$ exit

三、创建集群

以下操作均在控制节点完成

[root@ceph1 ~]# su - cephuser

[cephuser@ceph1 ~]$ sudo yum install yum-plugin-priorities

[cephuser@ceph1 ~]$ sudo yum install ceph-deploy

3.1 创建配置文件

[cephuser@ceph1 ~]$ cd

[cephuser@ceph1 ~]$ mkdir my-cluster

[cephuser@ceph1 ~]$ cd my-cluster

3.2 创建监控节点

[cephuser@ceph1 my-cluster]$ ceph-deploy new ceph2

[cephuser@ceph1 my-cluster]$ ll

-rw-rw-r--.  cephuser cephuser   Mar  : ceph.conf
-rw-rw-r--. cephuser cephuser Mar : ceph-deploy-ceph.log
-rw-------. cephuser cephuser Mar : ceph.mon.keyring

该目录存在一个 Ceph 配置文件、一个 monitor 密钥环和一个日志文件。

3.2 安装ceph

[cephuser@ceph1 my-cluster]$ ceph-deploy install ceph2 ceph3 ceph4

[cephuser@ceph2 my-cluster]$ sudo ceph --version

ceph version 13.2. (cbff874f9007f1869bfd3821b7e33b2a6ffd4988) mimic (stable)

3.4 初始化监控节点

[cephuser@ceph1 my-cluster]$ ceph-deploy mon create-initial

[cephuser@ceph1 my-cluster]$ ll

-rw-------.  cephuser cephuser      Mar  : ceph.bootstrap-mds.keyring
-rw-------. cephuser cephuser Mar : ceph.bootstrap-mgr.keyring
-rw-------. cephuser cephuser Mar : ceph.bootstrap-osd.keyring
-rw-------. cephuser cephuser Mar : ceph.bootstrap-rgw.keyring
-rw-------. cephuser cephuser Mar : ceph.client.admin.keyring
-rw-rw-r--. cephuser cephuser Mar : ceph.conf
-rw-rw-r--. cephuser cephuser Mar : ceph-deploy-ceph.log
-rw-------. cephuser cephuser Mar : ceph.mon.keyring

3.5 部署MGR,创建monitor管理节点

[cephuser@ceph1 my-cluster]$ ceph-deploy mgr create ceph2 ceph3 ceph4

注:这个地方有事会卡很久,而且会报错或者其他问题,重复的操作,后面一次竟然成功了,愿意无解。

[ceph4][INFO  ] Running command: sudo ceph --cluster ceph --name client.bootstrap-mgr --keyring /var/lib/ceph/bootstrap-mgr/ceph.keyring auth get-or-create mgr.ceph4 mon allow profile mgr osd allow * mds allow * -o /var/lib/ceph/mgr/ceph-ceph4/keyring

[ceph_deploy.mon][INFO ] distro info: CentOS Linux 7.6.1810 Core

[ceph2][INFO ] Running command: sudo systemctl enable ceph.target

[ceph2][INFO ] Running command: sudo systemctl enable ceph-mon@ceph2

[ceph2][INFO ] Running command: sudo systemctl start ceph-mon@ceph2

[ceph2][INFO ] Running command: sudo ceph --cluster=ceph --admin-daemon /var/run/ceph/ceph-mon.ceph2.asok mon_status

[ceph2][INFO ] monitor: mon.ceph2 is running

[ceph2][INFO ] Running command: sudo ceph --cluster=ceph --admin-daemon /var/run/ceph/ceph-mon.ceph2.asok mon_status

3.6 分发配置文件

[cephuser@ceph1 my-cluster]$ ceph-deploy admin ceph2 ceph3 ceph4

[ceph_deploy.admin][DEBUG ] Pushing admin keys and conf to ceph2
[ceph2][DEBUG ] write cluster configuration to /etc/ceph/{cluster}.conf

3.7 添加osd

列出所有磁盘:

[cephuser@ceph1 my-cluster]$ ceph-deploy disk list ceph2 ceph3 ceph4

[ceph2][INFO  ] Disk /dev/sda: 21.5 GB,  bytes,  sectors
[ceph2][INFO ] Disk /dev/sdb: 21.5 GB, bytes, sectors
[ceph2][INFO ] Disk /dev/mapper/centos-root: 18.2 GB, bytes, sectors
[ceph2][INFO ] Disk /dev/mapper/centos-swap: MB, bytes, sectors
……

[cephuser@ceph1 my-cluster]$ ceph-deploy osd create --data /dev/sdb ceph2

[ceph_deploy.osd][DEBUG ] Host ceph4 is now ready for osd use

[cephuser@ceph1 my-cluster]$ ceph-deploy osd create --data /dev/sdb ceph3

[ceph3][WARNIN] No data was received after 300 seconds, disconnecting...
[ceph3][INFO ] checking OSD status...
[ceph3][DEBUG ] find the location of an executable
[ceph3][INFO ] Running command: sudo /bin/ceph --cluster=ceph osd stat --format=json

[cephuser@ceph1 my-cluster]$ ceph-deploy osd create --data /dev/sdb ceph4

[ceph4][WARNIN] No data was received after 300 seconds, disconnecting...
[ceph4][INFO ] checking OSD status...
[ceph4][DEBUG ] find the location of an executable
[ceph4][INFO ] Running command: sudo /bin/ceph --cluster=ceph osd stat --format=json

在这里也是一样,添加第一个OSD正常添加,但是到了第二个的时候,会失败,而且到后面也显示成功,但是在后面进行查看的时候,只有第一个osd,但是集群状显示health,原因个人猜测是因为使用的虚拟机,内存,CPU等各方面压力太大,需要等待!为了保证正常,我在添加第一个osd后,虚拟机几个小时后,再去添加第二个osd,尝试看是否正常!!!

3.8 查看集群状态:

[cephuser@ceph1 my-cluster]$ ssh ceph2 sudo ceph health

HEALTH_OK

[cephuser@ceph1 my-cluster]$ ssh ceph2 sudo ceph -s

cluster:
id: 2835ab5a-32fe-40df--32bbe4991222
health: HEALTH_OK services:
mon: daemons, quorum ceph2
mgr: ceph2(active)
osd: osds: up, in data:
pools: pools, pgs
objects: objects, B
usage: 1.0 GiB used, GiB / GiB avail
pgs:

在上面的过程发现只有一个osd,但是添加的三块磁盘,原因报错如下,同时ceph4节点也是相同问题

[ceph3][WARNIN] No data was received after  seconds, disconnecting...
[ceph3][INFO ] checking OSD status...
[ceph3][DEBUG ] find the location of an executable
[ceph3][INFO ] Running command: sudo /bin/ceph --cluster=ceph osd stat --format=json

查阅资料,是镜像源的问题,但是并没有解决,继续下一步试验,回头处理

也就是相当于配置了一个ceph2的单节点的ceph集群,在这个集群上继续完成实验

3.9 开启dashboard

[root@ceph2 ~]# ceph mgr module enable dashboard

[root@ceph2 ~]# ceph dashboard create-self-signed-cert

Self-signed certificate created

[root@ceph2 ~]# ceph dashboard set-login-credentials admin admin

Username and password updated

[root@ceph2 ~]# ceph mgr services

{
"dashboard": "https://ceph2:8443/"
}

关闭防火墙,浏览器访问测试

[root@ceph2 ~]# systemctl stop firewalld

3.10 删除所有配置

[cephuser@ceph1 my-cluster]$ ceph-deploy purge ceph1 ceph2 ceph3 ceph4 ceph5

[cephuser@ceph1 my-cluster]$ ceph-deploy purgedata ceph1 ceph2 ceph3 ceph4 ceph5

[cephuser@ceph1 my-cluster]$ ceph-deploy forgetkeys

[cephuser@ceph1 my-cluster]$ rm ceph.*

出现问题

[cephuser@ceph1 my-cluster]$ ceph-deploy install ceph1 ceph2 ceph3 ceph4 ceph5

Delta RPMs disabled because /usr/bin/applydeltarpm not installed

解决:

[cephuser@ceph1 my-cluster]$  yum provides '*/applydeltarpm

[cephuser@ceph1 my-cluster]$ sudo yum install deltarpm

[cephuser@ceph1 my-cluster]$ ceph-deploy mon create-initial

有错误:

上面的各种错误,大部分原因是硬件网络问题,重置环境十来遍,只想说坑爹!!!

参考链接:

https://willireamangel.github.io/2018/06/07/Ceph%E9%83%A8%E7%BD%B2%E6%95%99%E7%A8%8B%EF%BC%88luminous%EF%BC%89/

https://www.cnblogs.com/itzgr/p/10275863.html

002 ceph的deploy部署的更多相关文章

  1. 002.Ceph安装部署

    一 前期准备 1.1 配置规格 节点 类型 IP CPU 内存 ceph-deploy 部署管理平台 172.24.8.71 2 C 4 G node1 Monitor OSD 172.24.8.72 ...

  2. 分布式存储系统之Ceph集群部署

    前文我们了解了Ceph的基础架构和相关组件的介绍,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/16720234.html:今天我们来部署一个ceph集群: 部 ...

  3. Maven deploy部署jar包到远程私仓

    Maven deploy部署jar包到远程私仓 maven deploy介绍 maven中的仓库分为两种,snapshot快照仓库和release发布仓库.snapshot快照仓库用于保存开发过程中的 ...

  4. Ceph学习之路(三)Ceph luminous版本部署

    1.配置ceph.repo并安装批量管理工具ceph-deploy [root@ceph-node1 ~]# vim /etc/yum.repos.d/ceph.repo [ceph] name=Ce ...

  5. Ceph集群部署(基于Luminous版)

    环境 两个节点:ceph0.ceph1 ceph0: mon.a.mds.mgr.osd.0.osd.1 ceph1: mon.b.osd.2.osd.3 操作系统:ubuntu14.04 网络配置: ...

  6. ceph集群部署(基于jewel版)

    环境 两个节点:ceph1.ceph2 ceph1: mon.mds.osd.0.osd.1 ceph2: osd.2.osd.3 网络配置: ceph1: 管理网络,eth0,10.0.0.20 存 ...

  7. ceph集群部署

    最近在学习 kubernetes 过程中,想实现 pod 数据的持久化.在调研的过程中,发现 ceph 在最近几年发展火热,也有很多案例落地企业.在选型方面,个人更加倾向于社区火热的项目,Gluste ...

  8. 002.OpenShift安装与部署

    一 前置条件说明 1.1 安装准备概述 Red Hat OpenShift容器平台是由Red Hat作为RPM包和容器映像两种类型存在.RPM包使用订阅管理器从标准Red Hat存储库(即Yum存储库 ...

  9. asp.net core 使用 web deploy 部署网站

    1.添加角色和功能中 web服务器(iis)->管理工具->管理服务  打勾并安装 2.安装 web deploy,也可以通过 web平台安装程序 来安装,搜索web deploy就可以了 ...

随机推荐

  1. 用select提取List元素自身序号

    var cs = currentCitys.Select((c, i) => new { id = c.CITY_ID, 序号 = (i + 1).ToString(), 城市类型 = c.IS ...

  2. Xcode无法退出,报错提示 The document “xxx.h” could not be saved. The file doesn’t exist.

    记录一个问题 场景:Xcode编辑一个工程时直接在工程内部修改了某个目录的文件夹名字,而后删除了其下的某 .h.m 文件 之后总是提示上述错误且无法强制退出Xcode,clean等操作基本没用 查找本 ...

  3. [软考]之软件过程模型I 标签: 总结软考 2015-10-24 11:58 863人阅读 评论(35) 收藏

    做软考题的时候经常碰到软件工程的题,因为这些题有的很相近,容易混淆,所以在这里总结归纳一下. 软件过程模型: 瀑布模型: 瀑布模型是将软件生存周期中的各个活动规定为依线性顺序连接的若干阶段的模型,包括 ...

  4. WebLogic Server再曝高风险远程命令执行0day漏洞,阿里云WAF支持免费应急服务

    6月11日,阿里云安全团队发现WebLogic CVE-2019-2725补丁绕过的0day漏洞,并第一时间上报Oracle官方, 6月12日获得Oracle官方确认.由于Oracle尚未发布官方补丁 ...

  5. @atcoder - CODE FESTIVAL 2017 Final - J@ Tree MST

    目录 @description@ @solution@ @accepted code@ @details@ @description@ 给定 N 个点,第 i 点有一个点权 Xi,再给定一棵边带权的树 ...

  6. Android SwipeActionAdapter结合Pinnedheaderlistview实现复杂列表的左右滑动操作

    在上一篇博客<Android 使用SwipeActionAdapter开源库实现简单列表的左右滑动操作>里,已经介绍了利用SwipeActionAdapter来左右滑动操作列表: 然,有时 ...

  7. Windows server 2012 开启消息队列功能

  8. 数据节点Datanodes

  9. uni-app获取当前位置

    uniapp获取当前城市: 官方api:uni.getLocation()获取当前的地理位置.速度. 在微信小程序中,当用户离开应用后,此接口无法调用,除非申请后台持续定位权限:当用户点击“显示在聊天 ...

  10. Python 进阶02 文本文件的输入输出

    Python 具有基本的文本文件读写功能,Python的标准库提供有更丰富的读写功能. 文本文件的读写主要通过open()所构建的文件对象来实现 创建文件对象 我们打开一个文件,并适用一个对象来表示该 ...