web-dev-qa-db-fra.com

Comment formater un disque dur du secteur 4k?

J'ai acheté un disque dur Seagate ST3000DM001 de 3 To. Il a été vendu dans une enceinte. J'ai formaté sur ext4, copié des données sur celle-ci, puis je l'ai retirée de l'enceinte et connectée directement à la carte mère. Mes données n’étaient pas visibles par le système d’exploitation (une partition inconnue de ~ 300 Go et le reste apparaissant sous forme d’espace libre), j’ai donc commencé à lire des informations sur le format avancé et les lecteurs> 2 To.

J'ai connecté le disque avec USB à nouveau, copié toutes les données et branché à SATA une fois de plus. J'ai utilisé gparted pour créer une table de partition GPT (l'utilitaire de disque ubuntu ne me laissait pas avec Error synchronizing after initial wipe: Timed out waiting for object (udisks-error-quark, 0), créé une grande partition Ext4 de 3 To, laissant la valeur par défaut de Align to à MiB et formaté.

Le lecteur est correctement reconnu et se monte correctement. Les fichiers peuvent être copiés de et vers le lecteur avec succès.

Toutefois:

Gparted montre le disque ayant 512k secteurs que je sais n'est pas vrai1

gparted screenshot

alors que cat /sys/block/sdb/queue/physical_block_size indique 4096

J'ai trouvé des rapports selon lesquels libparted a un problème avec des secteurs non 512k2 et d'autres Cela dit que l'alignement sur MiB est suffisant.

Parted indique que le lecteur est aligné lorsque je choisis le minimum:

(parted) align-check 
alignment type(min/opt)  [optimal]/minimal? min                           
Partition number? 1                                                       
1 aligned
(parted)    

Ma configuration est-elle correcte? Est-ce que les performances sont réduites du fait que le disque est formaté avec 512 000 secteurs, gParted signale-t-il de fausses valeurs ou ai-je tout compris de travers?

  1. http://www.storagereview.com/seagate_barracuda_3tb_review_1tb_platters_st3000dm001
  2. http://ubuntuforums.org/showthread.php?t=1536933&p=9754234#post9754234
  3. http://wdc.custhelp.com/app/answers/detail/a_id/5655
12
qwazix

Il rapporte 512 octets, car il s’agit de la taille du secteur logique pour la compatibilité descendante avec les anciens systèmes d’exploitation (Windows). (g) Parted aligne les partitions sur 1 Mio, ce qui est amplement suffisant pour fonctionner correctement avec des lecteurs utilisant des secteurs physiques 4k. La configuration est donc parfaite.

5
psusi

Premièrement, la plupart des lecteurs de format avancé présentent une taille de secteur logique de 512 octets, même si la taille de secteur physique est de 4096 octets (4 Ko). ). Cela se fait en jonglant avec les données dans le micrologiciel du lecteur, et il peut en résulter problèmes de performances si les partitions ne sont pas correctement alignées. Il est toutefois fort probable que ce n’est pas la source de votre problème et que vous vous concentrez sur l’alignement des partitions. (Pour être sûr, l'alignement de la partition est important, ce n'est tout simplement pas la source de votre problème.)

Mon intuition (et il est juste une intuition) est que votre problème résulte de la commutation entre un boîtier USB et une connexion directe du disque. Certains boîtiers convertissent des secteurs logiques de 512 octets sur le disque en secteurs logiques de 4096 octets présentés à l'ordinateur, c'est-à-dire l'inverse de ce que le micrologiciel d'un disque au format avancé fait. Je ne suis pas positif, mais je soupçonne que certaines enceintes ne le font que sur des disques de plus de 2 To. Les schémas de partitionnement MBR et GPT font référence aux données par numéros de secteur. Par conséquent, la modification de la taille du secteur invalide les données de partitionnement. Ainsi, si vous préparez le disque dans un boîtier USB qui se traduit de cette manière, puis essayez d'utiliser le disque directement (ou inversement), vous verrez des erreurs car les partitions (et même les données de sauvegarde GPT) ne seront pas où l'ordinateur s'attend à ce qu'il soit. Ce serait comme dire à une personne aux yeux bandés de "marcher 2 en avant", où vous voulez dire 2 pieds, mais la personne pense que vous voulez dire 2 mètres, et marche ainsi dans un mur.

La solution à ce problème consiste à préparer et à utiliser le disque de manière une - (soit) , utilisez le boîtier USB ou utilise une connexion directe, pas les deux. Si les deux sont nécessaires pour une raison quelconque, vous devrez trouver un boîtier qui fonctionne sans appliquer ce type de traduction.

Pour tester mon hypothèse, vous pouvez utiliser un outil (tel que parted) qui indique la taille des secteurs logiques . Par exemple:

Sudo parted /dev/sda print
Model: ATA Hitachi HDP72505 (scsi)
Disk /dev/sda: 500GB
Sector size (logical/physical): 512B/512B

J'ai omis un tas d'informations de cette sortie. Le détail important se trouve dans la dernière ligne montrée ici: Les tailles de secteur logique et physique sont toutes deux de 512 octets. Si vous exécutez ce test, puis reconnectez le disque dans l'autre sens et réexécutez-le, vous pouvez comparer les résultats. Si la taille du secteur logique change en fonction de la manière dont vous attachez le disque, mon hypothèse est correcte et c'est la source de votre problème. Ou du moins, c'est un problème; il peut y en avoir d'autres aussi. En particulier, l'erreur Error synchronizing after initial wipe que vous avez mentionnée pourrait indiquer un autre problème. OTOH, cela pourrait être un effet secondaire de parted en essayant de lire les données GPT de sauvegarde au-delà de la fin du disque. Quoi qu'il en soit, si vous constatez un changement dans la taille du secteur logique, vous devez résoudre ce problème avant de passer à autre chose. Si vous souhaitez repartitionner le disque mais que vous rencontrez des problèmes à cause de l'erreur Error synchronizing, essayez d'utiliser gdisk ou cgdisk (dans le package gdisk) plutôt que parted ou GParted; la famille gdisk est plus résistante aux erreurs que la famille parted.

