ceph introduce

ceph 存储集群主要包含osd, mon, mds组件.

osd组件负责存储数据, 数据复制, 恢复, 均衡, 提供监控数据等.

mon组件负责维护集群状态, 包括monitor map, osd map, pg(placement group) map, crush map等. 所有状态的变更都被记录.

mds是可选组件, 只有在使用ceph 文件系统是才需要用到, 负责userspace接口.

用户数据被切分成objects, 经crush算法决定存储在哪些placement group, 并计算出了placement group存储在哪些OSD, CRUSH算法同时负责计算ceph集群的扩展, 均衡, 动态恢复等.

ceph存储集群至少需要1个监控节点, 2个OSD节点(如果配置了2份数据拷贝到话, 2个OSD才能使集群到达active+clean的状态)才能运转起来.

要使用ceph 对象存储, 块设备为云平台(如openstack)提供服务, 或者使用ceph文件系统的话, 首选要部署ceph storage cluster.

部署ceph storage cluster, 必须先部署ceph node.

[参考]
1. http://ceph.com/docs/master/start/intro/

INTRO TO CEPH

Whether you want to provide Ceph Object Storage and/or Ceph Block Device services to Cloud Platforms, deploy a Ceph Filesystem or use Ceph for another purpose, all Ceph Storage Cluster deployments begin with setting up each Ceph Node, your network and the Ceph Storage Cluster. A Ceph Storage Cluster requires at least one Ceph Monitor and at least two Ceph OSD Daemons. The Ceph Metadata Server is essential when running Ceph Filesystem clients.

  • Ceph OSDs: A Ceph OSD Daemon (Ceph OSD) stores data, handles data replication, recovery, backfilling, rebalancing, and provides some monitoring information to Ceph Monitors by checking other Ceph OSD Daemons for a heartbeat. A Ceph Storage Cluster requires at least two Ceph OSD Daemons to achieve an active + clean state when the cluster makes two copies of your data (Ceph makes 2 copies by default, but you can adjust it).
  • Monitors: A Ceph Monitor maintains maps of the cluster state, including the monitor map, the OSD map, the Placement Group (PG) map, and the CRUSH map. Ceph maintains a history (called an “epoch”) of each state change in the Ceph Monitors, Ceph OSD Daemons, and PGs.
  • MDSs: A Ceph Metadata Server (MDS) stores metadata on behalf of the Ceph Filesystem (i.e., Ceph Block Devices and Ceph Object Storage do not use MDS). Ceph Metadata Servers make it feasible for POSIX file system users to execute basic commands like ls, find, etc. without placing an enormous burden on the Ceph Storage Cluster.

Ceph stores a client’s data as objects within storage pools. Using the CRUSH algorithm, Ceph calculates which placement group should contain the object, and further calculates which Ceph OSD Daemon should store the placement group. The CRUSH algorithm enables the Ceph Storage Cluster to scale, rebalance, and recover dynamically.

时间: 2024-10-30 23:59:18

ceph introduce的相关文章

ceph osd & placement group's stats introduce

本文主要介绍一下osd和PG的状态监控. OSD有4种状态 :  Up 的OSD可能在集群中(In)或不在集群中(Out), Down的OSD则肯定是不在集群中(Out)的. [root@osd4 ~]# ceph osd stat osdmap e41: 4 osds: 4 up, 4 in 例如以上命令看到的集群的osd状态, 总共有4个OSD, 4个在集群中. 如果你发现有up和in数字不一致, 说明有Down的或Out的osd, 可以通过如下命令查看详情. [root@osd4 ~]#

Ceph cluster configure introduce - 1

ceph存储集群运行需要osd和mon模块, 如果要使用对象存储, 需要添加radosgw模块, 如果需要使用ceph 文件系统需要添加mds模块. 这些模块在启动时, 需要读取配置文件, ceph所有类型的daemon配置文件统一放在一个配置文件中, 配置文件的顺序如下 : The default Ceph configuration file locations in sequential order include: $CEPH_CONF (i.e., the path following

Ceph cluster configure introduce - 3

1. 运行daemon时使用新的参数值覆盖配置文件的值. ceph tell {daemon-type}.{id or *} injectargs --{name} {value} [--{name} {value}] 例子 :  ceph tell osd.0 injectargs --debug-osd 20 --debug-ms 1 带空格的参数名使用_或-代替空格. daemon-type 包括 mon, osd, mds .  * 表示所有类型的daemon. Ceph allows

Ceph cluster configure introduce - 2

一般配置 : 初始化时的监控节点配置, 包含(非FQDN)hostname -s, IP. [global] mon_initial_members = ceph1 mon_host = 10.0.0.1 如果是手工部署, 可以写3个mon节点的信息, 如 : mon initial members = mon1, mon2, mon3 mon host = 172.17.0.2, 172.17.0.3, 172.17.0.4 如果是使用chef, ceph-deploy来配置, 建议配置时只使

about ceph monitor's consistency

    ceph 的mon节点维护了整个ceph 存储集群的map状态.     因为mon节点是多个的, 所以要求所有mon节点的map状态一致, mon使用paxos算法(分布式一致性算法)来修改map的状态, 确保所有mon节点的map数据一致.     因此mon节点并不是通过集群配置文件如ceph.conf来保持map一致的, 而是map文件.     每次map文件变更前, 需要多数monitor节点同意, 确保多数或所有(quorum)节点的map文件一致, 并且map文件是增量更

ceph GLOSSARY

ceph文档里术语较多, 为了方便理解, 最好先了解一下ceph的术语. 以下摘自ceph doc, 少了PG. PG placement group      PG, 存储 object 的逻辑组. PG存储在OSD中. OSD包含journal和data. 写完journal后返回ack确认数据安全性.      一般journal使用SSD来存储, 需要高的响应速度(类型postgresql xlog)      Ceph stores a client's data as objects

ceph recommendation - os

内核版本 :  v3.16.3 or later (rbd deadlock regression in v3.16.[0-2]) v3.14.* v3.10.* 注意, 如果要使用firefly 的 crush tunables功能, 建议使用v3.16.3内核. firefly (CRUSH_TUNABLES3) tunables are supported starting with v3.15. See CRUSH Tunables for more details. 如果要使用 btr

ceph performance tune , mount the osd mon data directory to diff block dev

在centos或rhel中, ceph服务可以通过ceph sysv脚本来管理, 例如用来管理mds, osd, mon节点. 如下 : # less /etc/init.d/ceph usage_exit() { echo "usage: $0 [options] {start|stop|restart|condrestart} [mon|osd|mds]..." printf "\t-c ceph.conf\n" printf "\t--cluster

如何将 Ceph 存储集群集成到 OpenStack 云中

了解 Ceph,这是一个能够增强您的 OpenStack 环境的开源分布式存储系统 Ceph 是一个符合 POSIX (Portable Operating System for UNIX).开源的分布式存储系统,依据 GNU 次通用公共许可而运行.该项目最初由 Sage Weill 于 2007 年开发,该项目的理念是提出一个没有任何单点故障的集群,确保能够跨集群节点进行永久数据复制. 与在任何经典的分布式文件系统中一样,放入集群中的文件是条带化的,依据一种称为 Ceph Controlled