首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  程序员

记录一下刚刚发生的内部业务系统故障

  •  1
     
  •   zhujinliang · 100 天前 · 4985 次点击
    这是一个创建于 100 天前的主题,其中的信息可能已经有所发展或是发生改变。
    公司有一内部业务应用,运行在公司机房里的一台服务器上,同机房里还有宽带接入、核心交换等设备。
    公司有两处办公地点,A 处为老办公室,设备有些老旧,服务器也放在这边; B 处为新办公室,我们技术部在这边办公。两办公室各自有独立的局域网以及公网 IP,使用 IPSEC VPN 连通。

    上午 9:40 左右,有同事反映业务系统打不开或加载超时。毕竟系统跨着公网,这种故障偶有发生,我们像往常一样检查 VPN 是否通畅、两个路由器负载是否过高、是否有某 IP 流量异常。
    检查一圈下来没有发现异常,我们这边打开正常,A 处路由器负载有点高,但不像是故障原因。于是跟同事们说可能 A 处网络有卡顿,大家稍后再试一下。
    这个事就暂时这样了。

    上午 11:00 左右,越来越多的同事反映系统无法使用,我们尝试打开系统,发现故障升级了,报 502 错误,此时肯定大家都无法使用了。
    通过 SSH 登录业务服务器,ps 查看发现业务应用没有运行,查看日志发现数据库表有错误。
    我们部门领导已打车奔赴前线调查故障原因以及安抚用户情绪。
    尝试使用 SQL 命令修复表,失败,提示无法创建临时文件,没有权限。担心硬盘故障,df 查看剩余空间足够,dmesg 没有报告硬盘写入错误,SMART 报告健康,松了口气。
    中间看了下 uptime,服务器刚刚被重启过。
    继续尝试修复表,通过万能的 StackOverflow 得知可以使用 myisamchk 修复表,于是停掉数据库,进入数据目录,尝试修复表文件。
    修复进行顺利,在修复了若干表后,11:30 左右通知同事们业务系统可用了。

    与此同时,前线的领导说故障原因找到了。
    系某领导所在楼层的交换机故障引发。
    某品牌某些比较老的交换机在长时间使用后会出现一种故障,以前见到过,交换机会在工作中突然进入一种异常状态,表现为超高的丢包率。
    该领导发现自己上网卡顿,系统打不开,于是他拿起了机房的钥匙,把整个机柜断电,再重新上电来重启设备。服务器意外掉电又导致数据表损坏。

    整个故障过程先是网络卡顿导致几个同事偶尔出现加载失败的情况,然后交换机故障使得该领导以为故障迟迟未得到解决,于是他试图重启机房里的设备解决故障。可能他之前也这样做过,幸运的是没有造成服务器上的文件损坏,而且解决了故障。

    总结:
    网线千万条,稳定第一条。
    重启不规范,运维两行泪。
    49 回复  |  直到 2019-02-15 13:07:28 +08:00
        1
    hellovx   100 天前   ♥ 7
    重启这领导太硬核了……
        2
    TomatoYuyuko   100 天前
    非物质文化遗产:电视机雪花拍两下就好了(滑稽
        3
    padapen   100 天前   ♥ 10
    于是他拿起了机房的钥匙,把整个机柜断电,再重新上电来重启设备.....看见这种,真想一板砖拍过去
        4
    Hancock   100 天前
    领导给力
        5
    mscststs   100 天前
    要么换个机房,要么换个领导吧
        6
    yulgang   100 天前
    本以为重启治百病
        7
    moonsola   100 天前
    "与此同时,前线的领导说故障原因找到了。系某领导所在楼层的交换机故障引发"
    交换机:这锅我一个人背不动。
        8
    logicr   100 天前 via Android
    @TomatoYuyuko 肯能本来领导拿着钥匙进去拍了机柜的,没用然后再用了断电重启打法。
        9
    misaka19000   100 天前
    你们领导牛逼
        10
    seven777   100 天前 via Android
    让孩子拿玻璃碗,就准备好被摔!运维的责任,谁都不要怪!
    另外,只要是生产项目,不论项目大小,稳定第一!!!
        11
    jjianwen68   100 天前
    这么朴实刚健的领导
        12
    donyee   100 天前
    领导:这点小问题,我重启下试试;欧耶,解决了...
        13
    hasbug   100 天前
    哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈
        14
    Eytoyes   100 天前
    北京市第三运维中心提醒您,算了。。。直接两行泪吧
        15
    ziding   100 天前
    MySQL 太不靠谱,这种情况下居然表会坏~
        16
    fange01   100 天前
    哎呀这个 ID 很熟悉、、领导操作方式也很熟悉。
        17
    4357   100 天前
    牛逼
        18
    dko   100 天前
    重启也就算了。。。直接断电,这谁扛得住啊
        19
    guan123   100 天前   ♥ 1
    最后的总结是亮点 ,不过话说回来,整体都被重启了,也都没感知到,监控做的有点那啥啊
        20
    zarte   100 天前
    领导可以不背锅
        21
    jasonyang9   100 天前
    事务机制应该能保证这种情况下的数据库完整性啊,物理存储坏了?
        22
    jandan   100 天前
    也就是领导啊
        23
    openbsd   100 天前
    领导这一波操作很骚气啊! 照顾领导情绪 运维可以把非核心 易故障的交换机单独接一个插座,甚至可以配置一个智能插座(提供 APP 远程),方便领导没事就断一波电,反正非智能交换机启动也就几秒的事 [手动滑稽...]

    @TomatoYuyuko #2
    这个真心是遗产,小时候家里有台 NEC 的黑白 洋垃圾?就这样拍了 10 多年,偶尔里面还冒点烟,淘汰后拆开看了下,供电部分 ?三个 MOS ?管 烧焦两个 且 PCB 严重碳化,竟然一直都能正常?观看
        24
    cedoo22   100 天前
    怎么有股 央视解密节目 的味道????最后发现被断电了,监控哪儿去了?
        25
    liprais   100 天前
    2019 年还在用 myisam,不是等着倒霉么
        26
    bbsanimal   100 天前   ♥ 5
    某医院的加护病房的病人总是在星期天十一点左右死掉,这让医生们困惑不解, 甚至认为是灵异事件,于是成立专家组调查事情的原因。到了星期天,时钟刚刚敲响十一点,通过监视器发现, 在星期天打扫的清洁工走进加护病房,拔掉重病号的生命维持系统电线插头,然后插上了吸尘器插头,开始打扫卫生。。。
        27
    jaryur   100 天前
    某领导修炼重启大法误入歧途
        28
    AsunaQAQ   100 天前
    NB
        29
    dany813   100 天前
    领导牛逼
        30
    freezex   100 天前 via Android
    是不是应该配个 ups,电源故障时自动关机
        31
    banmuyutian   100 天前
    领导问:我怎么上不了网了?
    答:重启试试。
    领导:好。
        32
    pexcn   100 天前 via iPhone
    黑客攻击 (物理)
        33
    9hills   100 天前 via iPhone
    难道不是赶快做数据库主从么?
        34
    johnnie502   100 天前
    @freezex 领导会直接拔 ups 上的插头的
        35
    JerryCha   100 天前
    过于硬核
    还好没使用另一招:出故障时踢两脚
        36
    Alpha486   100 天前 via iPhone
    领导:先断机房电源,重启问题就好,我有经验!!接着就是一点操作!!
        37
    julyclyde   100 天前
    尽早逃离 myisam 吧
    一旦故障,可修复率较低
        38
    nbin2008   100 天前
    领导一出手,就知有木有
        39
    Biexl   100 天前
    万能重启 !
        40
    lcatt   100 天前
    服务器和网络设备共用一个机柜?另外交换机重启要断整个机柜的电是什么鬼。非标机柜才能这么做吧,听你的描述我觉得你们机房设计很很乱啊,需要参考 GB50174 好好梳理下,不然以后还会发生。
    @openbsd 机柜专用插排不带开关的,就是防止误操作。
        41
    mritd   100 天前 via iPhone
    @padapen #3 学会了
        42
    ttgo   100 天前
    咳咳,我干过类似的事儿,捅了特别特别大的娄子。
    但万幸,当时没人发现。。
    过了好多年,我才告诉别人当年是我干的。。
        43
    openbsd   100 天前
    @lcatt #40
    照顾领导情绪及习惯,额外配置一个插座 只接非智能的交换机 ,嘿嘿......
    换领导不易,换智能插座还是可以的,顺便告诉领导,以后不用拿钥匙去机房这么麻烦,APP 上点一下就好
        44
    notreami   100 天前
    为啥这么多人跪舔呢?
        45
    realpg   100 天前
    @lcatt #40
    好的机柜集成 PDU 每路没一个都带独立空开,上面带总的空开+漏保
        46
    xi2008wang   99 天前   ♥ 1
    自己检讨一下吧,因为出了问题,折腾的是自己。

    自己负责的服务器,自己要监控起来:
    连通性监控、重启监控、磁盘用量监控、进程监控、业务数据(用户数、注册数)监控;

    还有硬件部署隔离及整改:
    机柜隔离、电源隔离、UPS 保护、硬件标签及警告标示
        47
    winglight2016   99 天前
    断电重启的骚操作。。。
        48
    xi_lin   99 天前
    领导牛逼
        49
    BUPTGuo   99 天前
    于是他拿起了机房的钥匙,把整个机柜断电,再重新上电来重启设备……牛逼大法了
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2222 人在线   最高记录 5043   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 22ms · UTC 03:06 · PVG 11:06 · LAX 20:06 · JFK 23:06
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1