Quay lại bvfs subvolume với subvolume con


9

Có một cách kinh điển để quay trở lại một ảnh chụp nhanh subvolume có subvolume con. Vì vậy, ví dụ, đây là bố cục âm lượng btrfs của tôi:

ID 257 gen 59802 top level 5 path __active
ID 258 gen 59784 top level 5 path __snapshot
ID 259 gen 59802 top level 257 path home
ID 260 gen 36538 top level 257 path opt
ID 261 gen 59802 top level 257 path var

Vì vậy, bạn có thể thấy rằng nhà, opt và var là các subvolume con của __active. Nếu tôi chụp nhanh __active thì đây là bố cục mới của tôi:

ID 257 gen 59802 top level 5 path __active
ID 258 gen 59784 top level 5 path __snapshot
ID 259 gen 59802 top level 257 path home
ID 260 gen 36538 top level 257 path opt
ID 261 gen 59802 top level 257 path var
ID 416 gen 59784 top level 258 path __snapshot/__active

Nếu tôi muốn quay lại ảnh chụp nhanh của __active, có cách nào để gắn lại nhà, chọn tham gia và var sang __active mới không?

Câu trả lời:


3

Nếu bạn có ý định gắn lại rằng bạn btrfs subvolume listsẽ hiển thị:

ID 257 gen 59802 top level 5 path __active
ID 258 gen 59784 top level 5 path __snapshot
ID 259 gen 59802 top level 416 path home
ID 260 gen 36538 top level 416 path opt
ID 261 gen 59802 top level 416 path var
ID 416 gen 59784 top level 258 path __snapshot/__active

sau đó không có cách nào để làm điều đó với btrfs-progs.

Chỉ có thể xóa các tập con nếu tất cả các tập con con (được tạo bằng btrfs subvolume create ...) đều trống, tuy nhiên điều này không đúng với ảnh chụp nhanh (được tạo bằng btrfs subvolume snapshot .... Ảnh chụp nhanh luôn có thể bị xóa và vì vậy nếu bạn có thể di chuyển chúng, sẽ có một vấn đề với việc loại bỏ ảnh chụp.

Mặc dù cả subvolume con và snapshot xuất hiện trong cùng một cấu trúc cây và thậm chí chia sẻ btrfs subvolume delete ..lệnh, chúng không hành động giống nhau.


1

Trước hết, khi thực hiện __snapshot/__active, các subvolume (home, opt, var) không bị ngáy. Thay vào đó các thư mục trống được tạo ra. Do đó __snapshot/__activecó thể dễ dàng được gỡ bỏ, trong khi __activekhông thể.

Nhưng điểm chính đã được khôi phục __activevới __snapshot/__active. Theo tôi biết, điều này không thể được thực hiện nguyên tử. Nhưng bạn có thể vui vẻ mvchụp nhanh và các subvolume khác xung quanh (miễn là chúng có thể ghi). Vì vậy, làm ví dụ

mv __active __snapshot/__active.old
mv __snapshot/__active __active

Khôi phục __activetừ ảnh chụp nhanh, nhưng di chuyển các subvolume sang __snapshot/__active.old/{home,opt,var}. Để gắn lại chúng bây giờ bạn có thể sử dụng

mv __snapshot/__active.old/{home,opt,var} __active/

và bạn sẽ nhận được

ID 257 gen 59804 top level 258 path __snapshot/__active.old
ID 258 gen 59786 top level 5 path __snapshot
ID 259 gen 59802 top level 416 path home
ID 260 gen 36538 top level 416 path opt
ID 261 gen 59802 top level 416 path var
ID 416 gen 59784 top level 5 path __active

Trong trường hợp ảnh chụp nhanh của bạn được thực hiện chỉ đọc, bạn có thể làm ví dụ

mv __active __snapshot/__active.old
btrfs subvolume snapshot __snapshot/__active __active
mv __snapshot/__active.old/{home,opt,var} __active/
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.