一、Percona网站宕机事件

  震级:3

  发生时长:2011年7月11日

  持续时长:数日

  地点:加州Pleasanton(幸福屯)

  宕机原因:Percona网站主服务器上的3块硬盘损坏,同时因为人员变更,导致未能如预期地恢复,多个网站资产因此下线数小时到数天不等,影响其软件下载及交易。

  经验:备份不一定永远正常,不应该对其抱有过多期待。

  二、GitHub服务中断

  震级:4

  发生时间:2012年9月10-11日

  持续时长:1:46小时

  地点:加州圣弗朗西斯科

  宕机原因:GitHub将一对古老的、基于DRBD的MySQL服务器替换成一个拥有3个节点的集群。在合并到新系统时,“活动的”数据库自动出现了多个故障转移(failover),同时又因为集群管理软件的错误操作导致性能下降,最终造成网站宕机。

  经验:GitHub修改了Pacemaker配置来保证故障转移仅仅可以被运维人员控制。

  三、Journal Space所有数据丢失及网站关闭

  震级:5

  发生时间:2009年1月5日

  持续时长:无限期

  宕机原因:Journal Space是一个拥有6年历史的博客平台,基于MySQL开发,其唯一的数据库备份机器由RAID系统维护。最终网站的数据因前员工的报复行为被重写,最终导致所有用户数据丢失以及网站关闭。

  经验:永远不要把驱动器镜像当做备份——它能防范物理故障带来的问题,但是不提供时间点恢复功能。

  四、PHPFog共享数据库运行中断

  震级:6

  发生时间:2012年10月8日

  持续时长:8小时

  地点:俄勒冈州波特兰

  宕机原因:PHPFog将用户数据合并到一个新的共享数据库服务上,但是在合并过程中遭受过多的堆叠连接,最终共享数据库停止响应,因此在共享数据库从快照中恢复前一直处于服务不稳定状态。从问题发生到解决一共历时8小时。

  经验:这一事件后,PHPFog加速Amazon RDS用户迁移活动。

  五、Couch Surfing因MySQL数据库故障导致服务关闭

  震级:7

  发生时间:2006年6月

  地点:加州圣弗朗西斯科

  持续时长:1个月

  宕机原因:流行社交网站Couch Surfing曾拥有90000名用户,在2006年遭遇了一场严重的硬盘问题,在试图恢复数据时发现数据库增值备份遭遇问题。其MySQL数据库以及应用关键部分丢失,因此创始人最终关闭了这项服务,随后用户社区又将它重启。

  经验:任何MySQL系统必须有一个以上备份服务器;每天都必须验证MySQL备份进程。

  六、magnolia因丢失主数据库和备份导致最终无法完全恢复

  震级:7

  发生时间:2009年1月30日

  地点:加州圣弗朗西斯科

  持续时长:无限期

  宕机原因:Magnolia和Delicious一样,是一个流行的书签服务,基于MySQL数据库。该服务在由于硬盘损坏以及备份系统的错误,丢失了主数据库和备份,最终无法完全恢复。

  经验:确保硬件的可靠性非常重要;备份系统是否可行必须得到充分的验证。

  七、Amazon RDS宕机事件

  震级:9

  发生时间:2012年6月29日

  持续时长:3小时

  地点:弗吉尼亚州北部

  用户影响:亚马逊EC2云计算服务以及包括Netflix公司、Heroku、Pinterest、 Quora、HootSuite和Instagram等。

  宕机原因:一个被称为derecho的强雷暴天气系统通过弗吉尼亚州北部,使得亚马逊在该地区的设施失去了动力,发电机不能正常运行,消耗应急电源的不间断电源(电源)系统,从而导致运行在Amazon RDS上的大概上千个MySQL数据库宕机。

  经验:扩大7*24小时工程师支持团队规模,发生电源系统故障、UPS启动之前完全支持手动操作开启发电机开关。

  八、Amazon RDS宕机事件

  震级:10

  发生时间:2011年4月21日

  持续时长:48小时

  地点:弗吉尼亚州北部

  用户影响:导致使用AWS平台的Reddit、Foursquare、Hootsuite、Quora以及其他多家社交网络服务商成为“受害者” 。

  宕机原因:亚马逊修改网络设置,同时在对主网络升级扩容过程中,工程师不慎将主网数据全部切换到从网,由于从网带宽较小,而它的设计目的并非用于主网容灾或备份,因此导致网络堵塞,所有EBS(Elastic Block Store)节点通信全部中断,导致存储着数据和日志的MySQL数据库宕机,其中运行在一个可用区域里41%的MySQL数据库宕机24小时,14.6%宕机48小时。

  经验:亚马逊重新审计了网络设置修改流程、增强自动化运维手段以及容灾架构设计。

