Difference between revisions of "Btrfs/pt-br"

From Funtoo
Jump to navigation Jump to search
(Created page with "Agora o BTRFS está pronto para uso.")
 
(55 intermediate revisions by 2 users not shown)
Line 1: Line 1:
<languages/>
<languages/>
O BTRFS é um sistema de arquivos baseado no princípio de cópia na gravação (COW), inicialmente projetado na Oracle Corporation para uso no Linux. O desenvolvimento do Btrfs começou em 2007 e, desde agosto de 2014, o formato em disco do sistema de arquivos foi marcado como estável.
Btrfs é um sistema de arquivos baseado no princípio copy-on-write (COW), inicialmente projetado na Oracle Corporation para uso em Linux. O desenvolvimento do btrfs começou em 2007 e, desde agosto de 2014, o formato em disco do sistema de arquivos foi marcado como estável.


Em 2015, o Btrfs foi adotado como o sistema de arquivos padrão para o SUSE Linux Enterprise Server 12. O SUSE reafirmou seu compromisso com o Btrfs em 2017, depois que a RedHat anunciou que deixaria de oferecer suporte ao Btrfs.
O projeto Funtoo Linux recomenda o btrfs como um sistema de arquivos de última geração, especialmente para uso em produção.


O Btrfs destina-se a solucionar a falta de pool, instantâneos, somas de verificação e abrangência de vários dispositivos integral nos sistemas de arquivos Linux.
O Btrfs destina-se a solucionar a falta de pool, instantâneos, somas de verificação e abrangência de vários dispositivos integral nos sistemas de arquivos Linux.


É fácil de configurar e usar o BTRFS. Nesta introdução simples, vamos configurar o BTRFS no Funtoo Linux usando um kernel {{c | debian-sources}} ou {{c | debian-sources-lts}} existente, como o que vem pré-compilado para você com o Funtoo Linux, e também usaremos nosso pool de armazenamento BTRFS para armazenar dados que não fazem parte da instalação do Funtoo Linux. O Funtoo Linux inicializa a partir de um sistema de arquivos não-BTRFS e, como parte do processo de inicialização, inicializa nosso armazenamento BTRFS e o monta no local de nossa escolha.
É fácil de configurar e usar o btrfs. Nesta introdução simples, vamos configurar o btrfs no Funtoo Linux usando um kernel {{c|debian-sources}} ou {{c|debian-sources-lts}} existente, como o que vem pré-construído para você com o Funtoo Linux, e também usaremos nosso pool de armazenamento btrfs para armazenar dados que não fazem parte da própria instalação do Funtoo Linux. O Funtoo Linux inicializará a partir de um sistema de arquivos não-btrfs e, como parte do processo de inicialização, inicializará nosso armazenamento btrfs e o montará no local de nossa escolha.


== Instalação==
== Instalação==


Para instalar o BTRFS, nenhuma etapa adicional é necessária, pois ele faz parte do Linux Kernel (desde 2.6.29). Vamos emergir as ferramentas de espaço de usuário do BTRFS ({{c | btrfs-progs}}):
Habilitar o suporte btrfs é tão simples quanto habilitar o mix-in btrfs e executar uma atualização completa:


{{console|body=
{{console|body=
# ##i##emerge btrfs-progs
# ##i##epro mix-in +btrfs
# ##i##emerge -uDN @world
}}
}}


Agora o BTRFS está pronto para uso.
Btrfs agora está pronto para uso.


== BTRFS Concepts ==
== Conceitos do Btrfs ==


BTRFS can be used to manage the physical disks that it uses, and physical disks are added to a BTRFS volume. Then, BTRFS can create subvolumes from the volume on which files can be stored.  
O Btrfs pode ser usado para gerenciar os discos físicos que ele usa e os discos físicos são adicionados a um volume Btrfs. Em seguida, o BTRFS pode criar subvolumes do volume no qual os arquivos podem ser armazenados.  


