การเลือก SSD สำหรับ Server และบทเรียนเกือบราคาแพงสำหรับเว็บเรา

By Arnon Puitrakul - 05 มกราคม 2024

การเลือก SSD สำหรับ Server และบทเรียนเกือบราคาแพงสำหรับเว็บเรา

เรื่องของเรื่องมีอยู่ว่า อยู่ดี ๆ Synology NAS ที่เราใช้งานเป็น Server สำหรับทำอะไรหลาย ๆ อย่างขึ้น Disk Warning มา ตอนแรกคิดว่าเกิดจากการที่เราจะสลับ Disk หรือเปล่า แต่ปรากฏว่า มันไม่ได้ Warning ที่ Harddisk แต่ไป Warning ที่ NVMe SSD ทั้งสองลูกที่เรา RAID0 อยู่แทน วันนี้เราจะมาเล่าให้อ่านกันว่า ทำไมถึงเป็นแบบนั้น และ จริง ๆ แล้วการเลือก SSD สำหรับ Server ควรเลือกอย่างไรถึงจะอายุยืนยาว และลดความเสี่ยงที่ข้อมูลจะสูญหายไปได้

เกิดอะไรขึ้น ?

เมื่อหลายวันก่อน เราทำการสลับ Harddisk โดยการสลับ HDD ลูกเก่าออก เพื่อ Upgrade เป็นลูกที่ขนาดใหญ่ขึ้น ถ้าเราขี้เกียจ หรือไม่สามารถปิดเครื่องได้ เราสามารถค่อย ๆ ย้ำว่าค่อย ๆ ดึง HDD ลูกที่เราต้องการเปลี่ยนออกมา และสลับเป็น HDD ลูกใหม่ สั่ง Repair Volume และอธิฐานว่าขั้นตอนจะรอดไปได้ด้วยดี จนเสร็จแค่นั้นเลย

แต่ของเราเกิดเหตุว่า เราอยากจะเอา HDD ลูกที่มันเป็น While Label ที่เคยเอาไปเคลมออกมาสลับเลยพยายามหาโดยการ ดึง HDD ออกมาทีละลูก ไม่ใช่ก็ใส่กลับเข้าไป ไป ๆ มา ๆ โชคร้าย ไม่เจอลูกที่เราต้องการสักที สรุปปิดเครื่องไปเพื่อหาจริงจัง และทำการสลับแล้วเปิดเครื่องกลับมา กด Repair ตามปกติ แต่กลายเป็นว่า เครื่องดันขึ้น Warning ขึ้นมากับ NVMe SSD ลูกนึง

แต่มันไม่ค่อยเดือดร้อนมากเท่าไหร่ เพราะ NVMe SSD ที่เราใช้งาน เราทำ RAID0 ข้อมูลทั้งหมดในนั้น เรามี Backup ทุกคืนอยู่แล้ว หากมันเสียจริง ๆ ขึ้นมา ไม่น่าจะมีปัญหาอะไรมั้งนะ เราเลยกะว่าจะค่อย ๆ ย้ายข้อมูลทีละชุดไปไว้ใน Volume ที่เป็น HDD ก่อน เพื่อที่เราจะถอด SSD ที่ยังอยู่ในประกันไปเคลม เวลาผ่านไป 2-3 วัน สิ่งที่คาดคิดมันก็เกิดขึ้นคือ SSD อีกลูกที่เคยขึ้นว่าปกติ มันไม่ปกติเหมือนกับลูกแรกที่เกิดเรื่องแล้ว

Let's Investigate

ทำไมอยู่ ๆ เครื่องถึง Warning ออกมาว่า NVMe SSD เราจะไม่รอดแล้วกันละ

เราเลยเข้าไปดูใน Disk Info ส่วนที่เครื่องอ่าน S.M.A.R.T Status ของ NVMe SSD ออกมา ปรากฏว่า Attribute ที่ชื่อว่า Critical Warning มันขึ้นบอกว่า FAILING_NOW เดาว่าน่าจะเป็นจุดที่ทำให้เครื่องมันเด้ง Warning มาแบบแรง ๆ เลยทีเดียว แล้วมันเกิดจากอะไรทำไมถึงเด้ง FAILING ออกมาลักษณะแบบนี้

