Ceph分布式存储(一)

Ceph分布式存储(一)


一、概述
Ceph是可靠的、可扩展的、统一的、分布式的存储系统。可以同时提供对象存储RADOSGW(Reliable、Autonomic、Distributed、Object Storage Gateway)、块存储RBD(Rados Block Device)、文件系统存储Ceph FS(Ceph Filesystem)3种功能。
2、Ceph应用场景
Ceph可以提供对象存储、块设备存储和文件系统服务,其对象存储可以对接网盘(owncloud)应用业务等;其块设备存储可以对接(IaaS),当前主流的IaaS运平台软件,如:OpenStack、CloudStack、Zstack、Eucalyptus等以及kvm等。
3、ceph功能组件

4、Ceph核心组件
OSD(Object Storage Device):主要功能包括存储数据、处理数据的复制、恢复、回补、平衡数据分布,并将一些相关数据提供给ceph monitor。例如ceph OSD心跳等。一个ceph存储集群,至少需要两个Ceph OSD来实现active+clean健康状态和有效的保存数据的双副本(默认情况下是双副本,可以调整)。注意:每一个disk、分区都可以成为一个OSD。
Monitor:Ceph的监控器,主要功能是维护整个集群健康状态,提供一致性的决策。
MDS(Metadata Server):主要保存的是Ceph文件系统的元数据。注意:ceph的块存储和ceph对象存储都不需要MDS。MDS为基于POSIX文件系统的用户提供了一些基础命令。
5、Ceph功能特性
RADOSGW功能特性基于LIBRADOS之上,提供当前流行的RESTful协议的网关,并兼容S3和Swift接口,作为对象存储,可以对接网盘类应用以及HLS流媒体应用等。
RBD(Rados Block Device) 功能特性也是基于LIBRADOS之上,通过LIBRBD创建一个块设备,通过QEMU/KVM附加到VM上,做为传统的块设备来用。目前OpenStack、CloudStack都是采用这种方式为VM提供块设备,同时也支持快照、COW等功能。
Ceph FS功能特性是基于RADOS来实现分布式的文件系统,引如了MDS,主要为兼容POSIX文件系统提供元数据,一般都是当作文件系统来挂载。

6、Ceph架构

1)基础存储系统RADOS
RADOS:可靠自主分布式对象存储。它是ceph存储的基础,保证一切都以对象形式存储。
2) 基础库LIBRADOS
LIBADOS:功能是对RADOS进行抽象和封装,并向上层提供API,以便直接基于RADOS进行应用开发。
二、 RHEL/CentOS安装
[Ceph环境准备]
1、 准备6台虚拟机
2、 物理主机上配置域名解析

]#for i in {1..6}
>do
>echo -e “192.168.4.$i\tnode$i\tnode$i.tedu.cn” >> /etc/hosts

3、 提前将服务器的密钥保存,不需要ssh时回答yes
]# ssh-keyscan node{1..6} >> /root/.ssh/known_hosts
4、实现免密登陆

]# for i in {1..6}
> do
> ssh-copy-id node$i
> done

5、配置yum源

]# mkdir /var/ftp/ceph/
]# vim /etc/fstab
/ISO/rhcs2.0-rhosp9-20161113-x86_64.iso /var/ftp/ceph iso9660 defaults 0 0
]# mount -a
]# vim /tmp/server.repo

[rhel7.4]
name=rhel7.4
baseurl=ftp://192.168.4.254/rhel7.4
enabled=1
gpgcheck=0
[mon]
name=mon
baseurl=ftp://192.168.4.254/ceph/rhceph-2.0-rhel-7-x86_64/MON
enabled=1
gpgcheck=0
[osd]
name=osd
baseurl=ftp://192.168.4.254/ceph/rhceph-2.0-rhel-7-x86_64/OSD
enabled=1
gpgcheck=0
[tools]
name=tools
baseurl=ftp://192.168.4.254/ceph/rhceph-2.0-rhel-7-x86_64/Tools
enabled=1
gpgcheck=0

]# for vm in node{1..6}

do
scp /tmp/server.repo ${vm}:/etc/yum.repos.d/
done

[配置node1节点为管理节点]
1、配置名称解析
[[email protected] ~]# for i in {1..6}; do echo -e "192.168.4.$i\tnode$i.tedu.cn\tnode$i" >> /etc/hosts; done

2、配置免密登陆

[[email protected] ~]# ssh-keyscan node{1..6} >> /root/.ssh/known_hosts
[[email protected] ~]# ssh-keygen -f /root/.ssh/id_rsa -N ‘‘
[[email protected] ~]# for i in {1..6}; do ssh-copy-id node$i; done
[[email protected] ~]# for vm in node{1..6}
> do
> scp /etc/hosts ${vm}:/etc/
> done

