ZFS File System คืออะไรและดีอย่างไร

Published on July 2, 2025
ZFS File System คืออะไรและดีอย่างไร

ZFS มีชื่อเต็มว่า Zettabyte File System เป็นระบบจัดการไฟล์หรือ File System ที่ถูกสร้างโดยบริษัท SUN Microsystems (ตอนนี้ก็เป็นส่วนหนึ่งของ Oracle) เพื่อที่จะจัดการและควบคุมการเข้าถึง storage ในระดับ enterprise เพราะ แต่ก่อนนั้น Sun Microsystems ก็จะมุ่งเน้นให้บริการเซิร์ฟเวอร์และ OS ระดับองค์กรเป็นทุนเดิมอยู่แล้ว

ZFS File system นั้นนอกจากจัดการไฟล์และยังเป็น volume manager ด้วย รองรับการขยายได้ดีมาก และ ฟีเจอร์เจอร์สำหรับสตอเรจเช่น

  • Replication
  • Deduplication
  • Compression
  • Snapshot
  • Clones
  • Data protection
  • Encryption

ZFS นั้นรองรับการเก็บข้อมูลที่ใหญ่มากถึง 256 quadrillion zettabyte เลยทีเดียว

แล้ว ZFS ทำงานอย่างไร ?

ZFS นั้นสามารถจัดการ disk ที่อยู่ใน server ตัวหนึ่งๆ ได้เป็นพันก้อนเลยทีเดียว โดยจะมี zpool ที่ด้านล่างก็คือ virtual device ที่เรียกว่า vdev เมื่อใดก็ตามที่เราต้องการเนื้อที่เพิ่มขึ้น  เราก็เพิ่ม disk เข้ามายัง pool นั่นจึงเป็นที่มาว่าทำไมเราจึงขยายได้เยอะมากๆ

ZFS นั้นจะเก็บ metadata ไว้ 2 สำเนา โดย metadata นั้นก็จะเป็นข้อมูลเกี่ยวกับ sector และขนาด block รวมถึง checksum เมื่อผู้ใช้งานต้องการเข้าถึงไฟล์ checksum ก็จะคำนวนเพื่อที่จะดึงข้อมูลที่ตรงกัน หากว่าเกิดความผิดพลาดหรือว่า checksum ไม่ตรง นอกจากนั้นมันยังมีความสามารถในการดึงข้อมูลจาก drive อื่นๆ ได้ด้วย และ ทำการ flag พื้นที่เสียได้ หากเราทำ mirror ในระดับ storage pool ไว้

ZFS นั้นเรียกได้ว่ามีคุณสมบัติแบบ copy-on-write (COW) แต่ทาง Oracle นั้นจะบอกว่าเป็น redirect-on-write เพราะเมื่อ ZFS ทำการเขียนข้อมูลลงดิสก์ มันไม่ได้ทำการเขียนทับข้อมูล แต่จะเขียนไปยัง block ใหม่ และ ทำการอัพเดท metadata

ZFS นั้นเรียกว่าเป็นทางเลือกที่ดีมาก ในการใช้งานใน NAS และใช้ NFS ทำงานบนตัวมัน นอกจากนั้นไปใช้งานใน General Parallel File system (GPFS) หรือ Lustre บน ZFS ก็เหมาะมากเช่นกัน สำหรับ OpenStack นั้นสามารถใช้งาน Cinder block storage และ Swift Object Storage บน ZFS ได้

คุณสมบัติหลักของ ZFS

Sanpshots และ Clones

ZFS และ OpenZFS เราเรียกว่าสามารถทำ point-in-time หรือสำเนาของ file system ด้วยความเร็วสูง สำหรับ snapshot นั้นเป็นข้อมูลที่ถูกเปลี่ยนแปลงไม่ได้ แต่ถ้า Clone จะถูกเปลี่ยนแปลงได้ ทั้งสองแบบนั้นถูกใ้งานใน Solaris OS ทำให้ผู้ใช้งานนั้นย้อนเวลากลับไปได้หา snapshot ที่ต้องการ เช่นเมื่อ patch แล้วมีปัญหา หรือ อัพเดทระบบแล้วมีปัญหา

RAID-Z

หลักการนี้ จะทำให้ ผู้ใช้เก็บสำเนาของข้อมูลไปยังหลายๆ สถานที่ ก็เหมือนกับการทำ RAID นั่นเอง เพื่อป้องกันความเสียหาย และ เพิ่มประสิทธิภาพ มันมีหลักการทำงานเช่นเดียวกับ RAID 5 แต่มีการทำงานต่างกันเล็กน้อย