11
Rod Smith

Des modifications ont été apportées au noyau Linux et aux utilitaires pour prendre en charge les lecteurs Advanced Format. Ces modifications garantissent que toutes les partitions des lecteurs de format avancé sont correctement alignées sur les limites de secteur 4K. La prise en charge du noyau pour les lecteurs de format avancé est disponible dans les versions de noyau 2.6.31 et supérieures. La prise en charge du partitionnement et du formatage des lecteurs Advanced Format est disponible dans les utilitaires Linux suivants:

Fdisk: GNU Fdisk est un utilitaire de ligne de commande qui partitionne les disques durs. Les versions 1.2.3 et supérieures prennent en charge les lecteurs de format avancé.

Parted: GNU Parted est un utilitaire graphique permettant de partitionner des disques durs. Les versions 2.1 et supérieures prennent en charge les lecteurs de format avancé.

Les disques 4K natifs (4Kn) ont une taille de secteur logique de 4 Ko. Les systèmes d'exploitation modernes peuvent stocker des données sur ces disques, mais ils ne peuvent généralement pas démarrer à partir de ces disques. Ces disques sont généralement des disques externes avec une connexion USB.

Pour créer une partition utilisée comme périphérique de stockage, appuyez simplement sur Ctrl+Alt+T sur votre clavier pour ouvrir Terminal. Lorsqu'il s'ouvre, exécutez les commandes ci-dessous:

Sudo mkfs.ext4 -m 0 /dev/sdb1

La plupart des disques 4k ont ​​une taille de secteur physique de 4096 octets, ce qui permet à 3 To de tenir sur les plaques, mais ils ont toujours une taille de secteur logique de 512 Go pour la compatibilité avec les systèmes d'exploitation prévoyant un secteur de 512 Go. C'est pourquoi, lorsque vous utilisez la commande d'impression, en partie, pour imprimer les détails, vous indiquez que la taille du secteur est logique/physique 512B/4096B. C'est normal.

Cette "conversion" se fait par l'intelligence sur le disque lui-même, et c'est normal. C'est comme ça que ça devrait marcher.

Si vous ne voyez pas l’ensemble des 3 To, vérifiez d’abord dans le BIOS que la taille du disque n’est pas limitée. Peut-être avez-vous besoin d'une mise à jour du bios pour prendre en charge le disque.

Utiliser également Parted pour créer une partition à partir de 0, ce qui est une erreur. Vous devez démarrer la première partition sur le secteur 2048, ce qui équivaut à 1 Mo pour que les partitions du disque soient alignées afin d'optimiser les performances.

Donc, changez l’unité en MiB, imprimez les détails du disque qui affichera également la taille du disque en MiB, et créez la partition (si vous ne voulez qu’une seule partition) à partir de 1 Mo et se terminant au dernier MiB (ou une avant la dernière). .

Par exemple, un disque de 3 To devrait avoir en réalité quelque 2 861 022 Mio. Donc, créer une seule partition couvrant tout le disque sur un périphérique appelé/dev/sdX serait comme (remplacez le X par la lettre correcte):

Sudo parted /dev/sdX
unit MiB
mklabel gpt
print (to see the total size in MiB)
mkpart primary 1 2861022
quit

Si la taille du disque est légèrement supérieure ou inférieure à 2861022, ajustez l'emplacement de fin.

C'est tout. Après cela, créez le système de fichiers souhaité sur la partition.

Sources et lectures supplémentaires

lecteurs de secteur 4K et Linux

Vérification des erreurs et installation de lecteurs 4k sous Linux

Forums Ubunt

4
Mitch

Tant que vous alignez vos partitions sur un multiple de 4 Ko, tout va bien. Autrement, vous n'avez rien de spécial à faire pour les disques avec des secteurs physiques de 4 Ko.

L'ancien logiciel de partitionnement alignait des partitions sur un multiple de 63x512B de secteurs, ce qui entraînerait de mauvaises performances si le lecteur dispose de 4Ko de secteurs physiques car ce sont 31 kilo et demi et non un multiple de 4Ko.

Pratiquement aucun logiciel de partitionnement disponible actuellement dans Ubuntu ne le fera plus (à moins que vous ne le demandiez spécifiquement). La plupart s'aligneront sur un multiple de 1 Mo (secteurs 2 048 x 512, ce qui correspond également à des secteurs de 256 x 4 Ko) par défaut.

Que se passerait-il si vous ne l'aligniez pas?

Si vous n'alignez pas les partitions sur des multiples de 4 Ko, le pire qui puisse arriver est une perte de performances (assez importante pour les petits fichiers). Les disques avec des secteurs de 4 Ko ont tendance à imiter les secteurs de 512 Go pour la compatibilité avec les systèmes existants. Elles fonctionnent donc parfaitement si vous les traitez comme un lecteur de secteur 512B. Mais lorsque vous écrivez dans une seule zone de 512 Go, il réécrit tout un secteur de 4 Ko.

Par conséquent, pour des raisons de performances, il est important de vous assurer que les grappes de 4 Ko que vous utilisez dans votre système de fichiers sont alignées sur les secteurs de 4 Ko sur le lecteur, afin qu'une seule écriture en cluster n'entraîne pas la nécessité d'écrire deux secteurs de 4 Ko sur le lecteur.

0
thomasrutter