Como ativar o pool de armazenamento e espelhamento usando btrfs para linux

Se você tiver vários discos rígidos em seu sistema Linux, você não tem que tratá-los todos os dispositivos de armazenamento como diferentes. Com Btrfs, você pode facilmente criar um pool de armazenamento fora desses discos rígidos.

Sob certas condições, você pode até mesmo permitir que o espelhamento para que você não vai perder seus dados devido a falha no disco rígido. Com tudo configurado, você pode simplesmente jogar o que quiser na piscina e fazer o máximo uso do espaço de armazenamento que você tem.

Não é um utilitário de configuração GUI que pode fazer tudo isso mais fácil (ainda), mas ainda é muito fácil de fazer com a linha de comando. Eu vou levá-lo através de uma configuração simples para o uso de vários discos rígidos juntos.

Qual é o Btrfs?

Btrfs (chamado de sistema de arquivos B-tree, “Butter FS”, ou “Better FS”) é um próximo sistema de arquivos que incorpora muitas características diferentes ao nível do sistema de arquivos normalmente só está disponível como pacotes de software separados. Enquanto Btrfs tem muitas características notáveis ​​(como instantâneos do sistema de arquivos), os dois vamos dar uma olhada neste artigo são pooling de armazenamento e espelhamento.Ext4 vs. Btrfs: Por que nós estamos fazendo a chave [Linux]Ext4 vs. Btrfs: Por que nós estamos fazendo a chave [Linux]Sinceramente, uma das últimas coisas que as pessoas olham é qual sistema de arquivos está sendo usado. usuários de Windows e Mac OS X têm ainda menos razão para olhar, porque eles realmente têm apenas um ...consulte Mais informação

Se você não tiver certeza de que um sistema de arquivos é, dê uma olhada neste explicação alguns sistemas de arquivos para Windows. Você também pode verificar este agradável comparação de vários sistemas de ficheiros para obter uma melhor ideia das diferenças entre os sistemas de arquivos existentes.

Btrfs ainda é considerado “não é estável” por muitos, mas a maioria das características já são estáveis ​​o suficiente para uso pessoal - é apenas algumas características selecione onde você pode encontrar alguns resultados indesejados.

Enquanto Btrfs pretende ser o sistema de arquivos padrão para Linux em algum momento no futuro, ainda é melhor usar ext4 para solteiros configurações de disco rígido ou para configurações que não precisam de pooling de armazenamento e espelhamento.

Reunindo suas movimentações

Para este exemplo, vamos usar uma configuração de quatro disco rígido. Há dois discos rígidos (/ dev / sdb e / dev / sdc) com 1 TB cada, e duas outras unidades de disco rígido (/ dev / sdd e / dev / sde) com 500 GB para um total de quatro discos rígidos com um total de 3 TB de armazenamento.

Você também pode assumir que você tem um outro disco rígido (/ dev / sda) de algum tamanho arbitrário que contém o bootloader e do sistema operacional. Nós não estamos nos preocuparmos sobre / dev / sda e estão combinando apenas outros quatro discos rígidos para fins de armazenamento extra.

Criando um sistema de arquivos

btrfs_gparted
Para criar um sistema de arquivos Btrfs em uma de suas unidades de disco rígido, você pode usar o comando:

sudo mkfs.btrfs / dev / sdb

Claro, você pode substituir / dev / sdb com o disco rígido real que você deseja usar. A partir daqui, você pode adicionar outros discos rígidos para o sistema Btrfs para torná-lo uma única partição que se estende por todos os discos rígidos que você adiciona. Primeiro, montar o primeiro disco rígido Btrfs usando o comando:

sudo mount / dev / sdb / mnt

Em seguida, execute os comandos:

sudo mkfs.btrfs / dev / sdc mkfs.btrfs / dev / sdd mkfs.btrfs / dev / sde

Agora, você pode adicioná-los para o primeiro disco rígido usando os comandos:

sudo dispositivo btrfs adicionar / dev / sdc / mnt btrfs dispositivo adicionar / dev / sdd / mnt btrfs dispositivo adicionar / dev / sde / mnt

Se você teve alguns dados armazenados no primeiro disco rígido, você vai querer o sistema de arquivos para equilibrá-lo para fora entre todos os discos rígidos recém-adicionados. Você pode fazer isso com o comando:

sudo btrfs filesystem equilíbrio / mnt

Alternativamente, se você sabe antes mesmo de começar que você quer um sistema de arquivos Btrfs para abranger entre todos os discos rígidos, você pode simplesmente executar o comando:

sudo mkfs.btrfs -d single / dev / sdb / dev / sdc / dev / sdd / dev / sde

Claro que isto é muito mais fácil, mas você vai precisar usar o método mencionado acima, se você não adicioná-los todos de uma só vez.



