IT General
น้องๆ เคยสงสัยมั้ยว่าห้อง Server ที่เราใช้กันอยู่ทุกวันนี้ ทำไมต้องเย็นเจี๊ยบ? ไม่ใช่แค่แอร์บ้านธรรมดานะครับ มันมี Cooling System เฉพาะของมันเลย ซึ่งสำคัญมากๆ เพราะ Server แต่ละตัวเนี่ย มันทำงานหนักหน่วง สร้างความร้อนมหาศาล ถ้าไม่ระบายความร้อนดีๆ มีหวังพังกันหมด
สมัยผมทำร้านเน็ต SiamCafe.net เมื่อก่อน (ตั้งแต่ปี 2540 กว่าๆ) Server ไม่ได้เยอะแยะขนาดนี้ แต่ก็ต้องดูแลเรื่องความร้อนเหมือนกัน เพราะถ้า Server ร้อน เครื่องลูกข่ายก็เอ๋อไปด้วย กระทบต่อการใช้งานของลูกค้าโดยตรงเลย
Cooling System ใน Server Room ก็คือระบบที่ออกแบบมาเพื่อควบคุมอุณหภูมิและความชื้นในห้องให้เหมาะสมกับการทำงานของ Server อุปกรณ์ Network และอุปกรณ์ IT อื่นๆ ให้อยู่ในสภาพแวดล้อมที่เหมาะสมที่สุด เพื่อป้องกันปัญหาที่อาจเกิดขึ้นจากความร้อนสูงเกินไป เช่น เครื่องดับ, อุปกรณ์เสียหาย, หรือประสิทธิภาพการทำงานลดลง
ลองนึกภาพ CPU ในคอมพิวเตอร์ของเรา มันทำงานด้วยความเร็วสูงมาก ประมวลผลข้อมูลตลอดเวลา การทำงานหนักๆ ก็ย่อมสร้างความร้อนออกมา Server ก็เหมือนกัน แต่มี CPU หลายตัว, RAM เยอะ, Hard Disk อีกเพียบ ทุกอย่างทำงานพร้อมกัน ความร้อนที่เกิดขึ้นจึงสูงกว่าคอมพิวเตอร์ทั่วไปหลายเท่าตัว
ความร้อนสูงเกินไปส่งผลเสียต่อ Server หลายอย่างครับ อย่างแรกคือ "Thermal Throttling" คือ CPU จะลดความเร็วในการทำงานลงอัตโนมัติ เพื่อป้องกันตัวเองจากความร้อนสูง ทำให้ Server ทำงานช้าลง อย่างที่สองคือ "อุปกรณ์เสียหาย" ความร้อนสูงเป็นศัตรูตัวร้ายของอุปกรณ์อิเล็กทรอนิกส์ ทำให้วงจรภายในเสื่อมสภาพเร็วขึ้น และอาจถึงขั้นเสียได้เลย สุดท้ายคือ "อายุการใช้งานสั้นลง" อุปกรณ์ที่ทำงานในสภาพแวดล้อมที่ร้อนกว่าปกติ จะมีอายุการใช้งานสั้นกว่าอุปกรณ์ที่อยู่ในสภาพแวดล้อมที่เหมาะสม
เวลาเลือก Cooling System จะเจอกับคำศัพท์พวกนี้ BTU (British Thermal Unit) เป็นหน่วยวัดปริมาณความร้อน, Watts เป็นหน่วยวัดกำลังไฟฟ้า, และ CFM (Cubic Feet per Minute) เป็นหน่วยวัดปริมาณลมที่พัดผ่าน BTU จะบอกว่า Cooling System สามารถระบายความร้อนได้เท่าไหร่ Watts บอกว่า Cooling System กินไฟเท่าไหร่ และ CFM บอกว่า Cooling System สามารถระบายอากาศได้ดีแค่ไหน
การติดตั้ง Cooling System ใน Server Room ไม่ใช่เรื่องยากเกินไป แต่ก็ต้องวางแผนให้ดี เลือกอุปกรณ์ให้เหมาะสม และติดตั้งอย่างถูกต้อง เพื่อให้ระบบทำงานได้อย่างมีประสิทธิภาพ
ก่อนอื่นต้องประเมินก่อนว่า Server Room ของเราต้องการ Cooling System ขนาดไหน โดยพิจารณาจากปัจจัยต่างๆ เช่น ขนาดห้อง, จำนวน Server, ปริมาณความร้อนที่ Server สร้างขึ้น, และสภาพแวดล้อมโดยรอบ
สูตรคำนวณ BTU แบบง่ายๆ (แต่ไม่เป๊ะ 100% นะ): BTU = (จำนวน Server * Watts ของ Server แต่ละตัว) * 3.41 ตัวเลข 3.41 มาจาก 1 Watt = 3.41 BTU/hr
มี Cooling System ให้เลือกหลายแบบ แต่ละแบบก็มีข้อดีข้อเสียแตกต่างกันไป หลักๆ จะมี 3 แบบคือ Room Air Conditioner, In-Row Cooling, และ Liquid Cooling
Room Air Conditioner คือแอร์บ้านที่เราคุ้นเคยกันดี ราคาถูก ติดตั้งง่าย แต่ประสิทธิภาพในการระบายความร้อนอาจจะไม่ดีเท่าแบบอื่น เหมาะกับ Server Room ขนาดเล็ก
In-Row Cooling คือ Cooling System ที่ติดตั้งระหว่าง Rack Server สามารถระบายความร้อนได้ตรงจุด ทำให้ Server แต่ละตัวเย็นทั่วถึง เหมาะกับ Server Room ขนาดกลางถึงใหญ่
Liquid Cooling คือระบบระบายความร้อนด้วยของเหลว (ส่วนใหญ่คือน้ำ) เหมาะกับ Server ที่ต้องการระบายความร้อนสูงเป็นพิเศษ เช่น Server ที่ใช้ในการประมวลผล AI หรือ Machine Learning
การติดตั้ง Cooling System ควรทำโดยช่างผู้ชำนาญ เพื่อให้มั่นใจว่าระบบทำงานได้อย่างถูกต้องและปลอดภัย หลังจากติดตั้งแล้ว ก็ต้องบำรุงรักษาระบบอย่างสม่ำเสมอ เช่น ทำความสะอาด Filter, ตรวจสอบการรั่วซึม, และตรวจสอบประสิทธิภาพการทำงาน
อย่าลืมเข้าไปอ่านบทความอื่นๆ ใน SiamCafe Blog นะครับ มีเรื่อง IT น่าสนใจอีกเยอะ
นอกจาก Cooling System ที่กล่าวมาข้างต้น ยังมีทางเลือกอื่นๆ ในการระบายความร้อน Server เช่น การใช้พัดลม, การปรับปรุงการไหลเวียนของอากาศ, หรือการย้าย Server ไปไว้ใน Data Center ที่มี Cooling System ที่ดีกว่า
แต่ทางเลือกเหล่านี้อาจจะไม่เพียงพอสำหรับ Server Room ที่มี Server จำนวนมาก หรือ Server ที่สร้างความร้อนสูง การใช้ Cooling System ที่ออกแบบมาโดยเฉพาะจึงเป็นทางเลือกที่ดีที่สุด
| ระบบ | ข้อดี | ข้อเสีย | เหมาะกับ |
|---|---|---|---|
| Room Air Conditioner | ราคาถูก, ติดตั้งง่าย | ประสิทธิภาพต่ำ, ควบคุมความชื้นยาก | Server Room ขนาดเล็ก |
| In-Row Cooling | ประสิทธิภาพสูง, ระบายความร้อนตรงจุด | ราคาสูง, ต้องใช้ Rack Server | Server Room ขนาดกลางถึงใหญ่ |
| Liquid Cooling | ประสิทธิภาพสูงสุด, ระบายความร้อนได้ดีมาก | ราคาแพง, ติดตั้งซับซ้อน | Server ที่ต้องการระบายความร้อนสูงเป็นพิเศษ |
| พัดลม | ราคาถูก, ติดตั้งง่าย | ประสิทธิภาพต่ำ, ไม่สามารถควบคุมอุณหภูมิและความชื้นได้ | Server Room ขนาดเล็กมาก หรือใช้เสริมระบบอื่น |
หวังว่าบทความนี้จะเป็นประโยชน์กับน้องๆ นะครับ ถ้ามีคำถามเพิ่มเติม ถามมาได้เลย ผมยินดีตอบเสมอ และอย่าลืมแวะไปอ่านบทความอื่นๆ ใน SiamCafe Blog กันด้วยนะครับ
เอาล่ะน้องๆ มาถึงตรงนี้แล้ว หวังว่าจะพอเห็นภาพรวมของ Cooling System ใน Server Room กันแล้วนะ ทีนี้มาดู Best Practices หรือเคล็ดลับที่พี่ใช้จริงจากประสบการณ์ 28+ ปีในการทำร้านเน็ตและดูแล Server Room กันบ้างดีกว่า บอกเลยว่าพวกนี้ไม่ได้มีสอนในตำรา ต้องเจอกับตัวถึงจะรู้!
1. Airflow Management is King: สมัยผมทำร้านเน็ต SiamCafe เนี่ย เจอปัญหาความร้อนบ่อยมาก เพราะ Server มันเบียดกัน แถมตู้แอร์ก็ไม่ค่อยได้มาตรฐาน สิ่งที่พี่ทำคือ จัดการทิศทางการไหลของอากาศให้ดี Server ตัวไหนร้อนมาก จับไปอยู่หน้าแอร์เลย แล้วก็ทำ Cold Aisle / Hot Aisle ให้ชัดเจน คือให้ด้านหน้า Server หันหน้าเข้าหากัน (Cold Aisle) แล้วด้านหลัง Server ก็หันหลังชนกัน (Hot Aisle) แบบนี้จะช่วยให้แอร์เย็นๆ เป่าเข้าเครื่องได้เต็มที่ แล้วความร้อนก็ถูกระบายออกไปอีกทาง ไม่วนกลับมา
2. Don't Forget the Rack: หลายคนมองข้าม Rack Server ไป Rack มันไม่ได้มีไว้แค่ใส่ Server นะน้องๆ Rack ดีๆ จะมีช่องระบายอากาศ มีระบบ Cable Management ที่ช่วยให้ลมมัน flow ได้สะดวกขึ้น เคยเจอเคสที่ลูกค้าซื้อ Rack ถูกๆ มา สรุปคือสายไฟมันพันกันอีรุงตุงนัง แถมบังช่องลมอีกต่างหาก แก้กันหัวหมุนเลย
3. Remote Monitoring is Your Friend: สมัยก่อนตอนที่ยังไม่มี Remote Monitoring เนี่ย ต้องเดินเข้าไปดูอุณหภูมิใน Server Room เองทุกวัน (เหนื่อยมาก!) แต่เดี๋ยวนี้มี Sensor และ Software ที่ช่วย Monitoring อุณหภูมิ ความชื้น และสถานะของอุปกรณ์ต่างๆ ได้แบบ Real-time พี่แนะนำให้ลงทุนกับระบบนี้เลย มันจะช่วยให้เราเห็นปัญหาได้ก่อนที่มันจะสายเกินแก้ เช่น ถ้าอุณหภูมิเริ่มสูงผิดปกติ เราก็จะได้เข้าไปเช็คได้ทันทีว่าเกิดอะไรขึ้น
Code Snippet (Python): อันนี้เป็นตัวอย่าง Code ง่ายๆ ที่ใช้ดึงข้อมูลจาก Sensor DHT11 (Temperature/Humidity) มาแสดงผล
import Adafruit_DHT
sensor = Adafruit_DHT.DHT11
pin = 4
humidity, temperature = Adafruit_DHT.read_retry(sensor, pin)
if humidity is not None and temperature is not None:
print('Temp={0:0.1f}*C Humidity={1:0.1f}%'.format(temperature, humidity))
else:
print('Failed to get reading. Try again!')
A: เคยเจอเคสนี้ตอนตี 3! สิ่งแรกที่ต้องทำคือ รีบแจ้งช่างแอร์ด่วนๆ เลย ระหว่างนั้นให้เปิดพัดลมช่วยระบายความร้อนไปก่อน แล้วก็ Monitor อุณหภูมิให้ดี ถ้า Server เริ่มร้อนเกินไป อาจจะต้องทยอยปิด Server บางตัวเพื่อลด Load
A: โดยทั่วไปแล้ว อุณหภูมิที่เหมาะสมจะอยู่ที่ประมาณ 22-24 องศาเซลเซียส แต่ก็ขึ้นอยู่กับ Spec ของ Server แต่ละรุ่นด้วย ลองเช็คกับ Vendor ดูนะ
A: ความชื้นสูงเกินไปจะทำให้เกิดสนิมและความเสียหายกับอุปกรณ์อิเล็กทรอนิกส์ได้ ส่วนความชื้นต่ำเกินไปจะทำให้เกิดไฟฟ้าสถิตได้ ดังนั้นควรควบคุมความชื้นให้อยู่ในช่วง 40-60%
A: อย่างน้อยเดือนละครั้ง ควรทำความสะอาดฝุ่นและสิ่งสกปรกต่างๆ ที่อาจจะไปอุดตันช่องลมระบายความร้อน
การดูแล Cooling System ใน Server Room เป็นเรื่องที่ต้องใส่ใจรายละเอียดมากๆ น้องๆ ต้องเข้าใจหลักการทำงานของมัน รู้จักอุปกรณ์ต่างๆ และที่สำคัญคือต้องมีประสบการณ์ในการแก้ไขปัญหาจริง พี่หวังว่าบทความนี้จะเป็นประโยชน์กับน้องๆ นะ ถ้ามีคำถามอะไรเพิ่มเติม ถามมาได้เลย!
อย่าลืมแวะไปเยี่ยมชม iCafeForex นะครับ เผื่อสนใจเรื่อง Forex หรือถ้าอยากอ่านบทความอื่นๆ เกี่ยวกับ IT ก็เข้าไปที่ SiamCafe Blog ได้เลย