รอบแรกที่เราเจอ Warning ในลักษณะนี้คือ เราสังเกตว่า Attribute Percent Usage มันเด้งไปเกิน 90% แต่ในขณะที่อีกลูกมัน 89% มันไม่ถึง และพอมันเด้งไป 90% ในอีกไม่กี่วัน มันถึง FAILING_NOW เหมือนกันเลย ทำให้เราเดาว่า มันเป็น Flag ที่เด้งไปบอกว่า SSD ใกล้จะพังแล้วนะ

แล้วถามว่า ทำไมมันเกิดเรื่องแบบนี้กัน เราไปดูที่ธรรมชาติความคงทนของ SSD กันก่อน

SSD ยิ่งเขียนเยอะถึงพังไว

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

มันก็จริงที่ตัว SSD เอง มันมีอายุอยู่ได้นาน แต่อีกปัจจัยที่ทำให้อายุของ SSD สั้นลงอย่างไม่น่าเชื่อนั่นคือ การเขียนข้อมูล เพราะใน SSD จะมี NAND Flash อยู่ และพวกนี้มันจะเป็นเหมือนประตูสำหรับเก็บประจุเยอะ ๆ เต็มไปหมด เราเรียกว่า NAND Gate หากมีการเก็บประจุไว้จะแทนค่าเป็น 1 และ ถ้าไม่ก็เป็น 0 แต่ปัญหาของ SSD คือตรงนี้แหละ คือ เจ้า Gate นี่มันมีความสามารถในการเปิดปิดได้จำกัด ซึ่งโดยทั่ว ๆ ไป SSD เอง เขาจะมี Algorithm สำหรับการเลือก Cell ที่ใช้งาน เพื่อให้ทุก ๆ Cell มันมีอายุในการเขียนที่ใกล้เคียงกันที่สุด

ทำให้อายุของ SSD ไม่ได้ขึ้นกับเพียงแค่อายุ หรือ Power-on time เท่านั้น แต่ยังอยู่ที่จำนวนข้อมูลที่เราเขียนเข้าไปด้วย โดยใน S.M.A.R.T มันอยู่ในค่าเช่น Data Written หรือบางตัวอย่าง Synology จะใช้ค่าที่ชื่อว่า Data Unit Written โดยอันนี้หน่วยไม่ใช่ TB นะ มันเป็น Unit เราไม่รู้ว่ามันแปลงกลับอย่างไร เราเลยดูที่อีกค่าคือ Percentage Usage หรือ Data Written เมื่อเทียบกับ Spec ที่ผู้ผลิตเคลมมา

เราเลยเข้าไปดู Spec ของ WD Black SN750 ขนาด 500GB ที่เราใช้งานอยู่ เขาบอกว่าความทนทาน หรือ TBW (Terabyte Written) อยู่ที่ 300 TB ทำให้ เราใช้ไป 92% ของ 300 TB หรือก็คือ 276 TB นั่นเอง แต่ถามว่า หากเราใช้จนมันถึง 100% ปุ๊บ SSD จะใช้งานไม่ได้เลยมั้ย คำตอบคือ ไม่ใช่ เพราะค่าความทนทานเป็นเพียงการประมาณจากข้อมูลการทดสอบจากผู้ผลิตเท่านั้น ดังนั้นเราอาจจะใช้ได้ 200% หรือ 90% ของอายุที่ผู้ผลิตเคลมก็เป็นได้หมด เพียงแค่ว่า ในระบบ Server เราต้องการความชัวร์จากข้อมูลที่ผู้ผลิตทดสอบมา ทำให้พวกนี้ เขาเลย Warning ขึ้นมาเมื่อมันใกล้จะถึง 100% นั่นเอง

ลักษณะการใช้งานแบบไหน ที่ทำให้เราชิบหายขนาดนี้

