处理stale的pg】的更多相关文章

前言 在某些场景下Ceph集群会出现stale的情况,也就是ceph集群PG的僵死状态,这个状态实际上是无法处理新的请求了,新的请求过来只会block,那么我们如何去恢复环境 实践过程 首先模拟stale环境,这个比较好模拟 设置副本2,然后同时关闭两个OSD(不同故障域上),然后删除这两个OSD 集群这个时候就会出现stale的情况了,因为两份数据都丢了,在一些环境下,数据本身就是临时的或者不是那么重要的,比如存储日志,这样的环境下,只需要快速的恢复环境即可,而不担心数据的丢失 处理过程 首先…
1 PG介绍pg的全称是placement group,中文译为放置组,是用于放置object的一个载体,pg的创建是在创建ceph存储池的时候指定的,同时跟指定的副本数也有关系,比如是3副本的则会有3个相同的pg存在于3个不同的osd上,pg其实在osd的存在形式就是一个目录,可以列出来看下: [root@abc ~]# ll /var/lib/ceph/osd/ceph-/current/ total drwxr-xr-x root root Sep : .11_head drwxr-xr-…
本系列文章会深入研究 Ceph 以及 Ceph 和 OpenStack 的集成: (1)安装和部署 (2)Ceph RBD 接口和工具 (3)Ceph 物理和逻辑结构 (4)Ceph 的基础数据结构 (5)Ceph 与 OpenStack 集成的实现 (6)QEMU-KVM 和 Ceph RBD 的 缓存机制总结 (7)Ceph 的基本操作和常见故障排除方法 学以致用,本文将介绍 Ceph 集群的一些基本操作和常见的故障排除方法. 0. 测试环境 将由 Virtulbox 管理的两个虚机,分别是…
一.Ceph集群的运行状态 集群状态:HEALTH_OK,HEALTH_WARN,HEALTH_ERR 1.1 常用查寻状态指令 [root@ceph2 ~]#    ceph health detail HEALTH_OK [root@ceph2 ~]# ceph -s cluster: -4e96-a7ee-980ab989d20d health: HEALTH_OK services: mon: daemons, quorum ceph2,ceph3,ceph4 mgr: ceph4(ac…
Ceph日常运维管理 集群监控管理 集群整体运行状态 [root@cephnode01 ~]# ceph -s cluster: id: 8230a918-a0de-4784-9ab8-cd2a2b8671d0 health: HEALTH_WARN application not enabled on 1 pool(s) services: mon: 3 daemons, quorum cephnode01,cephnode02,cephnode03 (age 27h) mgr: cephno…
Ceph 仍在积极开发中,所以你可能碰到一些问题,需要评估 Ceph 配置文件.并修改日志和调试选项来纠正它. 一.日志记录和调试 般来说,你应该在运行时增加调试选项来调试问题:也可以把调试选项添加到 Ceph 配置文件里来调试启动问题,然后查看 /var/log/ceph (默认位置)下的日志文件. 注意:调试输出会拖慢系统,这种延时有可能掩盖竞争条件 日志记录是资源密集任务.如果你碰到的问题在集群的某个特定区域,只启用那个区域对应的日志功能即可.例如,你的 OSD 运行良好.元数据服务器却不…
pgbouncer+pg(fdw)+pg(datanode)分表方案 (环境RHEL6.5,PG9.4.5,pgbouncer1.5.4,libevent2.0.22) 方案架构图如下: pgbouncer+pg(fdw)+pg(datanode)分表方案架构图 (pgbouncer,PG(FDW)所在的机器为192.168.0.106,PG1所在的机器为192.168.0.108,PG2所在的机器为192.168.0.109) 在192.168.0.106,192.168.0.108,192.…
优化: PG Number PG和PGP数量一定要根据OSD的数量进行调整,计算公式如下,但是最后算出的结果一定要接近或者等于一个2的指数.调整PGP不会引起PG内的对象的分裂,但是会引起PG的分布的变动三.总结PG是指定存储池存储对象的目录有多少个,PGP是存储池PG的OSD分布组合个数PG的增加会引起PG内的数据进行分裂,分裂到相同的OSD上新生成的PG当中PGP的增加会引起部分PG的分布进行变化,但是不会引起PG内对象的变动 Total PGs = (Total_number_of_OSD…
本系列文章会深入研究 Ceph 以及 Ceph 和 OpenStack 的集成: (1)安装和部署 (2)Ceph RBD 接口和工具 (3)Ceph 物理和逻辑结构 (4)Ceph 的基础数据结构 (5)Ceph 与 OpenStack 集成的实现 (6)QEMU-KVM 和 Ceph RBD 的 缓存机制总结 (7)Ceph 的基本操作和常见故障排除方法 (8)关于Ceph PGs https://docs.google.com/presentation/d/1_0eIWNYWvJON4Gr…
https://www.jianshu.com/p/36c2d5682d87 1. PG介绍 继上次分享的<Ceph介绍及原理架构分享>,这次主要来分享Ceph中的PG各种状态详解,PG是最复杂和难于理解的概念之一,PG的复杂如下: 在架构层次上,PG位于RADOS层的中间. a. 往上负责接收和处理来自客户端的请求. b. 往下负责将这些数据请求翻译为能够被本地对象存储所能理解的事务. 是组成存储池的基本单位,存储池中的很多特性,都是直接依托于PG实现的. 面向容灾域的备份策略使得一般而言的…
前文我们了解了ceph集群状态获取常用命令以及通过ceph daemon.ceph tell动态配置ceph组件.ceph.conf配置文件相关格式的说明等,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/16727820.html:今天我们来聊一聊ceph的存储池.PG以及CRUSH相关话题: 一.关于存储池 我们知道ceph客户端存储对象数据到RADOS集群上,不是客户端直接存储到osd上:首先客户端会根据ceph集群的配置,将客户端存储的对象数据切分多…
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.背景 项目中需要在浏览器端直接上传SHP后服务端进行数据的自动入PG库以及发布至geoserver.本方法是以geotools为开发工具实现入库,以geoserver manager来实现服务的自动发布.这里着重描述geotools编写SHP入库的方法. 2.Geotools介绍 2.1总体介绍 Geotools是Java语言编写的开源GIS工具包,其功能涵盖了地理…
W porównaniu do LG5, ta http://www.butyrunning.com/lunarestoa-2-m%C3%84%C2%99skie-c-2_70_71.html konkretna wersja oferuje znacznie więcej gumowo ochronę przed śródstopiu która obsługuje faktyczne uprzednio poddane Flex rowków. ELASTYCZNOŚCI faktyczni…
13 年发现 pg 有了 json 类型,便从 oracle 转 pg,几年下来也算比较熟稔了,总结几个有益的实践. 用途一:存储设计时无法预料的文档性的数据.比如,通常可以在人员表准备一个 json 类型字段,名字叫 info.tag 之类.人员表是系统很难设计的表,常常需要扩充各类信息,如驾照号.社保号等等,在设计时不能全盘考虑到,这些信息的特点是用于登记.检索,但与其它表没有外键关系.有的信息有多个,比如教育经历,包含有中学大学研究生等等.以往需要分出子表或以嵌套表存储,实现复杂,ER 图…
使用下面命令安装报错 gem install pg 错误: [root@AS-test middle_database]# gem install pgBuilding native extensions.  This could take a while...ERROR:  Error installing pg:    ERROR: Failed to build gem native extension. current directory: /usr/local/rvm/gems/rub…
1.按照官网给的步骤编译安装(Mac安装是比较容易的,相比Liunx) cd /Users/renlipeng/Desktop/postgresql-9.5.1 ./configure --prefix=/project --enable-debug make sudo make install cd /project(只是查看) sudo mkdir /project/data sudo chown -R renlipeng data /progect/bin/initdb -D /proge…
此概念的接触是在做分区表的时候碰到的,分区表按时间字段分区,在查询时当where条件中时间为now()或者current_time()等时是无法查询的,即使进行格式转换也不行,只有是时间格式如‘2015-12-12’才能查询,在请教过以后说是函数形态的问题.搜索一篇文章介绍: 转自:http://blog.itpub.net/133735/viewspace-747843/ pg 函数的valatility 有3个属性: 1) volatile :   这种类型的函数可以做任何事情,包括修改数据…
mysql序列(这里只谈innodb引擎): 在使用mysql的AUTO_INCREMENT时,使用AUTO_INCREMENT的字段必须建有索引,也可以为索引的一部分.当没有索引时会报错:          由于mysql是索引组织表,数据存放在主键中,又由于自增列字段内容长度较小,建议选用自增字段为主键. 对于mysql来说AUTO_INCREMENT 的加锁模式是由参数innodb_autoinc_lock_mode决定的,不同的加锁模式加上的不同的insert方式对mysql产生不同的影…
前段时间做了一下zfs做pg的增量恢复测试,mark一下. 服务器信息: 主机:192.168.173.43 备机:192.168.173.41 主备使用流复制搭建,在备机上面进行了zfs快照备份. 做zfs快照备份: 备机: 1.在2016-04-02 15:43:34对存放pg数据的zfs dataset zp1/data01进行快照备份.…
PG CREATEINDEX CONCURRENTLY [TOC] 官方说法 根据9.1的文档 Creating an index can interfere with regular operation of a database. Normally PostgreSQL locks the table to be indexed against writes and performs the entire index build with a single scan of the table…
NFS故障: 场景:客户端挂载是好的.服务端磁盘满了,重新给挂了一快.客户端df -h nfs挂载消失. 客户端报错:Stale file handle 现象如下: [root@test63-spring-node1 web]# ls ls: cannot access share: Stale file handle share [root@test63-spring-node1 web]# ll ls: cannot access share: Stale file handle total…
先说一下我的环境: Ceph cluster中包含6台OSD节点 (osd.0 - 5), 一共有10个Pool (0 - 9), 这些Pool共享了144个PG (这个数字是所有Pool的PG_SIZE相加, 并不是通过ceph osd pool create POOLNAME PG_SIZE指定的!), 文件拷贝数量等于2 (osd_pool_default_size = 2) 查看一下每个osd节点下的/var/local/osd/current目录, 这里面的文件夹就是用来存放对象的,…
gem install pg -v '0.18.2' Building native extensions. This could take a while... ERROR: Error installing pg: ERROR: Failed to build gem native extension. current directory: /Users/bevan/.rvm/gems/ruby-2.3.0/gems/pg-0.18.2/ext /Users/bevan/.rvm/rubie…
1.关闭批处理 2.修改 PG安装路径下的Data文件下的pg_hba.conf文件中去掉IPv6的井号,如下图 3.结束pg进程 4.重启PG服务.…
The System Catalogs of PostgreSQLscott=# \dS List of relations Schema | Name | Type | Owner ------------+---------------------------------+----------+---------- pg_catalog | pg_aggregate | table | postgres pg_catalog | pg_am | table | postgres pg_cat…
转载地址:http://my.oschina.net/liuyuanyuangogo/blog/151537 pg用大对象存储二进制数据的老文档:http://jdbc.postgresql.org/documentation/80/binary-data.html //VM配置:256M-512M //通过lo_import('文件路径')函数向oid字段插入二进制文件,通过(不会内存溢出). /** * * @author Liu Yuanyuan */ private void inser…
集群中的设备异常(异常OSD的添加删除操作),会导致PG的各个副本间出现数据的不一致现象,这时就需要进行数据的恢复,让所有的副本都达到一致的状态. 一.OSD的故障和处理办法: 1. OSD的故障种类: 故障A:一个正常的OSD 因为所在的设备发生异常,导致OSD不能正常工作,这样OSD超过设定的时间 就会被 out出集群. 故障B: 一个正常的OSD因为所在的设备发生异常,导致OSD不能正常工作,但是在设定的时间内,它又可以正常的工作,这时会添加会集群中. 2. OSD的故障处理: 故障A:O…
https://github.com/ty4z2008/Qix/blob/master/pg.md?from=timeline&isappinstalled=0 PostgreSQL(数据库)资料 About:PostgreSQL About <PostgreSQL 源码分析系列> PostgreSQL 源码分析系列 介绍:PostgreSQL 源码分析系列文章 <PG 内存上下文> 介绍:PG 内存上下文,code <PostgreSQL及其代码的结构> 介绍…
本文将介绍如何对PG数据库进行导入.导出,主要利用的是PG自带的pg_dump.pg_dumpall.pg_restore.psql等命令,版本是9.4(不同版本的pg_dump \ pg_restore选项可能会有些不同,请注意).导出.导入的整体思路是: 导出全局对象,如用户.编码.权限等,产生文件global-objs.dmp 导出每个数据库中的对象.结构,如建库语句.用户.权限.编码.表结构.自定义类型等,产生 [库名]-objs.dmp文件,如dxm-objs.dmp 导出每个数据库中…
产生该错误的原因解释如下: Explanation: ============ A stale redo log file is one that Oracle believes might be incomplete for some reason.  This typically happens when a temporary error prevents the LGWR background process from writing to a redo log group member…