当前位置:网站首页 > C++编程 > 正文

ceph 搭建(cephfs搭建)



您好,我是码农飞哥,本篇文章是Ceph实战专栏的第三篇文章,承接上文,默认我们已经在虚拟机上装好了docker,本文主要讲如何启动ceph文件系统的各个组件,将集群搭建起来。

创建三台虚拟机,本教程采用的Linux是CentOS7.6版本,Docker的版本是19.03.13,Ceph的版本是nautilus。三台虚拟机的情况如下:

主机名称 主机IP 说明 ceph1 192.168.161.137 容器主节点(Dashbaord、mon、rgw、mgr、osd) ceph2 192.168.161.135 容器子节点(mon、rgw、mgr、osd) ceph3 192.168.161.136 容器子节点(mon、rgw、mgr、osd)

部署Ceph之前我们需要对自身机器的环境做一个预检查。主要涉及到防火墙,主机名等设置。

  1. 关闭防火墙
 
  
  1. 关闭selinux(linux的安全子系统)
 
  

PS: 正式环境实际部署时,最好通过加入IP白名单的方式来操作,而不是直接关闭防火墙。 3. 设置主机名,分别把三台虚拟机的主机名设置成ceph1,ceph2,ceph3。

 
  
  1. 在主节点ceph1配置免密登录到ceph2和ceph3,下面命令在主节点ceph1上执行。
 
  
  1. 在三个节点上分别执行下列命令配置host。
 
  
  1. 打开ntp服务 ntp服务的作用是用于同步不同机器的时间。如果不打开ntp服务的话,则有可能会出现 这种问题。
 
  
  1. 其他配置 把容器内的 ceph 命令 alias 到本地,方便使用,其他 ceph 相关命令也可以参考添加
 
  

上面的预检做完之后,下面我们就开始具体的部署。

在宿主机上创建Ceph目录与容器建立映射,便于直接操纵管理Ceph配置文件,以root身份在主要节点ceph1上创建这四个文件夹,命令如下:

 
  

该命令会一次创建4个指定的目录,注意逗号分隔,不能有空格。 其中: admin文件夹下用于存储启动脚本, etc文件夹下存放了ceph.conf等配置文件 lib文件夹下存放了各组件的密钥文件 logs文件夹下存放了ceph的日志文件。 2. 对docker内用户进行授权

 
  
  1. 创建OSD磁盘 OSD服务是对象存储守护进程,负责把对象存储到本地文件系统,必须要有一块独立的磁盘作为存储。
  2. 如果没有独立磁盘,我们可以在Linux下面创建一个虚拟磁盘进行挂载,步骤如下: 2.1. 初始化10G的镜像文件:
     

    2.2. 将镜像文件虚拟成块设备: 2.3. 格式化(名称根据fdisk -l进行查询): 2.4. 挂载文件系统,就是将loop0磁盘挂载到/dev/osd目录下,

     
  3. 如果有独立磁盘的话(如果是虚拟机的话,则只需要在VM的设置上添加一个硬盘,如图所示) 在这里插入图片描述

    3.1 直接格式化( 名称根据fdisk -l进行查询) 3.2 挂载文件系统:

     
  4. 可以通过命令查看挂载结果

这里用到了 dockerhub 上最流行的 ceph/daemon 镜像(这里需要拉取nautilus版本的ceph,latest-nautilus)

 
  

1. start_mon.sh

 
  

这个脚本是为了启动监视器,监视器的作用是维护整个Ceph集群的全局状态。一个集群至少要有一个监视器,最好要有奇数个监视器。方便当一个监视器挂了之后可以选举出其他可用的监视器。启动脚本说明:

  1. name参数,指定节点名称,这里设为mon
  2. -v xxx:xxx 是建立宿主机与容器的目录映射关系,包含 etc、lib、logs目录。
  3. 是Docker运行的IP地址(通过ifconfig来查询,取ens33里的inet那个IP),这里我们有3台服务器,那么MAN_IP需要写上3个IP,如果IP是跨网段的必须写上所有网段。
  4. 配置了运行Docker主机所有网段 这里必须指定nautilus版本,不然会默认操作最新版本ceph,mon必须与前面定义的name保持一致。 2. start_osd.sh
 
  
 
  

