existem algumas coisas importantes a serem observadas.
Os nomes:
btrfs Subvolume - contêiner de dados independente inside
sistema de arquivos. Ele é representado como diretório do FS existente. Se você criar um novo subvolume, ele estará vazio, pronto para usar o bloco de dados lógicos dentro do sistema de arquivos. Muito conveniente usar onde os dados devem ser separados logicamente diferentes VMs ou diferentes clientes em diferentes subvolumes. Isso permite a remoção very fast
do bloco de dados lógico all com apenas o comando delete subvolume.
Snapshot de btrfs - uma cópia de existing
subvolume com todos os seus dados no momento em que o snapshot é feito. Pode ser usado como backup operacional para reverter configurações ou alterações, por exemplo, faça um instantâneo de subvolume, faça mudanças (VM ou dados), teste se tudo estiver bem, depois de algum período de carência remova o instantâneo.
Importante notar: as capturas instantâneas podem ser somente de leitura ( -r
switch) e, portanto, podem ser usadas como blocos de incremento de alterações de FS e possivelmente transferidas para absolutamente outro BTRFS!
Current (2016-12-30) Limitações do BTRFS:
Copiar ou mover dados entre subvolumes, por ex. mv dir1/dataset1 dir_subvolume1/
produz todo o io real para copiar dados para outro subvolume e, em caso de movimentação, remover o original.
E muito cópia eficiente de toneladas de dados apenas fazendo referências e, portanto, usando o recurso COW do BTRFS:
cp -a --reflink=always dir1/dataset1 dir_subvolume1/
e, se necessário:
rm -rf dir1/dataset1
Somente leitura A captura instantânea de subvolume pode ser renomeada (movida com mv
) no nível do diretório existente, mas não pode ser renomeada / movida para um nível de subdiretório diferente. por exemplo. mv /btrfs/subvol_snap1 /btrfs/.snaphots
não é possível, produz pouco erro explicado: mv: cannot move 'subvol_snap1' to '.snapshots/subvol_snap1': Read-only file system
.
Para poder mover um instantâneo desse tipo, você precisa criar um novo instantâneo somente leitura do instantâneo existente somente leitura para o novo local preferido e, em seguida, remover o antigo:
btrfs sub snap -r /btrfs/subvol_snap1 /btrfs/.snaphots/subvol_snap1
btrfs sub del /btrfs/subvol_snap1
Apenas para uma transmissão mais fácil:
btrfs sub list /btrfs
Espero que isso poupe tempo para todos os novos fãs do btrfs:)