炉石传说吧 关注:5,233,145贴子:106,274,278

炉石传说超长维护究竟发生了什么?告诉你真相。

只看楼主收藏回复



IP属地:四川来自Android客户端1楼2017-01-21 15:14回复
    作者:孙益远 已同意转载


    IP属地:四川来自Android客户端2楼2017-01-21 15:15
    回复
      此贴如果被删,说明网易不正视问题。


      IP属地:四川来自Android客户端3楼2017-01-21 15:16
      回复

           --眼熟我,夸我,然后,摸我的头\(//∇//)\


        IP属地:福建来自Android客户端4楼2017-01-21 15:16
        回复
          本人是IT系统集成从业人员,主专业是网络,其他方向略懂。
          网易对外发布的信息非常有限,我的回答是在已有信息的基础上做的猜测,不代表事情的真相。
          摘要:
          可能性1:
          这是一起运维人员操作失误与玩忽职守的责任事故。
          可能性2:
          发生小故障不愿停机维护,带病运行导致事故扩大。
          正文:
          从网易的官方声明中得知14日下午15点20分,数据库断电导致损坏。
          说真的,网易要说起火说不定我还信了,首先这种数据库肯定不是放在一般的服务器里,而是存储在专业的磁盘阵列柜或者说是专业存储服务器中。这种专业存储设备我还没听说过哪家不是用的双电源,一般都是一路市电一路UPS。高档点的机房都是两路独立UPS。(网易当年魔兽的服务器规模甚至超过暴雪,买不起两路独立UPS?啥,你说两路UPS同时都挂了,三石买彩票去吧)
          高档点的存储还有3电源4电源内部还带一个应急电池的,虽然电池就够个几分钟,接个备用电源也还是来得及的。
          退一万步讲,既然14日下午数据库已经断电故障了,那15日16日游戏还在运行,还可以玩,那么这个数据哪来的?那么本人在此做一个大胆的推测:故障的数据库是备份数据库
          既然16日还在运行,那么为何要回档到14日?16日的数据当真是找爸爸去了?
          另外有个回答是封号失误造成滥杀无辜,那么我想封号记录应该是有记录封号时间的(如果没有,那是数据库结构设计的不合理),重做今天的封号就好。即使是真的没有封号时间的记录,需要把之前的封号脚本全部重跑一遍,对于一个商用数据库,每秒1万次的update操作应当是可以达到的。那么24个小时就足够封掉8.6亿个账号,炉石有这么多玩家?
          即便真的是操作不当丢失了16日的数据,那么还有一个手段可用:数据库审计。
          数据库审计是串接(也可以旁路)在数据库前面的硬件设备,记录了对数据库的每一次操作,拿着14日的数据和审计日志一步步还原,也可以完全还原数据。如果说这种重要的数据库不弄个数据库审计,网易还真是心大。特别是携程删库事件之后。
          无责任推测事件过程:
          N久以前,备份数据库的某一路供电坏了,管理员eat sh_t去了没发现。
          14日下午,备份数据库的另一路电源也挂了,管理员又没发现。(我为什么要说又呢?)
          17日维护,以为数据已经自动备份,没有检查备份状态,也没有单独手动备份,直接开搞。‘结果操作失误,数据被搞坏了。
          回头去翻备份,结果发现备份数据库14号就已经挂掉了。没有单独手动备份,没有数据库审计的日志。折腾了快两天被弄坏的数据也未能复原。没办法了,再不上线就要上吊了。回档到14号折腾上线再说吧。


          IP属地:四川来自Android客户端5楼2017-01-21 15:16
          收起回复
            直播


            IP属地:陕西来自手机贴吧6楼2017-01-21 15:17
            收起回复
              反正没得事,补偿没拿到,人呢?


              IP属地:四川来自Android客户端7楼2017-01-21 15:18
              收起回复
                假若说发生断电的是运行中的业务数据库而不是备份数据库,根据网易的公告,15:20分断电,现在也把数据回档到15:20分,说明网易对数据库的备份并不是简单的一天一备,而是实现了分钟级甚至秒级的备份。那么为什么在断电恢复当时不直接调用备份进行回档?而是要继续用那个损坏的数据库重新上线?毕竟当时立即选择回档,网易,暴雪,玩家付出的代价都比现在小得多。
                借用《重返危机现场》的开场白:事故不会凭空发生,而是关键事件的连锁反应
                电源,服务器,存储,备份,重重保护下的数据发生这种事故。不是单一因素所能造成,必然是多个环节发生了一连串的故障,巧合和失误。网易公告的断电也许只是压倒骆驼的最后一根稻草。


                IP属地:四川来自Android客户端8楼2017-01-21 15:19
                回复
                  这特么 不就是炉石吧的吗


                  IP属地:中国香港来自iPhone客户端9楼2017-01-21 15:19
                  收起回复
                    转个啥


                    IP属地:中国香港来自iPhone客户端10楼2017-01-21 15:19
                    回复
                      我只想知道超长补偿时间究竟发生了什么


                      来自iPhone客户端11楼2017-01-21 15:21
                      收起回复
                        抛开断电说,推测故障的另一种可能
                        之前暴雪招聘DBA Lead,要求如下
                        深入理解Oracle内部原理,熟练掌握RAC和ASM,熟悉Golden Gate复制,熟悉Linux脚本编程。
                        那么暴雪的数据库架构就出来了
                        数据库:Oracle,RAC(实时应用集群)+ASM(自动存储管理)
                        系统:Linux
                        同步:Golden Gate(通过读取日志进行数据库同步,可以实现低于1秒的实时复制)
                        故障时间在14日,但是可能在15:20分之前发生
                        故障应该是数据库坏块,坏块不严重时,oracle可以带病运行。
                        数据库没有容灾,不能切换到备用数据库运行。(“备用”和“备份”是两个概念)
                        网易为了业务不中断,决定带病运行,并尝试在线修复(故障后游戏仍然可以运行,说明故障不严重)。这一决策的失误导致最终的大麻烦。
                        日志可能有损坏,导致数据复制也出现问题,没办法用备份修复。(所谓的“备份出问题”)
                        数据库坏块在线修复失败,且故障在扩大。准备将业务停止,修复坏块(停机8小时)
                        结果停机维护遇到相当大的困难,延长停机时间
                        最终,修不好了,回档
                        坏块的原因,比起停电,个人认为磁盘(不要和我说什么SSD,这里的磁盘是指的所有可能的存储介质)故障的可能性更大。
                        根据停机时间,推测数据库体积在8-12TB的样子。
                        所以,故障发生时,网易不愿意中断业务,选择了风险更大的带病运行。并最终导致2天的数据回档。
                        也许以后再出类似故障网易会选择停止业务,立即回档。
                        公司体量大,不代表不会出问题,比如这个


                        IP属地:四川来自Android客户端12楼2017-01-21 15:26
                        回复


                          IP属地:江苏来自Android客户端13楼2017-01-21 15:28
                          回复


                            14楼2017-01-21 15:31
                            回复
                              ddd


                              来自Android客户端15楼2017-01-21 15:32
                              回复