ceph

CEPH RGW多 ZONE的配置

落花浮王杯 提交于 2019-12-18 03:32:18
相关的名称解释 Region :可以理解为区域,是基于地理位置的逻辑划分;如:华南,华北之类,包含多个 region 的 Ceph 集群必须指定一个 master region ,一个 region 可以包含一个或者多个 zone Zone : 可以理解为可用区,它包含一组 Ceph rgw 实例,一个 region 必须指定一个 master zone 用以处理客户端请求。 部署拓扑 本文描述的多可用区部署拓扑如下: Ceph | SH / \ SH-1 SH-2 | | SH-SH-1 SH-SH-2在Ceph集群配置名为SH的Region,在Region下配置名为SH-1及SH-2两个Zone,并将SH-1设置为master, SH-2备用,可以通过radosgw-agent 实现数据复制;每个Zone各运行一个rgw实例,分别为SH-SH-1及SH-SH-2 rgw 组成要素 rgw 作为一个客户端,包含如下基本元素: rgw 实例名, 本文中两个实例分别是 SH-SH-1 , SH-SH-2 rgw 实例用户 存储池 ceph.conf 中配置入口 rgw 实例运行时数据目录 前端配置文件 配置 rgw 创建 pools Ceph rgw 需要使用多个 pool 来存储相关的配置及用户数据。如果后续创建的 rgw 用户具有相关权限,在 rgw

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

北城以北 提交于 2019-12-17 11:20:37
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 导读 在规划Ceph分布式存储集群环境的时候,对硬件的选择很重要,这关乎整个Ceph集群的性能,下面梳理到一些硬件的选择标准,可供参考: 1)CPU选择 Ceph metadata server会动态的重新分配负载,它是CPU敏感性的,所以Metadata Server应该有比较好的处理器性能 (比如四核CPU). Ceph OSDs运行RADOS服务,需要通过CRUSH来计算数据的存放位置,replicate数据,以及维护Cluster Map的拷贝,因此OSD也需要合适的处理性能 Ceph Monitors 简单的维护了Cluster Map的主干信息所以这个是CPU不敏感的。 2)RAM选择 Metadata servers 以及Monitors 必须能够快速的提供数据,因此必须有充足的内存(e.g., 1GB of RAM per daemon instance). OSDs 在执行正常的操作时不需要过多的内存 (e.g., 500MB of RAM per daemon instance);但是 执行恢复操作时,就需要大量的内存(e.g., ~1GB per 1TB of storage per daemon). Generally, 而且是越多越好。 3)Data Storage选择

ceph monitor部署若干注意事项

南楼画角 提交于 2019-12-17 11:20:18
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 关于monitor的部署,有下面几个需要注意的地方: 1. monitor节点的数量。 一般来说,在实际运行中,ceph monitor的个数是奇数个。初始最好至少配置3个。然后增加的时候,2个2个的增加。 2. monitor的容错机制 2n+1(n>=0)个,只要正常的节点数>=n+1,ceph的paxos算法能保证系统的正常运行。所以,对于3个节点,同时只能挂掉一个。5个节点,最多挂掉两个。其实看到这里,也就解释了,为什么monitor最好奇数个。因为5个节点和6个节点,效果是相同的,都是只能最多挂掉两个。所以偶数个,其实也是浪费一个。 3.挂掉节点超过半数的影响 如果monitor节点超过半数挂掉,paxos算法就无法正常进行仲裁(quorum),此时,ceph集群会阻塞对集群的操作,直到超过半数的monitor节点恢复。 4. monitor恢复的方法 1) 如果挂掉的节点可以恢复,也就是monitor的元数据还是OK的,那么只需要重启ceph-mon进程即可。所以,对于monitor,最好运行在RAID的机器上。这样,即使机器出现故障,恢复也比较容易。 但是, tahow 目前的系统盘,单U 只有1 块,所以无法raid… 2) 只能想办法将故障的节点恢复,但元数据已经损坏

ceph集群配置注意事项

坚强是说给别人听的谎言 提交于 2019-12-17 11:08:57
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> ceph部署环境: 硬件环境。4台4U的服务器,服务器配置信息如下: 1)CPU是Intel Xeon E5-2650(32核心); 2)内存大小是128GB; 3)服务器内共有35块HDD,其中一块HDD用于安装操作系统,另外34块HDD用于ceph存储; 4)网络采用public/cluster类型的网络; 软件环境。 1)操作系统:4台服务器都采用ubuntu-14.04.1; 2)ceph软件版本:Firefly最新版(0.80.11); 出现的问题: 当启动集群时,ceph集群中出现大量的非active+clean的PGs并且osdmap也不稳定,osd的状态在up和doan之间来回的切换。这样导致ceph集群迟迟不能处于可用状态。 问题原因: 由于在一个host上启动的osd数量太多了(34个OSDs),导致在ceph集群启动时以及ceph集群在recovery和rebalance时,由于产生大量的线程,该线程数量已经远远超越了linux内核默认配置的系统最大线程数。 解决方案: linux内核默认的最大线程数是32768,可以通过命令#sysctl kernel.pid_max来查看。该最大线程数是针对桌面系统的,而对于服务器以及集群的系统来说,这个值是不够的。因此最好将该值设置成最大值,即:

cephfs:增加mds

亡梦爱人 提交于 2019-12-17 00:25:12
1、add mds [root@node2 ceph-cluster]# ceph-deploy --overwrite-conf mds create master1 [root@node2 ceph-cluster]# ceph-deploy --overwrite-conf mds create node1 2、查看 [root@node1 conf]# ceph mds stat e8: 1/1/1 up {0=node2=up:active}, 2 up:standby [root@node1 conf]# 来源: https://www.cnblogs.com/yajun2019/p/11643496.html

