ในช่วงเช้ามืดของวันที่ 27 สิงหาคม 2026 Proton ประสบปัญหาการหยุดชะงักของบริการเป็นวงกว้างซึ่งส่งผลกระทบต่อบริการสำหรับผู้ใช้จำนวนหนึ่ง สาเหตุหลักเกิดจากความล้มเหลวโดยสิ้นเชิงของระบบทำความเย็นในศูนย์ข้อมูลแฟรงก์เฟิร์ตของเรา แม้ว่าระบบทั้งหมดที่ Proton จะมีความซ้ำซ้อนเพื่อรองรับการทำงานสำรองและเรามีขีดความสามารถเพียงพอที่จะรับมือกับความล้มเหลวของศูนย์ข้อมูลทั้งแห่งได้ แต่ก็มีบางสถานการณ์ที่การสลับการทำงานเมื่อเกิดข้อผิดพลาด (failover) อาจใช้เวลานานขึ้นและนำไปสู่การหยุดชะงักของบริการที่กระทบต่อผู้ใช้

ต่อไปนี้คือลำดับเหตุการณ์ของสิ่งที่เกิดขึ้น การตัดสินใจที่เราเลือกทำระหว่างเกิดเหตุการณ์และเหตุผล รวมถึงวิธีการแก้ไขปัญหา

ลำดับเหตุการณ์

หลังเวลา 23:00 น. เล็กน้อย (เวลายุโรปกลาง) ในวันพุธที่ 26 สิงหาคม ระบบทำความเย็นในห้องหลักของศูนย์ข้อมูลแฟรงก์เฟิร์ตของเราเกิดความล้มเหลว เมื่อเวลาประมาณ 23:15 น. อุณหภูมิเริ่มสูงขึ้นจากประมาณ 21.8°C (อุณหภูมิปกติ) เป็น 51.9°C ในเวลาไม่ถึงครึ่งชั่วโมง โดยโพรบวัดบางตัวรายงานอุณหภูมิอากาศในห้องสูงถึง 60°C เมื่ออุณหภูมิสูงขึ้น อุปกรณ์เซิร์ฟเวอร์และเครือข่ายภายในสถานที่ดังกล่าวจึงเริ่มหยุดทำงานไปทีละตัว

เหตุการณ์ที่กระทบต่อผู้ใช้เริ่มต้นขึ้นเมื่อเวลาประมาณเที่ยงคืนของวันที่ 27 สิงหาคม เมื่อความล้มเหลวทวีความรุนแรงขึ้นจนสูญเสียระบบสำรองที่สำคัญ ซึ่งเกิดขึ้นเมื่อสวิตช์เครือข่ายทั้งตัวหลักและตัวสำรองบนแร็กสำคัญเกิดความล้มเหลว และแร็กนี้มีสำเนาฐานข้อมูลหลักอยู่หลายชุด แม้ว่าระบบเกือบทั้งหมดของ Proton จะมีความซ้ำซ้อนและจะทำการ failover โดยอัตโนมัติ/ทันที แต่การทำ failover ของฐานข้อมูลหลักจะไม่เกิดขึ้นโดยอัตโนมัติหากไม่มีมนุษย์คอยกำกับดูแล

เราคงการควบคุมนี้ไว้เนื่องจากต้องการหลีกเลี่ยงสถานการณ์ที่เรียกว่า “split brain” ซึ่งการที่ฐานข้อมูลหลักไม่สามารถใช้งานได้ชั่วคราวอาจทำให้สำเนาแบบจำลองพลาดการอัปเดตบางส่วนและเกิดการไม่ซิงก์กันจนยากที่จะปรับยอดข้อมูลให้ตรงกันในภายหลัง นอกจากนี้ เมื่อเกิดการทำ failover ของฐานข้อมูลหลัก ขั้นตอนการปฏิบัติงานมาตรฐานคือการทำ failover ไปยังสำเนาแบบจำลองในศูนย์ข้อมูลเดียวกันเพื่อเหตุผลด้านเวลาแฝงและประสิทธิภาพ อย่างไรก็ตาม ลักษณะเฉพาะของปัญหานี้หมายความว่าการทำเช่นนั้นอาจไม่ใช่ความคิดที่ดี เนื่องจากเราอาจกำลังทำ failover ไปยังระบบที่กำลังจะดับลงเช่นกัน

