ceph存储的安装和使用

本文详细介绍了如何在CentOS 7.6上使用Ceph部署存储集群,包括设置yum源、时间同步、防火墙配置、节点命名,以及从mon、mds、osd到mgr的逐步操作,最后覆盖了文件系统挂载、RBD管理等关键步骤。
摘要由CSDN通过智能技术生成

服务介绍

所有的 Ceph 存储集群的部署都始于一个个 Ceph节点、网络和 Ceph存储集群。Ceph 存储集群至少需要一个 Ceph Monitor、一个 Manager和一个Ceph OSD 守护进程。在运行 Ceph 作为文件存储时,还需要 Ceph 元数据服务。

ceph-mon  监视系统 可以理解为整个ceph集群的资源状态以及映射关系

ceph-mds  元数据存储  允许使用文件系统的方式来访问整个存储集群

ceph-osd   存储设备  严格意义上来讲是真正存放资源数据的地方

ceph-mgr  类似于API接口  用来给开发调用资源使用(一般不建议开启)

因为该文章只涉及初学者搭建学习,所以不过多介绍关于硬件配置相关的内容, ceph 是一款对硬盘转数及网络传输数据要求极高的存储系统。

环境准备

三台centos7.6的服务器  

[Ceph]
name=Ceph packages for $basearch
baseurl=https://mirrors.aliyun.com/ceph/rpm-15.2.3/el7/x86_64/
enabled=1
gpgcheck=0
type=rpm-md

[Ceph-noarch]
name=Ceph noarch packages
baseurl=https://mirrors.aliyun.com/ceph/rpm-15.2.3/el7/noarch/
enabled=1
gpgcheck=0
type=rpm-md

yum源这里选择的阿里的源地址  还需要配置epel源 否则安装会报错,

三台机器都要配置 时间同步  关闭防火墙 selinux 修改主机名  集群之间通信需要配置免密登录

  */10 * * * * /usr/sbin/ntpdate -u cn.pool.ntp.org  > /dev/null 2>&1   (ntpdate 需要装包)

  systemctl disable firewalld  --now

 sentenforce=0   && sed -i 's/SELINUX=disabled/SELINUX=enforcing/g /etc/selinux/config'

hostnamectl set ceph-node01  

hostnamectl set ceph-node02

hostnamectl set ceph-node03

还需要修改  /etc/hosts  设置主机名解析

192.168.25.141 ceph-node01
192.168.25.142 ceph-node02

192.168.25.143 ceph-node03    三台主机都要设置!

ssh-keygen -N ’‘ -f  /root/.ssh/id_rsa 免密生成私钥

for i in ceph-node01 ceph-node02 ceph-node03 ;do ssh-copy-id $i ;done  传公钥

部署搭建

建议使用普通用户的身份去创建集群因为是个人学习 所以直接使用root账号了

 yum -y install ceph  ceph-deploy  装包

mkdir $HOME/ceph-cluster && cd $HOME/ceph-cluster/

ceph-deploy new ceph-node01 ceph-node02 ceph-node03  生成新集群配置文件 

ceph-deploy mon create-initial 初始化 mon 服务

初始化成功后会生成ceph的配置文件

 

ceph-deploy admin ceph-node01 ceph-node02 ceph-node03   把配置文件分发给集群

ceph-deploy disk zap ceph-node01 /dev/sdb   磁盘擦拭(根据你的磁盘名称更改)

ceph-deploy  osd  create ceph-node01 --data /dev/sdb 创建osd(根据你的磁盘名称更改)

ceph-deploy mds create ceph-node01  创建mds

ceph-deploy mgr create ceph-node01  创建mgr(按需)

执行完之后  ps-ef |grep ceph 会看到相关的服务信息 ,如果服务部署的出现问题 根据错误信息提示进行恢复   

重新安装初始化的命令是

ceph-deploy  purge 主机名

ceph-deploy purgedata 主机名 

ceph -s 

  正常情况下这里是ok 

 

文件系统挂载使用

ceph osd pool create cephfs-metadata 16 16 元数据存储 

ceph osd pool create cephfs-data 32 32 数据存储 

ceph new fs myfs  cephfs-metadata  cephfs-data  创建文件存储 myfs

ceph fs ls 可以查看到新建的文件系统

可以直接使用 /etc/ceph/ceph.client.admin.keyring (不推荐)

 mount -t 192.168.25.141:6789:/ /mnt -o name=admin,secret=*************  secret后面对应上述文件的key值 , 挂载完毕 df -h 查看挂载信息就可以使用了

ceph auth add  client.test mon 'allow r' mds 'allow r' osd 'allow rwx pool=cephfs' 创建新用户

ceph auth get client.test -o ceph.client.test.keyring 导入到配置文件中 

cat /etc /ceph/ceph.client.test.keyring  根据里面的用户名进行挂载 这样就是使用普通用户挂载了 

 RBD挂载使用

需要传递用户配置文件  也就是刚才说的那个ceph.client.test.keyring 用admin也可以但不推荐

rbd createt --size 3G mypool/myimage 创建镜像

rbd map --image myimage /dev/rbd0 -p mypool 映射image            映射时可能报错 是因为内核不支持ceph的高级特性(映射默认用户admin 使用别的用户需要--user)

 rbd feature disable mypool/myimage object-map fast-diff deep-flatten  关闭image 高级特性

mkfs.xfs /dev/rbd0  格式化 然后就可以挂载使用了

取消映射可能有些费事

1 umount /dev/rbd0

2 rbd showmapped 查看映射关系是哪台主机在使用该rbd

rbd --user test -p mypool unmap myimage    取消映射关系

rbd rm -p mypool --image myimage 删除该镜像

    写作不易 还望点赞支持 有问题可以评论留言 互相交流

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值