devo colocar meu sistema de arquivos btrfs para vários dispositivos em partições de disco ou dispositivos brutos?

16

Se eu vou criar um sistema de arquivos btrfs para vários dispositivos . A recomendação oficial da documentação parece ser para criá-lo em dispositivos brutos; ou seja /dev/sdb, /dev/sdcetc, mas isso não é explicado.

Há alguma vantagem para a criação de uma tabela de partição nesses dispositivos primeiro, seja GPT ou MBR, e, em seguida, criar o sistema de arquivos em /dev/sdb1, /dev/sdc1et cetera? A alimentação de dispositivos inteiros btrfs tem alguma vantagem específica ou são basicamente equivalentes?

Glifo
fonte

Respostas:

7

O particionamento é apenas uma maneira de dividir um disco em vários volumes que podem ser usados ​​independentemente. Se você deseja apenas um volume por disco, o particionamento não compra nada - ele apenas remove algum espaço em disco (sim, é muito pequeno) e complica coisas como alinhar seus dados em discos rígidos com setores 4K ou unidades flash. O único outro motivo para ter uma tabela de partição é para inicializar essa unidade. Se não há razão para ter uma tabela de partição, é mais simples omiti-la.

mgorven
fonte
3

Existem várias desvantagens do particionamento. MBR desperdiça uma "faixa" inteira. Uma faixa é o número de setores vezes o tamanho do setor, mas um disco real possui setores e o tamanho do setor não é de 512o. Um disco real possui blocos 8 vezes maiores para discos rotativos e muito maiores para dispositivos flash. Essa mudança para a próxima faixa pode impossibilitar o alinhamento dos setores "lógicos" com os blocos reais usando a passada e a faixa.

Antigamente, era possível definir o tamanho do setor no FAT, mas a MBR acabou com isso.

Se você estiver inicializando a partir do disco, o BIOS precisará de uma assinatura de inicialização no final dos primeiros 512o para que ele saiba que pode executá-lo quando estiver carregado. Se você estiver executando o EFI, fique bêbado. O sistema de arquivos precisaria ter um furo para isso, para ser usado para inicializar o sistema.

O XFS (usado principalmente em / var em discos rotativos) não possui esse orifício.

Andrew Buckeridge
fonte
1
Eu estou um pouco confuso; "o número (total) de setores vezes o tamanho do setor" não seria o disco inteiro, se o disco fosse composto de setores? Ou algo diferente de "total" está implícito?
Glyph #:
1

Use discos separados para obter vantagens na velocidade de leitura / economia de disco.

Basicamente, /dev/sdaé um disco rígido, e /dev/sda1, /dev/sda2são partes do mesmo disco físico.

se você usar /dev/sda+ /dev/sdbpara sua instalação, você terá dois discos separados capazes de recuperar ao mesmo tempo.

se você usar /dev/sda1 /dev/sda2, você obtém o mesmo disco tentando ler os dois e, portanto, ele precisa fazer um e depois o outro.

Jharwood
fonte
1
Se você está dizendo que o uso sdaé mais rápido que sda1, de onde vem essa vantagem de velocidade?
precisa saber é o seguinte
a vantagem da velocidade vem de hardware paralelo armazenar e recuperar seus dados, em vez do mesmo hardware tentando pular para vários locais no mesmo disco
Jharwood
Não houve menção de vários locais ou várias partições. A questão é sobre uma única partição que cobre todo o disco.
precisa saber é o seguinte
Ahh, desculpe, eu não entendi a pergunta.
precisa saber é o seguinte
0

Se bem entendi, o uso de discos inteiros permitirá que o BTRFS faça algumas suposições que permitem alguma otimização do comportamento.

Por exemplo, se houver dispositivos completos para trabalhar, ele pode assumir que não terá nada desafiador para acessar o dispositivo, e pode adaptar seus métodos de acesso em vez de ter que antecipar atrasos periodicamente de outra coisa solicitando dados de algum lugar outra coisa no dispositivo e ter que esperar a unidade voltar depois de processar a outra solicitação.

killermist
fonte
O que você está descrevendo é chamado de realidade das E / S de disco em geral, não nada específico do sistema de arquivos. O que você viu especificamente no btrfs que otimiza ou agenda o IO de maneira diferente com base na existência ou não de uma tabela de partição?
Brian Cline
O sistema de arquivos não faz isso. O SO faz isso se esse comportamento for apropriado. Meus usos do "it" eram provavelmente ambíguos e / ou sobrepostos e / ou exclusivos um do outro.
Killermist
0

Com todas essas unidades de setores 4K, você pode usar o particionamento para alinhar seu sistema de arquivos. Simplesmente inicie o fdisk com:

fdisk -H 224 -S 56

e crie uma única partição que abranja todo o dispositivo.

Lester Cheung
fonte