การตัดสินใจ

ในจุดนี้ วิศวกรผู้อยู่เวรของ Proton จำเป็นต้องทำการตัดสินใจครั้งสำคัญสองสามเรื่องในขณะที่ต้องปฏิบัติงานภายใต้ความกดดันอย่างยิ่ง

  • พวกเขาควรจัดลำดับความสำคัญในการนำบริการกลับมาออนไลน์ก่อน หรือให้ความสำคัญกับการจัดการปัญหาการทำความเย็นและรักษาฮาร์ดแวร์ภายในศูนย์ข้อมูลไว้ก่อน?
  • เราควรทำ failover ไปยังสำเนาแบบจำลองภายในอาคารเดียวกันที่แฟรงก์เฟิร์ต (เร็วกว่าและรบกวนการทำงานน้อยกว่า แต่อาจเป็นการแก้ไขเพียงชั่วคราวหากไม่สามารถควบคุมความร้อนได้) หรือทำ failover ไปยังซูริก?
  • เราควรทำ failover ทุกอย่างหรือเฉพาะส่วนที่หยุดทำงานอยู่ในขณะนั้น? เรามีแผนฉุกเฉินสำหรับกรณีที่ศูนย์ข้อมูลล้มเหลวโดยสิ้นเชิง ซึ่งระบบจะทำ failover ทั้งหมดโดยอัตโนมัติเป็นส่วนใหญ่และค่อนข้างรวดเร็ว แต่สถานการณ์ที่เซิร์ฟเวอร์แบบสุ่มเริ่มหยุดทำงานไปทีละตัวนั้นยังไม่สามารถจัดการได้ดีด้วยตรรกะ failover ของเรา

ในท้ายที่สุด อัตราที่อุณหภูมิสูงขึ้นอย่างรวดเร็วทำให้เราต้องให้ความสำคัญกับการรักษาฮาร์ดแวร์มากกว่าการนำบริการกลับมาออนไลน์ โดยปกติแล้วนี่ไม่ใช่ทางเลือกที่จำเป็นต้องตัดสินใจ เพราะระบบทำความเย็นมักจะมีความซ้ำซ้อน และการสูญเสียระบบทำความเย็นทั้งหมดนั้นเกิดขึ้นได้ยากมาก ซึ่งหมายความว่ามักจะมีเวลาพอสมควรก่อนที่อุณหภูมิจะถึงขั้นวิกฤต ปัญหานี้ทวีความรุนแรงยิ่งขึ้นจากความหนาแน่นของการใช้พลังงานของเซิร์ฟเวอร์ที่เพิ่มขึ้นอย่างมากในช่วงไม่กี่ปีที่ผ่านมา ด้วย CPU และ GPU ที่ใช้พลังงานสูงขึ้นสำหรับ AI ส่งผลให้สิ่งที่เคยใช้เวลา 3-4 ชั่วโมงจนถึงขั้นวิกฤต กลับเข้าสู่วิกฤตในเวลาเพียง 20 นาที

ทีมผู้อยู่เวรจึงมุ่งความสนใจไปที่การสื่อสารกับทีมปฏิบัติการศูนย์ข้อมูลในพื้นที่เพื่อกู้คืนระบบทำความเย็น พร้อมทั้งปิดเซิร์ฟเวอร์ให้ได้มากที่สุดเพื่อปกป้องอุปกรณ์เหล่านั้น เนื่องจากปัญหาการขาดแคลนอุปกรณ์เซิร์ฟเวอร์ที่เชื่อมโยงกับกระแสความนิยมด้าน AI ในปัจจุบัน อุปกรณ์จำนวนมากเหล่านี้หากเกิดความเสียหายจะไม่สามารถจัดหามาทดแทนได้ในระยะเวลาอันสั้น การรักษาอุปกรณ์เหล่านี้ไว้จึงต้องเป็นสิ่งสำคัญอันดับแรก แม้ว่าอาจจะต้องแลกกับการยืดเวลาหยุดทำงานของระบบออกไปก็ตาม