这个脚本是用于启动mgr组件,它的主要作用是分担和扩展monitor的部分功能,提供图形化的管理界面以便我们更好的管理ceph存储系统。其启动脚本比较简单,在此不再赘述。 4. start_rgw.sh

 
  

该脚本主要是用于启动rgw组件,rgw(Rados GateWay)作为对象存储网关系统,一方面扮演RADOS集群客户端角色,为对象存储应用提供数据存储,另一方面扮演HTTP服务端角色,接受并解析互联网传送的数据。

启动mon

  1. 首先在主节点ceph1上执行start_mon.sh脚本,启动后通过查看启动结果,启动成功之后生成配置数据,在ceph主配置文件中,追加如下内容:
 
  
  1. 拷贝所有数据(已包含脚本)到另外2台服务器
 
  
  1. 通过远程ssh,在ceph2和ceph3上依次启动mon(启动前不要修改ceph.conf文件)
 
  

启动后通过 查看集群状态,如果能够看到ceph2和ceph3,则表示集群创建成功,此时的状态应该是HEALTH_OK状态。

启动OSD

在执行start_osd.sh脚本之前,首先需要在mon节点生成osd的密钥信息,不然直接启动会报错。命令如下:

 
  

接着在主节点下执行如下命令:

 
  

全部osd都启动之后,稍等片刻后,执行查看状态,应该可以看到多了如下信息(总共3个osd)

 
  

PS: osd的个数最好维持在奇数个。

启动mgr

直接在主节点ceph1上执行如下三个命令:

 
  

启动rgw

同样的我们首先还是需要先在mon节点生成rgw的密钥信息,命令如下:

 
  

接着在主节点ceph1上执行如下三个命令:

 
  

启动完成之后再通过查看集群的状态 在这里插入图片描述

首先确定主节点,通过命令查看集群状态,找到mgr为active的那个节点,如下:

 
  

这里的主节点就是ceph1节点。

  1. 开启dashboard功能
 
  
  1. 创建登录用户与密码
 
  

这里设置用户名为admin,密码为test。 3. 配置外部访问端口个,这里指定端口号是18080,可以自定义修改

 
  
  1. 配置外部访问地址,这里我的主节点IP是192.168.161.137,你需要换成自己的IP地址。
 
  
  1. 关闭https(如果没有证书或内网访问, 可以关闭)
 
  
  1. 重启Mgr DashBoard服务
 
  
  1. 查看Mgr DashBoard服务
 
  

最后通过 http://192.168.161.137:18080/#/dashboard 访问。 在这里插入图片描述

至此,整个集群就已经搭建完毕,通过命令,可以查看整个集群信息,我们规划的所有节点都已创建成功并加入集群 在这里插入图片描述

本文介绍了通过docker部署ceph集群的详细步骤,本文只是启动了核心的必要的组件,一共有 mon,osd,mgr,rgw四个组件,其中mon,osd,mgr组件是必须要启动的,rgw组件是作为对象存储的网关系统,如果不用对象存储的话则不需要启动该组件,其他的组件入mds也只是cephFS才需要用到。后面文章会详细介绍这些组件的作用,本文主要是将集群搭建起来。

Centos7系统Docker Ceph 集群的安装配置(中篇) [基于Docker部署ceph分布式文件系统MImic13.2

到此这篇ceph 搭建(cephfs搭建)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • cnn 网站(cnn online)2025-08-02 13:45:06
  • cnn神经网络模型(cnn神经网络模型代码)2025-08-02 13:45:06
  • conv是什么意思中文翻译(conv是什么词性的意思)2025-08-02 13:45:06
  • msvcp140.dll丢失的解决方法吃鸡(msvcp140.dll丢失的解决方法绝地求生)2025-08-02 13:45:06
  • cpu参数对比网站手机(2021年手机cpu对比)2025-08-02 13:45:06
  • bt1120转hdmi芯片(hdmi转typec芯片)2025-08-02 13:45:06
  • 佳能cp1500打印机(佳能cp1500打印机需要墨盒吗)2025-08-02 13:45:06
  • junit5(junit5 mock静态方法)2025-08-02 13:45:06
  • xdc是什么缩写(xdh是什么缩写)2025-08-02 13:45:06
  • vconsole什么意思中文(vconsole是什么意思怎么关闭)2025-08-02 13:45:06
  • 全屏图片