Você está certo, o instalador não está ciente dos subvolumes do BTRFS, e este ainda é o caso de 18.04.
Usar um subvolume separado para /var/log/
permite restaurar um instantâneo de /
sem perder os logs.
- Faça a configuração do servidor como de costume, na etapa Concluir instalação , selecione Voltar e Executar um shell .
-
Relacione todos os seus sistemas de arquivos de destino:
mount | grep target
/dev/md-0 on /target type btrfs (rw,noatime,space_cache,subvolid=257,subvol=/@)
/dev/md-0 on /target/home type btrfs (rw,noatime,space_cache,subvolid=258,subvol=/@home)
proc on /target/proc type proc (rw,nosuid,nodev,noexec,relatime)
devtmpfs on /target/dev type devtmpfs (rw,nosuid,relatime,size=475608k,nr_inodes=118902,mode=755)
-
Anote o dispositivo btrfs, neste exemplo /dev/dm-0
.
-
Agora desative todos os seus sistemas de arquivos montados.
umount /target/dev
umount /target/proc
umount /target/boot/efi
umount /target/home
umount /target/
-
Monte seu sistema de arquivos btrfs flat :
cd /tmp
mkdir work
mount /dev/dm-0 work
cd work
-
Verifique se a montagem está correta (deve mostrar @
e @home
):
ls
@ @home
-
Crie seus subvolumes adicionais ( @tmp
, @var
, @var-log
)
btrfs subvolume create @tmp
btrfs subvolume create @var
btrfs subvolume create @var-log
-
Mova os dados
mv @/var/log/* @var-log/
mv @/var/* @var/
# Remove data from tmp
rm @/tmp/* @/tmp/.*
# For 18.04, remove the swapfile since it won't work on btrfs
rm @/swapfile
-
Adicione os novos subvolumes ao fstab, a parte do dispositivo pode ser diferente do comando mount anterior, copie a parte do dispositivo dos pontos de montagem já existentes.
...
/dev/mapper/root-root / btrfs noatime,subvol=@ 0 1
/dev/mapper/root-root /home btrfs noatime,subvol=@home 0 2
/dev/mapper/root-root /var btrfs noatime,subvol=@var 0 2
/dev/mapper/root-root /var/log btrfs noatime,subvol=@var-log 0 2
-
Desmontar
cd /tmp
umount work
sync
-
exit
, então Conclua a instalação
-
Instale e configure o snapper , uma ótima ferramenta para automatizar instantâneos.