(转)从史上八大MySQL宕机事故中学到的经验的更多相关文章

  1. 从史上八大MySQL事故中学到的经验

    本文列举了史上八大MySQL宕机事件原因.影响以及人们从中学到的经验,文中用地震级数来类比宕机事件的严重性和后果,排在最严重层级前两位的是由于亚马逊AWS宕机故障(相当于地震十级和九级). 一.Per ...

  2. 记录一次mysql宕机的解决办法

    首先先粘贴出来我的错误信息,如下: 2019-07-16T00:53:18.285919Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysq ...

  3. 如何看待 SAE 在2014 年 3 月 24 日发生的的大面积宕机事故?

    3 月 24 日晚间大约 23 点左右,新浪云 SAE 一处核心机柜掉电,导致 SAE 平台下大量应用无法正常访问,并在 10 小时后才陆续修复.这次事故暴露 SAE 的哪些缺陷?SAE 运维人员又是 ...

  4. 一次修改数据库物理文件造成Mysql宕机的恢复记录

    事件起始 某夜,我正在床上冥想准备入睡,忽然同事向我求救:消息内容如下: Oh My Gold 改了些配置,啥都没了!都没了!没了!了! 我仔细询问,原来是她因为某些原因将某库的物理文件夹改名后,发现 ...

  5. mysql宕机,导致innodb_force_recovery恢复不了

    https://serverfault.com/questions/698038/mysql-innodb-recovery-from-datafiles https://serverfault.co ...

  6. MySQL定时检查是否宕机并邮件通知

    我们有时候需要一些检查MySQL是否宕机,如果宕机了应自动重新启动应用并通知运维人员!此脚本用来简单的实现MySQL宕机后自动重启并邮件通知运维,此为SHELL脚本,当然也有一些朋友喜欢用Python ...

  7. 线上Mysql数据库崩溃事故的原因和处理

    前文提要 承接前文<一次线上Mysql数据库崩溃事故的记录>,在文章中讲到了一次线上数据库崩溃的事件记录,建议两篇文章结合在一起看,不至于摸不着头脑. 由于时间原因,其中只讲了当时的一些经 ...

  8. Spring+SpringMVC+MyBatis+easyUI整合进阶篇(八)线上Mysql数据库崩溃事故的原因和处理

    前文提要 承接前文<一次线上Mysql数据库崩溃事故的记录>,在文章中讲到了一次线上数据库崩溃的事件记录,建议两篇文章结合在一起看,不至于摸不着头脑. 由于时间原因,其中只讲了当时的一些经 ...

  9. VmWare平台Windows Server 2012 无响应宕机

    我们生产服务器都部署在VMware ESXi 5.5平台上,最近大半年的时间,偶尔就会出现操作系统为Windows Servre 2012的服务器出现没有任何响应(unresponsive)的情况,出 ...

随机推荐

  1. selenium 调用键盘按键

    1.想要调用键盘按键操作需要引入keys包: from selenium.webdriver.common.keys import keys 通过send_keys() 调用按键 send_keys( ...

  2. Windows环境部署并调试pyspark(一)

    准备: windows环境说明:Python2.7 + pipspark版本:spark-1.6.1-bin-hadoop2.6 step1: 下载并解压tar包到自定义的路径.(下载链接 https ...

  3. git 修改commit日期为之前的日期

    我在之前修改了一个文件,但是没有commit,现在我想要commit,日期为那天的日期 git commit --date="月 日 时间 年 +0800" -am "提 ...

  4. Linux: 查看软件安装路径

    一.        Which 命令 Shell 的which 命令可以找出相关命令是否已经在搜索路径中. 如: [root@localhost ~]# which gcc /usr/bin/gcc ...

  5. Java 7 JVM和垃圾收集

    ---恢复内容开始--- 写JAVA程序,一定要了解JVM(JAVA Virtual machine)一些基础知识和垃圾收集.如果对JVM已经很了解了,可以不用继续往下阅读了.本文只针对Java 7, ...

  6. MySQL索引(1)

    所有MySQL列类型都可以被索引,对相关列使用索引是提高SELECT操作性能的最佳途径.根据存储引擎可以定义 每个表的最大索引数和最大索引长度,每种存储引擎(如MyISAM.InnoDB.BDB.ME ...

  7. mybatis 参数为list时,校验list是否为空

    校验objStatusList 是否为空 <if test="objStatusList != null and objStatusList.size() > 0 "& ...

  8. nodejs运行前端项目

    有时候我们会创建一些小项目,只有几个简单html,没有引入一些前端框架,也没有使用webpack,那我们要如何让代码在我们本地跑起来呢? 当然是有很多种方法,IIS.wampserver等等好多都可以 ...

  9. 走进 Visual Studio Mobile Center for Xamarin.Forms

    前几篇分别介绍了 Xamarin.Forms 的 MVVM 的 Prism,UITest,Nuint Test,那这样算下来,代码部分基本结构都有了(逻辑就先忽略吧) 那接下来就应该是自动 Build ...

  10. Problem E 

    Problem Description 省政府"畅通工程"的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可).现得到城镇道路统计 ...