คัมภีร์ติวเข้ม RRK สำหรับ Data Center Operations

ในแต่ละข้อจะใช้โครงสร้างเดียวกันเพื่อให้อ่านง่ายและเห็นภาพ:

  1. คำถามสัมภาษณ์ (Question): รูปแบบคำถามจริงที่ผู้สัมภาษณ์มักจะใช้ถาม
  2. ปูพื้นฐานและหลักการทำงาน (Foundational Concept): อธิบายศัพท์และกลไกแบบไม่ใช้ตัวย่อลอยๆ เพื่อให้เข้าใจว่า “มันคืออะไร และทำงานยังไง”
  3. สิ่งที่ผู้สัมภาษณ์อยากเห็น (Interviewer Expectation): ผู้สัมภาษณ์ต้องการทดสอบตรรกะหรือกระบวนการคิดอะไร
  4. แนวทางการตอบแบบมืออาชีพ (Model Answer & Deep Dive): คำตอบที่ละเอียด มีลำดับขั้นตอน พร้อมคำสั่งและกรณีศึกษาจริง

หมวดที่ 1: Hardware & Operating Systems (ระบบฮาร์ดแวร์และระบบปฏิบัติการ)


ข้อที่ 1: การเกิด Machine Check Exception (MCE) และ Kernel Panic

  • คำถามสัมภาษณ์: “หากเซิร์ฟเวอร์บนระบบ Production เกิดอาการ Kernel Panic แล้วหน้าจอแสดงข้อความ Machine Check Exception (MCE) คุณมีวิธีวิเคราะห์หาสาเหตุที่แท้จริงอย่างไรว่าเกิดจากชิ้นส่วนใด?”
  • ปูพื้นฐานและหลักการทำงาน:
  • Kernel (เคอร์เนล): เปรียบเสมือนสมองหรือแกนกลางของระบบปฏิบัติการ Linux ทำหน้าที่ควบคุมและสื่อสารระหว่างซอฟต์แวร์กับฮาร์ดแวร์ทั้งหมด
  • Kernel Panic: สภาวะที่เคอร์เนลพบข้อผิดพลาดร้ายแรงจนระบบไม่สามารถประมวลผลต่อได้อย่างปลอดภัย เคอร์เนลจึงสั่งหยุดการทำงานทั้งหมดทันที เพื่อป้องกันไม่ให้ข้อมูลที่บันทึกลงดิสก์เกิดความเสียหาย (Data Corruption)
  • MCE (Machine Check Exception): กลไกของตัวประมวลผล (CPU) ที่มีวงจรคอยตรวจจับข้อผิดพลาดทางกายภาพของฮาร์ดแวร์ เช่น ข้อมูลในแคชของซีพียูเพี้ยน, แรมส่งข้อมูลผิดพลาด, หรือสัญญาณไฟฟ้าบนเมนบอร์ดตก หากข้อผิดพลาดนั้นร้ายแรงเกินกว่าที่ฮาร์ดแวร์จะแก้ไขได้ ซีพียูจะส่งสัญญาณขัดจังหวะนี้ไปบอกเคอร์เนล ทำให้เกิด Kernel Panic
  • สิ่งที่ผู้สัมภาษณ์อยากเห็น: ความเข้าใจในการแยกแยะว่าอาการนี้เป็นปัญหาที่ “ฮาร์ดแวร์” ไม่ใช่ “ซอฟต์แวร์บั๊ก” และรู้วิธีสืบสวนหาตำแหน่งชิ้นส่วนที่เสีย (CPU socket ไหน, แรมแถวใด) จากข้อความรหัส (Error signature)
  • แนวทางการตอบแบบมืออาชีพ:
  1. สืบหาข้อมูลจาก Log หรือ Serial Console: เมื่อเกิด Panic เครื่องจะบันทึก Log ลงดิสก์ไม่ทัน จึงต้องอ่านหน้าจอ Crash Dump ผ่าน Serial-over-LAN (SoL) หรือ Out-of-Band Management (BMC) มองหาบรรทัดที่ระบุค่า Hexadecimal เช่น STATUS, MCGSTATUS และระบุ CPU X
  2. ถอดรหัสผ่านเครื่องมือ: หากเครื่องบูตกลับมาได้ ให้ใช้เครื่องมือ rasdaemon หรือคำสั่ง ras-mc-ctl --errors เพื่ออ่านข้อมูลที่เคอร์เนลบันทึกไว้ในฐานข้อมูล ซึ่งจะแปลรหัสค่า Register ออกมาเป็นภาษามนุษย์ เช่น ระบุชัดเจนว่าเป็น Memory Controller Error หรือ Cache Hierarchy Error
  3. ตรวจสอบ Out-of-Band (BMC Event Log): เข้าไปดู System Event Log (SEL) ผ่าน BMC ด้วยคำสั่ง ipmitool sel elist ระบบ BMC มักจะแปลรหัส MCE เทียบกับตารางผังเมนบอร์ดให้ทันที เช่น แจ้งว่า “Uncorrectable ECC at CPU1 DIMM_A1”

ข้อที่ 2: กลไกหน่วยความจำ ECC (Error-Correcting Code)

  • คำถามสัมภาษณ์: “หน่วยความจำแบบ ECC คืออะไร แตกต่างจากแรมทั่วไปอย่างไร และในระดับ Data Center มีวิธีจัดการกับ Single-bit Error กับ Multi-bit Error ต่างกันอย่างไร?”
  • ปูพื้นฐานและหลักการทำงาน:
  • ข้อมูลในคอมพิวเตอร์เก็บเป็นเลขฐานสอง (0 และ 1) ซึ่งแทนด้วยประจุไฟฟ้าขนาดเล็กในเม็ดแรม ในสภาพแวดล้อมจริง อาจมีสัญญาณรบกวนทางแม่เหล็กไฟฟ้า หรืออนุภาคพลังงานสูงจากรังสีคอสมิกพุ่งชนเม็ดแรม ทำให้ประจุเปลี่ยนสถานะจาก 0 เป็น 1 หรือ 1 เป็น 0 ได้เอง ซึ่งเรียกว่า Bit-flip
  • แรมทั่วไป (Non-ECC): ไม่มีวงจรตรวจสอบ เมื่อเกิด Bit-flip ข้อมูลจะผิดเพี้ยนไปทันที อาจทำให้ไฟล์เสียหายหรือระบบค้าง
  • แรม ECC (Error-Correcting Code): จะมีชิปพิเศษเพิ่มเข้ามาเพื่อเก็บรหัสตรวจสอบ (Parity/Checksum) โดยใช้อัลกอริทึมทางคณิตศาสตร์ตรวจสอบความถูกต้องของข้อมูลทุกครั้งที่มีการอ่านหรือเขียน
  • สิ่งที่ผู้สัมภาษณ์อยากเห็น: ความเข้าใจในการจัดระดับความรุนแรงของปัญหา (Severity) และกระบวนการป้องกันไม่ให้ปัญหาเล็กๆ ลุกลามกลายเป็นการหยุดชะงักของทั้งระบบ
  • แนวทางการตอบแบบมืออาชีพ:
  • Single-bit Error (Correctable Error): เกิดข้อผิดพลาดเพียง 1 บิตในชุดข้อมูล วงจรฮาร์ดแวร์สามารถคำนวณและซ่อมแซมข้อมูลให้ถูกต้องได้แบบเรียลไทม์ เซิร์ฟเวอร์ไม่ต้องหยุดทำงาน แต่ระบบจะเพิ่มตัวนับสถิติ (Counter) ในระบบปฏิบัติการผ่านโมดูล EDAC (/sys/devices/system/edac/mc/) หากพบว่าแรมแถวใดเกิด Single-bit ซ้ำๆ ที่ตำแหน่งเดิมถี่ผิดปกติ ระบบอัตโนมัติจะต้องทำ Page Retirement (สั่งให้ OS ปิดการใช้งานหน่วยความจำบล็อกนั้น) และแจ้งเตือนให้ช่างเตรียมเปลี่ยนแรมก่อนที่มันจะพังถาวร
  • Multi-bit Error (Uncorrectable Error): เกิดข้อผิดพลาดตั้งแต่ 2 บิตขึ้นไปในบล็อกข้อมูลเดียวกัน ซึ่งเกินความสามารถทางคณิตศาสตร์ที่จะซ่อมแซมได้ เพื่อความปลอดภัย ฮาร์ดแวร์จะส่งสัญญาณ MCE ไปสั่งให้เคอร์เนลหยุดการทำงานทันที (Panic) เพื่อป้องกันไม่ให้ข้อมูลที่ผิดเพี้ยนถูกเขียนลงไปในฐานข้อมูลหรือระบบจัดเก็บข้อมูล

