本次分享的案例是由于机房突然断电导致整个存储瘫痪,加电后存储依然无法使用。经过用户方工程师诊断后认为是断电导致存储阵列损坏。整个存储是由12块盘组成的RAID-6磁盘阵列,被分成一个卷,分配给几台Vmware的ESXI主机做共享存储。整个卷中存放了大量的Windows虚拟机,虚拟机基本都是模板创建的,系统盘都为统一大小,数据盘大小不确定,并且数据盘都是精简模式。
机房突然断电导致整个存储瘫痪,加电后存储依然无法使用。经过用户方工程师诊断后认为是断电导致存储阵列损坏。
本文和封面来源:https://www.percona.com/blog,爱可生开源社区翻译。
下面的参数目的是用在PostgreSQL源代码上, 并且在某些情况下可以帮助恢复严重损坏了的数据库。在一个生产数据库中没有理由使用它们。同样,它们被从例子postgresql.conf文件中排除。请注意许多这些参数要求特殊的源代码编译标志才能工作。
从以开始就一直在尝试对WAL进行不同级别的压缩。自2016年以来内置功能(wal_compression)就一直存在,几乎所有备份工具都会在传递到备机前对WAL进行压缩。但现在是时候再看看内置的wal_compression功能了。因为PG15提供了更多功能。如果我们将其与PG15中WAL归档的其他重大改进相结合,将会有相当大的收益,如之前贴子PG15中的新WAL归档模块/库:
第一期就从基本的初始化参数讲起,一篇一个参数,会尽可能的具体. 如无特殊说明数据库版本为11g
该文介绍了虚拟机备份和恢复的六大最佳实践:使用增量备份提高备份速度;使用快照备份数据,但不要将快照作为备份手段;在虚拟层备份虚拟机;将备份数据复制到次要位置;加密备份;定期测试恢复软件,确保备份未损坏
你好,技术圈的小伙伴们!猫头虎博主又来啦!最近发现很多朋友在搜索“PostgreSQL备份方法”、“PostgreSQL恢复数据教程”等关键词,显示了大家对PostgreSQL备份和恢复的浓厚兴趣。那么,这篇《PostgreSQL备份与恢复:步骤与最佳实践》是为了满足大家的这份求知欲。一起深入探讨吧!
今天早上FlowPortal系统突然出现如下报错: 连接服务器”127.0.0.1″失败。 原因: No connection could be made because the target machine actively refused it 127.0.0.1:1590
什么是事务日志? 事务日志是每个SQL Server数据库的文件组成部分。它包含在SQL Server数据库中日志记录过程中生成的日志记录。当涉及到灾难恢复时,事务日志是SQL服务器数据库中最重要的组
因为POSTGRESQL 备份的方式很多,所以在众多的备份方式和软件中,也只能“半网打进”。
对于物理损坏的数据块,我们可以通过RMAN块介质恢复(BLOCK MEDIA RECOVERY)功能来完成受损块的恢复,而不需要恢复整个数据库或所有文件来修复这些少量受损的数据块。恢复整个数据库或数据文件那不是大炮用来打蚊子,有点不值得!但前提条件是你得有一个可用的RMAN备份存在,因此,无论何时备份就是一切。本文演示了产生坏块即使用RMAN实现坏块恢复的全过程。
PostgreSQL从小白到专家,是从入门逐渐能力提升的一个系列教程,内容包括对PG基础的认知、包括安装使用、包括角色权限、包括维护管理、、等内容,希望对热爱PG、学习PG的同学们有帮助,欢迎持续关注CUUG PG技术大讲堂。
如果您在生产环境中使用PostgreSQL,请务必采取预防措施以确保用户的数据不会丢失。通过频繁备份数据库或使用cron任务自动执行备份,您将能够在数据库丢失或损坏的情况下快速还原系统。幸运的是,PostgreSQL包含的工具使这项任务变得简单易行。
移动硬盘无法访问提示"此卷不包含可识别的文件系统"怎么办?如何修复?移动硬盘里有重要数据,有办法恢复吗?不要着急,小编一一为你解答。
在任何时间,PostgreSQL在数据集簇目录的pg_wal/子目录下都保持有一个预写式日志(WAL)。这个日志存在的目的是为了保证崩溃后的安全:如果系统崩溃,可以“重放”从最后一次检查点以来的日志项来恢复数据库的一致性。该日志的存在也使得第三种备份数据库的策略变得可能:我们可以把一个文件系统级别的备份和WAL文件的备份结合起来。当需要恢复时,我们先恢复文件系统备份,然后从备份的WAL文件中重放来把系统带到一个当前状态。这种方法比之前的方法管理起来要更复杂,但是有其显著的优点:
PostgreSQL 10 版本开始支持逻辑复制,在12版本之前逻辑复制仅支持普通表,不支持分区表,如果需要对分区表进行逻辑复制,需单独对所有分区进行逻辑复制。
最近一场调查还是挺意外的,PostgreSQL超越MySQL成为最受欢迎的数据库。身边的客户也有不少开始采用PostgreSQL作为生产的数据库,同时大模型火热、常时记忆的需求,也催生了对向量数据库的需求,而PostgreSQL,众多原因让我不得不把目光投向了这款产品,准备写一篇系列文章介绍PostgreSQL的备份体系、高可用建设、混沌工程、监控体系等内容。
哈希树(Hash Tree),在密码学及计算机科学中是一种树形数据结构,每个叶节点均以数据块的哈希作为标签,而除了叶节点以外的节点则以其子节点标签的加密哈希作为标签 。哈希树能够高效、安全地验证大型数据结构的内容,是哈希链的推广形式。
编辑手记:最近刷爆了朋友圈的GitLab删库事件惊醒了一大批运维人员,五重备份全部失效,这是真的吗?嗯,经过无数次确认,的确所有备份都失效。而我同样相信,存在类似隐患的企业不在少数,如果你的系统遭遇类似故障,你是否能幸免。 讲真,年初好好地做一次备份的有效性校验吧。今天分享一些常用的校验有效性的方法。文章来自官方文档翻译。 1、RMAN校验 RMAN校验的主要目的是检验坏块和丢失的文件,数据库一般会阻止可能导致失效的备份文件或者损坏的还原文件的操作。 RMAN校验主要会进行以下操作: 在恢复或还原数据文
checkpoint又名检查点,一般checkpoint会将某个时间点之前的脏数据全部刷新到磁盘,以实现数据的一致性与完整性。目前各个流行的关系型数据库都具备checkpoint功能,其主要目的是为了缩短崩溃恢复时间,以Oracle为例,在进行数据恢复时,会以最近的checkpoint为参考点执行事务前滚。而在WAL机制的浅析中,也提过PostgreSQL在崩溃恢复时会以最近的checkpoint为基础,不断应用这之后的WAL日志。
postgresql主从复制是一种高可用解决方案,可以实现读写分离。postgresql主从复制是基于xlog来实现的,主库开启日志功能,从库根据主库xlog来完成数据的同步。
我们都知道MySQL 的复制技术,通过主从同步可以实现读写分离,热备份,让服务器更加高可用。MySQL 的复制主要是通过 Binlog 来完成的,Binlog 记录了数据库更新的事件,从库 I/O 线程会向主库发送 Binlog 更新的请求,同时主库二进制转储线程会发送 Binlog 给从库作为中继日志进行保存,然后从库会通过中继日志重放,完成数据库的同步更新
http://amitkapila16.blogspot.com/2021/07/logical-replication-of-in-progress.html
如果数据库只有很少的数据块被破坏,那么块介质恢复(Block Media Recovery,BMR)是较好的块恢复方法。BMR只能用于恢复物理损坏(Physical Corruptions),在数据文件联机时即可恢复相关坏块。BMR主要使用BLOCKRECOVER命令进行恢复坏块,该命令有以下三种使用方式:
PostgreSQL是一个开源数据库平台,因其易于维护,成本效益以及与其他开源技术的简单集成而广受网络和移动应用程序开发人员的欢迎。
0 操作成功完成。 1 函数不正确。 2 系统找不到指定的文件。 3 系统找不到指定的路径。 4 系统无法打开文件。 5 拒绝访问。 6 句柄无效。 7 存储控制块被损坏。 8 存储空间不足,无法处理此命令。 9 存储控制块地址无效。 10 环境不正确。 11 试图加载格式不正确的程序。 12 访问码无效。 13 数据无效。 14 存储空间不足,无法完成此操作。 15 系统找不到指定的驱动器。 16 无法删除目录。 17 系统无法将文件移到不同的驱动器。 18 没有更多文件。 19 介质受写入保护。 20
说明:关于本文提到的所有参考文档,一律上传分享,关注本公众号回复 122arch 获得。
wal_level (enum) wal_level决定多少信息写入到 WAL 中。默认值是replica,它会写入足够的数据以支持WAL归档和复制,包括在后备服务器上运行只读查询。minimal会去掉除从崩溃或者立即关机中进行恢复所需的信息之外的所有记录。最后,logical会增加支持逻辑解码所需的信息。每个层次包括所有更低层次记录的信息。这个参数只能在服务器启动时设置。
客户故障为VMWARE原本挂载的VMFS分区丢失,导致存储在里面的虚拟机丢失。发现虚拟异常后,关闭虚拟机,虚拟机无法再次启动,后重启物理服务器,提示载入硬盘阵列信息,依旧无法看到文件,在远程管理中查看到RAID6第6块盘脱机。
想象一下如果你必须在几个星期内迁移数以亿计的数据和100多个服务项目,同时还要保持UBER被几百万的乘客正常使用,这是多么艰巨的任务啊!而以下这个故事就是关于数十名工程师是如何帮助UBER在2014年迁移到Mezzanine的故事。 在2014年年初,我们面临了一个严峻的现实问题,关于我们的路径的增长(一个月约增长了20%),所以在年底之前用于存储路径的存储容量将会不够用。我们因此推出Mezzanine项目这一盛举来解决这个特别的问题。数据大迁移的日期定为万圣节(10月31日),而这恰是交通量会非常高的一天
l 按照上面的方法,再创建另一块虚拟硬盘home.vdi,这里仅仅是为了说明问题,所以创建两块,第二块虚拟硬盘的名称设置为:home,大小设置为40GB,还放在刚才的路径D:\Debian\下。
当我们谈到代码托管平台,我们不得不先谈一谈“版本控制”。什么是“版本控制”?版本控制是一种记录一个或若干内容变化,以便将来查阅特定版本修订情况的系统。在我们日常的编写代码过程或者工作中,版本控制显得尤为重要。有了它你就可以将选定的文件回溯到之前的状态,甚至可以将整个项目代码都回退到过去某个时间点的状态,你可以比较文件的变化细节,查出最后是谁修改了哪个地方,从而找出导致怪异问题出现的原因,又是谁在何时报告了某个功能缺陷等等。使用版本控控制系统通常还意味着,就算你胡乱处理项目中的文件,你也照样可以轻松回复到原先的养殖,而且额外增加的工作量却是微乎其微。
〖0〗-操作成功完成。 〖1〗-功能错误。 〖2〗-系统找不到指定的文件。 〖3〗-系统找不到指定的路径。 〖4〗-系统无法打开文件。 〖5〗-拒绝访问。 〖6〗-句柄无效。 〖7〗-存储控制块被损坏。 〖8〗-存储空间不足,无法处理此命令。 〖9〗-存储控制块地址无效。 〖10〗-环境错误。 〖11〗-试图加载格式错误的程序。 〖12〗-访问码无效。 〖13〗-数据无效。 〖14〗-存储器不足,无法完成此操作。 〖15〗-系统找不到指定的驱动器。 〖16〗-无法删除目录。 〖17〗-系统无法将文件移到不同的驱动器。 〖18〗-没有更多文件。 〖19〗-介质受写入保护。 〖20〗-系统找不到指定的设备。 〖21〗-设备未就绪。 〖22〗-设备不识别此命令。 〖23〗-数据错误 (循环冗余检查)。 〖24〗-程序发出命令,但命令长度不正确。 〖25〗-驱动器无法找出磁盘上特定区域或磁道的位置。 〖26〗-无法访问指定的磁盘或软盘。 〖27〗-驱动器找不到请求的扇区。 〖28〗-打印机缺纸。 〖29〗-系统无法写入指定的设备。 〖30〗-系统无法从指定的设备上读取。 〖31〗-连到系统上的设备没有发挥作用。 〖32〗-进程无法访问文件,因为另一个程序正在使用此文件。 〖33〗-进程无法访问文件,因为另一个程序已锁定文件的一部分。 〖36〗-用来共享的打开文件过多。 〖38〗-到达文件结尾。 〖39〗-磁盘已满。 〖50〗-不支持该请求。 〖51〗-远程计算机不可用 。 〖52〗-在网络上已有重复的名称。 〖53〗-找不到网络路径。 〖54〗-网络忙。 〖55〗-指定的网络资源或设备不再可用。 〖56〗-已到达网络 BIOS 命令限制。 〖57〗-网络适配器硬件出错。 〖58〗-指定的服务器无法运行请求的操作。 〖59〗-发生意外的网络错误。 〖60〗-远程适配器不兼容。 〖61〗-打印机队列已满。 〖62〗-无法在服务器上获得用于保存待打印文件的空间。 〖63〗-删除等候打印的文件。 〖64〗-指定的网络名不再可用。 〖65〗-拒绝网络访问。 〖66〗-网络资源类型错误。 〖67〗-找不到网络名。 〖68〗-超过本地计算机网卡的名称限制。 〖69〗-超出网络 BIOS 会话限制。 〖70〗-远程服务器已暂停,或正在启动过程中。 〖71〗-当前已无法再同此远程计算机连接,因为已达到计算机的连接数目极限。 〖72〗-已暂停指定的打印机或磁盘设备。 〖80〗-文件存在。 〖82〗-无法创建目录或文件。 〖83〗-INT 24 失败。 〖84〗-无法取得处理此请求的存储空间。 〖85〗-本地设备名已在使用中。 〖86〗-指定的网络密码错误。 〖87〗-参数错误。 〖88〗-网络上发生写入错误。 〖89〗-系统无法在此时启动另一个进程。 〖100〗-无法创建另一个系统信号灯。 〖101〗-另一个进程拥有独占的信号灯。 〖102〗-已设置信号灯且无法关闭。 〖103〗-无法再设置信号灯。 〖104〗-无法在中断时请求独占的信号灯。 〖105〗-此信号灯的前一个所有权已结束。 〖107〗-程序停止,因为替代的软盘未插入。 〖108〗-磁盘在使用中,或被另一个进程锁定。 〖109〗-管道已结束。 〖110〗-系统无法打开指定的设备或文件。 〖111〗-文件名太长。 〖112〗-磁盘空间不足。 〖113〗-无法再获得内部文件的标识。 〖114〗-目标内部文件的标识不正确。 〖117〗-应用程序制作的 IOCTL 调用错误。 〖118〗-验证写入的切换参数值错误。 〖119〗-系统不支持请求的命令。 〖120〗-此功能只被此系统支持。 〖121〗-信号灯超时时间已到。 〖122〗-传递到系统调用的数据区太小。 〖123〗-文件名、目录名或卷标语法不正确。 〖124〗-系统调用级别错误。 〖125〗-磁盘没有卷标。 〖126〗-找不到指定的模块。 〖127〗-找不到指定的程序。 〖128〗-没有等候的子进程。 〖130〗-试图使用操作(而非原始磁盘 I/O)的已打开磁盘分区的文件句柄。 〖131〗-试图移动文件指针到文件开头之前。 〖132〗-无法在指定的设备或文件上设置文件
和对外部世界可访问的任何服务器守护进程一样,我们也建议在一个独立的用户账户下运行PostgreSQL。这个用户账户应该只拥有被该服务器管理的数据,并且应该不能被其他守护进程共享(例如,使用用户nobody是一个坏主意)。我们不建议把可执行文件安装为属于这个用户,因为妥协系统可能接着修改它们自己的二进制文件。
数据库随着时间的推移而增长,有时会超出原始文件系统的空间。当它们与操作系统的其余部分位于同一分区时,这也可能导致I / O争用。
作者 | Tom Kleinpeter and Jamie Turner 译者 | 王强 策划 | 万佳 1宕机事件总结 本文总结了过去遇到的许多次宕机事件中反复出现的问题。工程团队在处理这些事件时,某些模式(无论是作为风险还是作为资产)几乎次次都能遇到。 从这些反复出现的模式中,我们提取出了一些工程团队准备采纳的经验教训,希望你也能从中学到有用的知识并做好准备。 2第 1 课:循环依赖会破坏你的运维工具 使用自己做出来的东西是一种很好的做法——毕竟,如果你都不这样做,你怎么能指望客户使用你的产品和服务呢
上次我们介绍了采用逻辑备份mysqldump 备份方式,其最大的缺陷就是备份和恢复速度都慢,但如果数据库非常大,那再使用 mysqldump 备份就不太适合了。这时就需要一种好用又高效的工具,xtrabackup 就是其中一款,号称免费版的 InnoDB HotBackup。(mysqldump备份请到L宝宝聊IT公众号中找“mysql备份与还原——mysqldump结合binlog”文章)
一个提供对表的递增和并发ANALYZE操作的工具。对追加优化表来说, analyzedb只在统计数据不是最新的时候才更新统计信息。
喵喵~ 🐱 猫头虎博主又来和大家分享啦!你是否曾在搜索“PostgreSQL安全配置”或“PostgreSQL安全实践”时感到困惑?数据安全绝对是我们不能忽视的重点,因此我特地准备了这篇《确保安全:PostgreSQL安全配置与最佳实践》。让我们一起深入了解如何锁定那些可疑的安全隐患吧!🔐
哪些因素可能会导致损坏? 损坏的原因也各不相同,包括但不限于 无法读取/写入存储介质 程序发生崩溃(特别是在数据写入 RVT 模型时) 附加模块以通过正常 UI 无法或意外的方式修改图元 未经测试的多项操作或一系列操作(例如,取消同步或在同步后使用“撤消”命令) 解决方案: 要最大程度地减少数据损坏的发生率,请执行以下操作: 注意:如果您使用的是 2017 版本的 Revit,请务必安装 2017.1 Update,因为其中包含专门用于解决损坏的更改:修复损坏的中心模型
HDFS作为分布式文件系统在分布式环境下如何保证数据一致性。HDFS中,存储的文件将会被分成若干的大小一致的block分布式地存储在不同的机器上,需要NameNode节点来对这些数据进行管理,存储这些block的结点称为DataNode,NameNode是用来管理这些元数据的。
感谢本文译者田川 ! 欢迎更多资深用户翻译原厂博文(https://blog.zabbix.com/)!
本篇博客将为您提供关于PostgreSQL数据库的安装和使用教程,帮助您快速上手使用这个强大的开源关系型数据库系统。我们将介绍安装过程和基本使用方法,让您能够轻松开始使用PostgreSQL。
作者介绍:林锦,腾讯云数据库团队高级工程师,曾任云计算初创公司系统架构师,从事分布式系统研发7年,2017年加入腾讯云,从事NewSQL研发工作,目前主要负责CynosDB for PostgreSQL开发工作。
领取专属 10元无门槛券
手把手带您无忧上云