暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

ceph集群安装及使用

IT那活儿 2021-11-05
3282

简介

Ceph是一个统一的分布式存储系统,设计初衷是提供较好的性能、可靠性和可扩展性。

Ceph项目最早起源于Sage就读博士期间的工作(最早的成果于2004年发表),并随后贡献给开源社区。在经过了数年的发展之后,目前已得到众多云计算厂商的支持并被广泛应用。RedHat及OpenStack都可与Ceph整合以支持虚拟机镜像的后端存储。

Ceph能够在一个统一的系统中提供对象,块和文件存储。

 

Ceph特点

1. 高性能

  • 摒弃了传统的集中式存储元数据寻址的方案,采用CRUSH算法,数据分布均衡,并行度高。
  • 考虑了容灾域的隔离,能够实现各类负载的副本放置规则,例如跨机房、机架感知等。
  • 能够支持上千个存储节点的规模,支持TB到PB级的数据。

2. 高可用性

  •  副本数可以灵活控制。
  • 支持故障域分隔,数据强一致性。
  • 多种故障场景自动进行修复自愈。
  • 没有单点故障,自动管理。

3. 高可扩展性

  • 去中心化。

  • 扩展灵活。

  • 随着节点增加而线性增长。

4. 特性丰富

  • 支持三种存储接口:块存储、文件存储、对象存储。
  • 支持自定义接口,支持多种语言驱动

Ceph安装部署

1. 操作系统配置1)每台节点都需要修改主机名

本例三台主机分别为ceph01、ceph02、ceph03.

hostnamectl set-hostname ceph01hostnamectl set-hostname ceph02hostnamectl set-hostname ceph03

每台/etc/hosts新增如下内容

133.xxx.xxx.108  ceph01133.xxx.xxx.109  ceph02133.xxx.xxx.110  ceph03

2)每台安装ntp服务 时钟服务,并同步时钟

yum install ntp –yvi /etc/ntp.conf

3)每台配置ssh 免密登陆认证

ssh-keygen -t rsassh-copy-id ceph01ssh-copy-id ceph02ssh-copy-id ceph03

4)每个节点添加 6块个900G的硬盘

2. ceph安装

1)每个节点都做ceph 的yum添加

ceph.repo[ceph]name=cephbaseurl=http://mirrors.aliyun.com/ceph/rpm-nautilus/el7/x86_64/gpgcheck=0priority =1[ceph-noarch]name=cephnoarchbaseurl=http://mirrors.aliyun.com/ceph/rpm-nautilus/el7/noarch/gpgcheck=0priority =1[ceph-source]name=Ceph source packagesbaseurl=http://mirrors.aliyun.com/ceph/rpm-nautilus/el7/SRPMSgpgcheck=0priority=1epel.repo [epel]name=Extra Packages for Enterprise Linux 7 - $basearchbaseurl=http://mirrors.aliyun.com/epel/7/$basearchfailovermethod=priorityenabled=1gpgcheck=0gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 [epel-debuginfo]name=Extra Packages for Enterprise Linux 7 - $basearch - Debugbaseurl=http://mirrors.aliyun.com/epel/7/$basearch/debugfailovermethod=priorityenabled=0gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7gpgcheck=0 [epel-source]name=Extra Packages for Enterprise Linux 7 - $basearch - Sourcebaseurl=http://mirrors.aliyun.com/epel/7/SRPMSfailovermethod=priorityenabled=0gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7gpgcheck=0
2)ceph03节点安装ceph-deploy安装组件

【备注:ceph可以在每个节点分别执行yum install ceph*进行安装,也可以方便的使用ceph-deploy安装工具进行安装,本例采用方法2】.

[root@ceph03 ~]# yum install -y ceph-deploy

3)使用安装工具安装ceph组件

[root@ceph03 ~]# ceph-deploy new ceph01 ceph02 ceph03

4) 部署完成后,编辑/etc/ceph/ceph.conf新增主机节点等配置

[global]fsid = 5b0ce654-4e7a-4f90-8058-d281781878ddmon_initial_members = ceph03,ceph02,ceph01mon_host = 133.xxx.xxx.110,133.xxx.xxx.109,133.xxx.xxx.108auth_cluster_required = cephxauth_service_required = cephxauth_client_required = cephxosd pool default size = 3

5)配置初始 monitor(s)、并收集所有密钥

[root@ceph03 ~]# ceph-deploy mon create-initial

把配置信息拷贝到各节点

[root@ceph03 ~]# ceph-deploy admin ceph01 ceph02 ceph03

6) 配置 osd

分别对每个节点对每个盘进行osd配置初始化

for dev in /dev/sdb dev/sdc dev/sdd dev/sde dev/sdf dev/sdgdoceph-deploy disk zap ceph01 $devceph-deploy osd create ceph01 --data $devceph-deploy disk zap ceph02 $devceph-deploy osd create ceph02 --data $devceph-deploy disk zap ceph03 $devceph-deploy osd create ceph03 --data $devdone

7)创建两个mgr管理节点做主备,新版无管理节点状态会是warn

ceph-deploy mgr create  ceph03 ceph01

8)安装完成

使用ceph –s命令可查看安装后的集群状态


3. 使用cephfs

ceph的使用分为对象存储、块存储和cephfs文件系统,本例使用cephfs为例演示ceph的简单使用

1)安装mds

本例在ceph02节点安装mds服务

ceph-deploy mds create ceph02


2)创建pool

分别创建cephfs文件系统使用的数据池和元数据池

ceph osd pool create cephfs_data 512ceph osd pool create cephfs_metadata 512

3) 使用创建的pool创建fs

ceph fs new cephfs cephfs_metadata cephfs_data


4)mount挂载文件系统

创建完成后,就可以在任意节点或客户端(linux7系统以上)使用mount命令来使用此cephfs了。命令如下:

mount -t ceph 133.xxx.xxx.108:6789,133.xxx.xxx.109:6789,133.xxx.xxx.110:6789:/ /cephfs -o name=admin,secret=AQCQp8Rf8*******A2pyAHS1fxAdq0zQ==

【备注】:

  • -t ceph表示使用的文件系统类型为ceph

  • IP:port为cephfs节点的IP和使用的端口,默认为6789

  • /cephfs为在客户端创建的目录,用来挂载cephfs

  • -o name=admin 表示用的admin用户进行挂载

  • secret=*** 表示的为admin的秘钥

5) 使用测试

挂载后,就能在客户端机器df –h看到目录了

然后可以进入/cephfs目录,写入文件了进行使用了。


END

更多精彩干货分享

点击下方名片关注

IT那活儿

文章转载自IT那活儿,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论