DEV Community

TianZhen
TianZhen

Posted on • Originally published at youth2009.org on

2

worst day

21:40 - 服务不可用

监控宝提示Homepageæ— æ³•è®¿é—®ï¼Œä»¥ä¸ºæœ‰äººåœ¨éƒ¨ç½²ï¼ŒåŽæ¥å…¶ä»–æœåŠ¡ä¹Ÿä¸å¯ç”¨ï¼Œç™»å½•åˆ°æœåŠ¡å™¨ä¸Šçœ‹å‘çŽ°top都不能执行了,报过Bus errorå’ŒSegment fault等,看/var/log/syslog发现是RAID卡出错,从iDRAC上看没有错误,RAIDå¡å’Œç”µæ± çŠ¶æ€æ­£å¸¸ã€‚

ç›®å‰å·²ç»æ— æ³•æä¾›æœåŠ¡äº†ï¼Œé‡å¯è¯•ä¸€ä¸‹ã€‚

RAIDå¡æ— æ³•è¢«è¯†åˆ«åˆ°ï¼Œç³»ç»Ÿè¿›ä¸åŽ»ã€‚

强制刷一下RAIDå¡å›ºä»¶ï¼Œå¤±è´¥ï¼Œéƒ½æ— æ³•è¯†åˆ«ï¼Œä¹Ÿæ²¡æ³•åˆ·å›ºä»¶äº†ã€‚

å…³æœºï¼Œç­‰ç¬¬äºŒå¤©åŽ»æœºæˆ¿æŠŠç£ç›˜æ¢åˆ°å¦ä¸€å°æœºå™¨ä¸Šï¼Œå¦ä¸€å°æœºå™¨æœ‰åž‹å·ä¸€æ ·çš„RAID卡。

7:00 - 能进系统了

ç¬¬äºŒå¤©æ—©æ™¨å¼€æœºåŽå‘çŽ°å¯ä»¥è¿›ç³»ç»Ÿï¼Œä½†æ•°æ®åº“å¯åŠ¨ä¸äº†ï¼Œå¯èƒ½æ•°æ®åº“çš„æŸäº›æ–‡ä»¶è¢«ç ´åã€‚

å†æ¬¡é‡å¯æœºå™¨ï¼Œç³»ç»Ÿæ— æ³•å¯åŠ¨ï¼Œéœ€è¦fsck

8:10 - 进入机房

去机房把服务器电源拔掉,长按开机键让电量耗光,如果这种reset还是没能解决问题,就只能更换到另一台服务器了。

hardware reset不管用,把磁盘放入另一台服务器。

启动时提醒需要import raid配置,import进入系统提示需要fsck

手工执行fsck,出现很多错误,一一确认后让fsck修复,可以进入系统。

备份系统到别的服务器

14:30 - 修复数据库

数据库(PostgreSQL 9.6)和一些静态文件有损坏

备份了数据库的data目录后,开始试着恢复数据库

reset了xlog,用dd创建了一个全0çš„clog,数据库可以启动,但有些奇怪的数据,dump出所有数据重建database再restoreï¼Œå› ä¸ºæˆ‘ä»¬æ¯”è¾ƒåœ¨æ„database的建模,很多有关系的表之间都有外键约束,restore的时候能帮我们发现很多不一致的数据,只好fix-dump-restore测试,一直到所有数据都正常后,vacuum, rebuild index

21:00 - 结束

真是worst dayï¼ŒçŽ°åœ¨çœ‹æ¥æ•°æ®åº“æ–¹é¢æœ‰æ›´å¥½çš„ä¿®å¤æ–¹æ³•ï¼Œèµ·ç å¯ä»¥åšåˆ°åªä¸¢å¤±æœ€è¿‘çš„ä¸€éƒ¨åˆ†æ•°æ®ï¼Œç„¶è€Œæˆ‘ä»¬æ²¡æœ‰realtime的数据库备份也是个大问题,准备使用Barman来解决这些问题,另外服务器硬件也有一些东西需要重新考虑

Sentry image

Hands-on debugging session: instrument, monitor, and fix

Join Lazar for a hands-on session where you’ll build it, break it, debug it, and fix it. You’ll set up Sentry, track errors, use Session Replay and Tracing, and leverage some good ol’ AI to find and fix issues fast.

RSVP here →

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay