Linux kernel รุ่นใหม่ๆ นั้นสนับสนุน file system หลายประเภท และ แต่ละประเภทก็ใช้เทคนิคในการเขียนและอ่านข้อมูลจากฮาร์ดดิสก์หรือสื่อเก็บข้อมูลแตกต่างกันออกไป
ยกตัวอย่างเช่น ext4 ซึ่งเป็น file system แบบ default เมื่อท่านติดตั้ง Linux นอกจากนั้นแล้ว XFS ก็ยังเป็นทางเลือกในการใช้งานอันดับต้นๆ แต่ว่าการเลือก XFS นั้น
ท่านจะต้องพิจารณาให้ดีก่อนการเลือกใช้ งั้นเรามาดูทีละข้อกันดีกว่าถึงข้อดีข้อเสียของมันก่อนการเลือกใช้งาน
รู้เบื้องต้นเกี่ยวกับ XFS
XFS เป็นหนึ่งในระบบไฟล์ที่แข็งแกร่งที่สุดที่ปรับใช้ใน Linux ได้รับการออกแบบครั้งแรกโดย Silicon Graphics Inc. และเปิดตัวในปี 1994 บนแพลตฟอร์ม IRIX ที่ใช้ UNIX ต่อมาระบบไฟล์ถูกส่งมอบให้กับชุมชนโอเพ่นซอร์สซึ่งในปี 2001 ได้รวมกับ Linux Kernel ตั้งแต่นั้นมาจนเป็นการปูทางสู่ Linux distribution แทบทุกตระกูลที่สําคัญทั้งหมด
และสำหรับ Linux ที่มีพื้นฐานมาจาก Red Hat ก็ใช้ยังมันเป็นค่าปริยายตอนที่ติดตั้งด้วยเช่น CentOS, RHEL และ Rocky Linux
เพราะ XFS สร้างขึ้นโดยคํานึงถึงอุปกรณ์ความจุสูง มันเลยเป็นที่ขึ้นชื่อในเรื่องประสิทธิภาพสูงเมื่อต้องรับมือกับข้อมูลจํานวนมหาศาล ระบบไฟล์นี้มักพบในเซิร์ฟเวอร์ อาร์เรย์ที่เก็บข้อมูล และไม่ค่อยพบในพีซีสําหรับผู้บริโภค ความนิยมของมันยังเพิ่มขึ้นด้วยการใช้งาน NAS BOX ที่มีไฟล์แชร์ขนาดใหญ่ เช่นผู้ผลิตรวมถึงแบรนด์ต่างๆเช่น Buffalo LinkStation และ TeraStation, NetGear, LaCie, Iomega และอื่น ๆ
แม้จะมีการใช้งานมานานแล้ว แต่ XFS นั้นก็ได้มีการพัฒนาอย่างไม่หยุดยั้ง มันได้รับการดัดแปลงจํานวนมากและตอนนี้เรามี XFS รุ่นที่สามที่มีการใช้งานอย่างกว้างขวางในช่วงไม่กี่ปีที่ผ่านมา:
XFS gen 1– SGI XFS อย่างง่ายสําหรับ IRIX OS ที่ใช้ UNIX;
XFS gen 2 – Linux XFS ปัจจุบันส่วนใหญ่ใช้ในหน่วย NAS
XFS gen 3 – Linux XFS (gen 3) ซึ่งเป็นเวอร์ชันล่าสุดที่ใช้ในระบบที่ใช้ Linux ที่ทันสมัยซึ่งรูปแบบ metadata นั้นจะถูกเก็บล่าสุดเพื่อการตรวจสอบและการยืนยันข้อมูล
XFS อนุญาตให้สร้างโวลุ่มขนาด 18 exabytes และจัดการไฟล์แต่ละไฟล์ที่มีขนาดใหญ่ถึง 9 exabytes จํานวนไฟล์ถูก จํากัด ด้วยจํานวนพื้นที่เท่านั้น ระบบไฟล์สามารถเติบโตได้ตราบใดที่มีบล็อกที่ไม่ได้ใช้งานนอกจากนั้นมันยังสามารถขยายเนื้อที่ไปข้าม disk ได้ด้วย ซึ่งทำให้รองรับข้อมูลมหาศาลได้และยืดยุ่นแบบสุดๆ
ด้วยลักษณะของ XFS ที่เป็น journaling มันเลยเก็บข้อมูลที่มีการเปลี่ยนแปลง ก่อนที่จะเขียนลงโครงสร้าง เพราะฉะนั้นปัญหาเรื่อง ไฟดับระหว่างการทำงานจึงไม่ค่อยเป็นปัญหาสำหรับ file system อย่าง XFS
ข้อดีและข้อเสียของ XFS
ด้วยการออกแบบ XFS จึงเก่งในการจัดระเบียบไฟล์ไดเร็กทอรีและไดรฟ์ข้อมูลขนาดใหญ่รวมถึงไฟล์จํานวนมาก นอกจากนี้ยังมีคุณสมบัติมากมายที่ทําให้ดีที่สุดสําหรับระบบคอมพิวเตอร์ขนาดใหญ่และสภาพแวดล้อมอื่น ๆ ที่ต้องการระบบไฟล์ประสิทธิภาพสูงที่เชื่อถือได้ ซึ่งข้อดีอาจจะแยกเป็นข้อๆ ได้ดังนี้
ลดการกระจายตัวของไฟล์ หรือ fragmentation
XFS พยายามทุกวิถีทางเพื่อจัดเก็บไฟล์อย่างต่อเนื่องที่สุด แนวคิดของขอบเขตช่วยให้สามารถจัดสรรช่วงฟรีบล็อกที่อยู่ติดกันได้อย่างมีประสิทธิภาพ ด้วยการใช้โครงสร้างแบบ B+ tree
ทําให้ง่ายต่อการค้นหาขอบเขตฟรี หากมี “holes” ในไฟล์ XFS จะข้ามไปโดยไม่เปลืองพื้นที่จัดเก็บในบล็อกว่าง การใช้การจัดสรรล่าช้าทําให้เข้าใจถึงขนาดของไฟล์ในที่สุด เมื่อรู้ว่าต้องจัดสรรบล็อกกี่บล็อก XFS มักจะจัดการให้พอดีกับไฟล์ทั้งหมดในระดับเดียวโดยมีพื้นที่ต่อเนื่องกันเพื่อเก็บไว้หรืออย่างน้อยก็จัดสรรในระดับที่ใหญ่กว่ามากซึ่งไม่สามารถทําได้เป็นอย่างอื่น นอกจากนี้การบัฟเฟอร์ของไฟล์อายุสั้นยังช่วยลดผลกระทบของไฟล์ดังกล่าวต่อการกระจายตัวและลดจํานวนการอัปเดตข้อมูล metadata
ความเหมาะสมสําหรับระบบจัดเก็บข้อมูลหลายองค์ประกอบ
XFS สามารถขยายอุปกรณ์จัดเก็บข้อมูลหลาย storage device นอกจากนั้น มันยังมีระบบจัดการ volume ของมันเอง สำหรับ striped disk array (เช่น RAID 5) เราสามารถกําหนดขนาดของแต่ละขนาด strip และจํานวนต่อ strip ได้ด้วย ทําให้ได้ประสิทธิภาพที่ดีขึ้น
ตัวจัดการโวลุ่ม XLV ที่ใช้โดย XFS Server นั้นเป็นเลเยอร์ที่เพิ่มเติมขึ้นมา โดยมันจะอยู่ระหว่าง file system และ physical disk มันจะทำให้ XFS I/O นั้นดีขึ้นอย่างมาก นอกจากนั้นระบบการทำ mirroring ก็จะดีขึ้น นอกจากนั้นการเปลี่ยนแปลงเช่นขนาดของ disk สำหรับ XLV นั้นยังสามารถทำแบบออนไลน์ได้เลยโดยที่ไม่ต้อง unmount ก่อน
การทํางาน I/O แบบขนานที่รวดเร็ว
XFS ได้รับการปรับให้เหมาะสมสําหรับการเข้าถึงแบบขนาน ดังที่ได้กล่าวไปแล้วมันแบ่งพื้นที่เก็บข้อมูลออกเป็นกลุ่มการจัดสรรอิสระ กลุ่มการจัดสรรแต่ละกลุ่มทํางานเกือบจะเหมือนกับระบบไฟล์แยกต่างหาก – ควบคุมการใช้พื้นที่ของตัวเองและเขียนข้อมูลเมตาของตัวเอง ดังนั้นกลุ่มการจัดสรรดังกล่าวสามารถแก้ไขได้พร้อมกันโดย Linux kernel และการดําเนินการแบบขนานหลายรายการจะไม่ส่งผลกระทบต่อประสิทธิภาพการทํางาน
โอกาสในrecovery มีสูงกว่า file system อื่น
XFS ใช้การบันทึก metadata ซึ่งอํานวยความสะดวกในการกู้คืนหลังจากระบบล่มหรือไฟฟ้าดับ ข้อมูลผู้ใช้ในกรณีที่สูญเสียมีโอกาสสูงที่จะได้รับการกู้คืนเช่นกันแม้ว่าจะมีเครื่องมือการกู้คืนข้อมูลภายนอกเช่น UFS Explorer หรือ Recovery Explorer เมื่อไฟล์ถูกลบระบบไฟล์จะล้างข้อมูลเกี่ยวกับ inode บางส่วนและอัปเดต B + tree ข้อมูลเกี่ยวกับชื่อไฟล์นั้นจะหายไปจาก directory ที่มันเคยอยู่ แต่ซอฟต์แวร์บางประเภทก็จะสามารถประติดประต่อข้อมูลดังกล่าวได้ และ การกู้ข้อมูลคืนนั้นแทบจะทำได้ 100% ไม่เพียงแต่การลบไฟล์เพียงอย่างเดียว การ format ไปแล้วก็ยังกู้ข้อมูลคืนได้เช่นกัน
อย่างไรก็ตามดูเหมือนว่า XFS จะมีแต่ข้อดี แต่มันก็มีข้อเสียบางประการ เช่น การที่มันไม่ได้ใช้ checksum ทำให้เมื่อเกิดความผิดพลาดของไฟล์ ความผิดพลาดดังกล่าว (corrupted files) อาจจะดำเนินต่อไป อย่างที่เราไม่รู้ตัวได้ นอกจากนั้น เนื่องจากว่ามันเป็น file system แบบ journaling ทำให้การปิดฟีเจอร์ดังกล่าวเป็นไปไม่ได้ และ อาจจะทำให้ดิสก์บางประเภททำงานหนักและมีอายุสั้นลง เช่น SSD/NVME เพราะต้องอาศัยการเชียน ที่เยอะกว่าปกติ เช่น metadata
โดยรวมแล้วแม้ว่าจะมีข้อบกพร่องเล็กน้อย แต่ XFS เป็นระบบไฟล์ที่เชื่อถือได้และใช้งานได้หลากหลาย ดังนั้นในสามารถเป็นตัวเลือกรูปแบบที่ยอดเยี่ยมโดยเฉพาะอย่างยิ่งสําหรับโซลูชันการจัดเก็บข้อมูลที่กว้างขวาง
Veeam และ XFS
แน่นอนว่าการใช้ file system ที่รองรับขนาด disk ที่ใหญ่นั้น ย่อมเป็นเรื่องดี เช่น XFS ซึ่ง ท่านสามารถนำมาใช้ในการเก็บ repository สำหรับ Veeam ได้ และมันจะมีประโยชน์มากเมื่อท่านใช้ feature Fast Clone ใน Veeam หรือฟีเจอร์ที่จะทำให้ท่าน copy file อย่างรวดเร็ว ซึ่งเป็นหนึ่งในการใช้ synthetic backup นั่นเอง สำหรับ synthetic backup นั้นก็คือ การนำ backup chain ของเดิมมาสร้างเป็น full backup สำหรับรอบถัดไป ซึ่งแทนที่ท่านจะสร้างโดยการดึงข้อมูลทั้งหมดผ่าน network ท่านก็ใช้สิ่งที่ท่านมีมาสร้างแทน ลด traffic ในระบบของท่าน และเมื่อท่านใช้กับ XFS file system จะทำให้กระบวนการดังกล่าวนั้นเร็วมาก