ข้อที่ 3: ระบบการจัดการนอกแถบสัญญาณ (Out-of-Band Management / BMC)

  • คำถามสัมภาษณ์: “Baseboard Management Controller (BMC) คืออะไร และมีความสำคัญอย่างไรต่อการดูแลรักษาเซิร์ฟเวอร์ในศูนย์ข้อมูล?”
  • ปูพื้นฐานและหลักการทำงาน:
  • In-Band Management: คือการควบคุมเซิร์ฟเวอร์ผ่านระบบปฏิบัติการหลัก (เช่น การ SSH เข้าเครื่อง) ซึ่งหากระบบปฏิบัติการค้าง, สายแลนหลุด, หรือเครื่องปิดอยู่ เราจะไม่สามารถทำอะไรได้เลย
  • Out-of-Band (OOB) Management: คือการมีคอมพิวเตอร์ขนาดเล็กอีกลูกหนึ่งฝังอยู่บนเมนบอร์ดของเซิร์ฟเวอร์ ทำงานแยกส่วนจากซีพียูและระบบปฏิบัติการหลัก มีซีพียู แรม ระบบเครือข่าย และสายไฟเลี้ยงของตัวเอง คอมพิวเตอร์จิ๋วตัวนี้เรียกว่า BMC (เช่น ชิป Aspeed AST2600 ที่ใช้ใน iDRAC, iLO หรือ OpenBMC)
  • สิ่งที่ผู้สัมภาษณ์อยากเห็น: ความเข้าใจเรื่องการบริหารจัดการระยะไกลโดยไม่ต้องเดินเข้าไปที่หน้าตู้เซิร์ฟเวอร์จริง และการควบคุมระดับต่ำกว่าระบบปฏิบัติการ (Low-level Control)
  • แนวทางการตอบแบบมืออาชีพ:
  • BMC ทำหน้าที่เหมือน “ตาและมือ” ของวิศวกรประจำศูนย์ข้อมูล โดยมีบทบาทหลัก 4 ประการ:
  1. การควบคุมพลังงานระยะไกล (Power Control): สั่งเปิด, ปิด, รีบูต (Hard/Graceful Reset) ได้แม้ระบบปฏิบัติการหลักจะ Freeze ไปแล้ว ผ่านโปรโตคอล IPMI (ipmitool power cycle) หรือ Redfish API
  2. การเข้าถึงหน้าจอเสมือน (Virtual Console / KVM / Serial-over-LAN): จำลองสายสัญญาณภาพและคีย์บอร์ดเสมือนจริง ทำให้เห็นข้อความหน้าจอตั้งแต่จังหวะเปิดเครื่อง ตรวจสอบข้อผิดพลาดในระดับ BIOS/UEFI ได้จากระยะไกล
  3. การตรวจสอบสภาพแวดล้อมและฮาร์ดแวร์ (Hardware Telemetry): อ่านค่าจากเซ็นเซอร์ทั่วเครื่อง เช่น รอบพัดลม, อุณหภูมิแต่ละจุด, สถานะของพาวเวอร์ซัพพลาย และบันทึกข้อผิดพลาดลงใน System Event Log (SEL)
  4. การติดตั้งและกู้คืนระบบ (Virtual Media / Provisioning): สั่งแนบไฟล์ ISO ผ่านระบบเครือข่าย เพื่อติดตั้งระบบปฏิบัติการใหม่ หรือรันโปรแกรมตรวจสอบฮาร์ดแวร์โดยไม่ต้องเดินไปเสียบแฟลชไดรฟ์ที่เครื่อง

ข้อที่ 4: การทำงานของระบบระบายความร้อนและพลศาสตร์การไหลของอากาศ (Chassis Thermals & Airflow)

  • คำถามสัมภาษณ์: “ทำไมเซิร์ฟเวอร์ในศูนย์ข้อมูลจึงต้องมีแผ่นกั้นลม (Airflow Shroud/Baffle) และหากพัดลมระบายความร้อนหยุดทำงานไป 1 ตัว ระบบจะมีปฏิกิริยาอย่างไร?”
  • ปูพื้นฐานและหลักการทำงาน:
  • เซิร์ฟเวอร์ในตู้แร็ก (Rack) ได้รับการออกแบบให้ดูดลมเย็นจากทางด้านหน้าตู้ (Cold Aisle) ผ่านชิ้นส่วนต่างๆ ภายใน แล้วเป่าลมร้อนออกทางด้านหลัง (Hot Aisle)
  • ชิ้นส่วนต่างๆ เช่น Heatsink ของซีพียู และช่องเสียบแรม มีความหนาแน่นสูงมาก ลมธรรมชาติจะเลือกไหลผ่าน “เส้นทางที่มีแรงต้านน้อยที่สุด” (Path of least resistance) ซึ่งคือช่องว่างที่ไม่มีอุปกรณ์ติดตั้งอยู่
  • Airflow Shroud (Baffle): คือฝาครอบพลาสติกที่ถูกออกแบบตามหลักอากาศพลศาสตร์ บังคับให้ลมเย็นที่พัดลมดูดเข้ามา ต้องวิ่งผ่านครีบระบายความร้อนของซีพียูและแรมโดยตรง ไม่ให้ลมรั่วไหลหนีออกไปทางอื่น
  • สิ่งที่ผู้สัมภาษณ์อยากเห็น: ความเข้าใจเรื่องผลกระทบทางกายภาพ ความปลอดภัยของอุปกรณ์ และกลไกอัตโนมัติในการป้องกันความเสียหาย
  • แนวทางการตอบแบบมืออาชีพ:
  • ความสำคัญของ Shroud: หากลืมใส่แผ่น Shroud หรือปิดฝาเครื่องไม่สนิท แรงดันลมสถิต (Static Pressure) ภายในตัวถังจะตกลง ลมจะไม่ไหลผ่านครีบ Heatsink ส่งผลให้อุณหภูมิของซีพียูพุ่งสูงขึ้นอย่างรวดเร็ว (Thermal Runaway) ภายในเวลาไม่กี่นาที
  • ปฏิกิริยาเมื่อพัดลมตัวใดตัวหนึ่งเสีย (N+1 Redundancy):
  1. เซ็นเซอร์รอบพัดลม (Tachometer) จะส่งสัญญาณแจ้ง BMC ว่ารอบตกหรือเป็น 0
  2. เพื่อความปลอดภัย นโยบายการควบคุมความร้อน (Thermal Policy) ของ BMC จะสั่งให้พัดลมตัวอื่นๆ ที่เหลืออยู่ทั้งหมดเร่งความเร็วขึ้นเป็น 100% (Duty Cycle สูงสุด) ทันที เพื่อชดเชยปริมาณลมที่หายไป ทำให้เครื่องมีเสียงดังผิดปกติ
  3. หากอุณหภูมิของซีพียูยังคงสูงเกินขีดจำกัดวิกฤต ซีพียูจะทำการ Thermal Throttling (ลดความเร็วสัญญาณนาฬิกาลงเพื่อลดความร้อน) ซึ่งจะส่งผลให้ประสิทธิภาพของระบบลดลงอย่างเห็นได้ชัด
  4. หากความร้อนทะลุจุดปลอดภัยสูงสุด (Thermal Trip) วงจรฮาร์ดแวร์จะสั่งตัดไฟดับเครื่องทันที (Hard Shutdown) เพื่อป้องกันไม่ให้ชิปซิลิคอนหลอมละลายหรือเสียหายถาวร

ข้อที่ 5: สุขภาพของตัวจัดเก็บข้อมูลแบบ NVMe และสัญญาณเตือนการเสื่อมสภาพ

  • คำถามสัมภาษณ์: “บนเซิร์ฟเวอร์ที่ใช้งานอย่างต่อเนื่อง คุณมีขั้นตอนการตรวจสอบความสมบูรณ์และคาดการณ์ความเสียหายของ NVMe SSD อย่างไร?”
  • ปูพื้นฐานและหลักการทำงาน:
  • แฟลชเมมโมรี (NAND Flash) ที่อยู่ใน SSD ทุกตัวมี “อายุการใช้งานจำกัด” ทุกครั้งที่มีการเขียนและลบข้อมูล ชั้นฉนวนออกไซด์ระดับอะตอมจะค่อยๆ เสื่อมสภาพลง
  • เพื่อป้องกันข้อมูลสูญหาย ตัวไดรฟ์จึงมีระบบประเมินตนเองที่เรียกว่า S.M.A.R.T. (Self-Monitoring, Analysis and Reporting Technology) คอยบันทึกสถิติการสึกหรอและข้อผิดพลาดภายใน
  • สิ่งที่ผู้สัมภาษณ์อยากเห็น: ทักษะการใช้เครื่องมือมาตรฐานบนระบบปฏิบัติการ Linux และความสามารถในการสังเกตค่าตัวเลขที่บ่งบอกความเสี่ยงก่อนที่อุปกรณ์จะหยุดทำงาน
  • แนวทางการตอบแบบมืออาชีพ:
  1. ใช้เครื่องมือมาตรฐาน: เรียกใช้คำสั่ง smartctl -a /dev/nvmeX (จากแพ็กเกจ smartmontools) หรือคำสั่ง nvme smart-log /dev/nvmeX (จาก nvme-cli)
  2. ค่าพารามิเตอร์สำคัญที่ต้องตรวจสอบ:
  • Available Spare (พื้นที่สำรองที่เหลืออยู่): โดยปกติไดรฟ์จะมีชิปความจุสำรองเผื่อไว้ทดแทนส่วนที่เสีย หากค่านี้ลดลงต่ำกว่าเกณฑ์มาตรฐาน (Threshold เช่น ต่ำกว่า 10%) แปลว่าไดรฟ์ใกล้หมดสภาพ
  • Percentage Used (เปอร์เซ็นต์การใช้งาน): ตัวเลขคาดการณ์อายุการใช้งานตามการรับประกันของผู้ผลิต (Endurance) หากเกิน 100% ไม่ได้แปลว่าไดรฟ์จะพังทันที แต่ความเสี่ยงที่จะเกิดข้อผิดพลาดจะสูงขึ้นอย่างมีนัยสำคัญ
  • Media and Data Integrity Errors: หากตัวเลขนี้มีค่ามากกว่า 0 แสดงว่ามีข้อผิดพลาดระดับบล็อกข้อมูลที่ตัวควบคุม (Controller) ไม่สามารถแก้ไขได้ เป็นสัญญาณชัดเจนว่าต้องเปลี่ยนไดรฟ์ใหม่ทันที
  1. การตรวจสอบในระดับเคอร์เนล: ใช้คำสั่ง dmesg -T | grep -i nvme เพื่อดูว่ามีการแจ้งเตือน I/O Timeout หรือมีคำสั่งสั่งรีเซ็ตตัวคอนโทรลเลอร์ (Controller Reset) หรือไม่

