ผู้ใช้เดสก์ท็อป Linux ส่วนใหญ่คงเคยได้ยินเกี่ยวกับระบบไฟล์ "Copy on Write" เช่น ZFS หรือ Btrfs และประโยชน์ของระบบไฟล์ CoW เหล่านั้นด้วย การบีบอัด ฟังก์ชัน RAID ในตัว และความสามารถของสแน็ปช็อตทำให้เป็นระบบไฟล์ที่ทันสมัยและล้ำหน้าอย่างไม่น่าเชื่อ แต่คุณจะเริ่มต้นกับหนึ่งในระบบไฟล์เหล่านี้ได้อย่างไร เนื่องจาก Btrfs เป็น FOSS อย่างสมบูรณ์และสร้างขึ้นในเคอร์เนล Linux จึงเป็นจุดเริ่มต้นที่ดี เราจะแนะนำคุณเกี่ยวกับคู่มือเริ่มต้นสำหรับ Btrfs
รองรับ Btrfs ใน Linux
สิ่งที่ยอดเยี่ยมอย่างหนึ่งเกี่ยวกับ Btrfs บน ZFS คือ Btrfs มีอยู่ในแผนผังแล้ว หมายความว่ามีอยู่แล้วใน Linux Kernel ไม่มีอะไรต้องติดตั้ง ไม่ต้องกำหนดค่า คุณสามารถใช้มันได้ตามใจคุณ ที่ถูกกล่าวว่าคุณควรตรวจสอบการสนับสนุน distro ต่างๆของคุณสำหรับ Btrfs เนื่องจากบางส่วนดีกว่าตัวอื่น มันเป็นส่วนหนึ่งของเคอร์เนลหลักตั้งแต่ 2.6.29 และเรากำลังจะปิดใน 5.10 ดังนั้นจึงน่าจะไม่มีปัญหา
การสร้างพาร์ติชัน Btrfs
สิ่งแรกที่คุณต้องทำคือใช้ mkfs
. ที่เชื่อถือได้ คำสั่งเพื่อสร้างพาร์ติชั่นที่คุณจะใช้สำหรับงาน Btrfs ของคุณ หากคุณไม่สะดวกในการใช้เทอร์มินัล คุณสามารถใช้ GParted เพื่อจัดการพาร์ติชั่นของคุณได้ นี่เป็นสิ่งที่ดีถ้าคุณต้องการดูพาร์ติชั่นของคุณก่อนที่จะเขียนลงดิสก์
ในการสร้างพาร์ติชัน Btrfs เพียงระบุดิสก์หรือพาร์ติชันของคุณแล้วใช้ mkfs.btrfs
สั่งการ. ระบบที่ฉันสาธิตมี 3 ดิสก์ และฉันจะเลือก “/dev/vdb1” สำหรับดิสก์แรกนี้ คุณอาจต้องระบุ -f
ตัวเลือกหากมีตารางพาร์ติชั่นอยู่ที่นั่น
เมื่อเสร็จแล้ว คุณจะต้องตัดสินใจว่าคุณจะเมานต์โวลุ่มย่อยนั้นไปที่ใด ขึ้นอยู่กับสิ่งที่คุณใช้สำหรับ:หากเป็นไลบรารีเกม คุณสามารถสร้างไดเร็กทอรีในไดเร็กทอรี "/home" ที่ชื่อว่า Games และติดตั้งที่ "~/Games" หากเป็นโซลูชันสำรองข้อมูลบางประเภท คุณอาจต้องการติดตั้งในไดเรกทอรี “/mnt” เพื่อความสะดวกในการจัดการ ฉันจะสร้างไดเรกทอรีชื่อ “/mnt/btrfs” เพื่อให้ทุกอย่างง่ายขึ้น
ฉันจะต่อเชื่อมอุปกรณ์ “/dev/vdb” Btrfs ของฉันบนจุดต่อเชื่อมนั้นโดยใช้คำสั่งต่อไปนี้:
sudo mount -t btrfs /dev/vdb /mnt/btrfs
อุปกรณ์เฉพาะและจุดยึดจะแตกต่างกันไปขึ้นอยู่กับสิ่งที่คุณกำลังทำ
การสร้าง Btrfs Subvolume
ใน Btrfs วอลุ่มย่อยเป็นเพียงไดเร็กทอรีที่ Btrfs สามารถจัดการด้วยวิธีพิเศษของ CoW ในการดำเนินการนี้ คุณจะต้องใช้ subvolume create
คำสั่งภายใต้ btrfs.
btrfs subvolume create /mnt/btrfs/backups
ฉันกำลังสร้างไดรฟ์ข้อมูลย่อยสำหรับการสำรองข้อมูลของระบบนี้ แต่คุณสามารถตั้งชื่ออะไรก็ได้ที่คุณต้องการ คุณสามารถใช้ไดเร็กทอรีนี้เหมือนกับไดเร็กทอรีอื่น ๆ เพียงแค่รู้ว่าไดเร็กทอรีนี้จะได้รับประโยชน์จากเครื่องมือที่ฝังอยู่ใน Btrfs
ภาพรวมของ Btrfs ย่อย
หนึ่งในส่วนที่ยอดเยี่ยมของ Btrfs คือความสามารถในการสแนปชอตในตัว มีเครื่องมือบางอย่างสำหรับมัน เช่น ปลากะพง แต่ btrfs
คำสั่งนั้นมีsubvolume snapshot
.ที่ยอดเยี่ยม คำสั่งย่อย ฉันมีไฟล์ชื่อ “btrfs-test.txt” ในไดเรกทอรี “/mnt/btrfs/backups”
หากต้องการสแน็ปช็อตไดเรกทอรีนี้ (หรือโวลุ่มย่อย Btrfs ใดๆ สำหรับเรื่องนั้น) ไวยากรณ์คำสั่งคือ btrfs subvolume snapshot /PATH/TO/SUBVOLUME /PATH/TO/SUBVOLUME/SNAPSHOT
. สำหรับกรณีของฉัน ฉันจะเรียกใช้คำสั่งต่อไปนี้:
btrfs subvolume snapshot /mnt/btrfs/backups /mnt/btrfs/backups/snapshots/
หากคุณกำลังพยายามติดตามข้อมูลของคุณ เราขอแนะนำให้คุณประทับวันที่ในไดเร็กทอรีสแนปชอตเพื่อให้คุณทราบว่าเกิดอะไรขึ้น
คุณยังสามารถใช้ -r
ตั้งค่าสถานะเพื่อให้สแน็ปช็อตเป็นแบบอ่านอย่างเดียว ซึ่งเป็นสิ่งสำคัญสำหรับ btrfs send
และ receive
หน้าที่ที่เราจะกล่าวถึงในภายหลัง
หากคุณไปยังไดเร็กทอรีใดก็ตามที่คุณส่งสแน็ปช็อตไป คุณจะพบข้อมูลเดียวกันทั้งหมดที่อยู่ในไดเร็กทอรีที่คุณถ่ายสแน็ปช็อตของทั้งหมดอย่างเรียบร้อยในโครงสร้างเดียวกัน เป็นเคล็ดลับที่ดีที่จะตรวจสอบให้แน่ใจว่าข้อมูลของคุณได้รับการปกป้องในกรณีที่เกิดภัยพิบัติ
คุณสามารถใช้สิ่งนี้เพื่อถ่ายภาพทั้งระบบและใช้ btrfs send
และ btrfs receive
คำสั่งให้ส่งไปยังอุปกรณ์ btrfs อื่น คำสั่งนั้นจะมีลักษณะดังนี้:
sudo btrfs send /mnt/btrfs/backups/ro-snapshot/ | btrfs receive /mnt/btrfs-send-test/
นี่เป็นสิ่งที่ดีถ้าคุณมีอุปกรณ์ Btrfs บน NAS หรืออาร์เรย์ RAID ในระบบของคุณและต้องการถ่ายภาพระบบปฏิบัติการของคุณและส่งไปที่นั่น คุณเมาต์สแนปชอตตัวใดตัวหนึ่งได้ด้วย mount
คำสั่งซึ่งจะทำให้คุณเข้าถึงข้อมูลนั้นได้อีกครั้ง
หากคุณชอบบทความนี้เกี่ยวกับ Btrfs อย่าลืมตรวจสอบเนื้อหา Linux อื่นๆ ของเรา เช่น บทความเกี่ยวกับวิธีสร้างพีซีใหม่สำหรับ Linux เครื่องมือ 8 อย่างเพื่อสร้าง Linux distro ของคุณเอง และเกมที่ดีที่สุด 12 เกมสำหรับ Linux ในปี 2020