BTRFS - เปลี่ยนกลับเป็นสแน็ปช็อต


0

ฉันมีดิสก์ที่มีระบบไฟล์ btrfs ซึ่งติดตั้งอยู่ในไดเรกทอรีราก

$ sudo btrfs subvol show  /media/qkiz/Corsair/
/media/qkiz/Corsair is btrfs root

ในที่นี้รูทนี้เป็นสแน็ปช็อต

$ sudo btrfs subvol show  /media/qkiz/Corsair/snapshot/
/media/mkukielka/Corsair/snapshot
    Name:           snapshot
    uuid:           94d5d0fa-aaf4-d84c-b716-d5121accf7a0
    Parent uuid:        -
    Creation time:      2015-12-02 13:31:18
    Object ID:      258
    Generation (Gen):   23
    Gen at creation:    23
    Parent:         5
    Top Level:      5
    Flags:          -
    Snapshot(s):

ฉันทำการเปลี่ยนแปลงในระบบไฟล์รูทและตอนนี้ฉันต้องการกลับไปที่สแน็ปช็อต หากฉันเปลี่ยนซับวูฟเฟอร์เริ่มต้น:

$ sudo btrfs subvol set-default 258 /media/qkiz/Corsair/

ฉันสามารถดูสถานะจากสแนปชอตได้ แต่ยังคงใช้พื้นที่ว่างในไดเรกทอรีราก วิธีการลบไดเรกทอรีรากและใช้ snapshot เป็น root?

คำตอบ:


1

เพื่อให้ชีวิตของคุณง่ายขึ้นฉันขอแนะนำให้รูทย่อย btrfs (id = 5) ใช้เพื่อจัดการ subvolumes และสแน็ปช็อตอื่น อย่าเก็บ มีข้อมูลจำนวนมากบนรูตย่อยของรูทและไม่ได้อ้างอิงในสคริปต์ ฯลฯ สิ่งนี้จะช่วยให้คุณทำสแน็ปช็อตย้อนกลับได้ง่ายขึ้นมาก

ตัวอย่างเช่นใน fstab:

# Root of btrfs volume. Used for volume management.
# Do not reference /mnt/root-XYZ/ in scripts or software.
LABEL=XYZ /mnt/root-XYZ btrfs noauto,subvolid=5

# Software using data on this subvolume should reference this path:
#     /media/qkiz/Corsair/...
# and NOT /mnt/root-XYZ/corsair/...
#
LABEL=XYZ /media/qkiz/Corsair btrfs noauto,subvol=corsair

(คุณจะเปลี่ยน XYZ เป็นป้ายกำกับ btrfs จริงของคุณ)

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

umount /mnt/qkiz/Corsair
mount /mnt/root-XYZ
cd /mnt/root-XYZ
btrfs subvol snap . corsair
btrfs subvol snap -r corsair corsair-YYMMDD

ตรวจสอบว่า corsair-YYMMDD / มีข้อมูลสำคัญของคุณแล้วลบข้อมูลออกจากรูทีนย่อยรูทของคุณ:

rm -rf ./datafiles....

สุดท้ายติดตั้งไดรฟ์ย่อยใหม่ของคุณ:

mount /mnt/qkiz/Corsair

คุณสามารถสร้าง 'โจรสลัด' ให้ subvolume ค่าเริ่มต้น ซับวูฟเฟอร์ถ้าคุณต้องการ แต่ไม่จำเป็นอย่างเคร่งครัด มันอาจมีประโยชน์หากเป็นไดรฟ์แบบพกพาและคุณย้ายไปยังเครื่องอื่นที่มี fstab ที่แตกต่างกัน ด้วยวิธีการนั้น สลัด subvolume จะถูกเมาท์ตามค่าเริ่มต้นและไม่ใช่ subvolume รูท

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.