ทำความรู้จัก และ เข้าใจ XFS File System

Published on July 4, 2025
ทำความรู้จัก และ เข้าใจ XFS File System

แน่นอนว่า Kernel ของ Linux ในปัจจุบันนั้น สนับสนุน file system ที่หลากหลาย แต่ละ file system ก็มีระบบจัดการ และ ดึงไฟล์จากสื่อหรือหน่วยเก็บข้อมูลที่ใช้วิธีการแตกต่างกัน และ การที่มีทางเลือกหลากหลาย มันก็เลยเป็นความจำเป็นของผู้ใช้งานที่จะต้องอย่างน้อยมีความเข้าใจ เกี่ยวกับการทำงานของแต่ละ file system เพื่อการเลือกใช้ให้ตรงกับงานที่เหมาะที่สุด นอกเหนือจาก ext4 ที่เรารู้จักและมีการใช้งานกันมาอย่างยาวนานแล้ว XFS ก็ถือเป็นอีกทางเลือกหนึ่งที่ได้รับความนิยมอย่างมากเช่นกัน และวันนี้เราจะไปทำความเข้าใจเกี่ยวระบบไฟล์ตัวนี้ พร้อมกับสิ่งที่ทำให้มันแตกต่างจาก file system

ทำความรู้จักกับ XFS

XFS คือหนึ่งใน file system ที่เสถียรตัวหนึ่งใน Linux และถูกออกแบบโดย Silicon Graphics Inc เปิดตัวครั้งแรกในปี 1994 บนระบบปฏิบัติการ IRIX (คล้าย UNIX) หลังจากนั้น ได้มีการนำไปใช้บน สังคมโอเพนซอร์ส ต่อมาในปี 2001 ได้มีการผนวกเข้ากับ Kernel หลังจากนั้น ก็ทำให้ distribution ต่างๆ ก็นำไปใช้งานหรือแนะนำให้กับผู้ใช้ และมีบาง distribution ที่ใช้งานเป็น default file system เช่น CentOS, RHEL และ Rocky Linux

เพราะ Silicon Graphics Inc ซึ่งในขณะนั้นเป็นบริษัทที่ขายฮาร์ดแวร์และระบบให้กับองค์กรขนาดใหญ่ เลยทำให้การออกแบบนั้น นั้นการรองรับข้อมูลปริมาณมหาศาล ทำให้ XFS นั้นขึ้นชื่อเรื่องประสิทธิภาพ นอกจากบน Linux Distribution ก็จะมี NAS ที่มีการนำไปใช้งานเหมือนกันเช่น Buffalo LinkStation & TeraStation, NetGear, LaCie, Iomega และอื่นๆ

สำหรับการพัฒนานั้น ก็มีหลักๆ อยู่ 3 ครั้ง จึงเป็นที่มา ว่าเป็นยุคๆ ของ XFS

XFS Gen 1 : มาจาก SGI XFS สำหรับทำงานบน IRIX OS ของ SGI ในยุคเริ่มแรก

XFS Gen 2 : เข้ามาทำงานบน Linux ได้แล้ว และ ทำงานบน NAS เพิ่มขึ้น

XFS Gen 3 : ส่วนนี้ทำงานอยู่บน Linux ปัจจุบันเป็นส่วนใหญ่ และ เรียกว่ามีการพัฒนาเพื่อให้เก็บ metadata เพื่อการตรวจสอบและยืนยันข้อมูลได้ดีขึ้น

XFS นั้นอนุญาตให้เราสร้าง volume ที่มีขนาดถึง 18 exabytes และ จัดการไฟล์ที่มีขนาดใหญ่ได้สูงสุดถึง 9 exabytes จำนวนของไฟล์ นั้นไม่จำกัด นอกจากนั้น ก็ยังจะสร้างข้ามดิสก์ได้อีกด้วย

มันทำงานในลักษณะทีเรียกว่า Journaling โดยจะมีการเก็บการเปลี่ยนแปลงก่อนที่จะทำการเขียนทับ ทำให้การันตีความสมบูรณ์ของไฟล์ได้ดีมาก

โครงสร้างพื้นฐานของ XFS File System

แทนที่ XFS จะทำการจัดสรรเนื้อที่ว่างเป็นบล็อกอิสระต่อกัน มันจะทำการรวมบล็อกเหล่านั้น เป็นหน่วยที่ต่อๆกัน โดยมีความยาวต่างกัน และ เราจะเรียกสิ่งเหล่านี้ว่า extent ไฟล์หนึ่งๆ อาจจะประกอบด้วยหลายๆ extent XFS นั้นจะพยายามทำให้ตัวเลขนั้นน้อยที่สุด และ พยายามที่จะรวม extent เข้าด้วยกัน เมื่อไฟล์นั้นใหญ่ขึ้น ข้อมูลเกี่ยวกับไฟล์ (metadata) จะถูกเก็บอยู่ใน inode และ inode เหล่านั้นจะถูกจัดสรรใน chunk โดยมีขนาด 64 ต่อตัว