ข้อที่ 6: การจ่ายไฟฟ้าแบบ Redundant และภาวะ Phase Imbalance

  • คำถามสัมภาษณ์: “ทำไมเซิร์ฟเวอร์ระดับองค์กรจึงต้องมี Power Supply Unit (PSU) สองตัวขึ้นไป และคำว่า Dual-Feed (A/B Feed) มีหลักการทำงานอย่างไร?”
  • ปูพื้นฐานและหลักการทำงาน:
  • ในศูนย์ข้อมูล ไฟฟ้าถือเป็นหัวใจสำคัญ หากไฟฟ้าดับเพียงเสี้ยววินาที ข้อมูลอาจเสียหายมหาศาล
  • เซิร์ฟเวอร์จึงติดตั้ง PSU จำนวน 2 ตัว โดยทำงานในลักษณะแบ่งเบาภาระร่วมกัน (Load Balancing) หรือสแตนด์บาย (Active-Standby)
  • แต่การมี PSU 2 ตัวเสียบอยู่กับปลั๊กรางเดียวกันไม่มีประโยชน์ หากรางปลั๊กนั้นไฟดับ เซิร์ฟเวอร์ก็จะดับตามไปด้วย จึงเกิดแนวคิดการแยกวงจรจ่ายไฟเป็น 2 ฝั่งอิสระ เรียกว่า A-Feed และ B-Feed
  • สิ่งที่ผู้สัมภาษณ์อยากเห็น: ความเข้าใจเรื่องความต่อเนื่องทางธุรกิจ (High Availability) และการออกแบบที่ไม่มีจุดล้มเหลวเดี่ยว (No Single Point of Failure)
  • แนวทางการตอบแบบมืออาชีพ:
  • หลักการของ A/B Feed:
  • สายไฟจาก PSU ตัวที่ 1 จะเสียบเข้ากับตู้ PDU (Power Distribution Unit) ฝั่ง A ซึ่งต่อตรงมาจากหม้อแปลง, ตู้ควบคุมไฟฟ้า (Switchboard) และเครื่องสำรองไฟฟ้า (UPS) ชุดที่ 1
  • สายไฟจาก PSU ตัวที่ 2 จะเสียบเข้ากับตู้ PDU ฝั่ง B ซึ่งมีระบบ UPS และสายส่งแยกเป็นอิสระอีกชุดหนึ่งโดยสิ้นเชิง
  • การทำงานเมื่อเกิดเหตุฉุกเฉิน: หาก UPS ฝั่ง A ระเบิด หรือเบรกเกอร์ฝั่ง A ตัดวงจร PSU ฝั่ง B จะต้องสามารถแบกรับภาระการกินไฟ 100% ของเซิร์ฟเวอร์ทั้งเครื่องได้ทันทีแบบไม่มีรอยต่อ (Zero Millisecond Transfer) ทำให้เซิร์ฟเวอร์ยังคงเปิดทำงานต่อไปได้โดยไม่ดับ
  • สิ่งที่ต้องระวัง (PDU Sizing): ในภาวะปกติ PDU แต่ละฝั่งจะต้องมีภาระโหลดรวมไม่เกิน 40-50% ของความจุสูงสุด เพื่อให้มั่นใจว่าเมื่ออีกฝั่งล้มเหลว ฝั่งที่เหลือจะสามารถรับโหลดสองเท่าได้โดยไม่ทำให้เบรกเกอร์หลักทริป (Cascade Failure)

