Layout plano
Ao executar uma instalação padrão do Ubuntu usando o BTRFS em uma partição, o instalador cria e monta dois subvolumes: @ (localizado em /) e @casa (localizada em /home). Estes são montados na bota via /etc /fstab. Isso é chamado de layout plano e facilita o gerenciamento.
Instantâneos e reversão
Supondo que a configuração do Ubuntu Standard BTRFS, monte seu sistema partição em /mnt:
$ sudo monte /dev /sdx /mnt.
Você verá seus dois subvolumes lá:
Todo o sistema de arquivos raiz está contido dentro @. Para tirar um instantâneo de @ chamado @.instantâneo, nós fazemos:
Para reversão Um subvolume, basta mover/renomear o subvolume antigo e mover/renomear o instantâneo que você deseja usar na localização do antigo subvolume:
$ sudo mv /mnt /@ /mnt /@.quebrado
$ sudo mv /mnt /@.Snapshot /mnt /@
Após uma reinicialização, você estará usando o instantâneo que levou.
Nota antes da reinicialização: /etc/fstab tem entradas para @ e @casa como assim:
““
Uuid = xxxxx / btrfs Mount_Options, subvol =@ 0 0
Uuid = xxxxx /home btrfs Mount_options, subvol =@home 0 0
““
Se as suas entradas /etc /fstab tiverem subvolid nas opções de montagem como essa, essa opção deve ser removida.
““
Uuid = xxxxx / btrfs Mount_Options, subvol =@, subvolid = xxxx 0 0
““
Um ID do subvolume é um identificador único para um subvolume. Quando você substitui um subvolume, o subvolume listado nesse ponto de montagem pode ter o mesmo nome, Mas terá um ID diferente. Se o ID for diferente daquele em /etc /fstab, não será montado. É seguro usar apenas nomes ao montar subvolumes em /etc /fstab, desde que seus subvolumes sejam nomeados exclusivos.
Mariadb
Ao usar o mariadb, seus arquivos de banco de dados viverão em “/var/lib/mariadb.”Ao criar um novo subvolume para esses dados, você protege seu banco de dados de ser tocado em uma reversão do sistema ao reverter @ para um estado anterior.
Primeiro, monte seus BTRFs de nível superior:
$ sudo monte /dev /sdx /mnt
Crie o novo subvolume:
$ sudo btrfs subvolume Create /mnt /@mariadb
Em seguida, monte -o:
$ sudo monte -o subvol =@mariadb/dev/sdx/var/lib/mariadb
Adicione esta entrada ao seu FSTAB e instale o banco de dados:
$ sudo vim /etc /fstab
““
Uuid = xxxxx/var/lib/mariadb btrfs mount_options, subvol =@mariadb 0 0
““
$ sudo apt install mariadb-server
KVM
Da mesma forma, isole todas as máquinas KVM em um subvolume em “/var/lib/libvirt/máquinas:”
$ sudo btrfs subvolume Create /mnt /@kvm
$ sudo monte -o subvol =@kvm/dev/sdx/var/libvirt/máquinas
$ sudo vim /etc /fstab
““
Uuid = xxxx/var/lib/libvirt/máquinas btrfs Mount_options, subvol =@kvm 0 0
““
Se você já possui dados em sua máquina virtual e diretórios de banco de dados, pode fazer backup, substituir o diretório original pelo subvolume que fez e depois restaurar os dados do backup. Não se esqueça de corrigir as permissões sempre que necessário, pois todos os subvolumes recém -criados são de propriedade da raiz:
$ sudo chown -r mysql: mysql/var/lib/mariadb
Conclusão
Agora, quando você precisa reverter @ Para um estado anterior, seu banco de dados e máquinas virtuais serão preservadas em subvolumes separados. As possibilidades de layouts do subvolume são infinitas, e o que eu demonstrei aqui é apenas uma maneira de usar o BTRFS para proteger e preservar seus dados. Qualquer que seja o seu caso de uso, a flexibilidade dos subvolumes BTRFS pode aprimorar os recursos do seu servidor ou estação de trabalho.