ทำให้เราเลยไปนั่ง Investigate ต่อว่า เดี๋ยวนะแล้วอะไรที่ทำให้เราเขียนข้อมูลเยอะจนแค่ปีเดียวแล้วมันเกือบถึงที่ผู้ผลิต Rated เอาไว้แล้ว หรือว่า มันรายงานค่าผิดกันนะ

สิ่งที่ทำให้เราคิดว่าน่าจะใช่แหละ นั่นคือ Home Assistant ที่เรามีปริมาณ Sensor เยอะมาก ๆ ในบ้านของเรา มันต้องเขียนลงไปใน MySQL และ InfluxDB น่าจะทำให้มันกินปริมาณข้อมูลที่เขียนลงไปอยู่ไม่มากก็น้อยแน่ ๆ เพราะ Sensor บางตัว 30 วินาทีดึงค่าทีนึง บางตัว 3-5 วินาทีดึงค่าทีนึง ซึ่งการดึงค่าสักทีก็คือ ต้องเก็บลงบน Database รอบนึง

ทำให้ตอนนี้เราจะต้องย้ายข้อมูลที่อยู่บน NVMe SSD ทั้งหมดไปทำงานบน HDD Array ก่อน แล้วถอด NVMe SSD ทั้งสองลูกไปเคลมก่อนและค่อยเอามาใส่ แล้วยัดข้อมูลกลับไปรันต่อใหม่

บทเรียนชิ้นสำคัญ : การเลือก SSD ที่เหมาะกับ Server

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

เพราะพวก Performance SSD พวกนี้ส่วนใหญ่เรื่องของความคงทนมันจะสู้พวก SSD เรทปกติไม่ค่อยได้เท่าไหร่ เพราะเขาไปเน้นในเรื่องของ Performance เป็นหลัก แต่สำหรับการใช้งานระดับ Server ลักษณะของการใช้งานมันแตกต่างออกไป นั่นแหละว่าทำไมเราจะต้องมี SSD สำหรับ Server ออกมาด้วย

WD Black SN750 Specifications

ถ้าเราลองดูสเปกของ SN750 ที่เราใช้งานอยู่ ค่าความคงทนอยู่ที่ 300 TB เท่านั้น และ MTTF หรือเวลาโดยเฉลี่ยที่มันจะใช้งานได้หน่วยเป็นชั่วโมง 1.75 ล้านชั่วโมงเท่านั้น

เมื่อเราเทียบกับพวก SSD ฝั่ง Server หรือ NAS เรายกตัวอย่าง WD Red SN700 MTTF เขามาอยู่ 1.75 ล้านชั่วโมงเท่ากับตัว WD Red แต่ความคงทน หรือ TBW เขาไปถึง 1,000 TB กันไปเลย

ดังนั้น เราจะเห็นว่า ในการใช้งานระดับ Server ที่เรามีการอ่านเขียนข้อมูล โดยเฉพาะการเขียนข้อมูล จะสูงกว่าพวกเกรดที่เราใช้งานตามบ้าน เพื่อรองรับการอ่านเขียนจำนวนมากจาก Client และ Service ที่เรียกเข้ามา นั่นเอง

นอกจากนั้นอีกปัจจัยที่ทำให้ความคงทน หรือ TBW สูงขึ้นคือ การใช้ SSD ความจุสูงขึ้น เช่น ใน WD Red SN700 ขนาด 500 GB มี TBW อยู่ 1,000 TB แต่ถ้าเราโดดขึ้นไปที่ความจุ 1 TB ค่า TBW เขา Rated เด้งขึ้นไป 2 เท่า หรือ 2,000 TB กันไปเลย ทำให้ หากเราต้องการใช้งานอย่างยาวนานมากขึ้น การเพิ่มความจุของ SSD เข้าไปมันก็ช่วยได้เหมือนกัน เหตุที่เป็นแบบนี้เพราะว่า เมื่อเรามีความจุสูงขึ้น ข้อมูลที่ไหลเข้าออกก็ต้องเยอะขึ้น และ Cell ก็ต้องมีมากขึ้น ทำให้ค่า TBW ก็ต้องสูงขึ้นเช่นกัน

