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 จะถูกใช้งานในการทำ index หรือดัชนี และ จัดการคุณสมบัติของไฟล์ รวมถึง ข้อมูล โครงสร้างไดเร็กทอรี (folder) เพื่อให้การค้นหา การแทรก และ การลบทำได้ง่ายขึ้น และ เร็วขึ้น
แต่ละสาขาของโครงสร้าง (ใบ) นั้นจะเก็บบล็อกของข้อมูล โดยหลักการแล้วก็เหมือนกับ inode ในระบบ file system บางระบบ ซึ่งจะเก็บ metadata เกี่ยวกับไฟล์และไดเร็กทอรี เช่นสิทธิ์ เวลา และ ขนาดไฟล์
Copy-On-Write (COW)
หนึ่งในคุณสมบัติเด่นมากของ Btrfs คือ COW ซึ่งหมายถึงเมื่อใดก็ตามที่คุณทำการเปลี่ยนแปลงบนไฟล์ แทนที่จะทำการเขียนทับลงบนบล็อกของข้อมูลเดิมนั้น Btrfs จะสร้างสำเนาของข้อมูลที่คุณกำลังจะทำการเปลี่ยนแปลง เพื่อให้แน่ใจว่าข้อมูลต้นฉบับนั้นยังจะไม่ถูกเปลี่ยนแปลง การทำเช่นนี้ทำให้ข้อมูลนั้นมีความสมบูรณ์ และ ที่สำเนาใหม่ของข้อมูลนั้น และ Btrfs จะทำการอัพเดท Metadata และ ชี้ไปยังข้อมูลใหม่ที่คุณเปลี่ยนแปลง
คุณสมบัติพิเศษนี้มีประโยชน์หลายประการ ข้อแรกคือ ลดความเสียหายของข้อมูล เพราะว่าข้อมูลต้นฉบับนั้น ยังไม่ได้มีการเปลี่ยนแปลงเลย จนกว่าข้อมูลใหม่จะถูกสร้างสมบูณ์แล้ว ข้อต่อมาคือ ทำให้การสร้าง snapshot นั้นทำได้ง่าย เพราะว่าคุณสามารถสร้าง จุดใดๆ ของข้อมูลขึ้นมาได้โดยไม่ต้องทำซ้ำข้อมูล
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]