有几件重要的事情要注意。命名:
btrfs子卷-独立的数据容器inside
文件系统。它表示为现有FS的目录。如果创建新的子卷,该子卷将为空,可以在文件系统中使用逻辑数据块。非常适合在逻辑上分离数据的地方使用,例如,不同子卷上的不同VM或不同客户端。这使得very fast
清除所有与刚子卷delete命令的逻辑数据块。
btrfs Snapshot- existing
子快照的副本,其中包含快照完成时的所有数据。可以用作还原设置或更改的操作备份,例如,创建子卷快照,进行更改(VM或数据),测试是否一切正常,在宽限期后删除快照。重要说明:快照只能是只读的(-r
切换),因此可以用作FS更改的增量块,并且有可能绝对转移到另一个BTRFS!
当前(2016-12-30)BTRFS限制:
在子卷之间复制或移动数据,例如mv dir1/dataset1 dir_subvolume1/
产生所有实际数据,以将数据复制到另一子卷,并且在移动的情况下,从原始卷中删除。而且非常高效的只是进行引用,因此使用BTRFS的COW功能复制的数据吨:
cp -a --reflink=always dir1/dataset1 dir_subvolume1/
并且如果需要:
rm -rf dir1/dataset1
只读子卷快照可以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粉丝节省大量时间:)