3、配置node6为时间服务器
(1)配置

[[email protected] ~]# yum install -y chrony
[[email protected] ~]# vim /etc/chrony.conf
server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst
allow 192.168.4.0/24
local stratum 10

启动服务

[[email protected] ~]# systemctl enable chronyd
[[email protected] ~]# systemctl restart chronyd

4、将node1-5配置为NTP的客户端
(1)配置

[[email protected] ~]# vim /etc/chrony.conf
#server 0.rhel.pool.ntp.org iburst
#server 1.rhel.pool.ntp.org iburst
#server 2.rhel.pool.ntp.org iburst
#server 3.rhel.pool.ntp.org iburst
server 192.168.4.6 iburst
[[email protected] ~]# systemctl restart chronyd

测试

[[email protected] ~]# date -s "2018-7-13 12:00:00"
[[email protected] ~]# ntpdate 192.168.4.6
[[email protected] ~]# date

(3)同步其他主机

[[email protected] ~]# for i in {2..5}
> do
> scp /etc/chrony.conf node$i:/etc/
> done
[[email protected] ~]# for vm in node{2..5}
> do
> ssh $vm systemctl restart chronyd
> done

5、为node1-3各添加3块10GB的磁盘
可以在虚拟机不关机的情况下,直接添加硬盘
[安装ceph]
1)在node1上安装部署软件

[[email protected] ~]# yum install -y ceph-deploy

2)创建ceph部署工具的工作目录

[[email protected] ~]# mkdir ceph-clu

3)创建参与集群节点的配置文件

[[email protected] ceph-clu]# ceph-deploy new node{1..3}
[[email protected] ceph-clu]# ls

4)在3个节点上安装软件包

[[email protected] ceph-clu]# ceph-deploy install node{1..3}

5)初始化mon服务,获取密钥key,会在ceph-clu目录下生成几个key

[[email protected] ceph-clu]# ceph-deploy mon create-initial

如果出现以下错误:
[node1][ERROR ] admin_socket: exception getting command descriptions: [Errno 2] No such file or directory
解决方案:
[[email protected] ceph-clu]# vim ceph.conf 最下面加入行:
public_network = 192.168.0.0/24
再执行以下命令:
[[email protected] ceoh-clu]# ceph-deploy --overwrite-conf config push node1 node2 node3
6、把node1-3的vdb作为日志盘。Ext/xfs都是日志文件系统,一个分区分成日志区和数据区。为了更好的性能,vdb专门作为vdc和vdd的日志盘。

[[email protected] ceph-clu]# for vm in node{1..3}
> do
> ssh $vm parted /dev/vdb mklabel gpt
> done
[[email protected] ceph-clu]# for vm in node{1..3}; do ssh $vm parted /dev/vdb mkpart primary 1M 50% ; done
[[email protected] ceph-clu]# for vm in node{1..3}; do ssh $vm parted /dev/vdb mkpart primary 50% 100% ; done
[[email protected] ceph-clu]# for vm in node{1..3}; do ssh ${vm} chown ceph.ceph /dev/vdb? ; done

创建OSD设备

[[email protected] ceph-clu]# for i in {1..3}
> do
> ceph-deploy disk zap node$i:vdc node$i:vdd
> done
[[email protected] ceph-clu]# for i in {1..3}
> do
> ceph-deploy osd create node$i:vdc:/dev/vdb1 node$i:vdd:/dev/vdb2
> done

验证
到第7步为止,ceph已经搭建完成。查看ceph状态

[[email protected] ceph-clu]# ceph -s 如果出现health HEALTH_OK表示正常
[[email protected] ceph-clu]# ceph health

原文地址:http://blog.51cto.com/11389430/2149183

时间: 2024-10-29 19:11:18

Ceph分布式存储(一)的相关文章

Ceph分布式存储集群-硬件选择

在规划Ceph分布式存储集群环境的时候,对硬件的选择很重要,这关乎整个Ceph集群的性能,下面梳理到一些硬件的选择标准,可供参考: 1)CPU选择Ceph metadata server会动态的重新分配负载,它是CPU敏感性的,所以Metadata Server应该有比较好的处理器性能 (比如四核CPU). Ceph OSDs运行RADOS服务,需要通过CRUSH来计算数据的存放位置,replicate数据,以及维护Cluster Map的拷贝,因此OSD也需要合适的处理性能 Ceph Moni

简单介绍Ceph分布式存储集群

