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

Published on July 1, 2025
BTRFS File System ไปทำความรู้จักกัน

BTRFS นั้นเรียกว่าเป็นระบบ file system ที่ค่อนข้างใหม่ และ ก้าวหน้าตัวหนึ่ง เพราะว่ามีคุณสมบัติแบบ copy-on-write (COW) การทำ sub-volume การทำ snapshot การทำโควต้า ทั้งหมดก็เพื่อให้การจัดสรรไฟล์ และ การจัดการข้อมูลเป็นไปได้อย่างมีประสิทธิภาพ

แล้วอะไรล่ะคือ file system

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

แต่อย่างไรก็ตามสำหรับผู้ที่ต้องการใช้คุณสมบัติแบบ snapshot หรือว่า copy-on-write นั้นการใช้ Btrfs ก็อาจจะเป็นทางเลือกเพิ่มเติมขึ้นมาจาก Ext4

BTRFS File system

สำหรับ BTRFS นั้นเป็นตัวย่อของ B-tree file system ซึ่งเรียกว่าเป็นหนึ่งใน file system ยุคใหม่บน Linux ที่มีฟีเจอร์ที่ก้าวหน้าขึ้นไปอีกระดับ เพื่อช่วยรักษาความถูกต้องของข้อมูล สามารถขยายได้ง่าย และ รองรับจำนวนข้อมูลปริมาณมหาศาล Btrfs นั้นทำงานอยู่บนหลักการของ B-tree หรือการทำให้โครงสร้างแบบต้นไม้นั้นมีความสมดุลกัน

b-tree structure

b-tree จะถูกใช้งานในการทำ index หรือดัชนี และ จัดการคุณสมบัติของไฟล์ รวมถึง ข้อมูล โครงสร้างไดเร็กทอรี (folder) เพื่อให้การค้นหา การแทรก และ การลบทำได้ง่ายขึ้น และ เร็วขึ้น

แต่ละสาขาของโครงสร้าง (ใบ) นั้นจะเก็บบล็อกของข้อมูล โดยหลักการแล้วก็เหมือนกับ inode ในระบบ file system บางระบบ ซึ่งจะเก็บ metadata เกี่ยวกับไฟล์และไดเร็กทอรี เช่นสิทธิ์ เวลา และ ขนาดไฟล์

Copy-On-Write (COW)

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

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

copy-on-write

Sub-Volumes

ให้คุณคิดง่ายๆ ว่าเหมือนคุณมี file system ย่อยๆ บน file system หลักอีกระดับหนึ่งนั้นเอง แต่ละตัวนั้นก็จะมี inode เป็นของตัวเอง และ มันสามารถถูกใช้เป็น snapshot ได้ด้วย แต่อย่างไรก็ตาม มันก็ไม่ได้เหมือนกันทีเดียว เพราะว่ามันไม่ได้ logical disk/devices/volume อันเดียวกัน ซึ่งปกติแล้ว เป็นการ snapshot ที่ระดับ block แต่ subvolume ทำงานในระดับ file

Quota Group

Quota นั้นเป็นสิ่งที่เกิดมาพร้อมกับ โลกของ Unix/Linux เป็นเวลานาน เพราะว่าระบบนี้เป็นระบบที่มีผู้ใช้งานหลายคนแชร์ file system อันเดียวกัน เพราะฉะนั้น ทุกคนก็จำเป็นที่จะต้องมีโควต้าเป็นของตนเอง แต่อย่างไรก็ตามระบบโควต้าแบบเดิมนั้นทำงานกับ ไดเร็กทอรีไม่ค่อยดีนัก เพราะว่าเราจะต้องสร้าง partition สำหรับ ที่จะเอามาแบ่งโควต้าโดยเฉพาะ แต่ด้วย Btrfs เราสามารถให้มันมองเป็น subvolume ได้และทุกคนก็มีโควต้าเป็นของตนเอง ไม่ต้องสนใจเรื่องการสร้าง partition อีกต่อไป

โดยสรุป แล้ว Btrfs นั้นเป็นอีก file system หนึ่งที่น่าสนใจมากๆ เลยทีเดียว และ สำหรับผู้ใช้งาน Proxmox VE และ ต้องการสร้าง volume และใช้ Btrfs แน่นอนว่า ท่านสามารถใช้ snapshot ได้ โดยเฉพาะ ท่านที่มีเครื่องแบบ standalone

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

 

databases and their applications in 2025

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

Read more »

Virtual Tape Library and its benefits

สำหรับ Tape Backup นั้นหลายๆ คนคงจะรู้จัก และใช้งานกันมานานพอสมควร แม้กระทั่งทุกวันนี้หลายๆ องค์กรก็ยังใช้งาน Tape อยู่...

Read more »

ทดสอบ IOPS ด้วย KDiskMark

หากพูดถึง CrystalDiskMark ก็ต้องบอกว่าเป็นที่รู้จักกันในโลกของ Windows กันมา พอสมควรแล้ว เพราะถูกใช้กันอย่างกว้างขวางในการทดสอบ IOPS บน Disk/SSD...

Read more »

GraphQL คืออะไร และ มันอาจจะเป็นสิ่งที่มาเปลี่ยน REST API

GraphQL คืออะไร ก่อนอื่นต้องบอกก่อน วิธีการสื่อสารระหว่าง client & server นั้นเราใช้วิธีการที่เรียกว่า REST API...

Read more »

Self-Service Backup as a Service for Nakivo

สำหรับองค์กรขนาดใหญ่ที่มีจำนวน VM หลักร้อยหรือหลักพัน การจัดการ จะกลายเป็นเรื่องยุ่งยากทันที หากทุกอย่างต้องมานั่งรอแอดมินหรือผู้ดูแลระบบเป็นคนจัดการให้ และ เช่นเดียวกับระบบสำรองข้อมูล การจัดให้มีระบบ Self-Service...

Read more »

ZFS Live RAIDZ Pool Expansion

แน่นอนว่าการใช้งาน disk / storage ในช่วงที่ผ่านมานั้น มีการเพิ่มขึ้นทุกระดับองค์กร แต่บางครั้งการ จัดการ หรือ การแบ่ง...

Read more »