เมื่อถึงเวลา 00:45 CEST เราสามารถกู้คืนระบบทำความเย็นได้ และอุณหภูมิที่ศูนย์ข้อมูลก็เริ่มลดลง และทีมผู้อยู่เวรได้เปลี่ยนไปมุ่งเน้นที่การกู้คืนบริการ ในจุดนี้ เราตัดสินใจทำ failover ฐานข้อมูลหลักไปยังแฟรงก์เฟิร์ตหากยังมีสำเนาแบบจำลองทำงานอยู่ และไปยังซูริกในกรณีที่ไม่มีสำเนาแบบจำลองทำงานอยู่ในแฟรงก์เฟิร์ต เพื่อหลีกเลี่ยงการเปลี่ยนแปลงทราฟฟิกมากเกินไปและอาจสร้างความไม่เสถียรใหม่ๆ ตัวเลือกนี้ถูกเลือกเนื่องจากเราสันนิษฐานว่า เมื่อสามารถควบคุมระบบทำความเย็นได้แล้ว การนำแฟรงก์เฟิร์ตกลับมาออนไลน์น่าจะทำได้ค่อนข้างง่ายและเร็วกว่าการสลับไปยังซูริก

น่าเสียดายที่ผลลัพธ์ไม่ได้เป็นเช่นนั้น ในระหว่างเกิดเหตุการณ์ การ์ดเครือข่ายหลายตัวในโครงสร้างพื้นฐานของแฟรงก์เฟิร์ตมีอุณหภูมิสูงถึง 105°C (อุณหภูมิการทำงานปกติคือ 45°C) ซึ่งไปทริกเกอร์โหมดป้องกันอุณหภูมิพิเศษและทำให้การ์ดเครือข่ายถูกปิดใช้งานจนกว่าจะมีการรีเซ็ตระบบแบบ cold reset มาตรการความปลอดภัยของเราจำกัดความสามารถในการเข้าถึงตัวควบคุม out-of-band สำหรับระบบของเรา ซึ่งทำให้เราต้องปลุกเจ้าหน้าที่เพิ่มเติมเพื่อมาช่วยเหลืองานกู้คืน

เมื่อถึงเวลา 01:30 CEST เราสามารถนำบริการส่วนใหญ่กลับมาออนไลน์สำหรับผู้ใช้ส่วนใหญ่ได้ อย่างไรก็ตาม ระบบที่มีความสำคัญรองลงมาบางระบบ เช่น การแจ้งเตือนแบบพุช หรือการประมวลผลการชำระเงิน ยังไม่ได้รับการกู้คืนจนกระทั่งเวลาประมาณ 02:00 CEST

ตามที่เรารายงานในรายงานเหตุการณ์เบื้องต้น ไม่พบว่ามีอีเมลสูญหาย แต่การรับส่งอีเมลทั้งสองฝั่งมีความล่าช้าในระหว่างเกิดเหตุการณ์

แม้ว่าบริการที่เกี่ยวข้องกับผู้ใช้จะได้รับการกู้คืนอย่างสมบูรณ์แล้ว แต่นั่นยังไม่ใช่จุดสิ้นสุดค่ำคืนสำหรับวิศวกรของเรา โดยเฉพาะทีมฐานข้อมูล โครงสร้างพื้นฐานของเรายังคงอยู่ในสถานะที่ผิดปกติอย่างมาก โดยมีฐานข้อมูลหลักบางส่วนอยู่ที่ซูริกและบางส่วนอยู่ที่แฟรงก์เฟิร์ต และหลายฐานข้อมูลทำงานโดยมีระบบสำรองลดลงและ/หรือมีประสิทธิภาพลดลง ทีมงานของเราทำงานตลอดทั้งคืนเพื่อแก้ไขปัญหาเร่งด่วนที่สุดเหล่านี้ และการดำเนินงานยังคงดำเนินต่อไปตลอดทั้งวันของวันที่ 27 สิงหาคมเพื่อกู้คืนระบบสำรองให้สมบูรณ์

