mais dúvidas sobre como configurar, restaurar e usar snapshots btrfs

1. mais dúvidas sobre como configurar, restaurar e usar snapshots btrfs

niquelnausea
niquelnausea

(usa Arch Linux)

Enviado em 25/08/2019 - 01:37h

tendo que reinstalar o sistema (arch), resolvi testar novamente o btrfs e tentar aprender a usar seus snapshots. pretendo ter um "ponto de restauração" sem interface gráfica, apenas com o sistema base e configurações já prontas, e eventualmente criar algum snapshot para alguma atualização mais problemática ou para testar outra interface gráfica sem bagunçar o sistema.
dividi o sistema em três subvolumes sendo eles: @root para a raiz, @var para o /var e @snapshots para as cópias. quando restauro o sistema para o primeiro snapshot, tenho vários problemas com o gerenciador de pacotes que se atrapalha sobre o que esta ou não instalado. sei que esse problema é causado pelo /var que não retrocede no tempo juntamente com o resto do sistema, porém sem este subvolume (/var), o snapshot com o sistema inteiro apresenta erros.

- qual a maneira correta de dividir o sistema em subvolumes para não ter esses erros?
- em muitos tutoriais, é suado como exemplo cópias somente leituras, mas estas não servem para substituir o sistema defeituoso, então qual a serventia desses snapshots somente leitura?
- porque o fstab tem que conter duas formas diferentes para indicação ao subvolume? exemplo "subvol=/@root,subvol=@root"
e "subvol=/@var,subvol=@var".


lista dos subvolumes

btrfs subvolume list /
ID 258 gen 688 top level 5 path @snapshots
ID 259 gen 804 top level 5 path @var
ID 262 gen 29 top level 259 path @var/lib/portables
ID 263 gen 30 top level 259 path @var/lib/machines
ID 267 gen 92 top level 258 path @snapshots/@root-2019-08-21-18:37-somente_leitura
ID 268 gen 725 top level 258 path @snapshots/@root-2019-08-21-18:37
ID 278 gen 758 top level 258 path @snapshots/@root-2019-08-24-20:03-kde5
ID 283 gen 802 top level 5 path @root



fstab

# Static information about the filesystems.
# See fstab(5) for details.

# <file system> <dir> <type> <options> <dump> <pass>
# /dev/sda2 LABEL=root
UUID=78120895-97d6-4268-ad6b-a4076919c5ae / btrfs rw,relatime,ssd,space_cache,subvolid=283,subvol=/@root,subvol=@root 0 0

# /dev/sda1 LABEL=boot
UUID=fc41c4bc-0a4a-47c8-8c11-c390efe589c7 /boot ext4 rw,relatime 0 2

# /dev/sdb2 LABEL=efi
UUID=0297-A118 /boot/EFI vfat rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 2

# /dev/sda2 LABEL=root
UUID=78120895-97d6-4268-ad6b-a4076919c5ae /.snapshots btrfs rw,relatime,ssd,space_cache,subvolid=258,subvol=/@snapshots,subvol=@snapshots 0 0

# /dev/sda2 LABEL=root
UUID=78120895-97d6-4268-ad6b-a4076919c5ae /var btrfs rw,relatime,ssd,space_cache,subvolid=259,subvol=/@var,subvol=@var 0 0

# /dev/sda3
UUID=0d5acd37-ee72-40c0-8e50-dc75eab03271 /home xfs rw,relatime,attr2,inode64,noquota 0 2

# /dev/sdb5
UUID=a39676a9-992a-47ee-80f8-6bce8fc1b1a9 none swap defaults 0 0



  


2. Re: mais dúvidas sobre como configurar, restaurar e usar snapshots btrfs

Ulrich Beckmann
Bequimao.de

(usa openSUSE)

Enviado em 26/08/2019 - 07:41h

Olá,

Em princípio seu esquema de subvolumes está bom. Não conheço o gerenciador do Arch. Deve ter um programa de atualizar o banco de dados ao estado atual como # rpm --rebuilddb em sistemas rpm. O objetivo é voltar a um estado estável após uma quebra, e mesmo assim analisar os logs direitamente.

O # snapper rollback do openSUSE faz o seguinte:
- criar um snapshot read-only (somente ler) do subvolume root atual
- criar um snapshot read-write (ler e escrever) do estado anterior (trata- se de um snapshot read-only)
- configurar este snapshot novo como subvolume padrão (btrfs subvolume set-default / <no. do subvolume>

O grub do openSUSE consegue dar boot a este subvolume, em outros sistemas se tem que fazer chroot para a nova raiz e
- reinstalar o grub
- recrear o initramfs
- recrear o grub.cfg

As suas entradas no /etc/fstab estão redundantes. Já é suficiente como parâmetro subvolid=<no.> ou subvol=<subvol.>. Você pode testar isto montar os subvolumes manualmente.

Abs,
Bequimão




3. Re: mais dúvidas sobre como configurar, restaurar e usar snapshots btrfs

niquelnausea
niquelnausea

(usa Arch Linux)

Enviado em 27/08/2019 - 23:09h

Bequimao.de escreveu:

Olá,

Em princípio seu esquema de subvolumes está bom. Não conheço o gerenciador do Arch. Deve ter um programa de atualizar o banco de dados ao estado atual como # rpm --rebuilddb em sistemas rpm. O objetivo é voltar a um estado estável após uma quebra, e mesmo assim analisar os logs direitamente.

O # snapper rollback do openSUSE faz o seguinte:
- criar um snapshot read-only (somente ler) do subvolume root atual
- criar um snapshot read-write (ler e escrever) do estado anterior (trata- se de um snapshot read-only)
- configurar este snapshot novo como subvolume padrão (btrfs subvolume set-default / <no. do subvolume>

O grub do openSUSE consegue dar boot a este subvolume, em outros sistemas se tem que fazer chroot para a nova raiz e
- reinstalar o grub
- recrear o initramfs
- recrear o grub.cfg

As suas entradas no /etc/fstab estão redundantes. Já é suficiente como parâmetro subvolid=<no.> ou subvol=<subvol.>. Você pode testar isto montar os subvolumes manualmente.

Abs,
Bequimão


muito obrigado pela ajuda. reinstalei o sistema umas 10 vezes (vezes 3) até conseguir entender (mais ou menos) o funcionamento.
no arch me pareceu mais facil resolver sem o snapper, mas o funcionamento é do jeito que você descreveu.


4. Re: mais dúvidas sobre como configurar, restaurar e usar snapshots btrfs

niquelnausea
niquelnausea

(usa Arch Linux)

Enviado em 27/08/2019 - 23:16h

- qual a maneira correta de dividir o sistema em subvolumes para não ter esses erros?

não existe "correto", mas alguma partições podem ser excluídas dessa volta no tempo, diretórios como o cache do gerenciador de pacotes, e logs são um exemplo;

- porque o fstab tem que conter duas formas diferentes para indicação ao subvolume?

não precisa, algum erro do script do arch que gera o fstab;


para quem quiser um sistema de backup simples, o btrfs é uma ótima opção, já que na pratica, o mesmo ocupa muito menos espaço que as cópias tradicionais (isso varia).
outro fator que traz uma larga vantagem frente ao ext4 é o desempenho. o btrfs pode ocupar menos espaço graças a compactação, e algum ganho de velocidade em operações de leitura e escrita.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts