CentOS7部署ceph

CEPH 简介

不管你是想为云平台提供Ceph 对象存储和/或 Ceph 块设备,还是想部署一个 Ceph 文件系统或者把 Ceph 作为他用,所有 Ceph 存储集群的部署都始于部署一个个 Ceph 节点、网络和 Ceph 存储集群。 Ceph 存储集群至少需要一个 Ceph Monitor 和两个 OSD 守护进程。而运行 Ceph 文件系统客户端时,则必须要有元数据服务器( Metadata Server )。

  • Ceph OSDs: Ceph OSD 守护进程( Ceph OSD )的功能是存储数据,处理数据的复制、恢复、回填、再均衡,并通过检查其他OSD 守护进程的心跳来向 Ceph Monitors 提供一些监控信息。当 Ceph 存储集群设定为有2个副本时,至少需要2个 OSD 守护进程,集群才能达到 active+clean 状态( Ceph 默认有3个副本,但你可以调整副本数)。
  • Monitors: Ceph Monitor维护着展示集群状态的各种图表,包括监视器图、 OSD 图、归置组( PG )图、和 CRUSH 图。 Ceph 保存着发生在Monitors 、 OSD 和 PG上的每一次状态变更的历史信息(称为 epoch )。
  • MDSs: Ceph 元数据服务器( MDS )为 Ceph 文件系统存储元数据(也就是说,Ceph 块设备和 Ceph 对象存储不使用MDS )。元数据服务器使得 POSIX 文件系统的用户们,可以在不对 Ceph 存储集群造成负担的前提下,执行诸如 ls、find 等基本命令。

Ceph 把客户端数据保存为存储池内的对象。通过使用 CRUSH 算法, Ceph 可以计算出哪个归置组(PG)应该持有指定的对象(Object),然后进一步计算出哪个 OSD 守护进程持有该归置组。 CRUSH 算法使得 Ceph 存储集群能够动态地伸缩、再均衡和修复。

环境说明:

服务器

节点

类型

ip

CPU

内存

硬盘

ceph-deploy

管理平台

192.168.68.50

2

4G

/dev/sdb

/dev/sdc

ceph1

Monitor osd

192.168.68.51

2

4G

/dev/sdb

/dev/sdc

ceph2

osd

192.168.68.52

2

4G

/dev/sdb

/dev/sdc

ceph3

osd

192.168.68.53

2

4G

/dev/sdb

/dev/sdc

系统环境

ceph version: 14.2.22 nautilus

OS: CentO7.9

内核:5.4.161

环境准备

修改/etc/hosts

每个服务器都要修改

192.168.68.50 ceph.local
192.168.68.51 ceph1.local ceph1
192.168.68.52 ceph2.local ceph2
192.168.68.53 ceph3.local ceph3

新增用户

各ceph节点新增cephuser用户

useradd cephuser
echo "123456" | passwd --stdin cephuser
echo "cephuser ALL = (root) NOPASSWD:ALL" > /etc/sudoers.d/cephuser

安装rpm包

ceph-deploy节点安装所需的包,root用户操作

yum install ceph-deploy python2-pip.noarch ceph-common -y

部署节点新增用户

deploy管理节点新增manager用户

useradd manager echo "123456" | passwd --stdin manager
copy密钥

在ceph-deploy节点上生成并copy密钥,做免密登陆

su - manager
ssh-keygen #一顿回车或者根据自己情况选择
ssh-copy-id cephuser@192.168.68.51
ssh-copy-id cephuser@192.168.68.52
ssh-copy-id cephuser@192.168.68.53
简化ssh配置

ceph-deply节点的manger用户家目录下,

修改config后deploy节点所建的用户名登录Ceph节点无需每次指定 --username cephuser ,简化了ssh和scp的用法

vim /home/manager/.ssh/config

Host ceph1
   Hostname ceph1
   User cephuser
Host ceph2
   Hostname ceph2
   User cephuser
Host ceph3
   Hostname ceph3
   User cephuser 

chmod 600 .ssh/config

创建集群

创建工作目录
mkdir ceph-cluster
cd ceph-cluster
创建集群
ceph-deploy new ceph1

或 指定网段,如果有多个网卡,可使用不同的网段

ceph-deploy new --cluster-network 192.168.68.0/24 --public-network 192.168.68.0/24 ceph1

安装ceph

ceph-deploy install ceph1 ceph2 ceph3 --stable --release nautilus --repo-url=https://mirrors.aliyun.com/ceph/rpm-nautilus/el7/ --gpg-url=https://mirrors.aliyun.com/ceph/keys/release.asc

--stable 指名为稳定版

--release 指定版本 nautilus ,即就是14.2版本

可指定repo为国内源

--repo-url=https://mirrors.aliyun.com/ceph/rpm-nautilus/el7/ --gpg-url=https://mirrors.aliyun.com/ceph/keys/release.asc

初始化monitor

ceph-deploy mon create-initial    #初始monitor、并收集所有密钥

部署MGR

部署mgr

ceph-deploy mgr create ceph1 ceph2 ceph3

复制key

ceph-deploy admin ceph1 ceph2 ceph3

给deploy本身也复制一份,需要用root操作,以方便用deploy管理ceph集群

cp /home/manager/ceph-cluster/ceph.client.admin.keyring /etc/ceph/ chmod 644 /etc/ceph/ceph.client.admin.keyring

查看集群状态

ceph -s 

WARN解决

1. Module 'restful' has failed dependency: No module named 'pecan' (这个在centos7上安装13版本不会出现)

yum install python36-devel

pip3 install werkzeug pecan

systemctl restart ceph-mon.target

systemctl restart ceph-mgr.target

2. mon is allowing insecure global_id reclaim

如果有警告,则禁用安全模式

ceph config set mon auth_allow_insecure_global_id_reclaim false

3.OSD count 0 < osd_pool_default_size 3

这个是因为还没有添加osd,等一会添加后就好了

添加OSD

列出磁盘
ceph-deploy disk list ceph1 【ceph2 ceph3】
添加osd 

ceph-deploy osd create --data /dev/sdb ceph1
ceph-deploy osd create --data /dev/sdc ceph1
ceph-deploy osd create --data /dev/sdb ceph2
ceph-deploy osd create --data /dev/sdc ceph2
ceph-deploy osd create --data /dev/sdb ceph3
ceph-deploy osd create --data /dev/sdc ceph3

扩展高可用

ceph-deploy mon add ceph2

开启dashboard

提示:默认情况下,dashboard的所有HTTP连接均使用SSL/TLS进行保护。以上内置命令可快速生成并安装自签名证书。

各ceph节点安装dashboard
yum install ceph-mgr-dashboard.noarch -y
启用dashboard

ceph mgr module enable dashboard
ceph dashboard create-self-signed-cert
echo admin > pass.txt  #设置管理员密码
ceph dashboard ac-user-create admin -i pass.txt  #创建管理员

或者 ceph dashboard set-login-credentials admin -i pass.txt ceph mgr services #确认验证

或者关闭ssl
ceph mgr module enable dashboard
ceph config set mgr mgr/dashboard/ssl false
echo admin > pass.txt  #创建管理员
ceph dashboard set-login-credentials admin -i pass.txt

 阿里云镜像源

aliyun-base.repo

 base.repo

阿里云epel源

aliyun-epel.repo

 eple.repo

阿里云ceph源

 ceph.repo

总结

octopus ,即就是15.2版本,在centos7上问题比较多,dashboard没法使用。

yum install ceph-mgr-dashboard

 

 缺的这三个报在centos8上有,centos7上没有。

  • 14
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值