RAID-Z2 และ RAID-Z3

วิธีการนี้ทำงานคล้ายกับ RAID 6 เพราะทนต่อดิสก์เสียได้ 2 ตัว ในขณะที่ RAID-Z3 ทนต่อดิสก์เสียได้ 3 ตัวเลยทีเดียว

Compression

ZFS สนับสนุนการบีบอัดข้อมูลในตัว (in-line)

Deduplication

ทั้ง ZFS และ OpenZFS นั้นสนับสนุนการทำ deduplication inline เพื่อลดความซ้ำซ้อนของข้อมูลบนดิสก์ ในระดับ block

อะไรคือความแตกต่างระหว่าง ZFS (หรืออาจจะเรียกได้ว่า Oracle ZFS) และ OpenZFS

ต้องบอกว่า ZFS และ OpenZFS นั้นเกิดมาจาก source code ตัวเดียวกัน หลังจากแยกกันในปี 2010 ทั้ง Oracle และ ชุมชน opensource ก็ได้ต่างเพิ่มความสามารถเข้าไปใน ZFS ปัจจุบันนี้ หากพูดถึง Oracle ZFS นั้นจะต้องบอกว่า เป็นลิขสิทธิ์ที่ถูกติดตั้งได้บน ฮาร์ดแวร์ของ Oracle เท่านั้น เช่นใน Oracle Solaris และ Oracle ZFS Appliance ในขณะที่ OpenZFS นั้นเป็น Opensource

  • Oracle ZFS นั้นอยู่ใน Oracle Solaris Kernel โดยตรง และ มีฟีเจอร์เช่น tuning การวิเคราะห์ และ การเข้ารหัส
  • OpenZFS มีฟีเจอร์เช่น dRAID, ZSTD, Block Cloning, Encryption native, L2ARC

 

การใช้งานร่วมกับ Proxmox VE 

ZFS นั้นเป็น File system หนึ่งในหลายๆ แบบ ที่ Proxmox VE สนับสนุน ท่านสามารถเลือก ZFS ได้ ในส่วนของการ boot การเก็บ VM ได้เลย กรณีที่ท่านไม่มี dual-boot device และ แน่นอนว่า file system แบบนี้สนับสนุนการทำ snapshot ทำให้ท่านได้รับประโยชน์ในการทำสำเนาข้อมูลได้อย่างเต็มที่

บริษัท AVESTA ให้บริการติดตั้ง จำน่าย Proxmox VE เราเป็นตัวแทนตรง และ ได้รับการไว้วางใจ ให้ติดตั้งกับบริษัทน้อยใหญ่มากมาย สนใจสอบถาม Line OA : @avesta.co.th หรือ Email : [email protected]

 

Stratis Storage

จากการที่ Fedora Engineering and Steering Committee (FESCo) ได้อนุมัติถึงการให้มีการตั้งค่าการติดตั้ง Stratis Storage...

Read more »

What is Network Functions Virtualization NFV

Network Functions Virtualization คือสิ่งที่เข้ามาแทนที่อุปกรณ์เน็ตเวิร์กที่เป็นฮาร์ดแวร์ด้วยความสามารถของ virtual machine ที่ทำหน้าที่ด้านการทำ routing และ load...

Read more »

Introduction to HAProxy and MetalLB

ทำความรู้จักกับ HAProxy และ MetalLB: หัวใจสำคัญของระบบ Load Balancing ใน Kubernetes บทนำ...

Read more »

Erasure Coding vs Replication Factor 3

หนึ่งในคำถามที่มักจะเกิดขึ้นในขณะที่ตั้งค่าเกี่ยวกับ Software Defined Storage โดยใช้ Ceph คือ เราจะเลือกใช้ หลักการกระจายข้อมูลแบบไหน จะใช้...

Read more »

Software Performance and Load Testing Services

ในปัจจุบัน ระบบซอฟต์แวร์ส่วนใหญ่มีการสื่อสารผ่าน Application Programming Interface (API) ไม่ว่าจะเป็น Web Application, Mobile...

Read more »

Smart Energy Management for Apartments, Condominiums and Residences

Smart Energy Management for Apartments, Condominiums and Residences บริหารจัดการพลังงานไฟฟ้าอย่างชาญฉลาด พร้อมระบบเติมเงินล่วงหน้า...

Read more »