Comprei um disco rígido Seagate ST3000DM001 de 3 TB. Foi vendido dentro de um recinto. Formatei para ext4, copiei alguns dados para ele e depois os removi do gabinete e os conectei diretamente à placa-mãe. Meus dados não estavam visíveis para o sistema operacional (estavam vendo uma partição desconhecida de ~ 300GiB e o restante como espaço livre), então comecei a ler sobre as unidades de formato avançado e> 2 TB.
Conectei o disco com o USB novamente, copiei todos os dados e liguei novamente ao sata. Eu usei o gparted para criar uma tabela de partição GPT (o utilitário de disco do ubuntu não me deixaria Error synchronizing after initial wipe: Timed out waiting for object (udisks-error-quark, 0
), criei uma grande partição Ext3 de 3Tb, deixei o Align to
valor padrão MiB
e formatado.
A unidade é reconhecida corretamente e é montada corretamente. Os arquivos podem ser copiados de e para a unidade com sucesso.
Contudo:
Gparted mostra o disco com setores de 512k que eu sei que não é verdade 1
enquanto cat /sys/block/sdb/queue/physical_block_size
relatórios4096
Encontrei alguns relatórios libparted
com problemas nos setores não 512k 2 e outros 3 que dizem que o alinhamento ao MiB é suficiente.
Relatórios separados que a unidade está alinhada quando escolho o mínimo:
(parted) align-check
alignment type(min/opt) [optimal]/minimal? min
Partition number? 1
1 aligned
(parted)
Minha configuração está correta? Tenho penalidades de desempenho porque o disco está formatado com setores de 512k, o gParted está reportando valores falsos ou entendi tudo errado?
fonte
Respostas:
Ele relata 512 bytes porque esse é o tamanho do setor lógico para compatibilidade com versões anteriores com sistemas operacionais mais antigos (Windows). (g) parted alinha as partições a 1 MiB, o que é mais do que suficiente para funcionar corretamente com unidades que usam setores físicos de 4k, por isso é bom do jeito que está.
fonte
Primeiro, a maioria das unidades de formato avançado apresenta um tamanho de setor lógico de 512 bytes, mesmo que o tamanho do setor físico seja de 4096 bytes (4KiB). Isso é feito através da manipulação de dados no firmware da unidade e pode resultar em problemas de desempenho se as partições não estiverem alinhadas corretamente. As chances são de que essa não é a fonte do seu problema, e seu foco no alinhamento de partições é perdido. (Para ter certeza, o alinhamento da partição é importante; simplesmente não é a fonte do seu problema.)
Meu palpite (e éapenas um palpite) é que seu problema resulta da alternância entre um gabinete USB e a conexão direta do disco. Alguns gabinetes convertem setores lógicos de 512 bytes no disco em setores lógicos de 4096 bytes apresentados ao computador - ou seja, o oposto do que o firmware em um disco de formato avançado faz. Não sou positivo, mas suspeito que alguns gabinetes façam isso apenas em discos com mais de 2 TB. Os esquemas de particionamento MBR e GPT se referem aos dados por números de setor, portanto, alterar o tamanho do setor invalida os dados de particionamento. Portanto, se você preparar o disco em um gabinete USB que se traduz dessa maneira e tentar usá-lo diretamente (ou vice-versa), verá erros porque as partições (e até os dados de backup da GPT) não serão onde o computador espera que esteja. Seria como dizer a uma pessoa com os olhos vendados para "
A solução para este problema é preparar e usar o disco em um caminho - quer usar o gabinete USB ou usar uma conexão direta, não ambos. Se os dois forem necessários por algum motivo, você precisará encontrar um gabinete que funcione sem aplicar esse tipo de tradução.
Para testar minha hipótese, você pode usar uma ferramenta (como
parted
) que reporte tamanhos de setor lógicos . Por exemplo:Omiti várias informações dessa saída. O detalhe importante está na linha final mostrada aqui: Os tamanhos de setor lógico e físico são de 512 bytes. Se você executar este teste, reconecte o disco da outra maneira e execute-o novamente, poderá comparar os resultados. Se o tamanho do setor lógico mudar dependendo de como você conecta o disco, minha hipótese está correta e é a fonte do seu problema. Ou pelo menos, é um problema; pode haver outros também. Em particular, o
Error synchronizing after initial wipe
erro que você mencionou pode indicar outro problema. OTOH, isso poderia ser um efeito colateral departed
tentando ler os dados da GPT de backup além do final do disco. De qualquer maneira, se houver uma alteração no tamanho do setor lógico, você deve resolver esse problema antes de lidar com qualquer outra coisa. Se você deseja reparticionar o disco, mas tiver problemas devido aoError synchronizing
erro, tente usargdisk
oucgdisk
(nogdisk
pacote) em vez departed
ou GParted; agdisk
família é mais robusta contra erros do que aparted
família.fonte
parted /dev/sdb print
retorna,512/4096
portanto, parece que o gParted reporta o tamanho do setor lógico, o que explica por que o @LiveWireBT vê 4096 para o mesmo disco (conectado via USB) e também confirma seu palpite, conforme descrito acima.Foram feitas alterações no kernel e nos utilitários do Linux para oferecer suporte a unidades de formato avançado. Essas alterações garantem que todas as partições nas unidades de formato avançado estejam alinhadas corretamente nos limites do setor 4K. O suporte ao kernel para unidades de formato avançado está disponível nas versões 2.6.31 e superior. O suporte para porcionamento e formatação de unidades Advanced Format está disponível nos seguintes utilitários Linux:
Fdisk: O GNU Fdisk é um utilitário de linha de comando que particiona discos rígidos. As versões 1.2.3 e superior suportam unidades de formato avançado.
Parted: GNU Parted é um utilitário gráfico para particionar discos rígidos. As versões 2.1 e superior suportam unidades de formato avançado.
Os discos nativos de 4K (4Kn) têm um tamanho de setor lógico de 4 KB. Os sistemas operacionais modernos podem armazenar dados nesses discos, mas geralmente não podem inicializar a partir desses discos. Esses discos geralmente são unidades externas com conexão USB.
Para criar uma partição usada como um dispositivo de armazenamento de mídia, basta pressionar Ctrl+ Alt+ Tno teclado para abrir o Terminal. Quando abrir, execute o (s) comando (s) abaixo:
A maioria dos discos de 4k tem um tamanho físico de setor de 4096 bytes, para que 3TB caibam nas placas, mas ainda têm tamanho de setor lógico de 512B para compatibilidade com sistemas operacionais que esperam que um setor seja 512B. É por isso que quando você usa o comando print no parted para imprimir os detalhes, é o tamanho do setor lógico / físico 512B / 4096B. Isso é normal.
Essa "conversão" é feita pela inteligência no próprio disco e é normal. É assim que deve funcionar.
Se você não conseguir ver o 3TB inteiro primeiro verifique no BIOS que não está limitando o tamanho do disco. Talvez você precise da atualização do BIOS para suportar o disco.
Também usar parted para criar partição a partir de 0, o que é um erro. Você precisa iniciar a primeira partição no setor 2048, que é equivalente a 1MiB, para que as partições no disco estejam alinhadas para um desempenho ideal.
Portanto, altere a unidade para MiB, imprima os detalhes do disco que também imprimirão o tamanho do disco no MiB e crie a partição (se você quiser apenas uma partição única) começando de 1MiB e terminando no último MiB (ou um antes do último) .
Por exemplo, um disco de 3 TB deve ter, na realidade, algo como 2.861.022 MiB. Portanto, seria como criar uma única partição que abranja todo o disco em um dispositivo de disco chamado / dev / sdX (substitua o X pela letra correta):
Se o tamanho do disco for de alguns MiB mais ou menos que 2861022, ajuste o local final.
É isso aí. Depois disso, crie o sistema de arquivos que você deseja na partição.
Fontes e leitura extra
Unidades do setor de 4K e Linux
Erro ao verificar e instalar unidades de 4k no Linux
Fóruns do Ubuntu
fonte
Contanto que você alinhe suas partições em um múltiplo de 4KB, você estará bem. Caso contrário, você não precisa fazer nada de especial em unidades com setores físicos de 4KB.
O software de particionamento antigo alinhava partições em um múltiplo de setores de 63x512B, o que resultaria em um desempenho ruim se a unidade tivesse setores físicos de 4KB, porque são 31 e meio KiloBytes, NÃO um múltiplo de 4KB.
Virtualmente, nenhum software de particionamento disponível agora no Ubuntu fará mais isso (a menos que você solicite especificamente). A maioria se alinhará a um múltiplo de 1MiB (setores de 2048x512B, que também são setores de 256x4KB) por padrão.
O que aconteceria se você não o alinhar?
Se você não alinhar as partições a múltiplos de 4KB, o pior que acontecerá é uma perda de desempenho (bastante significativa para arquivos pequenos). Unidades com setores de 4KB tendem a emular setores de 512B para compatibilidade com sistemas existentes. Portanto, eles funcionam perfeitamente bem se você apenas os tratar como uma unidade do setor de 512B. Mas quando você escreve em uma única área de 512B, ele reescreve um setor inteiro de 4KB.
Portanto, por motivos de desempenho, é importante garantir que os clusters de 4KB que você usa no sistema de arquivos estejam alinhados com os setores de 4KB na unidade, para que uma única gravação de cluster não resulte na necessidade de gravar dois setores de 4KB na unidade.
fonte