Unlike traditional Linux filesystems, BTRFS filesystems will allocate storage on-demand from the underlying volume.  
Ao contrário dos sistemas de arquivos Linux tradicionais, os sistemas de arquivos btrfs alocarão armazenamento sob demanda do volume subjacente.  


In the BTRFS world, the word volume corresponds to a storage pool (ZFS) or a volume group (LVM).
No mundo btrfs, a palavra volume corresponde a um pool de armazenamento ([[ZFS]]) ou a um grupo de volumes (LVM).


* ''devices'' - one or multiple underlying physical volumes.
* '' devices '' - um ou vários volumes físicos subjacentes.
* ''volume'' - one large storage pool comprised of all space of the devices and can support different redundancy levels
* '' volume '' - um grande conjunto de armazenamentos composto por todo o espaço dos dispositivos e pode suportar diferentes níveis de redundância.
* ''subvolumes'' - these are what get mounted and you store files in.
* '' subvolumes '' - é isso que é montado e você armazena arquivos.
* ''snapshots'' - a read-only copy of a subvolume at a given point in time and/or read-write copy of a ''subvolume'' in time (aka clone).
* '' snapshots '' - uma cópia somente leitura de um subvolume em um determinado momento e / ou a cópia de leitura e gravação de um subvolume em tempo de execução (também conhecido como clone).


== Creating a Volume ==
== Criando um Volume ==


To create a basic BTRFS volume, you will need an extra empty disk. Perform the following steps:
Para criar um volume btrfs básico, você precisará de um disco vazio extra. Execute os seguintes passos:


{{console|body=
{{console|body=
Line 59: Line 60:
}}
}}


{{c|/dev/sdxy}} should be an unused disk. You may need to use the following command if this disk contains any pre-existing data on it:
{{c|/dev/sdxy}} deve ser um disco não utilizado. Pode ser necessário usar o seguinte comando se este disco contiver dados pré-existentes:


{{console|body=
{{console|body=
Line 65: Line 66:
}}
}}


Now you can mount the created volume as you would mount any other linux filesystem.
Agora você pode montar o volume criado como qualquer outro sistema de arquivos linux.


{{console|body=
{{console|body=
# ##i## mkdir /mnt/btrfs-top-level
# ##i## mount /dev/sdxy /mnt/btrfs-top-level
# ##i## mount
...
/dev/sdxy on /mnt/btrfs-top-level type btrfs (rw,relatime,ssd,space_cache,subvolid=5,subvol=/)
}}
{{Important| Recomenda-se que nada seja armazenado diretamente neste diretório raiz do volume de nível superior (ID 5).}}
== Criando Subvolumes ==
Btrfs tem um conceito de subvolumes. Subvolume é uma árvore de arquivos POSIX montável independentemente (mas não um dispositivo de bloco). Existem vários esquemas básicos para layout de subvolumes (incluindo instantâneos), bem como suas misturas.
Vamos criar filhos do subvolume de nível superior (ID 5). Nós teremos:
* {{c|@data}} - servirá como montável {{c|/data}}
* {{c|.snapshots}} - aqui os instantâneos serão armazenados
{{console|body=
# ##i## cd /mnt/btrfs-top-level
# ##i## btrfs subvolume create @data
# ##i## btrfs subvolume create .snapshots
# ##i## btrfs subvolume list /mnt/btrfs-top-level
ID 256 gen 322338 top level 5 path @data
ID 257 gen 322275 top level 5 path .snapshots
}}
== O Subvolume Padrão ==
{{Note| Alterar o subvolume padrão com {{c|btrfs subvolume default}} tornará o nível superior do sistema de arquivos acessível somente quando as opções de montagem {{c|subvol}} ou {{c|subvolid}} forem especificadas}}
Quando o dispositivo de bloco btrfs é montado sem especificar um subvolume, o padrão é usado. Para verificar o subvolume padrão, execute:
{{console|body=
# ##i## btrfs subvolume get-default /mnt/btrfs-top-level
ID 5 (FS_TREE)
}}
Por conveniência, vamos tornar o subvolume {{c|@data}} como o padrão. É bom verificar primeiro o ID do subvolume. Ou {{c|btrfs subvolume list}} ou {{c|btrfs subvolume show}} pode ser usado para isso
{{console|body=
# ##i## btrfs subvolume show /mnt/btrfs-top-level/@data
...
Subvolume ID: 256
}}
Agora você pode tornar este subvolume como padrão:
{{console|body=
# ##i## btrfs subvolume set-default 256 /mnt/btrfs-top-level
# ##i## btrfs subvolume get-default /mnt/btrfs-top-level
ID 256 gen 322336 top level 5 path @data
}}
Neste ponto, você pode parar de trabalhar no subvolume de nível superior (ID 5) e, em vez disso, montar diretamente o subvolume {{c|@data}}.
{{console|body=
# ##i## cd /mnt
# ##i## umount /mnt/btrfs-top-level
# ##i## mkdir /data
# ##i## mkdir /data
# ##i## mount /dev/sdxy /data
# ##i## mount /dev/sdxy /data
# ##i## mount
...
/dev/sdxy on /data type btrfs (rw,relatime,ssd,space_cache,subvolid=5,subvol=/)
}}
}}


