มีบางสิ่งที่สำคัญที่ควรทราบ The namings:
btrfs Subvolume - inside
ระบบไฟล์คอนเทนเนอร์ข้อมูลอิสระ มันจะแสดงเป็นไดเรกทอรีของ FS ที่มีอยู่ หากคุณสร้าง subvolume ใหม่มันจะว่างเปล่าพร้อมที่จะใช้บล็อกข้อมูลแบบลอจิคัลภายในระบบไฟล์ สะดวกในการใช้งานที่ควรแยกข้อมูลอย่างมีเหตุผลเช่น VM หรือไคลเอนต์ที่แตกต่างกันในไดรฟ์ย่อยที่แตกต่างกัน สิ่งนี้อนุญาตให้very fast
ลบบล็อกข้อมูลโลจิคัลทั้งหมดด้วยคำสั่ง subvolume delete เท่านั้น
btrfs Snapshot - สำเนาของไดรexisting
ฟ์ย่อยที่มีข้อมูลทั้งหมดในขณะที่ทำสแน็ปช็อตระบบปฏิบัติการ สามารถใช้เป็นการสำรองข้อมูลปฏิบัติการเพื่อคืนค่าการตั้งค่าหรือการเปลี่ยนแปลงเช่นสร้าง subvolume snapshot ทำการเปลี่ยนแปลง (VM หรือ data) ทดสอบว่าทุกอย่างเรียบร้อยดีหลังจากระยะเวลาผ่อนผันลบ snapshot ออก สิ่งสำคัญที่ควรทราบ: สแนปชอตสามารถอ่านได้อย่างเดียว ( -r
สวิตช์) และสามารถใช้เป็นบล็อกที่เพิ่มขึ้นของการเปลี่ยนแปลง FS และอาจถูกถ่ายโอนไปยัง BTRFS อื่น!
ข้อ จำกัด BTRFS ปัจจุบัน (2016-12-30):
การคัดลอกหรือย้ายข้อมูลระหว่าง subvolumes เช่นmv dir1/dataset1 dir_subvolume1/
สร้าง io จริงทั้งหมดเพื่อคัดลอกข้อมูลไปยัง subvolume อื่นและในกรณีที่มีการย้ายออกจากเดิม และการคัดลอกข้อมูลที่มีประสิทธิภาพมากเพียงแค่ทำการอ้างอิงและใช้คุณลักษณะ COW ของ BTRFS:
cp -a --reflink=always dir1/dataset1 dir_subvolume1/
และถ้าจำเป็น:
rm -rf dir1/dataset1
สแน็ปช็อต Subvolume แบบอ่านอย่างเดียวสามารถเปลี่ยนชื่อ (ย้ายด้วยmv
) ที่ระดับไดเรกทอรีที่มีอยู่ แต่ไม่สามารถเปลี่ยนชื่อ / ย้ายไปยังระดับไดเรกทอรีย่อยที่แตกต่างกัน เช่นmv /btrfs/subvol_snap1 /btrfs/.snaphots
เป็นไปไม่ได้ข้อผิดพลาดที่อธิบายได้ไม่มากนัก: mv: cannot move 'subvol_snap1' to '.snapshots/subvol_snap1': Read-only file system
. เพื่อให้สามารถย้ายสแน็ปช็อตดังกล่าวคุณต้องสร้างสแน็ปช็อตแบบอ่านอย่างเดียวใหม่ของสแน็ปช็อตแบบอ่านอย่างเดียวที่มีอยู่ไปยังตำแหน่งที่ต้องการใหม่แล้วลบอันเก่า:
btrfs sub snap -r /btrfs/subvol_snap1 /btrfs/.snaphots/subvol_snap1
btrfs sub del /btrfs/subvol_snap1
เพียงเพื่อชีวิตที่ง่ายขึ้น:
btrfs sub list /btrfs
ฉันหวังว่านี่จะช่วยประหยัดเวลาได้มากสำหรับแฟน ๆ btrfs ใหม่ :)