เพิ่งจะว่างๆ นั่งเคลียร์สมองเพื่อมาเล่าเหตุการณ์แบบสรุปๆ ให้ได้อ่านกัน
อ่านข้อมูลเพิ่มเติมเรื่องนี้ได้ที่ ทำไมตึก กสท บางรัก ไฟดับแล้วทำให้ระบบเน็ตป่วนทั้งประเทศ เป็นข้อมูลความรู้เพิ่มเติมครับ
ต้องบอกก่อนว่า ระบบที่ผมดูแลมันไม่ได้เยอะอะไรหรอก Server ยี่ห้อ Dell อยู่ 7 ตัวใน CAT บางรัก วางใน IDC เจ้าหนึ่ง ไม่ใช่เครื่องผมโดยตรง มูลค่าเครื่องทั้งหมดก็หลายแสน ระบบและข้อมูลภายในบริการลูกค้าเยอะพอตัวเลย
โดยไฟดับในวันที่ 30 พฤศจิกายน 2556 ที่ผ่านมานั้น ดับไปประมาณ 6 ชั่วโมง เสียหายไปรวมเกือบ 5 แสนบาท โดยประเมิณค่าเสียหายจาก transaction เก่าในวันเดียวกันของอาทิตย์ก่อนๆ (เก็บเงินจากใคร!!!)
การตรวจสอบการ up/down time ของระบบที่ดูแลผมใช้แบบ International และ Domestic connection คือส่วนของ International นั้นผมใช้ uptimerobot ในการตรวจสอบการมีอยู่ของระบบจากภายนอกประเทศ ส่วน Domestic จะติดตั้งและทำงานผ่าน nagios ซึ่งทำงานภายใน local switch ที่อยู่ใน IDC เลย เพราะฉะนั้น ถ้ามีปัญหาระบบแจ้งเตือนทั้งสองจุดจะแจ้งพร้อมกัน (หรือใกล้เคียงกัน) แต่ระบบทั้ง 2 ส่วนนั้น มีการวิ่งตรวจสอบไขว่กัน เพราะระบบ nagios ที่ติดตั้งนั้น ได้เช็คระบบที่ไว้ที่ต่างประเทศด้วย ตามแผนภาพด้านล่างด้วย
แต่ในวันนั้น ระบบ uptimerobot แจ้งเตือน เวลา 15:20 และค่อยๆ ไล่ส่งการแจ้งเตือนมาทุกเครื่องที่อยู่ในตึก CAT บางรัก (ส่งมาเป็นสิบฉบับเลย)
โอเค ปรกติ link ของ International ในตึก CAT บางรัก อาจมีปัญหาบ้าง เพราะผมได้แจ้งเตือนแบบนี้บ่อย เพราะ link ของ International ล่ม แต่รอบนี้แปลกมากๆ เพราะในทางกลับกัน ส่วนของ nagios มันก็ต้องแจ้งเตือนว่า Server ที่อยู่เมืองนอกมันล่มด้วย เพราะวิ่งออกไป International ไม่ได้ แต่รอบนี้ไม่มี uptimerebot ส่งเพียงฝ่ายเดียวเท่านั้น
Uptime Robot [email protected]
ส. 30/11/2556 15:20
Hi,
The monitor xxx – HTTP (xxx) is currently DOWN (Connection Timeout).Uptime Robot will alert you when it is back up.
Cheers,
Uptime Robot
http://www.uptimerobot.com
http://twitter.com/uptimerobot
(sent from new engine)
เวลาประมาณ 15:25 ผมเลยกดเข้าเว็บที่ดูแลอยู่ ทุก link ทุก IP ทุก port ที่สามารถจะเข้าได้ แต่ทุกอย่างไร้การตอบสนอง…
เลยทำการโทรศัพท์สอบถามเจ้าของตู้ใน IDC ได้ความว่าตอนนี้ไฟฟ้าในตึกดับ ไฟสำรองที่จ่ายไว้ของ IDC ก็หมดแล้ว ตอนนี้เครื่องทุกเครื่องดับหมดเป็นที่เรียบร้อย
ผมจึงโดดขึ้นรถมุ่งเข้า CAT บางรักทันที
ไปถึงเจอคนมากมายหน้าตึกยืนรอกันอยู่ ไม่มีผู้ชุมนุมใดๆ หน้าตึกแล้วจากการรายงานของ @mobilebomb คาดว่ากลับกันไปหมดแล้ว ผมก็เลยมุ่งขึ้นชั้น 4 ของตึกผ่านบันไดหนีไฟ ในตึกมืดมาก ด้านล่างคือภาพภายในตึก ข้างหน้า IDC ที่วางเครื่อง ในวันที่ 30 พฤศจิกายน 2556 เวลา 16:33 น.
หน้าห้องวาง Server มืดและไม่มีไฟฟ้าเลี้ยงระบบแล้ว
ตอนนั้นว่างๆ ไม่มีอะไรทำ เดินไปเดินมา สอบถามเจ้าหน้าที่ เพราะมีเพื่อนๆ ที่วางเครื่องในตึกนี้สอบถามสภาพการณ์ต่างๆ
ขอสรุปสั้นๆ ตามนี้ว่า
- ใครมาตัดไฟหรือสร้างความเสียหายต่อระบบไฟฟ้านั้น ผมไม่สามารถบอกได้ คงต้องให้ทาง CAT เป็นผู้สอบสวนและสรุปข้อมูล เพราะผมไม่อยู่ในเหตุการณ์หรือเห็นหน้าคนทำ มีเพียงคำกล่าวอ้างต่างๆ มากมาย ทั้งเจ้าหน้าที่ และคนในตึก แต่อยากให้รอสรุปจะดีที่สุด
- ระบบสำรองไฟทำงานได้เพียงเวลาอันสั้นเท่านั้น
- เจ้าหน้า รปภ แจ้งว่าตัวควบคุม Generator ถูกนำออกไป
- ในขณะนั้นเจ้าหน้าที่กำลังกู้ระบบไฟฟ้าให้กลับมาใช้งานได้ ซึ่งใช้เวลาหลายชั่วโมงกว่าจะกลับมาได้
- ไฟฟ้าในส่วนของตัวอาคาร และทางเดินมาใช้ช่วง 17:30 น. โดยประมาณ
- ไฟฟ้าค่อยๆ จ่ายมาแล้วในส่วนของ IDC ตั้งแต่เวลา 18:00 น. โดยประมาณ สำหรับใน IDC ที่ผมใช้งานอยู่ เริ่มจ่ายมาประมาณ 19:15 – 19:30 น. โดยประมาณ (ใน log จะเห็นว่ามา 19:38 น. แต่อย่าลืมว่าเจ้าหน้าที่ต้องไล่กดปุ่มเปิดเครื่องทุกตู้ ทุกเครื่อง เพราะฉะนั้น จะแตกต่างกันพอสมควร)
- การจ่ายไฟฟ้าเข้าระบบ IDC นั้นจะจ่ายรวดเดียวไม่ได้ ต้องค่อยๆ ไล่จ่ายไฟไปทีละชั้น ทีละ IDC เพราะป้องกันไฟฟ้ากระชากเข้าเครื่อง Server ทำระบบ Server ที่มีอยู่เสียหายได้
- ในวันที่ 30 พฤศจิกายน 2556 ถึงวันที่ 2 ธันวาคม 2556 ระบบ network ยังกลับมาไม่หมด เพราะอุปกรณ์เสียหาย และ internet gateway หลายเส้นยังทำงานไม่ครบ 100% (ถึงวันนี้ผมก็ไม่แน่ใจว่าครบและเสถียรเหมือนเดิมหรือยัง)
- ในวันที่เขียน blog นี้ คือ 6 ธันวาคม 2556 ยังมี internet gateway บางส่วนมีปัญหาอยู่บ้าง (ไม่แน่ใจว่าจากของ CAT เองหรือของ IDC เอง)
ผมขอเอา log บางส่วนในระบบมาแสดง
ภาพแสดงการหายไปของการทำงานตัวระบบ nagios/cacti ใน syslog ของเครื่อง Server ที่ติดตั้งระบบแจ้งเตือน เพราะปรกติจะทำงานทุกๆ 2-5 นาที
ภาพแสดง log ของ snmpd ใน syslog ที่ใช้ตรวจสอบการมีอยู่ของระบบผ่าน UDP ด้วยซึ่งทำงานเกือบๆ ทุกวินาทีเข้ามาในระบบ มีการบันทึกครั้งสุดท้ายเวลา 15:17 น. และกลับมาเปิดระบบอีกครั้งตอน 19:36 น. ซึ่งสอดคล้องกับระบบแจ้งเตือนและภาพสถานที่จริงที่ไฟฟ้าดับ
ภาพแสดงการเริ่มต้นทำงานฐานข้อมูล ซึ่งแจ้งเตือนว่ามีการปิดการทำงานฐานข้อมูลที่ไม่ถูกต้อง ซึ่งใกล้เคียงกับเวลาของเครื่อง Server ที่ติดตั้งระบบแจ้งเตือนทีเปิดขึ้นมาพร้อมๆ กัน
โอเค เรายืนยันข้อมูลได้แล้วว่าไฟฟ้าดับจริง ข้อมูลภาพสถานที่จริง ข้อมูลเวลาไฟฟ้าดับ เวลาไฟฟ้ามา
เหลือข้อมูลส่วนสุดท้ายคือ ระบบ network ที่ผมเชื่อมต่อเข้า International และ Domestic connection นั้นกลับมาใช้งานได้ในเวลาเดียวกัน โดยเจ้า uptimerobot และ nagios แจ้งรายการการกลับมาของระบบเวลา 21:07 น. พร้อมๆ กันเลย
Nagios ส. 30/11/2556 21:07
***** Nagios *****
Notification Type: RECOVERY
Host: ……
State: UP
Address: xxx.xxx.xxx.xxx
Info: PING OK – Packet loss = 0%, RTA = 0.57 ms
Date/Time: Sat Nov 30 21:07:08 ICT 2013
uptimerobot ส. 30/11/2556 21:07
Hi,
The monitor xxx – PING (xxx.xxx.xxx.xxx) is back UP (Host Is Reachable) (It was down for 5 hours, 40 minutes and 15 seconds).
Cheers,
Uptime Robot
http://www.uptimerobot.com
http://twitter.com/uptimerobot
(sent from new engine)
แต่แน่นอนว่าหลายๆ ระบบ network และหลายๆ IDC ไม่ได้กลับมาในเวลาพร้อมๆ กัน บาง network ต้องรอถึงตอนเช้าถึงจะใช้งานได้ หรือบางระบบรอประมาณเกือบๆ 24 ชั่วโมงถึงจะใช้งานได้ ซึ่งเกิดจากอุปกรณ์ระบบ network ของ CAT หรือ IDC ที่ให้บริการอยู่เสียหายจนต้องมีการเปลี่ยนอุปกรณ์
หลังจากทุกอย่างกลับมาได้ทั้งหมด ไฟฟ้าทำงานปรกติ ระบบ network ทำงานได้ครบ ก็นั่งไล่เช็คระบบทั้งหมดถึงเช้า เวลาเกือบๆ 7 โมงเช้า เลยเดินลงจากตึกไปหาข้าว หาน้ำสักหน่อย
วันที่ 1 ธันวาคม 2556 7:00 น. รถตำรวจมาเต็มหน้าตึกเลย ตกใจมาก เพราะมาน่าจะสิบกว่าคันได้ คิดถึงในหนังน่ะ มาแบบวิ่งเร็วตีโค้งและมาเยอะ จอดเป็นแถวเป็นแนว
วันที่ 1 ธันวาคม 2556 8:36 น. ตำรวจตั้งแถว เตรียมปล่อยแถวเพื่อควบคุมพื้นที่ CAT บางรัก จะเห็นว่าจำนวนคนเยอะพอสมควร
พอเห็นแบบนี้ สบายใจแหละ เลยเช็คความเรียบร้อยอีกหน่อย ก็เลยกลับบ้านนอนตอน 9 โมงกว่าๆ ในช่วงเช้ามานอนพัก
จากเหตุการณ์นี้ สรุปว่าระบบที่ผมดูแลนั้น HDD เกิด bad sector ไป 1 เครื่อง และมี VM เสียหายจนต้อง resync ข้อมูลใหม่อีก 2 ตัว ในส่วน server ตัวอื่นๆ โชคดีไม่เสียหาย แต่ในกลางเดือนนี้อาจจะมีการเข้าไปตรวจเช็คและปรับปรุงระบบใหม่ทั้งหมด และตอนนี้ระบบผมได้รับการอนุมัติระบบสำรอง (DR Site) บน Cloud ที่ต่างประเทศเป็นที่เรียบร้อยแล้ว โดยใช้ Cloud ของ Windows Azure ซึ่งอยู่ที่สิงค์โปร์ เพื่อป้องกันปัญหาที่จะเกิดขึ้นอีกในอนาคต
ขอบคุณมากคัรับ ได้ความรู้เยอะเลย
ผมนี่สมัยก่อนอยากจะทำงานด้าน NEtwork เขียน log เขียน script เองใจจะขาด แต่พอโตขึ้นกลับพลิกผันไปจับเว็บเสียนี่
ตอนนี้เลยพยายามมาดูเรื่อง scaling จะได้เชื่อมต่อทั้งสองระบบติดกันเสียที :)
ถ้าท่านเจ้าของเรื่องจะเปิดสอน ขอจองเลยนะครับ