Você vai notar que eu usei uma bandeira: “-d single”. Isso é necessário porque eu queria uma configuração RAID 0 (onde os dados são divididos entre todos os discos rígidos, mas sem espelhamento ocorre), mas o perfil “single” é necessária quando os discos rígidos são de tamanhos diferentes. Se todos os discos rígidos eram do mesmo tamanho, eu poderia passar a usar a bandeira “raid0 -d”. A bandeira “-d”, a propósito, significa de dados e permite que você especifique a configuração de dados que você deseja. Há também uma bandeira “-m”, que faz exatamente a mesma coisa para metadados.

Além disso, você também pode ativar RAID 1 utilizando “raid1 -d”, que irá duplicar os dados em todos os dispositivos, portanto, usando esta bandeira durante a criação do sistema de arquivos Btrfs que abrange todos os discos rígidos significa que você só tem 500GB de espaço utilizável, como os outros três discos rígidos são usados ​​para espelhamento.

Por último, você pode habilitar o RAID 10 usando “RAID10 -d”. Isso vai fazer uma mistura de ambos RAID 0 e RAID 1, por isso vou dar-lhe 1,5 TB de espaço utilizável como os discos rígidos de 1 TB dois estão emparelhados no espelhamento e os dois 500GB discos rígidos estão emparelhados no espelhamento.

Convertendo um sistema de arquivos

btrfs_harddiskstack
Se você tem um sistema de arquivos Btrfs que você gostaria de converter para uma configuração RAID diferente, que é facilmente feito. Primeiro, montar o sistema de arquivos (se já não estiver) usando o comando:

sudo mount / dev / sdb1 / mnt

Em seguida, execute o comando:

sudo equilíbrio btrfs começar -dconvert = raid1 -mconvert = raid1 / mnt

Isso vai mudar a configuração para RAID 1, mas você pode substituir isso com qualquer configuração que quiser (desde que ele é realmente permitido - por exemplo, você não pode mudar para RAID 10, se você não tem pelo menos quatro discos rígidos) . Além disso, a bandeira -mconvert é opcional se você está apenas preocupado com os dados, mas não os metadados.

Se falha do disco rígido Ocorre

Se um disco rígido falhar, você precisará removê-lo do sistema de arquivos para que o resto das unidades combinadas irá funcionar corretamente. Monte o sistema de arquivos com o comando:

sudo mount -o degradada / dev / sdb / mnt

Em seguida, corrigir o sistema de arquivos com:

sudo dispositivo btrfs eliminar faltando / mnt

Se você não tem RAID 1 ou RAID 10 habilitado, todos os dados que estava no disco rígido falhou agora está perdido.

Remover um disco rígido do sistema de arquivos

Finalmente, se você quiser remover um dispositivo de um sistema de arquivos Btrfs, e o sistema de arquivos é montado em / mnt, você pode fazê-lo com o comando:

sudo btrfs dispositivo apagar / dev / sdc / mnt

É claro, substitua / dev / sdc com o disco rígido que você deseja remover. Este comando irá levar algum tempo porque ele precisa mover todos os dados fora do disco rígido que está sendo removido, e será igualmente falhar se não há espaço suficiente nos outros discos rígidos restantes.

montagem automática

btrfs_fstab
Se quiser que o sistema de arquivos Btrfs para ser montado automaticamente, você pode colocar isso em seu arquivo / etc / fstab:

sudo / dev / SDB / mnt btrfs dispositivo = / dev / SDB, dispositivo = / dev / sdc, dispositivo = / dev / sdd, dispositivo = / dev / sde 0 0

Opções de montagem

Mais uma dica bônus! Você pode otimizar o desempenho do Btrfs em seu arquivo / etc / fstab sob as opções de montagem para o sistema de arquivos Btrfs. Para grandes matrizes de armazenamento, estas são as melhores opções: comprimir-força = zlib autodefrag, nospace_cache. Especificamente, comprimir = zlib irá comprimir todos os dados para que você possa aproveitar ao máximo a utilização do espaço de armazenamento que você tem. Para o registro, os usuários SSD pode usar essas opções: noatime, comprimir = lzo, ssd, descarte, space_cache, autodefrag, inode_cache. Estas opções vão junto com as especificações do dispositivo, de modo que uma linha completa em / etc / fstab para usuários SSD seria algo como:

sudo / dev / SDB / mnt btrfs dispositivo = / dev / SDB, dispositivo = / dev / sdc, dispositivo = / dev / sdd, dispositivo = / dev / sde,
noatime, comprimir = lzo, ssd, desprezar, space_cache, autodefrag, inode_cache 0 0

Como grande é seu pool de armazenamento?

Btrfs é uma opção fantástica para o pool de armazenamento e espelhamento que é certo para se tornar mais popular, uma vez que é considerado completamente estável. Também não faria mal para que haja uma interface gráfica para facilitar a configuração (além de, em alguns instaladores de distribuição), mas os comandos que você tem que usar no terminal são fáceis de entender e aplicar.

Qual é a maior piscina de armazenamento que você poderia fazer? Você acha que pools de armazenamento valem a pena? Deixe-nos saber nos comentários!


Artigos relacionados