Pesquisa de site

Como criar e gerenciar o sistema de arquivos Btrfs no Linux


O sistema de arquivos Btrfs ou B-tree é um copy-on-write (COW) licenciado pela GPL e foi desenvolvido por várias empresas como segue: Oracle, Redhat, Fujitsu, Intel, Facebook , Linux Foundation, Suse, etc. Brtfs suportará no máximo 16 exbibytes e o tamanho do arquivo pode ser de no máximo 8 exbibytes, devido à limitação do kernel.

Os arquivos podem ser criados com qualquer caractere, exceto “/” e NULL. O Btrfs possui recursos de autocorreção e capacidade de abranger vários volumes. No Btrfs podemos reduzir, aumentar o sistema de arquivos, adicionar ou remover dispositivos de bloco no modo online.

Ele também fornece subvolumes. Os subvolumes não são dispositivos de bloco separados, podemos criar instantâneos e restaurar o instantâneo para esses subvolumes. Em vez de usar LVM podemos usar btrfs. O sistema de arquivos Btrfs ainda está em teste, ainda não incluído na produção. Se tivermos algum dado importante, atualmente é aconselhável não usar o btrfs em ambientes de produção.

O Btrfs lançou sua versão 3.18 no mês passado dezembro de 2014 com vários novos recursos.

Recursos do Btrfs

Esta nova versão do btrfs contém muitos recursos novos, como segue:

  1. Por padrão, o recurso skinny-metadata do mkfs está disponível no kernel 3.10.
  2. Para reparar os sistemas de arquivos gravemente corrompidos com cuidado.
  3. Adicionada opção de conversão para mostrar o progresso.
  4. Capacidade de vincular arquivos perdidos a perdidos + encontrados. Esta é uma correção para um bug recente do kernel.
  5. Para ver a visão geral do uso do sistema de arquivos em vez de df.
  6. E muitas outras correções de bugs e documentação aprimorada.
  7. Subvolumes para sistema de arquivos.
Configuração do meu ambiente
Hostname	:	btrfs.tecmintlocal.com
IP addrress 	:	192.168.0.120
Disk Size Used	:	8GB [/dev/sdb]

Etapa 1: instalação e criação do sistema de arquivos Btrfs

1. Na maioria das distribuições Linux mais recentes, o pacote btrfs vem pré-instalado. Caso contrário, instale o pacote btrfs usando o seguinte comando.

yum install btrfs-progs -y		[On RedHat based Distro's]
sudo apt-get install btrfs-tools -y	[On Debian based Distro's]

2. Após a instalação do pacote btrfs no sistema, agora precisamos habilitar o módulo Kernel para btrfs usando o comando abaixo.

modprobe btrfs

3. Aqui, usamos apenas um disco (ou seja, /dev/sdb) neste disco, vamos configurar volumes lógicos e criar o arquivo btrfs- sistema. Antes de criá-los, vamos primeiro verificar o disco conectado ao sistema.

ls -l /dev | grep sd

4. Depois de confirmar que o disco está conectado corretamente ao sistema, agora é hora de criar uma partição para o LVM. Usaremos o comando ‘fdisk’ para criar partições no disco /dev/sdb. Siga as instruções explicadas abaixo para criar uma nova partição na unidade.

fdisk -c /dev/sdb
  1. Pressione ‘n’ para criar uma nova partição.
  2. Em seguida, escolha ‘P’ para partição primária.
  3. Em seguida, escolha o número da partição como 1.
  4. Defina o valor padrão pressionando apenas duas vezes a tecla Enter.
  5. Em seguida, pressione ‘P‘ para imprimir a partição definida.
  6. Pressione ‘L‘ para listar todos os tipos disponíveis.
  7. Digite ‘t’ para escolher as partições.
  8. Escolha ‘8e’ para Linux LVM e pressione Enter para aplicar.
  9. Em seguida, use novamente ‘p’ para imprimir as alterações que fizemos.
  10. Use ‘w’ para escrever as alterações.

5. Depois de criar a partição com sucesso, você precisa atualizar as alterações da tabela de partição no kernel. Para isso, vamos executar o comando partprobe para adicionar as informações do disco ao kernel e depois disso, liste a partição conforme mostrado abaixo.

partprobe -s
ls -l /dev | grep sd

Configurar volume lógico

6. Crie um volume físico e um grupo de volumes no disco /dev/sdb1 usando os comandos pvcreate e vgcreate.

pvcreate /dev/sdb1
vgcreate tecmint_vg /dev/sdb1

7. Crie um volume lógico no grupo de volumes. Aqui eu criei dois volumes lógicos.

lvcreate -L +2G -n tecmint_lv1 tecmint_vg
lvcreate -L +2G -n tecmint_lv2 tecmint_vg

8. Liste o volume físico criado, o grupo de volumes e os volumes lógicos.

pvs && vgs && lvs

Criando sistema de arquivos Btrfs

9. Vamos criar agora o sistema de arquivos para nossos volumes lógicos.

mkfs.btrfs /dev/tecmint_vg/tecmint_lv1

10. Em seguida, crie um ponto de montagem e monte o sistema de arquivos.

mkdir /mnt/tecmint_btrfs1
mount /dev/tecmint_vg/tecmint_lv1 /mnt/tecmint_btrfs1/

11. Verifique o ponto de montagem com a ajuda do comando df.

df -h

Aqui o tamanho disponível era 2 GB