ข้อที่ 7: อัตราการใช้งานระบบกับการเกิดปรากฏการณ์ CPU Throttling

  • คำถามสัมภาษณ์: “เมื่อสังเกตพบว่าระบบประมวลผลงานช้าลงผิดปกติ แต่ค่า CPU Utilization จากคำสั่ง top ไม่ได้แตะ 100% คุณจะตรวจสอบอย่างไรว่าเกิดปัญหาจากระดับฮาร์ดแวร์?”
  • ปูพื้นฐานและหลักการทำงาน:
  • ซีพียูรุ่นใหม่มีความสามารถในการปรับความถี่สัญญาณนาฬิกา (Clock Speed เช่น จาก 2.0 GHz ขึ้นไป 3.5 GHz) ตามปริมาณงาน
  • หากความร้อนของซีพียูสูงเกินเกณฑ์ปลอดภัย ซีพียูมีกลไกป้องกันตนเองที่เรียกว่า Thermal Throttling โดยจะบังคับลดความเร็วสัญญาณนาฬิกาลงมาที่ระดับต่ำสุด (เช่น เหลือเพียง 800 MHz) เพื่อลดการสร้างความร้อน
  • เมื่อความเร็วลดลง ซีพียูจะประมวลผลคำสั่งได้ช้าลงอย่างมาก แม้ตัวเลขเปอร์เซ็นต์ในคำสั่ง top จะดูเหมือนมีงานวิ่งอยู่ไม่เต็ม แต่ในความเป็นจริงกำลังการประมวลผลโดยรวมตกลงไปแล้ว
  • สิ่งที่ผู้สัมภาษณ์อยากเห็น: ความสามารถในการวิเคราะห์ลึกกว่าระดับซอฟต์แวร์ และความเข้าใจความสัมพันธ์ระหว่างอุณหภูมิกับประสิทธิภาพทางกายภาพ
  • แนวทางการตอบแบบมืออาชีพ:
  1. ตรวจสอบความเร็วสัญญาณนาฬิกาจริง: ใช้คำสั่ง cat /proc/cpuinfo | grep MHz หรือ lscpu | grep MHz เพื่อดูว่าความถี่ปัจจุบันตกต่ำกว่าความถี่ฐาน (Base Frequency) หรือไม่
  2. ตรวจสอบ Register ของฮาร์ดแวร์โดยตรง: ใช้คำสั่ง turbostat หรืออ่านค่าตัวนับจากเคอร์เนลผ่าน:
    cat /sys/devices/system/cpu/cpu*/thermal_throttle/*
    หากตัวเลขในไฟล์ core_throttle_count หรือ package_throttle_count เพิ่มขึ้นอย่างต่อเนื่อง แสดงว่าซีพียูกำลังถูกควบคุมความเร็วจากความร้อนจริง
  3. เชื่อมโยงหาสาเหตุ: เข้าไปดูอุณหภูมิผ่าน BMC ตรวจสอบพัดลมว่ารอบตกหรือไม่ หรือ Heatsink หลุด/ซิลิโคนระบายความร้อนแห้งหรือไม่

หมวดที่ 2: Networking (ระบบเครือข่ายศูนย์ข้อมูล)


ข้อที่ 8: สถาปัตยกรรมเครือข่ายแบบ Spine-and-Leaf (Clos Network)

  • คำถามสัมภาษณ์: “ทำไมศูนย์ข้อมูลสมัยใหม่จึงยกเลิกสถาปัตยกรรมเครือข่ายแบบ 3-Tier ดั้งเดิม แล้วเปลี่ยนมาใช้สถาปัตยกรรมแบบ Spine-and-Leaf?”
  • ปูพื้นฐานและหลักการทำงาน:
  • สถาปัตยกรรม 3-Tier (เดิม): แบ่งเป็น Core -> Aggregation -> Access โดยเครื่องเซิร์ฟเวอร์จะเสียบเข้า Access Switch การส่งข้อมูลเน้นแบบ “ขึ้น-ลง” (North-South Traffic คือจากภายนอกอินเทอร์เน็ตเข้ามาหาเซิร์ฟเวอร์) แต่มีข้อเสียคือ เมื่อข้อมูลต้องการวิ่งคุยกันระหว่างเซิร์ฟเวอร์ (East-West) จะเกิดคอขวด และระบบต้องใช้โปรโตคอล Spanning Tree (STP) บล็อกสายลิงก์บางเส้นไว้เพื่อกันสัญญาณวนซ้ำ ทำให้สูญเสียแบนด์วิดท์ไปครึ่งหนึ่ง
  • สถาปัตยกรรม Spine-and-Leaf: ปรับรูปแบบใหม่เป็นเครือข่าย 2 ชั้น:
  • Leaf Switch (หรือ Top-of-Rack – ToR): สวิตช์ประจำแต่ละตู้แร็ก ทำหน้าที่เชื่อมต่อกับเซิร์ฟเวอร์โดยตรง
  • Spine Switch: สวิตช์แกนกลางขนาดใหญ่ ทำหน้าที่เป็นทางเชื่อมระหว่าง Leaf ทุกตัว
  • กฎสำคัญ: Leaf สวิตช์ทุกตัวจะต้องต่อเชื่อมเข้ากับ Spine สวิตช์ทุกตัว และไม่มีการต่อสายตรงระหว่าง Leaf ด้วยกัน หรือระหว่าง Spine ด้วยกัน
  • สิ่งที่ผู้สัมภาษณ์อยากเห็น: ความเข้าใจเรื่องรูปแบบการไหลของทราฟฟิก (Traffic Flow) ในยุค Cloud/Distributed Computing และประโยชน์ของการตัด Spanning Tree ออกไป
  • แนวทางการตอบแบบมืออาชีพ:
  1. ระยะทางและความหน่วงเวลาที่คาดเดาได้ (Deterministic Latency): การส่งข้อมูลระหว่างเซิร์ฟเวอร์สองเครื่องใดๆ ภายในศูนย์ข้อมูล จะใช้จำนวนการส่งผ่านสวิตช์ (Hop Count) เท่ากันเสมอ คือ Server A -> Leaf A -> Spine ใดก็ได้ -> Leaf B -> Server B ไม่เกินนี้
  2. การใช้แบนด์วิดท์อย่างคุ้มค่าด้วย ECMP: แทนที่จะต้องปิดพอร์ตทิ้งเหมือน Spanning Tree สถาปัตยกรรมนี้ใช้การเราต์เส้นทางใน Layer 3 ร่วมกับเทคโนโลยี ECMP (Equal-Cost Multi-Path) ทำให้สายไฟเบอร์ทุกเส้นที่เชื่อมระหว่าง Leaf กับ Spine สามารถส่งข้อมูลพร้อมๆ กันได้ทั้งหมด
  3. การขยายระบบแบบแนวนอน (Scale-Out Flexibility): หากต้องการเพิ่มจำนวนเซิร์ฟเวอร์ ให้เพิ่ม Leaf Switch แต่หากแบนด์วิดท์ระหว่างตู้เริ่มเต็ม ให้เพิ่ม Spine Switch โดยไม่ต้องรื้อโครงข่ายเดิม

ข้อที่ 9: การรวมช่องสัญญาณเครือข่าย (LACP / Link Aggregation) และ Hash Policy

  • คำถามสัมภาษณ์: “เซิร์ฟเวอร์มีการต่อสายแลนแบบคู่ (Bonding/Teaming) ด้วยโปรโตคอล LACP เพื่อรวมความเร็วเป็น 200 Gbps แต่ทำไมเมื่อทดสอบดาวน์โหลดไฟล์ขนาดใหญ่ไฟล์เดียว กลับทำความเร็วได้สูงสุดแค่ 100 Gbps?”
  • ปูพื้นฐานและหลักการทำงาน:
  • LACP (Link Aggregation Control Protocol – 802.3ad): เป็นเทคโนโลยีการรวมสายสัญญาณหลายเส้นเข้าด้วยกันทางลอจิก เพื่อเพิ่มขนาดช่องสัญญาณและสร้างระบบสำรองเมื่อสายใดสายหนึ่งขาด
  • อย่างไรก็ตาม สวิตช์และเซิร์ฟเวอร์ไม่สามารถสลับส่ง Packet ของการเชื่อมต่อเดียวกันไปมาแบบสลับฟันปลาบนสายทั้งสองเส้นได้ เพราะจะทำให้ Packet ไปถึงปลายทางสลับลำดับกัน (Out-of-Order Packets) ซึ่งทำให้โปรโตคอล TCP ต้องขอข้อมูลใหม่และประสิทธิภาพตกลง
  • ดังนั้น ระบบจึงต้องใช้การคำนวณทางคณิตศาสตร์ที่เรียกว่า Hashing Algorithm เพื่อตัดสินใจว่า “การเชื่อมต่อหนึ่งๆ (Flow) จะต้องวิ่งบนสายเส้นไหนตั้งแต่ต้นจนจบ”
  • สิ่งที่ผู้สัมภาษณ์อยากเห็น: ความเข้าใจลึกซึ้งว่าการรวมลิงก์ (Aggregation) ไม่เท่ากับการเพิ่มความเร็วของการเชื่อมต่อเดี่ยว (Single TCP Stream) แต่เป็นการเพิ่มความจุรวม (Aggregate Capacity)
  • แนวทางการตอบแบบมืออาชีพ:
  • สาเหตุเกิดจากหลักการของ Hashing Policy: สำหรับ Single Connection/Flow นั้น ค่าแฮชที่คำนวณได้จะมีผลลัพธ์เป็นค่าเดิมเสมอ ข้อมูลทั้งหมดของทราฟฟิกนั้นจึงถูกส่งผ่านสายสัญญาณเส้นเดิมเพียงเส้นเดียว (ขีดจำกัดทางกายภาพคือ 100 Gbps ของสายเส้นนั้น)
  • หากต้องการกระจายทราฟฟิกให้สม่ำเสมอ ต้องตรวจสอบนโยบายการทำ Hash ในไฟล์ /proc/net/bonding/bondX:
  • หากตั้งเป็น layer2 ระบบจะนำเอาเฉพาะ MAC Address ต้นทางและปลายทางมาคำนวณ หากคุยกับ Default Gateway เพียงจุดเดียว ทราฟฟิกทั้งหมดจะวิ่งออกเส้นเดิมเสมอ
  • ควรปรับคอนฟิกเป็น layer2+3 (ใช้ IP เพิ่ม) หรือ layer3+4 (นำเอา Port ต้นทางและปลายทางมาร่วมคำนวณ) เพื่อให้เมื่อมีการเปิด Connection ใหม่ ระบบสามารถกระจายการเชื่อมต่อไปยังสายอีกเส้นหนึ่งได้

ข้อที่ 10: การตรวจวัดสายสัญญาณออปติกผ่านระบบดิจิทัล (DOM / DDM)

  • คำถามสัมภาษณ์: “เมื่อพอร์ตเชื่อมต่อความเร็วสูง 100GbE เกิดปัญหาการส่งข้อมูลสะดุดและเกิด Packet Drops คุณมีขั้นตอนการตรวจสอบหัวแปลงสัญญาณ (Optical Transceiver) ผ่านคำสั่งบน Linux อย่างไร?”
  • ปูพื้นฐานและหลักการทำงาน:
  • การเชื่อมต่อระดับ 10G/40G/100G มักใช้สายใยแก้วนำแสง (Fiber Optic) เสียบเข้ากับอุปกรณ์แปลงสัญญาณแสงเป็นไฟฟ้าที่เรียกว่า Optical Transceiver (เช่น โมดูล SFP+, QSFP28)
  • ภายในโมดูลเหล่านี้จะมีไมโครคอนโทรลเลอร์ตรวจวัดค่าทางกายภาพแบบเรียลไทม์ เรียกว่า DOM (Digital Optical Monitoring) หรือ DDM (Digital Diagnostic Monitoring)
  • สิ่งที่ผู้สัมภาษณ์อยากเห็น: ความชำนาญในการวินิจฉัยปัญหา Layer 1 (กายภาพ) จากเครื่องมือบนระบบปฏิบัติการ โดยไม่ต้องใช้เครื่องมือวัดแสงราคาแพงในเบื้องต้น
  • แนวทางการตอบแบบมืออาชีพ:
  1. เรียกดูข้อมูล DOM: ใช้คำสั่ง ethtool -m <interface_name>
  2. ค่าสำคัญที่ต้องนำมาวิเคราะห์:
  • Optical TX Power (กำลังส่งแสง): วัดเป็นหน่วยมิลลิวัตต์ (mW) หรือเดซิเบลมิลลิวัตต์ (dBm) เพื่อดูว่าเลเซอร์ของโมดูลตัวส่งมีกำลังส่งแสงปกติหรือไม่
  • Optical RX Power (กำลังรับแสง): เป็นค่าที่สำคัญที่สุด บ่งบอกถึงความเข้มของแสงที่เดินทางมาถึงตัวรับ หากค่า RX ต่ำกว่าระดับความไวในการรับสัญญาณ (Receiver Sensitivity Threshold) เช่น ตกลงไปแตะ -15 dBm ถึง -20 dBm (ขึ้นอยู่กับสเปกของโมดูล) จะทำให้เกิดการอ่านบิตข้อมูลผิดพลาด นำไปสู่ Packet Drop หรือ Link Flapping
  • Laser Bias Current: กระแสไฟฟ้าที่จ่ายให้กับเลเซอร์ไดโอด หากมีค่าสูงผิดปกติแต่กำลังแสงไม่ออก บ่งชี้ว่าตัวเลเซอร์ใกล้หมดสภาพ
  1. การแปลผล: หาก TX ฝั่งต้นทางปกติ แต่ RX ฝั่งปลายทางต่ำมาก ปัญหาจะอยู่ที่เส้นทางระหว่างนั้น เช่น สายไฟเบอร์หักงอเกินพิกัด, หัวต่อสกปรกมีฝุ่นเกาะ, หรือแผง Patch Panel เสื่อมสภาพ

ข้อที่ 11: ความแตกต่างของสายสัญญาณกายภาพ (DAC vs AOC vs Structured Fiber)

  • คำถามสัมภาษณ์: “อธิบายข้อแตกต่าง ข้อดี ข้อจำกัด และกรณีการใช้งานที่เหมาะสมของสาย DAC, AOC และสาย Fiber Optic ทั่วไปในศูนย์ข้อมูล”
  • ปูพื้นฐานและหลักการทำงาน:
  • ในระดับตู้แร็กศูนย์ข้อมูล การเชื่อมต่อระหว่างเซิร์ฟเวอร์กับสวิตช์ไม่ได้ใช้สายแลนทองแดง RJ45 ทั่วไป เนื่องจากข้อจำกัดด้านความร้อน ความหน่วงเวลา และความเร็ว จึงมีสายสัญญาณเฉพาะทางให้เลือกใช้ 3 ประเภทหลัก
  • สิ่งที่ผู้สัมภาษณ์อยากเห็น: ความเข้าใจในการเลือกใช้วัสดุให้เหมาะสมกับระยะทาง งบประมาณ และความยากง่ายในการบำรุงรักษา
  • แนวทางการตอบแบบมืออาชีพ:
  • 1. DAC (Direct Attach Copper):
  • ลักษณะ: สายเคเบิลทองแดงคู่ตีเกลียวหุ้มฉนวนหนาพิเศษ โดยมีหัวต่อคล้ายโมดูล SFP/QSFP ติดตายตัวมาจากโรงงาน ไม่มีการแปลงสัญญาณไฟฟ้าเป็นแสง (Passive)
  • ข้อดี: ราคาประหยัดที่สุด, ไม่กินไฟ, มีความหน่วงเวลาต่ำมาก (Ultra-low latency)
  • ข้อเสีย: สายมีน้ำหนักมากและแข็ง ดัดงอยากมาก และระยะทางสั้นมาก (มักไม่เกิน 1-3 เมตร)
  • การใช้งาน: เชื่อมต่อระหว่างเซิร์ฟเวอร์กับ ToR Switch ที่อยู่ภายในตู้แร็กเดียวกัน
  • 2. AOC (Active Optical Cable):
  • ลักษณะ: สายใยแก้วนำแสงที่เชื่อมติดกับหัวแปลงสัญญาณแสงที่ปลายทั้งสองข้างแบบตายตัวจากโรงงาน ถอดแยกสายออกจากหัวไม่ได้
  • ข้อดี: สายเล็ก น้ำหนักเบา ยืดหยุ่น จัดสายง่ายกว่า DAC และส่งสัญญาณได้ไกลกว่า (5-30 เมตร) ไม่มีปัญหาเรื่องฝุ่นเกาะหน้าสัมผัสเลนส์เพราะระบบถูกซีลปิดสนิท
  • ข้อเสีย: หากสายขาดหรือหัวเสียแม้แต่ข้างเดียว ต้องทิ้งทั้งเส้น ไม่สามารถซ่อมแซมได้
  • การใช้งาน: เชื่อมต่อระหว่างตู้แร็กที่อยู่ติดกัน หรือเชื่อมข้ามแถวในระยะใกล้
  • 3. Structured Fiber (Transceiver + Patch Cord):
  • ลักษณะ: ตัวโมดูลรับส่งสัญญาณ (Transceiver) แยกชิ้นอิสระจากสายใยแก้ว (Patch Cord เช่น หัวต่อแบบ LC หรือ MPO/MTP)
  • ข้อดี: ยืดหยุ่นสูงสุด สามารถเดินสายล่วงหน้าผ่านช่องทางเดินสายบนเพดาน (Cable Ladder) หรือใต้พื้น แล้วนำสายมาเสียบเชื่อมต่อระยะทางไกลได้ (ตั้งแต่ 100 เมตร ถึงหลายกิโลเมตร)
  • ข้อเสีย: ราคาสูงที่สุด และมีความเสี่ยงสูงต่อการปนเปื้อนของฝุ่นที่หน้าสัมผัส ต้องทำความสะอาดทุกครั้งที่มีการเสียบสาย
  • การใช้งาน: เชื่อมต่อระหว่าง Leaf Switch ไปยัง Spine Switch หรือเชื่อมต่อข้ามห้องเครื่อง

ข้อที่ 12: การวิเคราะห์ข้อผิดพลาดของพอร์ตเครือข่าย (CRC vs FIFO vs Dropped)

  • คำถามสัมภาษณ์: “เมื่อใช้คำสั่งตรวจสอบ Network Interface บน Linux แล้วพบค่า Error Counters เพิ่มขึ้น คุณมีหลักการแยกแยะอย่างไรระหว่าง CRC Errors, FIFO Errors และ Packet Drops?”
  • ปูพื้นฐานและหลักการทำงาน:
  • เมื่อข้อมูลเดินทางจากสายสัญญาณ เข้าสู่การ์ดแลน (NIC) และส่งต่อไปยังหน่วยความจำของระบบปฏิบัติการ (Kernel Network Stack) แต่ละจุดจะมีตัวตรวจจับข้อผิดพลาดคอยบันทึกสถิติไว้
  • สิ่งที่ผู้สัมภาษณ์อยากเห็น: ความเข้าใจในการจัดวางปัญหาลงใน Layer ของระบบเครือข่าย (OSI Model) เพื่อระบุจุดที่เป็นคอขวดหรือจุดที่ชำรุดได้อย่างแม่นยำ
  • แนวทางการตอบแบบมืออาชีพ:
  • ตรวจสอบด้วยคำสั่ง: ethtool -S <interface> หรือ ip -s link show dev <interface>
  • 1. CRC Errors (Cyclic Redundancy Check Errors):
  • ความหมาย: ข้อมูลระดับเฟรม (Layer 2) ที่ได้รับ มีผลรวมตรวจสอบไม่ตรงกับต้นทาง แสดงว่ามีบิตข้อมูลสูญหายหรือผิดเพี้ยนระหว่างเดินทาง
  • ต้นตอ: เกิดจากปัญหาทางกายภาพ (Layer 1) เกือบ 100% เช่น สายไฟเบอร์งอเกินไป, หัวคอนเน็กเตอร์สกปรก, สายทองแดงมีสัญญาณรบกวน, หรือขาพอร์ตหลวม
  • 2. FIFO / Overrun Errors:
  • ความหมาย: บัฟเฟอร์ขนาดเล็กบนตัวชิปการ์ดแลน (Hardware Ring Buffer) เต็ม ทำให้การ์ดไม่สามารถรับข้อมูลที่ไหลเข้ามาได้ทัน จึงต้องทิ้งข้อมูลไป
  • ต้นตอ: การ์ดแลนไม่สามารถดึงข้อมูลส่งต่อไปยังแรมของเครื่องได้ทัน อาจเกิดจากขนาด Ring Buffer ตั้งไว้เล็กเกินไป (แก้ไขได้ด้วยการขยายขนาดบัฟเฟอร์ผ่าน ethtool -G <interface> rx <size>) หรือระบบติดขัดการประมวลผลคำสั่งขัดจังหวะ (Interrupt CPU Affinity)
  • 3. Dropped Packets (ฝั่ง Software/Kernel):
  • ความหมาย: การ์ดแลนรับข้อมูลเข้ามาได้ถูกต้องสมบูรณ์ แต่ระบบปฏิบัติการเป็นผู้ทิ้งแพ็กเก็ตนั้นเอง
  • ต้นตอ: โครงสร้างคิวรับส่งข้อมูลของเคอร์เนล (เช่น netdev_max_backlog) เต็ม หรือซีพียูที่ประมวลผลงานฝั่งซอฟต์แวร์ (SoftIRQ) มีภาระโหลดเต็ม 100% จนประมวลผลโปรโตคอลสแตกไม่ทัน หรือเกิดจากกฎของระบบความปลอดภัย (Firewall / iptables) สั่งตัดทิ้ง

ข้อที่ 13: ภาวะ TCP Incast และการจัดการ Switch Buffer Congestion

  • คำถามสัมภาษณ์: “TCP Incast คืออะไร มักเกิดขึ้นในสภาพแวดล้อมแบบใดใน Data Center และส่งผลกระทบอย่างไรต่อประสิทธิภาพของเครือข่าย?”
  • ปูพื้นฐานและหลักการทำงาน:
  • ในระบบประมวลผลแบบกระจายตัว (เช่น Big Data Processing, Distributed Storage, หรือ MapReduce) มักมีรูปแบบการทำงานที่เครื่องแม่ข่าย 1 เครื่อง ส่งคำสั่งไปถามเครื่องลูกข่ายนับร้อยเครื่องพร้อมกัน
  • เมื่อเครื่องลูกข่ายประมวลผลเสร็จ ทุกเครื่องจะส่งคำตอบกลับมายังเครื่องแม่ข่ายเครื่องเดียวในเวลาเดียวกันแทบจะระดับไมโครวินาทีเดียวกัน รูปแบบนี้เรียกว่า Many-to-One Traffic Pattern
  • สิ่งที่ผู้สัมภาษณ์อยากเห็น: ความเข้าใจเรื่องพฤติกรรมของสวิตช์เครือข่าย ปัญหาคอขวดระดับ Microsecond (Microburst) และกลไกของโปรโตคอล TCP
  • แนวทางการตอบแบบมืออาชีพ:
  • กลไกการเกิดปัญหา: เมื่อแพ็กเก็ตจากหลายร้อยพอร์ตพุ่งตรงไปยังพอร์ตปลายทางเพียงพอร์ตเดียว หน่วยความจำบัฟเฟอร์ชั่วคราว (Packet Buffer) ของสวิตช์ประจำพอร์ตนั้นจะถูกเติมเต็มทันทีในเวลาไม่กี่ไมโครวินาที (เกิดภาวะ Microburst)
  • ผลกระทบ:
  1. สวิตช์ไม่มีพื้นที่เก็บข้อมูล ทำให้เกิด Tail Drop (แพ็กเก็ตส่วนเกินถูกทิ้งลงถังขยะทันที)
  2. เมื่อแพ็กเก็ตสูญหาย กลไกของ TCP จะคิดว่าเครือข่ายล่ม จึงลดขนาดหน้าต่างการส่งข้อมูลลงเหลือระดับต่ำสุด และต้องรอเวลาหมด (TCP Retransmission Timeout – RTO) ซึ่งสำหรับระบบความเร็วสูง การรอเวลาแม้เพียงไม่กี่มิลลิวินาทีถือว่ายาวนานมาก
  3. ผลลัพธ์คือ อัตราการส่งข้อมูลรวมของทั้งระบบร่วงลงเหวอย่างฉับพลัน (Throughput Collapse)
  • แนวทางการบรรเทาปัญหา: การเลือกใช้สวิตช์ที่มีขนาดบัฟเฟอร์เหมาะสมกับเวิร์กโหลด, การปรับจูนค่า TCP RTO ขั้นต่ำในเคอร์เนลให้สั้นลง, หรือการเปิดใช้เทคโนโลยี ECN (Explicit Congestion Notification) เพื่อส่งสัญญาณเตือนให้เครื่องต้นทางชะลอความเร็วก่อนที่บัฟเฟอร์ของสวิตช์จะล้น

ข้อที่ 14: ปัญหา MTU Mismatch และการเปิดใช้งาน Jumbo Frames

  • คำถามสัมภาษณ์: “ทำไมเราจึงนิยมเปิดใช้งาน Jumbo Frames บนเครือข่าย Storage ใน Data Center และหากเกิดปัญหา MTU Mismatch จะสังเกตเห็นอาการอย่างไร?”
  • ปูพื้นฐานและหลักการทำงาน:
  • MTU (Maximum Transmission Unit): คือขนาดข้อมูลสูงสุดของเฟรมเครือข่ายมาตรฐาน Ethernet ซึ่งถูกกำหนดไว้ที่ 1,500 ไบต์มาตั้งแต่ยุคเริ่มต้น
  • ในการส่งข้อมูลขนาดใหญ่ เช่น ข้อมูลสำรองหรือการเขียนดิสก์ระดับหลายเทราไบต์ หากใช้ MTU 1,500 ไบต์ ระบบจะต้องซอยข้อมูลออกเป็นชิ้นเล็กๆ จำนวนมหาศาล ซึ่งทุกชิ้นจะต้องมี Header แปะไปด้วย และซีพียูต้องเสียพลังงานมาประมวลผลคำสั่งขัดจังหวะ (Interrupts) นับล้านครั้งต่อวินาที
  • Jumbo Frames: คือการขยายขนาด MTU ขึ้นเป็น 9,000 ไบต์ เพื่อให้ส่งข้อมูลต่อก้อนได้มากขึ้น ช่วยลดภาระของซีพียูและเพิ่มอัตราการส่งข้อมูลสุทธิ
  • สิ่งที่ผู้สัมภาษณ์อยากเห็น: ทักษะการแก้ไขปัญหาเมื่อมีการตั้งค่าที่ไม่สอดคล้องกันทั่วทั้งระบบเครือข่าย (End-to-End Consistency)
  • แนวทางการตอบแบบมืออาชีพ:
  • กฎเหล็กของ Jumbo Frames: อุปกรณ์ทุกตัวบนเส้นทางการเดินทางของข้อมูล (ตั้งแต่ Server ต้นทาง -> Network Switches ทุกตัว -> Server/Storage ปลายทาง) จะต้องตั้งค่า MTU ให้รองรับ 9,000 ไบต์เท่ากันทั้งหมด
  • อาการเมื่อเกิด MTU Mismatch (เช่น ต้นทาง 9000 แต่มีสวิตช์ตัวกลางตั้งไว้ 1500):
  • การทดสอบพื้นฐานเช่นการใช้คำสั่ง ping ทั่วไปจะผ่านฉลุย เพราะแพ็กเก็ตของ ping มีขนาดเล็กมาก (มักไม่เกิน 64-100 ไบต์)
  • การเชื่อมต่อ SSH หรือการคุยแบบข้อความสั้นๆ อาจทำงานได้ตามปกติ
  • แต่ทันทีที่แอปพลิเคชันเริ่มส่งไฟล์หรือข้อมูลก้อนใหญ่ การเชื่อมต่อจะค้างและเกิด Timeout ทันที เพราะแพ็กเก็ตขนาด 9,000 ไบต์ถูกสวิตช์ตัวกลางทำลายทิ้งเนื่องจากขนาดเกินพิกัด และหากมีการปิดกั้นข้อความแจ้งเตือน ICMP ระบบต้นทางจะไม่รู้ว่าเกิดอะไรขึ้น (Black Hole)
  • วิธีทดสอบและยืนยันปัญหา: ใช้คำสั่ง ping โดยห้ามแยกส่วนแพ็กเก็ต (Don’t Fragment) และระบุขนาดที่ต้องการทดสอบ:
    ping -M do -s 8972 <เป้าหมาย>
    (สาเหตุที่ใช้ 8972 เพราะต้องบวก IP Header 20 ไบต์ และ ICMP Header 8 ไบต์ รวมเป็น 9000 ไบต์พอดี) หากไม่สามารถส่งผ่านได้ แสดงว่ามีอุปกรณ์บนเส้นทางที่มีค่า MTU ไม่ตรงกัน

หมวดที่ 3: Troubleshooting and Maintenance (การแก้ไขปัญหาและการซ่อมบำรุง)


ข้อที่ 15: กระบวนการคัดกรองและควบคุมขอบเขตความเสียหาย (Blast Radius Containment)

  • คำถามสัมภาษณ์: “เมื่อได้รับแจ้งเตือนว่าโฮสต์เซิร์ฟเวอร์เครื่องหนึ่งเริ่มแสดงพฤติกรรมผิดปกติและมีแนวโน้มจะหยุดทำงานในไม่ช้า ขั้นตอนปฏิบัติแรกที่คุณต้องทำคืออะไร?”
  • ปูพื้นฐานและหลักการทำงาน:
  • Blast Radius (รัศมีการทำลายล้าง): หมายถึง ขอบเขตของผลกระทบหรือความเสียหายต่อระบบและผู้ใช้งาน เมื่ออุปกรณ์ใดอุปกรณ์หนึ่งเกิดล้มเหลว
  • ในระดับศูนย์ข้อมูลที่มีเครื่องนับแสนเครื่อง กฎข้อแรกของการเป็นวิศวกรประจำศูนย์ข้อมูลไม่ใช่การรีบกระโดดเข้าไปแก้ปัญหาที่ตัวเครื่อง แต่เป็นการ “ปกป้องระบบส่วนรวมไม่ให้ล้มตาม”
  • สิ่งที่ผู้สัมภาษณ์อยากเห็น: ลำดับความสำคัญในการทำงาน (System Availability มาก่อนการซ่อมแซมทางกายภาพ) และความมีวินัยตามขั้นตอนมาตรฐาน
  • แนวทางการตอบแบบมืออาชีพ:
  1. กักกันระบบ (Cordon): สั่งการในระดับระบบควบคุมกลุ่มเครื่อง (Cluster Orchestrator เช่น Kubernetes หรือระบบจัดการ VM) เพื่อกำหนดสถานะของโฮสต์นั้นว่าห้ามรับงานใหม่เข้ามาเพิ่มโดยเด็ดขาด
  2. ตัดการรับทราฟฟิก (Drain Traffic): สั่งปรับค่าน้ำหนัก (Weight) บนระบบกระจายโหลด (Load Balancer) ของเครื่องนั้นให้เป็น 0 เพื่อตัดไม่ให้ผู้ใช้งานภายนอกส่งคำขอเข้ามายังเครื่องนี้
  3. ย้ายภาระงานออก (Evacuate / Drain Workloads): สั่งย้าย Virtual Machines หรือ Container Pods ที่รันอยู่บนเครื่องนั้น ให้กระจายตัวออกไปทำงานบนโฮสต์เครื่องอื่นที่สมบูรณ์อย่างเป็นระเบียบ เพื่อไม่ให้เซสชันของผู้ใช้งานหลุด
  4. ยืนยันสถานะความปลอดภัย: ตรวจสอบมอนิเตอร์จนแน่ใจว่าไม่มี Active Connection หรืองานสำคัญตกค้างอยู่บนเครื่องแล้ว จึงเริ่มกระบวนการเก็บ Log และวินิจฉัยปัญหาเชิงลึกต่อไป

ข้อที่ 16: การแยกแยะปัญหาเดี่ยวกับปัญหาแบบเชื่อมโยง (Single Unit vs Correlated Failures)

  • คำถามสัมภาษณ์: “หากระบบมอนิเตอร์แจ้งเตือนว่าเซิร์ฟเวอร์จำนวน 30 เครื่องหยุดการทำงานพร้อมกันในเวลาเดียวกัน คุณมีกระบวนการคิดอย่างไรในการหาสาเหตุที่แท้จริง?”
  • ปูพื้นฐานและหลักการทำงาน:
  • Single Unit Failure: การเสียของอุปกรณ์อิสระ เช่น แรมพัง 1 แถว หรือฮาร์ดดิสก์เสีย 1 ลูก ซึ่งเป็นเรื่องสถิติปกติ
  • Correlated Failure: ปัญหาที่มีต้นตอร่วมกัน (Common Cause) ทำให้ระบบหลายจุดพังทลายลงพร้อมๆ กัน โดยความน่าจะเป็นทางสถิติ อุปกรณ์ฮาร์ดแวร์ 30 ชิ้นไม่มีทางเสื่อมสภาพและพังลงในวินาทีเดียวกันได้โดยบังเอิญ
  • สิ่งที่ผู้สัมภาษณ์อยากเห็น: การมองภาพเชิงโครงสร้างพื้นฐาน (Infrastructure Topology) และการเชื่อมโยงหา Single Point of Failure
  • แนวทางการตอบแบบมืออาชีพ:
  • ต้องตั้งสมมติฐานทันทีว่าเกิดความล้มเหลวขึ้นที่ “จุดเชื่อมโยงร่วม” โดยแบ่งการสืบสวนตามผังทางกายภาพ:
  1. ตรวจสอบความสัมพันธ์เชิงพื้นที่ (Physical Mapping):
  • หากทั้ง 30 เครื่องอยู่ในตู้แร็กเดียวกันทั้งหมด: ชี้เป้าไปที่อุปกรณ์ประจำตู้นั้นทันที เช่น ตู้ PDU ประจำแร็กระเบิด/ทริป, เบรกเกอร์ตัดวงจร, ระบบระบายความร้อนประจำแร็กขัดข้อง, หรือสวิตช์ประจำตู้ (ToR Switch) ดับ
  • หากทั้ง 30 เครื่องกระจายตัวอยู่คนละแร็ก แต่อยู่ในแถวเดียวกัน (Same Row): ชี้เป้าไปที่ระบบจ่ายไฟหลักของแถวนั้น (Power Busway) หรือระบบทำความเย็นประจำแถว (In-Row Chiller)
  1. ตรวจสอบความสัมพันธ์เชิงตรรกะและเครือข่าย (Logical & Network Mapping):
  • หากเครื่องอยู่กระจายกันทั่วไป แต่เชื่อมต่อไปยังเครือข่ายวงเดียวกัน ปัญหาอาจเกิดจากการอัปเดตสวิตช์แกนกลาง (Spine/Aggregation Switch) ล้มเหลว หรือเกิดลูปบนเครือข่ายจนทราฟฟิกชนกันตาย
  1. ตรวจสอบการเปลี่ยนแปลงล่าสุด (Change Management):
  • มีการสั่ง Push Configuration, การติดตั้ง Security Patch, หรือการอัปเดตเฟิร์มแวร์แบบอัตโนมัติไปยังกลุ่มเครื่องดังกล่าวในจังหวะเวลานั้นหรือไม่

ข้อที่ 17: ข้อควรระวังและมาตรฐานความปลอดภัยในการซ่อมบำรุงทางกายภาพ (Physical Safety & ESD)

  • คำถามสัมภาษณ์: “ก่อนที่คุณจะเปิดฝาครอบเครื่องเซิร์ฟเวอร์เพื่อทำการเปลี่ยนเมนบอร์ดหรือซีพียูในห้องคอมพิวเตอร์ มีมาตรฐานความปลอดภัยและการป้องกันความเสียหายใดบ้างที่ต้องปฏิบัติตามอย่างเคร่งครัด?”
  • ปูพื้นฐานและหลักการทำงาน:
  • ESD (Electrostatic Discharge – ไฟฟ้าสถิต): ร่างกายมนุษย์สามารถสะสมประจุไฟฟ้าสถิตได้หลายพันโวลต์จากการเดินบนพื้นห้อง ในขณะที่ชิปคอมพิวเตอร์และวงจรระดับนาโนเมตรสามารถถูกทำลายเสียหายได้อย่างถาวรด้วยแรงดันไฟฟ้าสถิตเพียงไม่กี่สิบโวลต์ โดยที่มนุษย์ไม่ทันรู้สึกตัวด้วยซ้ำ
  • ความปลอดภัยของมนุษย์มีความสำคัญสูงสุดเสมอ อุปกรณ์ในศูนย์ข้อมูลมีน้ำหนักมากและใช้ไฟฟ้าแรงดันสูง
  • สิ่งที่ผู้สัมภาษณ์อยากเห็น: วัฒนธรรมด้านความปลอดภัย (Safety First) และความใส่ใจในรายละเอียดของการรักษาฮาร์ดแวร์ระดับองค์กร
  • แนวทางการตอบแบบมืออาชีพ:
  1. ความปลอดภัยต่อชีวิตและสถานที่:
  • ตรวจสอบว่าเซิร์ฟเวอร์ถูกตัดไฟอย่างสมบูรณ์ ปลดสายไฟทั้งสองชุด (Dual Power Cords) ออกจากเครื่องก่อนเปิดฝาครอบ
  • หากเครื่องมีน้ำหนักเกินเกณฑ์มาตรฐานความปลอดภัย (เช่น หนักเกิน 18 กิโลกรัม) ต้องใช้เครื่องยกเซิร์ฟเวอร์ (Server Lift) หรือใช้คนยกอย่างน้อยสองคนตามหลักการยศาสตร์ (Ergonomics)
  1. การควบคุมและป้องกันไฟฟ้าสถิต (ESD Protocols):
  • ต้องสวมสายรัดข้อมือป้องกันไฟฟ้าสถิต (ESD Wrist Strap) เสมอ และนำปลายคลิปหนีบไปต่อเข้ากับจุดลงกราวด์ของตู้แร็ก (Unpainted Metal Surface) เพื่อถ่ายเทพลังงานไฟฟ้าสถิตจากตัวเราลงดินตลอดเวลา
  • ชิ้นส่วนอะไหล่ใหม่ (เช่น แรม, บอร์ด, การ์ด PCIe) ต้องเก็บอยู่ในซองป้องกันไฟฟ้าสถิต (Anti-static Bag) จนกว่าจะถึงจังหวะเสียบติดตั้งจริง และห้ามวางชิ้นส่วนวงจรสัมผัสกับพื้นผิวที่ไม่ได้รับการป้องกัน
  1. การป้องกันสิ่งแปลกปลอมตกค้าง (FOD Prevention):
  • ระมัดระวังการทำน็อตขนาดเล็ก, แหวนรอง หรือเศษโลหะตกหล่นลงไปในช่องซ็อกเก็ตหรือแผงวงจร เพราะอาจทำให้เกิดไฟฟ้าลัดวงจรเมื่อเปิดเครื่องใช้งาน

ข้อที่ 18: กระบวนการตรวจสอบความสมบูรณ์หลังการซ่อมบำรุง (Post-Repair Verification & Burn-in)

  • คำถามสัมภาษณ์: “หลังจากที่คุณทำการเปลี่ยนเมนบอร์ดและซีพียูของเซิร์ฟเวอร์ตัวหนึ่งเสร็จสิ้นเรียบร้อยแล้ว คุณมีขั้นตอนอย่างไรก่อนที่จะส่งมอบเซิร์ฟเวอร์เครื่องนี้กลับคืนสู่ Production Pool?”
  • ปูพื้นฐานและหลักการทำงาน:
  • การที่เครื่องประกอบเสร็จแล้วกดปุ่มเปิดติด (Power On) ไม่ได้แปลว่าเครื่องพร้อมทำงาน ชิ้นส่วนฮาร์ดแวร์ที่เปลี่ยนใหม่อาจมีข้อบกพร่องจากโรงงาน (Infant Mortality) หรือช่างอาจติดตั้งฮีตซิงก์ไม่แน่นหนาพอ
  • ดังนั้น เครื่องจะต้องผ่านขั้นตอนการทดสอบความทนทานอย่างหนัก (Stress Testing หรือ Burn-in) เพื่อพิสูจน์ความเสถียรเสียก่อน
  • สิ่งที่ผู้สัมภาษณ์อยากเห็น: ความรอบคอบ ความรับผิดชอบต่อคุณภาพของระบบ และกระบวนการทดสอบที่เป็นระบบแบบวิศวกรรม
  • แนวทางการตอบแบบมืออาชีพ:
  1. การตรวจสอบความสอดคล้องของเฟิร์มแวร์ (Firmware Baseline Alignment):
  • ตรวจสอบเวอร์ชันของ BIOS/UEFI, BMC, CPLD และเฟิร์มแวร์ของการ์ดแลน ว่าตรงกับรุ่นมาตรฐานที่ศูนย์ข้อมูลกำหนดไว้ (Golden Baseline) หรือไม่ หากไม่ตรงต้องทำการ Flash อัปเดตให้เป็นรุ่นเดียวกัน
  1. การตรวจสอบอุปกรณ์ฮาร์ดแวร์ (Hardware Inventory Check):
  • บูตเข้าระบบเพื่อตรวจสอบว่า มองเห็นขนาดความจุของแรมครบทุกแถวและทุกแชนแนลหรือไม่, มองเห็นจำนวนคอร์ของซีพียูครบถ้วน, และการ์ด PCIe วิ่งบนความเร็วเต็มบัส (เช่น Gen 4/5 x16) หรือไม่
  1. การทดสอบความเค้น (Stress / Burn-in Testing):
  • รันโปรแกรมทดสอบภาระงานหนัก เช่น mprime (Prime95) เพื่อเร่งโหลดซีพียู 100% ต่อเนื่อง และรัน memtester เพื่อทดสอบการอ่านเขียนแรมทุกบล็อก
  • ระหว่างรัน ให้ตรวจสอบค่าอุณหภูมิผ่าน BMC ว่าการกระจายความร้อนของ Heatsink ปกติ ไม่มี Core ใดเกิดความร้อนพุ่งสูงผิดปกติ (Thermal Anomaly)
  1. การตรวจสอบและล้างประวัติข้อผิดพลาด:
  • ตรวจสอบ System Event Log (SEL) ว่าต้องไม่มี Error ตัวใหม่ถูกบันทึกขึ้นมา
  • สั่ง Clear Log ประวัติความผิดพลาดเก่าของเครื่องทิ้ง เพื่อให้ระบบ Monitoring เริ่มต้นเก็บสถิติของชิ้นส่วนชุดใหม่แบบสะอาดบริสุทธิ์

ข้อที่ 19: ลำดับความสำคัญในการจัดการวิกฤต (Incident Triage Framework)

  • คำถามสัมภาษณ์: “หากคุณได้รับแจ้งเตือนเหตุวิกฤตระดับสูงสุด (Severity-1 Incident) ว่าระบบจัดเก็บข้อมูลหลักมีปัญหา และในขณะเดียวกันมีข้อความแจ้งเตือนว่าแอร์ห้องคอมพิวเตอร์โซน B หยุดทำงาน คุณจะจัดลำดับความสำคัญในการจัดการปัญหาอย่างไร?”
  • ปูพื้นฐานและหลักการทำงาน:
  • ในสถานการณ์จริง ปัญหาไม่เคยเกิดขึ้นทีละเรื่อง ความสามารถในการคัดกรอง (Triage) และประเมินผลกระทบเป็นทักษะชี้วัดความเป็นมืออาชีพของวิศวกร
  • สิ่งที่ผู้สัมภาษณ์อยากเห็น: ตรรกะในการตัดสินใจโดยมองเห็น “ภาพรวมของความเสี่ยงต่อชีวิต อุปกรณ์ และธุรกิจ” ตามลำดับขั้น
  • แนวทางการตอบแบบมืออาชีพ:
  • หลักการตัดสินใจ: ยึดถือลำดับความสำคัญสูงสุด 3 ขั้นตอน:
  1. ความปลอดภัยต่อชีวิต (Human Life & Facility Safety)
  2. ความอยู่รอดของโครงสร้างพื้นฐานโดยรวม (Infrastructure Integrity)
  3. ความต่อเนื่องของบริการซอฟต์แวร์ (Service Availability)
  • การวิเคราะห์สถานการณ์:
  • ปัญหาระบบแอร์ห้องคอมพิวเตอร์โซน B หยุดทำงาน เป็นปัญหาด้านโครงสร้างพื้นฐานทางกายภาพ (Facility/Environmental Issue) ความร้อนในห้องศูนย์ข้อมูลสามารถพุ่งสูงขึ้นถึงจุดวิกฤตได้ภายในเวลาเพียง 10-15 นาที ซึ่งอาจทำให้เซิร์ฟเวอร์นับร้อยนับพันเครื่องในโซนนั้นตัดการทำงานเพื่อดับตัวเองพร้อมกันทั้งหมด (Mass Thermal Shutdown) ซึ่งจะกลายเป็นหายนะขนาดใหญ่กว่ามาก
  • ดังนั้น ต้องประสานงานทีม Facility ทันทีเพื่อตรวจสอบระบบระบายความร้อนฉุกเฉิน หรือเปิดระบบสำรอง
  • ในขณะเดียวกัน สำหรับปัญหาระบบจัดเก็บข้อมูล ให้ทำการประกาศเปิดเหตุการณ์ฉุกเฉิน (Declare Incident) ส่งไม้ต่อหรือแบ่งบทบาทให้วิศวกรระบบจัดเก็บข้อมูล (Storage Engineer) เข้าไปช่วยบรรเทาผลกระทบ (Mitigate)
  • แนวทางการปฏิบัติ: “แก้ปัญหาที่คุกคามชีวิตและสิ่งแวดล้อมก่อน แล้วจำกัดขอบเขตความเสียหายของระบบบริการ ไม่ทำงานคนเดียวในสภาวะวิกฤต ต้องรู้จักสื่อสารและกระจายงาน (Escalation & Delegation)”

ข้อที่ 20: วัฒนธรรมการชันสูตรปัญหาโดยไม่ระบุโทษบุคคล (Blameless Post-Mortem)

  • คำถามสัมภาษณ์: “หลังจากเหตุการณ์ระบบล่มครั้งใหญ่ได้รับการแก้ไขจนกลับมาเป็นปกติแล้ว กระบวนการทำ Post-Mortem ที่ดีตามแนวคิดขององค์กรระดับโลกควรมีองค์ประกอบอะไรบ้าง?”
  • ปูพื้นฐานและหลักการทำงาน:
  • ความผิดพลาดของระบบเป็นสิ่งที่หลีกเลี่ยงไม่ได้ในศูนย์ข้อมูลขนาดมหึมา เป้าหมายสูงสุดของการวิเคราะห์ปัญหาไม่ใช่การหาว่า “ใครเป็นคนทำผิดเพื่อลงโทษ” แต่เป็นการหาว่า “ระบบมีช่องโหว่ตรงไหน และกระบวนการป้องกันอนุญาตให้ความผิดพลาดนี้หลุดรอดไปสร้างผลกระทบได้อย่างไร”
  • สิ่งที่ผู้สัมภาษณ์อยากเห็น: ความเข้าใจในวัฒนธรรมแบบ SRE (Site Reliability Engineering) ความเป็นมืออาชีพในการเขียนรายงาน และการสร้างคุณค่าระยะยาวจากการแก้ปัญหา
  • แนวทางการตอบแบบมืออาชีพ:
  • รายงาน Post-Mortem ที่สมบูรณ์จะต้องประกอบด้วย 5 ส่วนสำคัญ:
  1. บทสรุปผลกระทบ (Impact Summary): ระบุตัวเลขความเสียหายอย่างเป็นรูปธรรม เช่น ระยะเวลาที่ระบบหยุดชะงัก (Downtime 45 นาที), เปอร์เซ็นต์ข้อมูลที่สูญหาย หรือจำนวนทราฟฟิกของผู้ใช้ที่ถูกปฏิเสธการเชื่อมต่อ
  2. ลำดับเหตุการณ์อย่างละเอียด (Chronological Timeline): บันทึกเหตุการณ์อย่างแม่นยำระบุระดับนาที/วินาที ตั้งแต่:
  • จุดเริ่มต้นที่ระบบเกิดความผิดพลาด
  • จังหวะที่ระบบ Monitoring ส่งสัญญาณเตือน
  • จังหวะที่วิศวกรเข้ามาเริ่มรับมือ (Ack Pager)
  • การตัดสินใจแต่ละขั้นตอน จนกระทั่งระบบกลับมาเป็นปกติ
  1. การวิเคราะห์หาสาเหตุที่แท้จริง (Root Cause Analysis – 5 Whys): การตั้งคำถามลึกลงไปเรื่อยๆ จนถึงต้นตอเชิงโครงสร้าง ไม่หยุดอยู่แค่คำตอบตื้นๆ เช่น หากวิศวกรพิมพ์คำสั่งลบข้อมูลผิด จะต้องไม่สรุปว่า “คนพิมพ์ผิด” แต่ต้องถามต่อว่า “ทำไมระบบจึงอนุญาตให้คำสั่งอันตรายทำงานได้โดยไม่มีระบบกักกันหรือไม่มีการถามยืนยันก่อน?”
  2. สิ่งที่ทำได้ดี และสิ่งที่ไม่เป็นไปตามแผน (What went well / What went wrong): ประเมินประสิทธิภาพของเครื่องมือและคู่มือปฏิบัติการ (Runbook) ว่าช่วยให้แก้ปัญหาได้เร็วขึ้นหรือทำให้สับสน
  3. แผนปฏิบัติการป้องกันการเกิดซ้ำ (Action Items): ส่วนที่สำคัญที่สุด โดยต้องกำหนดรายการงานแก้ไขที่ชัดเจน เช่น การเขียนสคริปต์ตรวจสอบอัตโนมัติ, การปรับปรุงระบบแจ้งเตือน, หรือการปรับปรุงขั้นตอนการทำงาน โดยทุกรายการต้องมีผู้รับผิดชอบ (Owner) และกำหนดส่งมอบงาน (Due Date) ที่แน่นอน เพื่อรับประกันว่าจะไม่เกิดปัญหาเดิมซ้ำสอง