Tutorial

Synology NAS และ SSD Cache จำเป็นจริง ๆ เหรอ เหมาะกับระบบแบบใด

By Arnon Puitrakul - 26 เมษายน 2024

Synology NAS และ SSD Cache จำเป็นจริง ๆ เหรอ เหมาะกับระบบแบบใด

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

SSD Cache คืออะไร ?

SSD Cache เป็นความสามารถในการเพิ่มประสิทธิภาพการอ่านเขียนสำหรับ NAS ได้ โดยมันเข้ามาขั้นกลาง ระหว่างเราที่เป็น Client และ Disk Array จากเดิมที่เวลาเราเรียกไฟล์สักตัว เราจะต้อง เรียกตรง ๆ ลงไปใน Disk Array ที่ส่วนใหญ่เป็น HDD ที่มีความเร็วในการอ่านเขียนต่ำ โดยเฉพาะเมื่อ NAS ของเราจะต้องถูกคนจำนวนมาก ๆ ใช้งานพร้อม ๆ กัน กว่า HDD จะ Seek อ่าน เขียนข้อมูลได้ มันใช้เวลามาก ๆ

ทำให้เกิด Caching Concept เข้ามา คือ ก่อนที่เราจะอ่านหรือเขียนตรง ๆ ลงไปที่ HDD เราเอา Storage ที่เร็วกว่า มาพักข้อมูลเอาไว้ก่อน สิ่งนั้นก็คือ SSD นั่นเอง ดังนั้น สิ่งที่เราจะได้จากการเปิดใช้งาน SSD Cache คือ ปริมาณงานสำหรับการอ่านและเขียน หรือที่เราเรียก IOPS (Input-Output per Second) มากขึ้น

สำหรับใน Synology เราสามารถใส่ NVMe SSD เข้าไปในช่องที่เครื่องมีมาให้ เช่นใน DS1621+ เรามีมาให้ 2 ช่อง หรือใส่ Adapter Card เข้าไป หรือถ้าไม่มีช่องเสียบทั้ง SSD และ Adapter Card เลย เราสามารถใช้ SATA SSD เสียบเข้าไปใน Bay ปกติได้เลย

Mode การทำงาน

โดยเมื่อเราใส่เข้าไปแล้ว สำหรับ Synology เราสามารถเลือกโหมดการทำงานได้ 2 Mode ด้วยกันคือ Read-Only Cache และ Read-Write Cache

Read-Only Cache จะเป็นโหมดการทำงานที่ Synology NAS จะเอาไฟล์ที่เข้าถึงบ่อย ๆ มาใส่ใน SSD เพื่อให้เวลามีคนเรียก แทนที่จะไปเรียกจาก HDD ที่ช้ากว่า ไปเรียกผ่าน SSD ที่เร็วกว่าแทน ทำให้ในฝั่งผู้ใช้เองรู้สึกว่า มันสามารถอ่านไฟล์ได้เร็วมาก ๆ เวลาเปิดไฟล์ขึ้นมามันจะรู้สึกว่าโหลดเร็วขึ้นเยอะ

Read-Write Cache มันทำงานเหมือนกับโหมดก่อนหน้า แต่เพิ่มความสามารถในการเขียนเข้าไปด้วย คือเมื่อมีการเปลี่ยนไฟล์ทับกลับไป แทนที่มันจะเก็บลง HDD ตรง ๆ มันจะเก็บลงบน SSD ก่อน แล้วค่อย Write-Back กลับไปที่ HDD ทำให้มันเหมาะกับการทำงานที่มีการเข้าถึงไฟล์ และ แก้ไขไฟล์เรื่อย ๆ เช่นพวกไฟล์เอกสารขนาดเล็กที่ต้องเปิด ๆ แก้ ๆ พร้อมกันมหาศาล เช่นในระดับองค์กรเป็นต้น

ข้อควรระวังสำหรับ Read-Write Cache คือ มันมีช่วงเวลาที่ข้อมูลที่เขียนลงไปมันยังไม่ได้รับการ Write-Back กลับไปที่ HDD ทำให้หากเกิดอะไรขึ้นกับ SSD ในช่วงเวลานั้น ข้อมูลที่ยังไม่ได้รับการ Write-Back อาจจะหายไปเลยก็เป็นได้ นั่นทำให้โหมดนี้ เขาจะบังคับให้เราใส่ SSD ทั้งหมด 2 ลูกเพื่อทำ RAID1 หรือ Mirror กันไป จะช่วยลดโอกาสที่ข้อมูลส่วนนี้จะสูญหายได้

