资讯专栏INFORMATION COLUMN

ceph集群安装及使用

IT那活儿 / 1189人阅读
ceph集群安装及使用




简介




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 ceph01
hostnamectl set-hostname ceph02
hostnamectl set-hostname ceph03

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

133.xxx.xxx.108  ceph01
133.xxx.xxx.109  ceph02
133.xxx.xxx.110  ceph03

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

yum install ntp –y
vi /etc/ntp.conf

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

ssh-keygen -t rsa
ssh-copy-id ceph01
ssh-copy-id ceph02
ssh-copy-id ceph03

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


2. ceph安装

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


ceph.repo
[ceph]
name=ceph
baseurl=http://mirrors.aliyun.com/ceph/rpm-nautilus/el7/x86_64/
gpgcheck=0
priority =1
[ceph-noarch]
name=cephnoarch
baseurl=http://mirrors.aliyun.com/ceph/rpm-nautilus/el7/noarch/
gpgcheck=0
priority =1
[ceph-source]
name=Ceph source packages
baseurl=http://mirrors.aliyun.com/ceph/rpm-nautilus/el7/SRPMS
gpgcheck=0
priority=1
epel.repo
[epel]
name=Extra Packages for Enterprise Linux 7 - $basearch
baseurl=http://mirrors.aliyun.com/epel/7/$basearch
failovermethod=priority
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 
[epel-debuginfo]
name=Extra Packages for Enterprise Linux 7 - $basearch - Debug
baseurl=http://mirrors.aliyun.com/epel/7/$basearch/debug
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
gpgcheck=0 
[epel-source]
name=Extra Packages for Enterprise Linux 7 - $basearch - Source
baseurl=http://mirrors.aliyun.com/epel/7/SRPMS
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
gpgcheck=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-d281781878dd
mon_initial_members = ceph03,ceph02,ceph01
mon_host = 133.xxx.xxx.110,133.xxx.xxx.109,133.xxx.xxx.108
auth_cluster_required = cephx
auth_service_required = cephx
auth_client_required = cephx
osd 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/sdg
do
ceph-deploy disk zap ceph01 $dev
ceph-deploy osd create ceph01 --data $dev
ceph-deploy disk zap ceph02 $dev
ceph-deploy osd create ceph02 --data $dev
ceph-deploy disk zap ceph03 $dev
ceph-deploy osd create ceph03 --data $dev
done


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 512
ceph 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那活儿

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/129756.html

相关文章

  • 史上最全的Ceph构件组件分析

    摘要:层确保数据一致性和可靠性。元数据服务器,跟踪文件层次结构并存储只供使用的元数据。这些文件系统扩展属性能够为守护进程提供内部对象的状态快照元数据和等信息这有助于数据管理。启迪云-高级开发工程师  侯玉彬前言前文回顾:《开源社区的明星项目—Ceph谈》上一次简单的介绍Ceph的过去和未来的发展。这一节将详细介绍Ceph的构件以及组件。Ceph存储架构Ceph 存储集群由几个不同的daemon组成...

    oujie 评论0 收藏0
  • 技术栈:史上最全的Ceph构件组件分析

    摘要:层确保数据一致性和可靠性。保证集群的相关组件在同一时刻能够达成一致,相当于集群的领导层,负责收集更新和发布集群信息。元数据服务器,跟踪文件层次结构并存储只供使用的元数据。启迪云-高级开发工程师  侯玉彬前言上一次简单的介绍Ceph的过去和未来的发展。这一节将详细介绍Ceph的构件以及组件。Ceph存储架构Ceph 存储集群由几个不同的daemon组成,每个daemon负责Ceph 的一个独特...

    big_cat 评论0 收藏0
  • Ceph v12.2 Luminous基于ubuntu16.04集群部署

    摘要:第一次接触集群,感谢官方的指导文档和许多网友提供的教程,糊糊涂涂算是把集群部署起来了。应该为每个运行的机器添加一个,否则集群处于状态。至此的集群搭建算是完成了,下一步会进行块设备的搭建。参考分布式存储部署手册如何在中安装存储集群部署版 第一次接触ceph集群,感谢官方的指导文档和许多网友提供的教程,糊糊涂涂算是把集群部署起来了。由于Luminous12.2刚发布不久,部署起来跟旧版本还...

    MiracleWong 评论0 收藏0
  • 跟我学 K8S--运维: helm 安装 ceph 到 kubernetes 集群

    摘要:参考官方文档进行操作本文假设环境正常运行,并且已经安装。只能以单副本运行部署运行命令来安装等待一段时间执行完成后,通过如下命令确定集群是否成功运行检查的状态检查集群状态至此,集群部署完成。 参考 ceph 官方文档进行操作: http://docs.ceph.com/docs/mas... 本文假设kubernetes 环境正常运行,并且 host 已经安装 helm client。 ...

    marser 评论0 收藏0
  • 使用Rook+Ceph在Kubernetes上作持久存储

    摘要:充当在的业务流程层,将和流程部署为副本集。来自的文件将存储软件转变为自我管理自我扩展和自我修复的存储服务。由于请求使用文件系统格式化的卷,因此我需要在所有节点上安装工具。如果没有指定特定的存储类,我安装的任何应用程序都将使用进行数据存储。 作者:Earl C. Ruby III showImg(https://segmentfault.com/img/bVbljHL?w=300&h=1...

    kuangcaibao 评论0 收藏0
  • 使用Rook+Ceph在Kubernetes上作持久存储

    摘要:充当在的业务流程层,将和流程部署为副本集。来自的文件将存储软件转变为自我管理自我扩展和自我修复的存储服务。由于请求使用文件系统格式化的卷,因此我需要在所有节点上安装工具。如果没有指定特定的存储类,我安装的任何应用程序都将使用进行数据存储。 作者:Earl C. Ruby III showImg(https://segmentfault.com/img/bVbljHL?w=300&h=1...

    muddyway 评论0 收藏0

发表评论

0条评论

IT那活儿

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<