ceph 生成扩容惊魂24小时

筅森魡賤 提交于 2019-12-15 23:06:29
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 终于渡过了ceph 生产环境数据迁移惊魂24小时。下面就记录一下遇到的问题和解决办法,一遍后面再遇到问题有应对办法。下面先说一个openshift的问题。 关于openshift大家应该都不陌生,很多openshift需要挂载云存储都对接的是ceph集群。正确情况下openshift使用ceph集群都没有问题,但是遇到ceph迁移就有问题了。ceph集群如果要迁移想必IP都会变,但是对于openshift就是个麻烦事情。在openshift上云盘就是一个远程存储磁盘是通过网络来链接的。那么挂载的磁盘肯定要记录下远程云盘的IP和端口,但是最要命的是云盘一旦挂载成功这个IP和端口都是无法改变的。如果云盘使用的是ceph集群,且ceph集群要迁移,ceph对外服务的mon 服务的IP就变了,这对于openshift来说就是致命的。所以对应于生成环境建议单独使用服务器做mon服务,这样即使以后迁移数据mon是不变的。好了下面就给大家说说在迁移后openshift无法对接新的mon时又重新使用老IP再迁移一次(其实可以直接改ceph集群的IP,但是风险大,不建议)。 1 添加osd 报错“bootstrap-osd keyring not found; run 'gatherkeys'” [root@storage12

Ceph组件

牧云@^-^@ 提交于 2019-12-15 16:16:18
Ceph组件 RADOS(Reliable Autonomic Distributed Object Store) RADOS是Ceph 存储集群的基础。Ceph 中的一切都以对象的形式存储,而RADOS 就负责存储这些对象,而不考虑它们的数据类型。RADOS 层确保数据一致性和可靠性。对于数据一致性,它执行数据复制、故障检测和恢复。还包括数据在集群节点间的recovery。 OSD 实际存储数据的进程。通常一个OSD daemon绑定一个物理磁盘。Client write/read 数据最终都会走到OSD去执行write/read操作。 MON(monitor) Monitor在Ceph集群中扮演者管理者的角色,维护了整个集群的状态,是Ceph集群中最重要的组件。 Mon保证集群的相关组件在同一时刻能够达成一致,相当于集群的领导层,负责收集、更新和发布集群信息。为了规避单点故障,在实际的Ceph部署环境中会部署多个Mon,同样会引来多个Mon之前如何协同工作的问题。 LIbrados 简化访问RADOS的一种方法,目前支持PHP、Ruby、Java、Python、C和C++语言。它提供了Ceph 存储集群的一个本地接口RADOS ,并且是其他服务(如RBD 、RGW) 的基础,以及为CephFS 提供POSIX 接口。librados API 支持直接访问RADOS

ceph 部署单机&&集群

霸气de小男生 提交于 2019-12-15 09:14:50
文章目录 ceph-deploy部署集群 ceph-deploy 部署单机 ceph-deploy 创建osd ceph osd创建资源池 ceph创建rbd块设备 ceph创建fs文件系统 本文档主要参考 ceph官方命令 进行部署,使用的时侯ceph-deploy原生命令方式进行集群各个组件的创建,删除,后续会增加扩容相关的命令。 ceph-deploy部署集群 修改hosts文件,增加想要创建的集群节点名称和对应ip的映射关系 hosts文件可以加快域名解析,同时方便局域网用户来为服务器创建容易记住的名字(node1,node2,node3…) vim /etc/hosts 增加如下ip到主机名称的映射关系: 10.192.55.95 node1 10.192.55.6 node2 10.192.55.100 node3 表示三结点的集群,同时需要将该文件拷贝到每个节点上 scp /etc/hosts 10.192.55.6:/etc 修改hostname ,即对应hosts文件中的域名,在进行节点通信的时候主机间能够进行映射 在每个ip上执行如右命令 hostname node1 ,同时为了重启后生效应执行 echo node1 >/etc/hostname 或者直接编辑文件 vim /etc/sysconfig/network ,在其中增加 HOSTNAME=node1

red hat openstack 12配置要求

北城以北 提交于 2019-12-14 18:38:47
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 安装 openstack 之前,一般要规划整个系统中,到底要多少台机器来参与openstack, 根据rhosp12的官方文档: 最低要求是3台物理机,1台作为director,一台作为 controller ,一台作为computer. 但这样的配置只能用于测试环境, rhosp12推荐要10台机器, 1台director 3台computer 3台controller 3台 ceph 存储 附原文 : Minimum Requirements: 1 host machine for the Red Hat OpenStack Platform director 1 host machine for a Red Hat OpenStack Platform Compute node 1 host machine for a Red Hat OpenStack Platform Controller node Recommended Requirements: 1 host machine for the Red Hat OpenStack Platform director 3 host machines for Red Hat OpenStack Platform Compute nodes 3 host

利用ceph-deploy安装ceph

半城伤御伤魂 提交于 2019-12-12 13:20:12
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> [ceph] name=Ceph packages for $basearch baseurl=http://ceph.com/rpm-firefly/el6/$basearch enabled=1 gpgcheck=1 type=rpm-md gpgkey=https://ceph.com/git/?p=ceph.git;a=blob_plain;f=keys/release.asc [Ceph] name=Ceph packages for $basearch baseurl=http://ceph.com/rpm-firefly/el6/$basearch enabled=1 gpgcheck=1 type=rpm-md gpgkey=https://ceph.com/git/?p=ceph.git;a=blob_plain;f=keys/release.asc [Ceph-noarch] name=Ceph noarch packages baseurl=http://ceph.com/rpm-firefly/el6/noarch enabled=1 gpgcheck=1 type=rpm-md gpgkey=https://ceph.com/git/?p=ceph.git;a=blob_plain;f