การเปิดใช้งาน SSD Cache

การตั้งค่า SSD Cache บน Synology ง่ายมาก ๆ ให้เราเข้าไปที่ Storage Manager แล้วกด Create เลือก Create SSD Cache หน้าจอจะบอกให้เราเลือกโหมดการทำงาน ซึ่งถ้าเรามี SSD เหลือว่างแค่ลูกเดียว มันจะไม่ให้เราเลือก Read-Write Cache เลือกได้แค่ Read-Only Cache เท่านั้น

จากนั้นเราจะต้องเลือกประเภทของ RAID ที่ต้องการ ในกรณีนี้ เรามี NVMe SSD ว่างอยู่ 2 ลูก ทำให้ เราสามารถเลือกได้เพียงแค่ RAID1 แบบเดียวเท่านั้น แต่ถ้าใส่ใครมากกว่านั้น สามารถเลือก RAID ประเภทอื่น ๆ ก็ได้นะ มันจะบอกมาเลยว่า จำนวน SSD ที่น้อยที่สุดคือ 2 และ เสียได้แค่ 1 เท่านั้น ถือว่าเป็นเรื่องปกติของ RAID1

แล้วมันจะให้เราเลือกว่า เราต้องการสร้าง Cache ไปเก็บบน SSD ลูกไหน ในที่นี้เรามีเหลือแค่ 2 ลูกนี้ ติ๊กเลือกโลดด โดย SSD ที่เราใส่เข้าไปมีขนาด 2 TB เปิดใช้งานจริงเหลือ 1.8 TB เอามา RAID1 กันก็จะมีพื้นที่ใช้งานได้จริงเพียงแค่ 1.8 TB เท่านั้น

และเราจะต้องเลือกว่า Cache ที่สร้าง เราจะเอาไปใช้กับ Volume ไหน สำหรับเครื่องที่อาจจะมีหลาย Volume เราก็จะเลือกได้ ในที่นี้ เรามีแค่ Volume 1 อันเดียว ดังนั้นก็กด Next ไปได้เลย

ก่อนจะเสร็จ มันจะสรุปการตั้งค่าของเราเพื่อเป็นการยืนยันอีกครั้ง

สุดท้ายละ มันอนุญาติให้เราสามารถเลือกขนาดของ Cache ได้ โดยทั่ว ๆ ไปหากเรามี Volume เดียวเราไม่ต้องเปลี่ยนอะไร แต่ถ้าในเครื่องเรามีหลาย Volume เราอาจจะมี NVMe Drive แค่ 2 ลูกนี่แหละ แต่เราสามารถสร้าง Cache Drive แบ่งพื้นที่ที่เหลือใช้กับ Volume อื่น ๆ ได้ด้วย

นอกจากนั้น เราจะเห็นตัวเลือกที่เขียนว่า Pin all Btrfs metadata to SSD cache เป็นการให้ระบบเก็บ Metadata ของ Volume เราเอาไว้ใน SSD มันจะเหมาะกับเคสที่เรามีไฟล์จำนวนเยอะ เวลาเรา Browse มันจะดึง Metadata จาก SSD ทำให้มันเร็วกว่าเดิมเยอะมาก

เท่านี้ก็เรียบร้อย เราก็จะได้ Cache Group ที่ประกอบด้วย SSD Drive ที่เราสร้างขึ้นมา หลังจากนี้ เราไม่จำเป็นต้องตั้งค่าอะไรเพิ่มอีกแล้ว มันก็ทำหน้าที่ Cache ของมันไปแบบนั้นแหละ เรียกว่า เซ็ตลืมได้เลย

หลังเปิด มีผลกับการใช้งานหรือไม่ ?

โอเค ผลของมันนี่เราต้องคุยกันนิดนึง เพราะ การใช้งาน SSD Cache ไม่ได้ทำให้เร็วขึ้นในทุก ๆ เคส

สำหรับเคสการใช้งานในบ้านทั่ว ๆ ไป ลักษณะการเข้าถึงไฟล์ ส่วนใหญ่จะเน้นการเป็น Storage เฉย ๆ ที่เราไม่ได้ทำงานจาก NAS มีแค่การ Copy และอ่านไฟล์ไม่ได้บ่อยมาก และจำนวน Concurrent User ก็ไม่ได้มากอะไร ในกรณีนี้เราบอกเลยว่า แทบไม่เห็นผลใด ๆ ทั้งสิ้น เพราะความเร็วของ HDD มันยังเอาอยู่ ถึงแม้ว่า SSD จะมี Seek Time มากกว่า แต่ถ้ามันไม่ได้เจอจำนวน User เยอะ ๆ พร้อมกัน มันก็ไม่มีปัญหาอะไร ทำให้การที่รุ่นที่ใช้งานในบ้าน รุ่นต่ำ ๆ หน่อย การไม่มีช่องสำหรับเสียบ M.2 จึงไม่ใช่เรื่องแปลกอะไร