file system นั้นสามารถแบ่งได้เป็น 3 ส่วนดังนี้

  • Data Section

เป็นส่วนที่เก็บ metadata ของ file system และ ดาต้าของผู้ใช้ไฟล์ เนื้อที่ว่างของหน่วยเก็บข้อมูลจะถูกแบ่งย่อยๆ เป็นกลุ่มที่เท่าๆกัน โดยมีขนาดน้อยสุดคือ 16MB และขนาดมากสุดคือ 1TB แต่ละกลุ่มที่ถูกแบ่ง มีการควบคุาอย่างอิสระ เพราะฉะนั้นการดำเนินการเกี่ยวกับไฟล์สามารถทำได้ในเวลาเดียวกันหรือพร้อมกัน ในส่วน extent ที่ว่างอยู่นั้น ถูกจัดการด้วยคู่ของ B+ tree

  • Log (journal) section

ส่วนนี้จะเก็บการแก้ไขไฟล์ metadata โดยมีส่วนที่เป็น header เก็บว่ามันถูกทำสำเนาอย่างไร ในกรณีที่เกิดปัญหาขึ้นเช่นไฟดับหรือว่าอย่างอื่น ก็จะมีการดึงข้อมูลจาก log ขึ้นมาดำเนินการต่อนั่นเอง

  • Real-time section

เป็นส่วนที่จะเก็บไฟล์แบบเรียลไทม์ ด้วยความต้องการ I/O พิเศษ ปกติแล้วก็จะถูกใช้งาน สตอเรจประสิทธิภาพสูง โดยมีการแบ่ง extent เป็นส่วนที่มีขนาดเท่าๆ กัน มีการใช้ index แบบ array สองมิติ

Veeam และ XFS

Veeam นั้นแนะนำว่า หากท่านใช้ Linux Repo ท่านควรใช้ file system แบบ XFS ทั้งนี้เพราะว่า ระบบไฟล์แบบนี้ จะทำให้การทำ synthetic full นั้นทำงานได้อย่างรวดเร็ว เพราะเป็นเหมือนการเปลี่ยนแปลง pointer แทนการเขียนไฟล์จริงๆ ซึ่งก็เป็นหลักการเดียวกับ ReFS จากค่าย Windows Server เพราะฉะนั้น หากท่านใช้ Repo ใน Veeam ไม่ว่าจะเป็น Repo ธรรมดาหรือว่า Hardened Repo ท่านควรเลือก XFS อย่างยิ่ง

มีปัญหาเรื่องการใช้งาน Linux, Veeam ติดต่อเราได้เลยที่ Line OA : @avesta.co.th หรืออีเมล์ [email protected]

 

 

ทำความรู้จัก และ เข้าใจ XFS File System

แน่นอนว่า Kernel ของ Linux ในปัจจุบันนั้น สนับสนุน file system ที่หลากหลาย แต่ละ...

Read more »

วิธีการกำหนดค่า NVIDIA vGPU บน Proxmox VE ให้ใช้งานใน Windows VM อย่างลื่น!

การนำ GPU แบบเสมือน (vGPU) เข้ามาใช้งานในระบบ Virtual Machine บน Proxmox VE...

Read more »

Backup Air-Gap

Backup Air-Gap นั้นหมายถึง กลยุทธ์ด้านความปลอดภัยในระบบสำรองข้อมูล เพื่อที่จะแยก สิ่งที่เราทำการแบ็คอัพไปนั้น ให้ตัดขาดออกจากระบบหลัก หรือ โปรดักชันเน็ตเวิร์ก ทั้งนี้ก็เพื่อปกป้อง...

Read more »

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

ZFS มีชื่อเต็มว่า Zettabyte File System เป็นระบบจัดการไฟล์หรือ File System ที่ถูกสร้างโดยบริษัท SUN...

Read more »

BTRFS File System ไปทำความรู้จักกัน

BTRFS นั้นเรียกว่าเป็นระบบ file system ที่ค่อนข้างใหม่ และ ก้าวหน้าตัวหนึ่ง เพราะว่ามีคุณสมบัติแบบ copy-on-write (COW)...

Read more »

Enterprise SSD Form Factor for Virtualization

สำหรับความเร็วนั้นต้องบอกว่า เป็นสิ่งที่ทุกองค์กรไฝ่หา เพราะความเร็วเป็นความได้เปรียบทางธุรกิจไปแล้วในปัจจุบัน และหน่วยเก็บข้อมูลนั้น ก็มีส่วนอย่างมาก ที่เป็นปัจจัยที่จะทำให้การประมวลผลโดยรวมนั้นช้าหรือเร็ว วันนี้เราจึงพาไปรู้จักกับเทคโนโลยีการเก็บข้อมูลที่ได้รับความนิยมในปัจจุบัน ด้วย Form Factor...

Read more »