在规划Ceph分布式存储集群环境的时候,对硬件的选择很重要,这关乎整个Ceph集群的性能,下面梳理到一些硬件的选择标准,可供参考: 1)CPU选择 Ceph metadata server会动态的重新分配负载,它是CPU敏感性的,所以Metadata Server应该有比较好的处理器性能 (比如四核CPU). Ceph OSDs运行RADOS服务,需要通过CRUSH来计算数据的存放位置,replicate数据,以及维护Cluster Map的拷贝,因此OSD也需要合适的处理性能 Ceph Mon

Ceph分布式存储(luminous)部署文档-ubuntu18-04

Ceph分布式存储(luminous)部署文档 环境 ubuntu18.04 ceph version 12.2.7 luminous (stable) 三节点 配置如下 node1:1U,1G mem,20G disk,两块空硬盘(sdb,sdc) node2:1U,1G mem,20G disk,两块空硬盘(sdb,sdc) node3:1U,1G mem,20G disk,两块空硬盘(sdb,sdc) role hostname ip dep(部署节点) node1 192.168.113

ceph分布式存储一体机在制造行业中的应用_JITStack超融合一体机

传统制造企业随着企业数字化转型,通过一系列的信息化建设,正在逐步走向智能制造阶段.此过程中,企业首要面临的是信息数据的管理和存储问题.本文主要介绍如何通过Ceph分布式存储一体机解决企业信息数据管理优势和今后如何应对大数据的分析. 目前制造企业分布式存储方案的不足 ?随着制造企业的信息化程度不断加强,每日产生的文本.图像.视频.备份数据.日志信息等之间有着非常强的关联性且来源多种多样,这些数据对于产品的生产.运营.销售和售后服务等方面都有巨大的价值.虽然现在已有一些厂商为制造企业提供制造业大数据

zz``让我们了解 Ceph 分布式存储

https://www.cnblogs.com/yangxiaoyi/p/7795274.html 前言 最近在学习 kubernetes 过程中,想实现 pod 数据的持久化.在调研的过程中,发现 ceph 在最近几年发展火热,也有很多案例落地企业.在选型方面,个人更加倾向于社区火热的项目,GlusterFS.Ceph 都在考虑的范围之内,但是由于 GlusterFS 只提供对象存储和文件系统存储,而 Ceph 则提供对象存储.块存储以及文件系统存储.怀着对新事物的向往,果断选择 Ceph 来

ceph分布式存储介绍

一.Ceph简介:        Ceph是一种为优秀的性能.可靠性和可扩展性而设计的统一的.分布式文件系统.ceph 的统一体现在可以提供文件系统.块存储和对象存储,分布式体现在可以动态扩展.在国内一些公司的云环境中,通常会采用 ceph 作为openstack 的唯一后端存储来提高数据转发效率.       Ceph项目最早起源于Sage就读博士期间的工作(最早的成果于2004年发表),并随后贡献给开源社区.在经过了数年的发展之后,目前已得到众多云计算厂商的支持并被广泛应用.RedHat及O

让我们了解 Ceph 分布式存储

前言 最近在学习 kubernetes 过程中,想实现 pod 数据的持久化.在调研的过程中,发现 ceph 在最近几年发展火热,也有很多案例落地企业.在选型方面,个人更加倾向于社区火热的项目,GlusterFS.Ceph 都在考虑的范围之内,但是由于 GlusterFS 只提供对象存储和文件系统存储,而 Ceph 则提供对象存储.块存储以及文件系统存储.怀着对新事物的向往,果断选择 Ceph 来实现 Ceph 块存储对接 kubernetes 来实现 pod 的数据持久化. 一.初始 Ceph

ceph分布式存储搭建经历

官方文档:http://docs.ceph.com/docs/master/start/quick-start-preflight/ 汉化版:http://docs.openfans.org/ceph/ 原理:利用ceph-deploy工具,通过管理节点admin-node,利用ssh通道,以达到控制各分布式节点存储的共享功能.   前提:admin-node 需提前安装好ceph-deploy:各分布节点需与admin-node时间同步,配置ssh彼此互信并拥有sudo权限:防火墙什么的先关掉

使用ceph-deploy安装部署线上ceph分布式存储集群(centos6.6)

一:CEPH简介 OSDs: Ceph的OSD守护进程(OSD)存储数据,处理数据复制,恢复,回填,重新调整,并通过检查其它Ceph OSD守护程序作为一个心跳 向Ceph的监视器报告一些检测信息.Ceph的存储集群需要至少2个OSD守护进程来保持一个 active + clean状态.(Ceph默认制作2个备份,但你可以调整它) Monitors:Ceph的监控保持集群状态映射,包括OSD(守护进程)映射,分组(PG)映射,和CRUSH映射. Ceph 保持一个在Ceph监视器, Ceph O