Mover uma instalação do Linux usando btrfs no subvolume padrão (subvolid = 0) para outro subvolume

12

Ao fazer uma instalação em um sistema de arquivos root btrfs, muitas distribuições do Linux são instaladas no subvolume padrão. Se não for modificado, esse layout forçará a criação de snapshots ou subvolumes dentro do sistema de arquivos raiz, o que pode ser indesejável. Outro layout possível seria fazer com que o subvolume padrão contivesse um diretório snapshots e um rootfs subvolume, que é o sistema de arquivos raiz. Como posso alterar a instalação do btrfs do distro-default para usar este layout de subvolume sem inicializar de um LiveCD?

    
por goncalopp 28.01.2013 / 05:03

1 resposta

11

Primeiramente, criaremos o layout desejado no subvolume padrão:

btrfs subvolume snapshot / /rootfs
mkdir /snapshots

Observe que /rootfs será nosso novo sistema de arquivos raiz, portanto, não faça nenhuma alteração na atual após essa etapa.

Edite /rootfs/etc/fstab para fazer o sistema usar o novo subvolume rootfs como sistema de arquivos raiz. Para isso, você precisará modificá-lo para incluir a opção subvol=rootfs .

monte nosso novo sistema de arquivos raiz em algum lugar, monte os sistemas de arquivos relevantes (dev, sys, proc, boot se tiver), faça chroot e atualize o grub:

mount -o subvol=rootfs /dev/sdXX /media/temporary
cd /media/temporary
mount -o bind /dev  dev
mount -o bind /sys  sys
mount -o bind /proc proc
mount -o bind /boot boot
chroot .
update-grub
exit

É isso. Reinicialize e seu sistema de arquivos raiz deve ser o subvolume rootfs. Se isso for bem sucedido, não deve haver nenhum diretório / snapshots. Agora você pode excluir o conteúdo do antigo sistema de arquivos raiz no subvolume padrão.

Se desejar, você pode criar um ponto de montagem permanente para o subvolume padrão:

mkdir /media/btrfs/root

você pode mount -o subvolid=0 /dev/sdXX /media/btrfs/root e criar seus instantâneos / subvolumes.

    
por 28.01.2013 / 05:03