แม้ว่าเราจะสามารถรักษาโครงสร้างพื้นฐานไว้ได้เกือบทั้งหมด แต่น่าเสียดายที่เซิร์ฟเวอร์บางตัวเกิดความเสียหายจากความร้อนจนหยุดทำงานโดยสิ้นเชิง และเรายังไม่ทราบว่าเหตุการณ์ความร้อนสูงนี้จะส่งผลกระทบต่ออายุการใช้งานของอุปกรณ์ที่รอดมาได้หรือไม่

สาเหตุหลักและขั้นตอนต่อไป

การตรวจสอบในเวลาต่อมาเมื่อวันที่ 27 สิงหาคมพบว่าสาเหตุหลักของความล้มเหลวของระบบทำความเย็นมาจากการเปลี่ยนแผ่นกรองอากาศในคอมเพรสเซอร์แอร์สำรองทั้งสองเครื่องที่จ่ายพลังงานให้กับระบบทำความเย็น แต่น่าเสียดายที่ผู้ให้บริการศูนย์ข้อมูลได้ดำเนินการนี้กลางดึกโดยไม่มีการแจ้งล่วงหน้า และยังไม่ได้แจ้งเหตุระบบทำความเย็นขัดข้องเมื่อเกิดขึ้น ซึ่งลดเวลาในการตอบสนองของเราลงอย่างมาก เรากำลังทำงานอย่างใกล้ชิดกับผู้ให้บริการเพื่อป้องกันไม่ให้เกิดเหตุการณ์เช่นนี้ซ้ำอีก

อย่างไรก็ตาม ข้อจำกัดที่ทราบกันดีของโครงสร้างพื้นฐานฐานข้อมูลในปัจจุบันของเราก็คือ การหยุดชะงักของบริการในลักษณะนี้อาจทำให้กระบวนการกู้คืนใช้เวลานานกว่าปกติ ลำดับเหตุการณ์ที่นำไปสู่เหตุการณ์นี้เกิดขึ้นได้ยากยิ่ง — แต่ก็เกิดขึ้นแล้ว

งานสร้างความยืดหยุ่นของฐานข้อมูลที่จำเป็นสำหรับการจัดการกับโหมดความล้มเหลวนี้กำลังดำเนินอยู่และยังคงมีแผนที่จะแล้วเสร็จภายในสิ้นปีนี้ นอกจากนี้ ขีดความสามารถของโครงสร้างพื้นฐานเพิ่มเติม ซึ่งรวมถึงพื้นที่ศูนย์ข้อมูลใหม่ กำลังอยู่ในระหว่างการทดสอบระบบและคาดว่าจะพร้อมใช้งานภายในไม่กี่สัปดาห์ข้างหน้า ซึ่งจะช่วยลดการพึ่งพาศูนย์ข้อมูลแห่งเดียวลงไปอีก

น่าเสียดายที่เหตุการณ์นี้เกิดขึ้นก่อนที่การปรับปรุงเหล่านั้นจะมีผลใช้อย่างสมบูรณ์ ขณะนี้เรากำลังทบทวนว่าจุดใดที่เราสามารถเร่งงานที่เหลือได้อย่างปลอดภัย ในขณะที่ยังคงรักษาระดับความรอบคอบที่จำเป็นสำหรับการเปลี่ยนแปลงโครงสร้างพื้นฐานฐานข้อมูลที่สำคัญ

เราตระหนักดีว่าผู้ใช้ของเราคาดหวังความน่าเชื่อถือในระดับที่สูงมากจาก Proton และเหตุการณ์นี้ตอกย้ำถึงความสำคัญของการทำงานนี้ให้เสร็จสิ้นและยกระดับมาตรฐานความยืดหยุ่นของเราต่อไป เราขออภัยผู้ใช้ทุกคนที่ได้รับผลกระทบอย่างสุดซึ้งอีกครั้ง