Tôi muốn sử dụng BTRFS để lưu trữ VM trong VirtualBox để có thể sử dụng Snapshots mà không cần LVM hoặc như vậy. Về lý thuyết tôi không cần CoW
hành vi mọi lúc vì lý do hiệu suất và sử dụng nodatacow
nó dường như tôi không cần. Thay vào đó, điều tôi muốn có là một cách tiếp cận từ sự hiểu biết của tôi Windows và NTFS dường như đang sử dụng: Dữ liệu được thay đổi mọi lúc mà không cần CoW
, nhưng nếu người ta tạo một hệ thống tệp chụp nhanh, dữ liệu hiện tại sẽ được lưu trong ảnh chụp nhanh đó bằng cách sao chép dữ liệu nếu nó được thay đổi theo bất kỳ cách nào. Điều quan trọng dường như là điều này chỉ xảy ra chính xác một lần cho mỗi ảnh chụp và thực sự chỉ xảy ra đối với các khối được sửa đổi. Vì vậy, sau khi một khối được sửa đổi đã được sao chép ngay từ đầu, tất cả các sửa đổi tiếp theo cho cùng một khối chỉ được áp dụng, một lần nữa mà không có CoW
hành vi.
Bên cạnh việc sao chép khối dữ liệu ban đầu đã thay đổi vào một nơi an toàn, từ góc độ hiệu suất, điều này rất có ý nghĩa với tôi và tôi muốn có chính xác hành vi đó để lưu trữ máy ảo của mình. Những người viết một số dữ liệu mọi lúc và tôi chỉ đơn giản là không thấy tôi cần CoW
hành vi như thế nào cho tất cả những thay đổi đó.
Tôi chỉ muốn CoW
sau khi tôi tạo một ảnh chụp nhanh hệ thống tệp theo mục đích, ví dụ cho mục đích sao lưu. Sau đó, tôi cần CoW
tất nhiên để có thể giữ cho ảnh chụp nhanh của mình nhất quán miễn là tôi cần. Nhưng một lần nữa, ngay cả sau khi tạo các ảnh chụp nhanh, tôi sẽ không cần CoW
mãi mãi cho tất cả dữ liệu, mà chỉ một lần cho các khối thay đổi sau đó. Tất cả các thay đổi sau lần đầu tiên có thể được áp dụng mà không có bất kỳ thay đổi nào CoW
.
Theo hiểu biết của tôi về các tài liệu BTRFS, nếu CoW
xảy ra một lần với một số tệp, nó sẽ tiếp tục xảy ra mãi mãi. Nhưng dĩ nhiên tôi có thể sai ...
Vì vậy, là những gì tôi muốn có thể có với BTRFS?