ทำความรู้จัก และ เข้าใจ 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]

 

 

เทคโนโลยีได้เข้ามาเปลี่ยนโฉมร้านกาแฟได้อย่างไร

การเติบโตอย่างก้าวกระโดดของร้านกาแฟ และ คาเฟ่ขายเครื่องดื่มในปัจจุบันนั้นอยู่ในระดับที่น่าสนใจอย่างยิ่ง และ มันเป็นหนึ่งในไม่กี่กี่ธุรกิจที่ยังสามารรถเติบโตได้ท่ามกลางเศรษฐกิจที่ซบเซา ในอุตสาหกรรมร้านกาแฟ (Cafe) เทคโนโลยีไม่ได้มีบทบาทแค่ ความทันสมัย แต่เป็น...

Read more »

ทำไม IoT ถึงทวีความสำคัญขึ้น พบกับอย่างงานมอนิเตอร์พลังงานและสมาร์ทฟาร์ม

ระบบ IoT (Internet of Things) กลายเป็นโครงสร้างพื้นฐานสำคัญของโลกยุคปัจจุบัน เพราะมันเปลี่ยน ข้อมูลหน้างานหรือข้อมูลดิบ ให้กลายเป็นข้อมูลที่สามารถใช้เพื่อการ การตัดสินใจแบบอัตโนมัติและแม่นยำได้แบบเรียลไทม์...

Read more »

การใช้ Clonezilla ในการทำ P2V พบกับการใช้งานจริง

Clonezilla คือซอฟต์แวร์โอเพ่นซอร์สสำหรับ โคลน (clone) และ สำรองข้อมูล (backup/restore) เช่นเดียวกับโปรแกรม True Image...

Read more »

Multimaster Synchronization และ Change Data Capture

ก่อนที่จะไปเรียนรู้ว่า Edge Computing นั้นจะมีประโยชน์กับท่านและองค์กรของท่านอย่างไรนั้น เราจะไปดูว่าปัจจุบันนี้ หรือยุคก่อน Edge Computing นั้น การเชื่อมต่อ...

Read more »

Migrate VM ข้าม Cluster ด้วย Proxmox Datacenter Manager 1.0.0

Proxmox Datacenter Manager (PDM) คือเครื่องมือบริหารจัดการ Proxmox VE หลาย Cluster จากศูนย์กลางเดียว...

Read more »

อะไรคือ Line MyShop และ LineShopping

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

Read more »