ทำให้สุดท้ายแล้ว การเลือกใช้งาน SSD ของ Server อย่าดูเพียงแค่เรื่องของความเร็วเท่านั้น แต่ให้ดู ความคงทน ทั้งในส่วนของ TBW และ MTTF ไปด้วยเด้อ ไม่งั้นจะเป็นเหมือนเราเนี่ย ต้องไล่ย้ายข้อมูล และเอาไปเคลมอีก

สรุป

WD Black SN750 in Synology NAS

ต้องบอกเลยว่า ดีนะที่เราเข้าไปในพวก Dashboard ของ NAS บ่อย ๆ กับเปลี่ยน HDD เลยทำให้เห็น Warning ตัวนี้แบบชัด ๆ จัง ๆ เราแนะนำว่า หากใครมี Server และมีการใช้งานหนัก ๆ เราแนะนำให้เข้าไปเช็คดูพวก Warning ที่คอมพิวเตอร์มันบอกมาทุกเครื่อง หากเกิดอะไรขึ้น เราได้เตรียมแผนรับมือได้อย่างทันท่วงที ไม่งั้น ถ้าเราไม่เจอ แล้ว SSD เสียไปก่อนสักลูก เท่ากับว่า ข้อมูลใน NVMe SSD ของเราคือเกมไปเลยนะ

Read Next...

การสร้าง SSD Storage Pool บน Synology DSM

การสร้าง SSD Storage Pool บน Synology DSM

สำหรับคนที่ใช้ Synology NAS บางรุ่นจะมีช่อง M.2 สำหรับเสียบ NVMe SSD โดยพื้นฐาน Synology บอกว่ามันสำหรับการทำ Cache แต่ถ้าเราต้องการเอามันมาทำเป็น Storage ละ มันจะทำได้มั้ย วันนี้เราจะมาเล่าวิธีการทำกัน...

รีวิว Foreo Luna 3 Plus เครื่องล้างหน้าสามัญประจำบ้าน จำเป็นต้องซื้อมั้ย

รีวิว Foreo Luna 3 Plus เครื่องล้างหน้าสามัญประจำบ้าน จำเป็นต้องซื้อมั้ย

หลังจากรีวิวอุปกรณ์หลาย ๆ ตัวของ Foreo ไปแล้ว แต่ทำไมเราลืมของเด็ดอันเลื่องชื่อของ Foreo ไปซะได้ เห็นได้จากชื่อหัวเรื่องกันแล้วเนอะ วันนี้เราจะมา รีวิวเครื่องล้างหน้าจาก Foreo กัน เป็นรุ่น Luna 3 Plus จะเป็นยังไงไปอ่านได้ในรีวิวนี้เลย...

Multiprogramming, Multiprocessing และ Multithreading

Multiprogramming, Multiprocessing และ Multithreading

หลังจากที่เรามาเล่าเรื่อง malloc() มีคนอยากให้มาเล่าเรื่อง pthread เพื่อให้สามารถยัด Content ที่ละเอียด และเข้าใจง่ายในเวลาที่ไม่นานเกินไป เลยจะมาเล่าพื้นฐานที่สำคัญของคำ 3 คำคือ Multiprogramming, Multitasking, Multiprocessing และ Multithreading...

Microinverter ต่างจาก String Inverter อย่างไร เลือกแบบไหนดีกว่ากัน

Microinverter ต่างจาก String Inverter อย่างไร เลือกแบบไหนดีกว่ากัน

หลังจากเราเขียนเรื่อง Solar Cell ไปมีคนถามเข้ามาอยู่ว่า ถ้าจะเลือกติดตั้ง Solar ระหว่างการใช้ระบบ String Inverter กับ Microinverter เราจะเลือกตัวไหนดี วันนี้เราจะมาเล่าเปรียบเทียบให้อ่านกันว่าแบบไหน น่าจะเหมาะกับใคร...