To automatically mount this volume after reboot you need to add a simple fstab entry:
== Subvolumes Aninhados ==
 
{{Note| Subvolumes aninhados não farão parte de instantâneos criados a partir de seu subvolume pai. Portanto, um motivo típico é excluir certas partes do sistema de arquivos de serem instantâneos.}}
 
Vamos criar um subvolume aninhado separado para {{c|/data/independent}}.
 
{{console|body=
# ##i## btrfs subvolume create /data/independent
# ##i## btrfs subvolume list /data
ID 258 gen 161 top level 256 path independent
}}
 
Normalmente você vai querer "dividir" áreas que são "completas" e/ou "consistentes" em si mesmas. Exemplos para esse particionamento mais refinado podem ser {{c|/var/log}}, {{c|/var/www}} ou {{c|/var/lib/postgresql}}.
 
== /etc/fstab ==
 
Para montar automaticamente o subvolume {{c|@data}} após a reinicialização, você precisa modificar {{c|/etc/fstab}}
 
{{file|name=/etc/fstab|desc=fstab for btrfs|body=
/dev/sdxy /data btrfs subvolid=256,defaults 0 0
}}
 
{{Warning| De acordo com [https://btrfs.readthedocs.io/en/latest/Administration.html#mount-options btrfs docs] a maioria das opções de montagem se aplicam a todo o sistema de arquivos e somente as opções no primeiro subvolume montado terão efeito. Isso significa que (por exemplo) você não pode definir por subvolume {{c|nodatacow}}, {{c|nodatasum}} ou {{c|compress}}.}}
 
Agora vamos verificar se essas alterações estavam corretas:
{{console|body=
# ##i## cd /
# ##i## umount /data
# ##i## mount /data
# ##i## ls /data
independent
}}
 
Você percebeu que, embora tenhamos montado nosso subvolume {{c|@data}}, o subvolume aninhado {{c|@data/independent}} também está presente?
 
== Instantâneos (Snapshots) ==
 
Com a finalidade de verificar este recurso interessante do btrfs, vamos preencher nosso sistema de arquivos com alguns dados de exemplo primeiro
 
{{console|body=
# ##i## echo 'btrfs' > /data/foo.txt
# ##i## echo 'fun' > /data/independent/bar.txt
}}
 
Como você provavelmente se lembra no nível superior (ao lado do subvolume {{c|@data}}) você também criou o subvolume {{c|.snapshots}}. Você pode montá-lo agora para criar alguns instantâneos:
{{console|body=
# ##i## mkdir /mnt/snapshots
# ##i## mount /dev/sdxy /mnt/snapshots -o subvolid=257
}}
 
Um instantâneo é um subvolume como qualquer outro, com determinado conteúdo inicial. Por padrão, os instantâneos são criados para leitura e gravação. As modificações de arquivo em um instantâneo não afetam os arquivos no subvolume original. Vamos criar um instantâneo de leitura e gravação para {{c|/data}} e instantâneo somente leitura para {{c|/data/independent}}
 
{{console|body=
# ##i## btrfs subvolume snapshot /data /mnt/snapshots/data_$(date -u -Iseconds)
Create a snapshot of '/data' in '/mnt/snapshots/data_2022-08-30T22:04:57+00:00'
# ##i## btrfs subvolume snapshot -r /data/independent /mnt/snapshots/independent_$(date -u -Iseconds)
Create a readonly snapshot of '/data/independent' in '/mnt/snapshots/independent_2022-08-30T22:05:29+00:00'
}}
 
Mais uma vez, os subvolumes aninhados não farão parte dos instantâneos criados a partir de seu subvolume pai. Portanto, você não deve se surpreender ao comparar o conteúdo do {{c|/data}} com o conteúdo do {{c|/mnt/snapshots}}
 
{{console|body=
# ##i## tree /data
/data
├── foo.txt
└── independent
    └── bar.txt
# ##i## tree /mnt/snapshots
/mnt/snapshots
├── data_2022-08-30T22:04:57+00:00
│   └── foo.txt
└── independent_2022-08-30T22:05:29+00:00
    └── bar.txt
}}
 
Neste ponto, você pode estar interessado em [https://btrfs.readthedocs.io/en/latest/Send-receive.html Enviar e Receber recursos do btrfs].
 
{{Note| De acordo com [https://btrfs.readthedocs.io/en/latest/Subvolumes.html btrfs docs] um instantâneo não é um backup: instantâneos funcionam usando o comportamento de cópia na gravação do BTRFS. Um instantâneo e o original do qual foi tirado inicialmente compartilham todos os mesmos blocos de dados. Se esses dados forem danificados de alguma forma (raios cósmicos, setor de disco defeituoso, acidente com dd no disco), o instantâneo e o original serão danificados ao mesmo tempo.}}
 
== Embrulhar (Wrap up) ==
 
{{Important| Recomenda-se executar {{c|btrfs scrub}} de vez em quando. Por exemplo: Mensalmente.}}
 
Scrub é a funcionalidade de verificação e reparo online que verifica a integridade dos dados e metadados, supondo que a estrutura da árvore esteja correta. Você pode executá-lo em um sistema de arquivos montado; ele é executado como um processo em segundo plano durante a operação normal.
 
Para iniciar um scrub (Em segundo plano) no sistema de arquivos que contém {{c|/data}} execute:
 
{{console|body=
# ##i## btrfs scrub start /data
scrub started on /data, fsid 40f8b94f-07ee-4f7e-beb1-8e686abc246d (pid=5525)
}}
 
Para verificar o estado de uma depuração em execução:


{{console|body=
{{console|body=
/dev/sdxy /data btrfs defaults 0 0
# ##i## btrfs scrub status /data
UUID:            40f8b94f-07ee-4f7e-beb1-8e686abc246d
Scrub started:    Tue Aug 30 00:38:54 2022
Status:          running
Duration:        0:00:15
Time left:        0:00:34
ETA:              Tue Aug 30 00:39:44 2022
Total to scrub:  149.06GiB
Bytes scrubbed:  44.79GiB  (30.04%)
Rate:            2.99GiB/s
Error summary:    no errors found
}}
}}


You should now be at the point where you can begin to use BTRFS for a variety of tasks. While there is a lot more to BTRFS than what is covered in this short introduction, you should now have a good understanding of the fundamental concepts on which BTRFS is based.
Agora você deve estar no ponto em que pode começar a usar o btrfs para uma variedade de tarefas. Embora haja muito mais sobre o btrfs do que o abordado nesta breve introdução, agora você deve ter uma boa compreensão dos conceitos fundamentais nos quais o btrfs se baseia.


[[Category:BTRFS]]
[[Category:Btrfs]]
[[Category:Filesystems]]
[[Category:Filesystems]]
[[Category:HOWTO]]
[[Category:HOWTO]]
[[Category:Official Documentation]]
[[Category:Official Documentation]]

Latest revision as of 20:42, October 14, 2022

Other languages:
English • ‎Türkçe • ‎español • ‎português do Brasil • ‎中文(中国大陆)‎

Btrfs é um sistema de arquivos baseado no princípio copy-on-write (COW), inicialmente projetado na Oracle Corporation para uso em Linux. O desenvolvimento do btrfs começou em 2007 e, desde agosto de 2014, o formato em disco do sistema de arquivos foi marcado como estável.

O projeto Funtoo Linux recomenda o btrfs como um sistema de arquivos de última geração, especialmente para uso em produção.

O Btrfs destina-se a solucionar a falta de pool, instantâneos, somas de verificação e abrangência de vários dispositivos integral nos sistemas de arquivos Linux.

É fácil de configurar e usar o btrfs. Nesta introdução simples, vamos configurar o btrfs no Funtoo Linux usando um kernel debian-sources ou debian-sources-lts existente, como o que vem pré-construído para você com o Funtoo Linux, e também usaremos nosso pool de armazenamento btrfs para armazenar dados que não fazem parte da própria instalação do Funtoo Linux. O Funtoo Linux inicializará a partir de um sistema de arquivos não-btrfs e, como parte do processo de inicialização, inicializará nosso armazenamento btrfs e o montará no local de nossa escolha.

Instalação

Habilitar o suporte btrfs é tão simples quanto habilitar o mix-in btrfs e executar uma atualização completa:

root # epro mix-in +btrfs
root # emerge -uDN @world

Btrfs agora está pronto para uso.

Conceitos do Btrfs

O Btrfs pode ser usado para gerenciar os discos físicos que ele usa e os discos físicos são adicionados a um volume Btrfs. Em seguida, o BTRFS pode criar subvolumes do volume no qual os arquivos podem ser armazenados.

Ao contrário dos sistemas de arquivos Linux tradicionais, os sistemas de arquivos btrfs alocarão armazenamento sob demanda do volume subjacente.

No mundo btrfs, a palavra volume corresponde a um pool de armazenamento (ZFS) ou a um grupo de volumes (LVM).

  • devices - um ou vários volumes físicos subjacentes.
  • volume - um grande conjunto de armazenamentos composto por todo o espaço dos dispositivos e pode suportar diferentes níveis de redundância.
  • subvolumes - é isso que é montado e você armazena arquivos.
  • snapshots - uma cópia somente leitura de um subvolume em um determinado momento e / ou a cópia de leitura e gravação de um subvolume em tempo de execução (também conhecido como clone).

Criando um Volume

Para criar um volume btrfs básico, você precisará de um disco vazio extra. Execute os seguintes passos:

root #  mkfs.btrfs /dev/sdxy
btrfs-progs v4.17.1 
See http://btrfs.wiki.kernel.org for more information.

Detected a SSD, turning off metadata duplication.  Mkfs with -m dup if you want to force metadata duplication.
Performing full device TRIM /dev/sdj (223.57GiB) ...
Label:              (null)
UUID:               d6bcba6e-8fd5-41fc-9bb4-79628c5c928c
Node size:          16384
Sector size:        4096
Filesystem size:    223.57GiB
Block group profiles:
  Data:             single            8.00MiB
  Metadata:         single            8.00MiB
  System:           single            4.00MiB
SSD detected:       yes
Incompat features:  extref, skinny-metadata
Number of devices:  1
Devices:
   ID        SIZE  PATH
    1   223.57GiB  /dev/sdxy

/dev/sdxy deve ser um disco não utilizado. Pode ser necessário usar o seguinte comando se este disco contiver dados pré-existentes:

root #  mkfs.btrfs -f /dev/sdxy

Agora você pode montar o volume criado como qualquer outro sistema de arquivos linux.

root #  mkdir /mnt/btrfs-top-level
root #  mount /dev/sdxy /mnt/btrfs-top-level
root #  mount
...
/dev/sdxy on /mnt/btrfs-top-level type btrfs (rw,relatime,ssd,space_cache,subvolid=5,subvol=/)
   Important
Recomenda-se que nada seja armazenado diretamente neste diretório raiz do volume de nível superior (ID 5).

Criando Subvolumes

Btrfs tem um conceito de subvolumes. Subvolume é uma árvore de arquivos POSIX montável independentemente (mas não um dispositivo de bloco). Existem vários esquemas básicos para layout de subvolumes (incluindo instantâneos), bem como suas misturas.

Vamos criar filhos do subvolume de nível superior (ID 5). Nós teremos:

  • @data - servirá como montável /data
  • .snapshots - aqui os instantâneos serão armazenados
root #  cd /mnt/btrfs-top-level
root #  btrfs subvolume create @data
root #  btrfs subvolume create .snapshots
root #  btrfs subvolume list /mnt/btrfs-top-level
ID 256 gen 322338 top level 5 path @data
ID 257 gen 322275 top level 5 path .snapshots

O Subvolume Padrão

   Note
Alterar o subvolume padrão com btrfs subvolume default tornará o nível superior do sistema de arquivos acessível somente quando as opções de montagem subvol ou subvolid forem especificadas

Quando o dispositivo de bloco btrfs é montado sem especificar um subvolume, o padrão é usado. Para verificar o subvolume padrão, execute:

root #  btrfs subvolume get-default /mnt/btrfs-top-level
ID 5 (FS_TREE)

Por conveniência, vamos tornar o subvolume @data como o padrão. É bom verificar primeiro o ID do subvolume. Ou btrfs subvolume list ou btrfs subvolume show pode ser usado para isso

root #  btrfs subvolume show /mnt/btrfs-top-level/@data
...
	Subvolume ID: 		256

Agora você pode tornar este subvolume como padrão:

root #  btrfs subvolume set-default 256 /mnt/btrfs-top-level
root #  btrfs subvolume get-default /mnt/btrfs-top-level
ID 256 gen 322336 top level 5 path @data

Neste ponto, você pode parar de trabalhar no subvolume de nível superior (ID 5) e, em vez disso, montar diretamente o subvolume @data.

root #  cd /mnt
root #  umount /mnt/btrfs-top-level
root #  mkdir /data
root #  mount /dev/sdxy /data

Subvolumes Aninhados

   Note
Subvolumes aninhados não farão parte de instantâneos criados a partir de seu subvolume pai. Portanto, um motivo típico é excluir certas partes do sistema de arquivos de serem instantâneos.

Vamos criar um subvolume aninhado separado para /data/independent.

root #  btrfs subvolume create /data/independent
root #  btrfs subvolume list /data
ID 258 gen 161 top level 256 path independent

Normalmente você vai querer "dividir" áreas que são "completas" e/ou "consistentes" em si mesmas. Exemplos para esse particionamento mais refinado podem ser /var/log, /var/www ou /var/lib/postgresql.

/etc/fstab

Para montar automaticamente o subvolume @data após a reinicialização, você precisa modificar /etc/fstab

   /etc/fstab - fstab for btrfs
/dev/sdxy	/data	btrfs	subvolid=256,defaults	0 0
   Warning
De acordo com btrfs docs a maioria das opções de montagem se aplicam a todo o sistema de arquivos e somente as opções no primeiro subvolume montado terão efeito. Isso significa que (por exemplo) você não pode definir por subvolume nodatacow, nodatasum ou compress.

Agora vamos verificar se essas alterações estavam corretas:

root #  cd /
root #  umount /data
root #  mount /data
root #  ls /data
independent

Você percebeu que, embora tenhamos montado nosso subvolume @data, o subvolume aninhado @data/independent também está presente?

Instantâneos (Snapshots)

Com a finalidade de verificar este recurso interessante do btrfs, vamos preencher nosso sistema de arquivos com alguns dados de exemplo primeiro

root #  echo 'btrfs' > /data/foo.txt
root #  echo 'fun' > /data/independent/bar.txt

Como você provavelmente se lembra no nível superior (ao lado do subvolume @data) você também criou o subvolume .snapshots. Você pode montá-lo agora para criar alguns instantâneos:

root #  mkdir /mnt/snapshots
root #  mount /dev/sdxy /mnt/snapshots -o subvolid=257

Um instantâneo é um subvolume como qualquer outro, com determinado conteúdo inicial. Por padrão, os instantâneos são criados para leitura e gravação. As modificações de arquivo em um instantâneo não afetam os arquivos no subvolume original. Vamos criar um instantâneo de leitura e gravação para /data e instantâneo somente leitura para /data/independent

root #  btrfs subvolume snapshot /data /mnt/snapshots/data_$(date -u -Iseconds)
Create a snapshot of '/data' in '/mnt/snapshots/data_2022-08-30T22:04:57+00:00'
root #  btrfs subvolume snapshot -r /data/independent /mnt/snapshots/independent_$(date -u -Iseconds)
Create a readonly snapshot of '/data/independent' in '/mnt/snapshots/independent_2022-08-30T22:05:29+00:00'

Mais uma vez, os subvolumes aninhados não farão parte dos instantâneos criados a partir de seu subvolume pai. Portanto, você não deve se surpreender ao comparar o conteúdo do /data com o conteúdo do /mnt/snapshots

root #  tree /data
/data
├── foo.txt
└── independent
    └── bar.txt
root #  tree /mnt/snapshots
/mnt/snapshots
├── data_2022-08-30T22:04:57+00:00
│   └── foo.txt
└── independent_2022-08-30T22:05:29+00:00
    └── bar.txt

Neste ponto, você pode estar interessado em Enviar e Receber recursos do btrfs.

   Note
De acordo com btrfs docs um instantâneo não é um backup: instantâneos funcionam usando o comportamento de cópia na gravação do BTRFS. Um instantâneo e o original do qual foi tirado inicialmente compartilham todos os mesmos blocos de dados. Se esses dados forem danificados de alguma forma (raios cósmicos, setor de disco defeituoso, acidente com dd no disco), o instantâneo e o original serão danificados ao mesmo tempo.

Embrulhar (Wrap up)

   Important
Recomenda-se executar btrfs scrub de vez em quando. Por exemplo: Mensalmente.

Scrub é a funcionalidade de verificação e reparo online que verifica a integridade dos dados e metadados, supondo que a estrutura da árvore esteja correta. Você pode executá-lo em um sistema de arquivos montado; ele é executado como um processo em segundo plano durante a operação normal.

Para iniciar um scrub (Em segundo plano) no sistema de arquivos que contém /data execute:

root #  btrfs scrub start /data
scrub started on /data, fsid 40f8b94f-07ee-4f7e-beb1-8e686abc246d (pid=5525)

Para verificar o estado de uma depuração em execução:

root #  btrfs scrub status /data
UUID:             40f8b94f-07ee-4f7e-beb1-8e686abc246d
Scrub started:    Tue Aug 30 00:38:54 2022
Status:           running
Duration:         0:00:15
Time left:        0:00:34
ETA:              Tue Aug 30 00:39:44 2022
Total to scrub:   149.06GiB
Bytes scrubbed:   44.79GiB  (30.04%)
Rate:             2.99GiB/s
Error summary:    no errors found

Agora você deve estar no ponto em que pode começar a usar o btrfs para uma variedade de tarefas. Embora haja muito mais sobre o btrfs do que o abordado nesta breve introdução, agora você deve ter uma boa compreensão dos conceitos fundamentais nos quais o btrfs se baseia.