Como converter um sistema de arquivos btrfs no modo raid1 para raid0?

5

Eu instalei o Ubuntu 11.10 com o btrfs como o / file system (foi uma bagunça para fazer, vou explicar se as pessoas estão interessadas) para que eu possa expandir o sistema de arquivos primário para a segunda unidade no sistema (*).

Depois de instalar o sistema, eu corri btrfs device add /dev/sdb1 / e ele adicionou o novo dispositivo e expandiu o sistema de arquivos para ele, e tudo ficou bom. Mas de acordo com o manual (errado) que eu estava lendo, eu também tive que rodar btrfs filesystem balance e isso aparentemente converteu meu sistema de arquivos para o modo "raid1" então tudo é armazenado duas vezes - uma vez em cada drive, e eu posso usar 50% da minha capacidade total:

$ btrfs filesystem df /
Data, RAID0: total=78.00GB, used=41.57GB
System, RAID1: total=8.00MB, used=16.00KB
System: total=4.00MB, used=0.00
Metadata, RAID1: total=3.75GB, used=355.06MB

É um bom recurso, mas eu estava querendo usar o "raid0" (stripping). Eu tentei remover o novo dispositivo para que eu possa adicioná-lo novamente, mas quando eu tento recebo um erro e o syslog tem isso:

btrfs: unable to go below two devices on raid1

Então, minha pergunta é: como converter meu sistema de arquivos de volta para o raid0 para que eu possa usar o espaço total de ambos os discos?

(*) Como pode ser feito com o LVM, mas com o btrfs você pode hospedar múltiplas "partições" no mesmo "sistema de arquivos" e espaço é alocado dinamicamente onde você precisa - diferentemente do LVM.

    
por Guss 04.12.2011 / 20:37

2 respostas

10

btrfs balance start -dconvert=raid0 /

Isso é tudo que você precisa fazer. O sistema moverá ativamente os dados existentes para serem raid0 (striped, sem paridade) e quaisquer dados adicionais serão gravados dessa maneira também.

O METAdata ainda será escrito em duplicata. Se você quiser viver EXTRA SUPER perigosamente, sinta-se à vontade para colocar um argumento -mconvert raid0 no comando acima, então ambos os dados AND metadata na matriz em / serão convertidos para raid0.

    
por Jim Salter 28.01.2014 / 23:13
2

Você leu o manual certo; você precisa executar o equilíbrio depois de adicionar a unidade para reestruturar seus dados no novo disco. Também acontece de converter qualquer parte do DUP em RAID1, e as opções mkfs padrão usam RAID1 ou DUP para metadados, dependendo se você tem vários discos ou não. Atualmente, não há uma maneira suportada de converter de volta, mas existem alguns patches de recompilação flutuantes na lista de discussão btrfs que eventualmente permitirão esse tipo de coisa.

    
por psusi 04.12.2011 / 23:58

Tags