简介
Ceph是一个统一的分布式存储系统,设计初衷是提供较好的性能、可靠性和可扩展性。
Ceph项目最早起源于Sage就读博士期间的工作(最早的成果于2004年发表),并随后贡献给开源社区。在经过了数年的发展之后,目前已得到众多云计算厂商的支持并被广泛应用。RedHat及OpenStack都可与Ceph整合以支持虚拟机镜像的后端存储。
Ceph能够在一个统一的系统中提供对象,块和文件存储。
Ceph特点
1. 高性能
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安装
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
【备注: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命令可查看安装后的集群状态
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目录,写入文件了进行使用了。
更多精彩干货分享
点击下方名片关注
IT那活儿
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/129756.html
摘要:层确保数据一致性和可靠性。元数据服务器,跟踪文件层次结构并存储只供使用的元数据。这些文件系统扩展属性能够为守护进程提供内部对象的状态快照元数据和等信息这有助于数据管理。启迪云-高级开发工程师 侯玉彬前言前文回顾:《开源社区的明星项目—Ceph谈》上一次简单的介绍Ceph的过去和未来的发展。这一节将详细介绍Ceph的构件以及组件。Ceph存储架构Ceph 存储集群由几个不同的daemon组成...
摘要:层确保数据一致性和可靠性。保证集群的相关组件在同一时刻能够达成一致,相当于集群的领导层,负责收集更新和发布集群信息。元数据服务器,跟踪文件层次结构并存储只供使用的元数据。启迪云-高级开发工程师 侯玉彬前言上一次简单的介绍Ceph的过去和未来的发展。这一节将详细介绍Ceph的构件以及组件。Ceph存储架构Ceph 存储集群由几个不同的daemon组成,每个daemon负责Ceph 的一个独特...
摘要:第一次接触集群,感谢官方的指导文档和许多网友提供的教程,糊糊涂涂算是把集群部署起来了。应该为每个运行的机器添加一个,否则集群处于状态。至此的集群搭建算是完成了,下一步会进行块设备的搭建。参考分布式存储部署手册如何在中安装存储集群部署版 第一次接触ceph集群,感谢官方的指导文档和许多网友提供的教程,糊糊涂涂算是把集群部署起来了。由于Luminous12.2刚发布不久,部署起来跟旧版本还...
摘要:参考官方文档进行操作本文假设环境正常运行,并且已经安装。只能以单副本运行部署运行命令来安装等待一段时间执行完成后,通过如下命令确定集群是否成功运行检查的状态检查集群状态至此,集群部署完成。 参考 ceph 官方文档进行操作: http://docs.ceph.com/docs/mas... 本文假设kubernetes 环境正常运行,并且 host 已经安装 helm client。 ...
摘要:充当在的业务流程层,将和流程部署为副本集。来自的文件将存储软件转变为自我管理自我扩展和自我修复的存储服务。由于请求使用文件系统格式化的卷,因此我需要在所有节点上安装工具。如果没有指定特定的存储类,我安装的任何应用程序都将使用进行数据存储。 作者:Earl C. Ruby III showImg(https://segmentfault.com/img/bVbljHL?w=300&h=1...
摘要:充当在的业务流程层,将和流程部署为副本集。来自的文件将存储软件转变为自我管理自我扩展和自我修复的存储服务。由于请求使用文件系统格式化的卷,因此我需要在所有节点上安装工具。如果没有指定特定的存储类,我安装的任何应用程序都将使用进行数据存储。 作者:Earl C. Ruby III showImg(https://segmentfault.com/img/bVbljHL?w=300&h=1...
阅读 1346·2023-01-11 13:20
阅读 1684·2023-01-11 13:20
阅读 1132·2023-01-11 13:20
阅读 1858·2023-01-11 13:20
阅读 4100·2023-01-11 13:20
阅读 2704·2023-01-11 13:20
阅读 1385·2023-01-11 13:20
阅读 3597·2023-01-11 13:20