แต่ถ้าเราเอามาใช้ในจำนวนผู้ใช้มากขึ้น มี Concurrent User เพิ่มมากขึ้น มีการทำงานตรงจาก NAS มากขึ้น เราคิดว่า มันจะออกผลในเคสแบบนี้แหละ เพราะจำนวน IOPS ที่สั่งเข้ามา มันมากกว่าที่ HDD จะทำได้ จึงทำให้การใช้ SSD Cache เห็นผลมากกว่า

สรุป

การใช้งาน SSD Cache เป็น Feature ที่ช่วยเร่งความเร็ว IOPS สำหรับระบบที่ต้องทำงานกับไฟล์จำนวนมาก และมีจำนวน Concurrent User จำนวนมาก ๆ การใส่ SSD เข้าไปเพิ่มสัก 1-2 ลูก ทำให้ Performance มันเพิ่มได้มหาศาล เป็นการลงทุนที่คุ้มมาก ๆ สำหรับองค์กรเลยก็ว่าได้ และ SSD ที่ใส่เข้าไปก็ไม่จำเป็นต้องมีขนาดที่ใหญ่มาก อาจจะหลัก 400-500 GB เท่านั้นก็เพียงพอที่จะเห็นผลแล้ว แต่สำหรับระบบที่มีผู้ใช้งานไม่ได้เยอะมาก เราคิดว่าเอาช่อง M.2 ที่เขามีมาให้ไปทำ Volume สำหรับเก็บข้อมูลน่าจะดีกว่า ไว้เราจะมาเล่าส่วนนี้ในบทความหน้า

Read Next...

Synology NAS และ SSD Cache จำเป็นจริง ๆ เหรอ เหมาะกับระบบแบบใด

Synology NAS และ SSD Cache จำเป็นจริง ๆ เหรอ เหมาะกับระบบแบบใด

ใน Synology NAS มีความสามารถนึงที่น่าสนใจคือ การใช้ SSD เป็น Cache สำหรับระบบ ที่ทำให้ Performance ในการอ่านเขียน เร็วขึ้นกว่าเดิมมาก ๆ แน่นอนว่า เราลองละ วันนี้เราจะมาเล่าให้อ่านกันว่า หากใครคิดที่จะทำ มันเหมาะ หรือ ไม่เหมาะกับการใช้งานของเรา...

ฮาวทูย้าย Synology Add-on Package ไปอีก Volume

ฮาวทูย้าย Synology Add-on Package ไปอีก Volume

เรื่องราวเกิดจากการที่เราต้องย้าย Add-on Package ใน DSM และคิดว่าหลาย ๆ คนน่าจะต้องประสบเรื่องราวคล้าย ๆ กัน วันนี้เราจะมาเล่าวิธีการว่า เราทำยังไง เจอปัญหาอะไร และ แก้ปัญหาอย่างไรให้ได้อ่านกัน...

จัดการ Docker Container ง่าย ๆ ด้วย Portainer

จัดการ Docker Container ง่าย ๆ ด้วย Portainer

การใช้ Docker CLI ในการจัดการ Container เป็นท่าที่เราใช้งานกันทั่วไป มันมีความยุ่งยาก และผิดพลาดได้ง่ายยังไม่นับว่ามี Instance หลายตัว ทำให้เราต้องค่อย ๆ SSH เข้าไปทำทีละตัว มันจะดีกว่ามั้ย หากเรามี Centralised Container Managment ที่มี Web GUI ให้เราด้วย วันนี้เราจะพาไปทำความรู้จักกับ Portainer กัน...

Host Website จากบ้านด้วย Cloudflare Tunnel ใน 10 นาที

Host Website จากบ้านด้วย Cloudflare Tunnel ใน 10 นาที

ปกติหากเราต้องการจะเปิดเว็บสักเว็บ เราจำเป็นต้องมี Web Server ตั้งอยู่ที่ไหนสักที่หนึ่ง ต้องใช้ค่าใช้จ่าย พร้อมกับต้องจัดการเรื่องความปลอดภัยอีก วันนี้เราจะมาแนะนำวิธีการที่ง่ายแสนง่าย ปลอดภัย และฟรี กับ Cloudflare Tunnel ให้อ่านกัน...