By Arnon Puitrakul - 05 มกราคม 2024
เรื่องของเรื่องมีอยู่ว่า อยู่ดี ๆ 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 อีกลูกที่เคยขึ้นว่าปกติ มันไม่ปกติเหมือนกับลูกแรกที่เกิดเรื่องแล้ว
ทำไมอยู่ ๆ เครื่องถึง 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 อายุมันยืนกว่าการใช้ 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 ที่เราใช้งานอยู่ตอนนี้เป็นกลุ่ม Performance หน่อยสำหรับการใช้งานบนเครื่องคอมพิวเตอร์ตามบ้านทั่ว ๆ ไป แต่เราเอามาใช้งานในระดับ Server ที่มีการอ่านและเขียนข้อมูลอย่างหนัก ตอนแรกเราเข้าใจว่า การที่เราเลือกแบบนี้ทำให้เราสามารถดึงข้อมูล และทำงานอื่น ๆ ได้เร็วกว่าเดิม แต่เราลืมเรื่องมิติของ ความทนทานในการใช้งานไป
เพราะพวก Performance SSD พวกนี้ส่วนใหญ่เรื่องของความคงทนมันจะสู้พวก SSD เรทปกติไม่ค่อยได้เท่าไหร่ เพราะเขาไปเน้นในเรื่องของ Performance เป็นหลัก แต่สำหรับการใช้งานระดับ Server ลักษณะของการใช้งานมันแตกต่างออกไป นั่นแหละว่าทำไมเราจะต้องมี SSD สำหรับ Server ออกมาด้วย
ถ้าเราลองดูสเปกของ 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 ไปด้วยเด้อ ไม่งั้นจะเป็นเหมือนเราเนี่ย ต้องไล่ย้ายข้อมูล และเอาไปเคลมอีก
ต้องบอกเลยว่า ดีนะที่เราเข้าไปในพวก Dashboard ของ NAS บ่อย ๆ กับเปลี่ยน HDD เลยทำให้เห็น Warning ตัวนี้แบบชัด ๆ จัง ๆ เราแนะนำว่า หากใครมี Server และมีการใช้งานหนัก ๆ เราแนะนำให้เข้าไปเช็คดูพวก Warning ที่คอมพิวเตอร์มันบอกมาทุกเครื่อง หากเกิดอะไรขึ้น เราได้เตรียมแผนรับมือได้อย่างทันท่วงที ไม่งั้น ถ้าเราไม่เจอ แล้ว SSD เสียไปก่อนสักลูก เท่ากับว่า ข้อมูลใน NVMe SSD ของเราคือเกมไปเลยนะ
หลังจากเมื่อหลายอาทิตย์ก่อน Apple ออก Mac รัว ๆ ตั้งแต่ Mac Mini, iMac และ Macbook Pro ที่ใช้ M4 กันไปแล้ว มีหลายคนถามเราเข้ามาว่า เราควรจะเลือก M4 ตัวไหนดีถึงจะเหมาะกับเรา...
จากตอนก่อน เราเล่าเรื่องการ Host Website จากบ้านของเราอย่างปลอดภัยด้วย Cloudflare Tunnel ไปแล้ว แต่ Product ด้าน Zero-Trust ของนางยังไม่หมด วันนี้เราจะมาเล่าอีกหนึ่งขาที่จะช่วยปกป้อง Infrastructure และ Application ต่าง ๆ ของเราด้วย Cloudflare Access กัน...
ทุกคนเคยได้ยินคำว่า Mainframe Computer กันมั้ย เคยสงสัยกันมั้ยว่า มันต่างจากเครื่องคอมพิวเตอร์ที่เราใช้งานกันทั่ว ๆ ไปอย่างไรละ และ Mainframe ยังจำเป็นอยู่มั้ย มันได้ตายจากโลกนี้ไปหรือยัง วันนี้เรามาหาคำตอบไปด้วยกันเลย...
เคยมั้ยเวลา Deploy โปรแกรมสักตัว เราจะต้องมานั่ง Provision Infrastructure ไหนจะ VM และ Settings อื่น ๆ อีกมากมาย มันจะดีกว่ามั้ยถ้าเรามีเครื่องมือบางอย่างที่จะ Automate งานที่น่าเบื่อเหล่านี้ออกไป และลดความผิดพลาดที่อาจจะเกิดขึ้น วันนี้เราจะพาทุกคนมาทำความรู้จักกับ Infrastructure as Code กัน...