Après l'extension matérielle de la matrice RAID, fdisk ne me permettra pas d'utiliser d'autres secteurs disponibles

10

Nous avons une grande baie matérielle de raid de ~ 18 To sur un Dell R720xd. Actuellement, la matrice RAID5 se compose de 6x4 To et je devais l'étendre.

Étape 1 Développez la matrice de raid matériel.

Assez simple si vous avez installé les outils d'administration Dell.

omconfig storage vdisk action=reconfigure controller=0 vdisk=1 raid=r5 pdisk=0:1:0,0:1:1,0:1:3,0:1:3,0:1:4,0:1:5,0:1:8,0:1:9

(les nouveaux disques étaient les deux derniers, ce qui peut être confirmé à l'aide de l' omreportoutil).

% omreport storage vdisk controller=0 vdisk=1

Virtual Disk 1 on Controller PERC H710P Mini (Embedded)

Controller PERC H710P Mini (Embedded)
ID                                : 1
Status                            : Ok
Name                              : bak
State                             : Ready
Hot Spare Policy violated         : Not Assigned
Encrypted                         : No
Layout                            : RAID-5
Size                              : 26,078.50 GB (28001576157184 bytes)
...
Device Name                       : /dev/sdb
...

Étape 2 nouvelle partition

Ainsi, le vdisk signale désormais l'augmentation de la taille (26 To). et fdiskest d'accord ...

Disk /dev/sdb: 25.5 TiB, 28001576157184 bytes, 54690578432 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: A2D20632-37D1-4607-9AA0-B0ED6E457F91

Device     Start         End     Sectors  Size Type
/dev/sdb1   2048 39064698846 39064696799 18.2T Linux LVM

Cependant, lorsque je vais ajouter une partition supplémentaire au disque, les événements suivants se produisent ...

Command (m for help): n
Partition number (2-128, default 2): 2
First sector (34-2047): 

J'ai maintenant environ 16 milliards de secteurs supplémentaires sur le disque, mais je ne peux pas les utiliser. On ne me propose que les secteurs 34-2047. Je ne peux pas allouer les 8 To de nouvel espace même si je suis actuellement configuré avec une seule partition.

L'autre chose qui m'a paru étrange est le fait qu'on m'a proposé les numéros de partition 2-128, pas simplement 2-4. La table de partition ne montre aucune partition étendue, donc je m'attendais à ce que cela me limite à seulement 4 partitions au départ.

Y a-t-il quelque chose qui me manque?

  • La machine a été redémarrée depuis l'extension de la baie de disques. Avant ce fdisk ne rapporterait que les 18 To d'origine
  • En essayant à la cfdiskplace, les rapports sur les secteurs de 2015 sont disponibles dans la gamme de 39 milliards de dollars, malgré le rapport global de 25 To.
  • Nous ne voulons pas supprimer et recréer la partition si nous pouvons l'éviter, étant donné que nous pourrions perdre toutes les données. Nous préférons simplement étendre le groupe de volumes LVM avec la nouvelle partition une fois terminée.
  • C'est un problème similaire à une autre question de défaillance du serveur , mais je ne suis pas limité par le manque de partitions et je ne pense pas que je suis limité par une partition étendue.
  • Sa taille non sectorielle est élargie par l'extension du lecteur . Si c'était le cas, fdisk ne rapporterait pas l'augmentation du nombre de secteurs, j'aurais pensé. De plus, pvset vgsne signalent aucun espace supplémentaire non alloué sous LVM
  • J'ai exécuté cela comme un essai à sec sur une machine virtuelle et je n'ai pas vécu cela. Cependant, j'arrêtais le VM et augmentais la taille de son unité de disque. Il n'était donc pas en ligne lors de l'augmentation de taille. De plus, la taille des disques était de plusieurs ordres de grandeur plus petite pour le vm.

Mise à jour 1 sortie en mode 'x'pert demandée par Micheal ...

Command (m for help): x

Expert command (m for help): p
Disk /dev/sdb: 25.5 TiB, 28001576157184 bytes, 54690578432 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: A2D20632-37D1-4607-9AA0-B0ED6E457F91
First LBA: 34
Last LBA: 39064698846
Alternative LBA: 39064698879
Partitions entries LBA: 2
Allocated partition entries: 128

Device     Start         End     Sectors Type-UUID                            UUID                                 Name      Attrs
/dev/sdb1   2048 39064698846 39064696799 E6D6D379-F507-44C2-A23C-238F2A3DF928 E9CB58BF-F170-4480-A230-6E2A238367D1 Linux LVM 


Expert command (m for help): v
MyLBA mismatch with real position at backup header.
1 error detected.

Donc, une possible erreur LBA?

Vagnerr
la source
2
En fdiskveuillez passer en xmode e pert, puis préimprimer la table de partition, puis l' vériger.
Michael Hampton
Quelqu'un a-t-il corrigé fdisk pour prendre en charge GPT? La dernière fois que je l'ai essayé sur un lecteur GPT, cela m'a donné un avertissement que je devais vraiment utiliser GNU séparé, mais cela fait longtemps.
DerfK
Oui, les versions modernes de fdisk peuvent gérer le GPT.
Spooler
Je suppose que GPT est la raison pour laquelle on m'a proposé 2-128 comme nombre de partitions au lieu d'être limité à 4 partitions. Est-ce correct?
Vagnerr
@Vagnerr oui, GPT prend en charge plus de partitions que l'ancien schéma MBR.
DerfK

Réponses:

6

Le problème était l'emplacement de la table de partition de sauvegarde. Normalement, vous attendez une table de partition principale au début et une table de partition de sauvegarde à la fin. Le redimensionnement du disque a rendu plus de secteurs disponibles mais n'a jamais déplacé la table de sauvegarde. fdisk n'a pas aimé cela et je crois que c'était le MyLBA mismatch with real position at backup header.message d'erreur. Pas vraiment clair.

Je suis passé de fdiskà gdisket la sortie était un peu différente. Dans gdisk vous avez ...

r       recovery and transformation options (experts only)

En y allant et en exécutant verify a donné le message d'erreur le plus utile ...

Recovery/transformation command (? for help): v

Problem: The secondary header's self-pointer indicates that it doesn't reside
at the end of the disk. If you've added a disk to a RAID array, use the 'e'
option on the experts' menu to adjust the secondary header's and partition
table's locations.

Identified 1 problems!

En gdiskmode expert, il y a l'option suivante ...

e       relocate backup data structures to the end of the disk

... qui s'est déroulé avec succès, et la sortie de vérification était maintenant ...

Expert command (? for help): v

No problems found. 15625881566 free sectors (7.3 TiB) available in 2
segments, the largest of which is 15625879552 (7.3 TiB) in size.

L'impression de la table de partition a maintenant montré que le dernier secteur utilisable était de 56 milliards au lieu de 39 milliards et j'ai pu créer la nouvelle partition et l'ajouter à LVM qui, si quelqu'un est intéressé, les étapes à suivre étaient ...

partprobe           <-- add the /dev/sdb2 device if you don't want to reboot 
pvcreate /dev/sdb2
vgextend bak /dev/sdb2
lvextend /dev/mapper/bak-bak -l 100%PVS -r
Vagnerr
la source
Pour clarifier, afin d'éviter d'avoir à redémarrer après avoir déplacé les structures de données de sauvegarde, vous avez exécuté partprobe? En outre, ce message est un épargnant de vie . Merci d'avoir contribué.
Pivotant
@Swivel C'est exact. Sans exécuter partprob ou redémarrer le périphérique sdb2 ne sera pas créé dans le répertoire / dev et cela doit être là pour exécuter les commandes lvm qui suivent. Je suis content que le post vous ait aidé :-)
Vagnerr
2

La clé de ce snafu est la suivante:

Last LBA: 39064698846

Votre étiquette GPT ne reflète pas la taille moyenne, qui a changé. fdiskrecherche l'espace libre d'une manière qui n'est pas parfaite, mais au moins logique - il recherche le premier secteur disponible dans le plus grand espace libre disponible entre le premier et le dernier LBA du GPT Label .

Une façon de le contourner peut être d'utiliser sfdiskpour vider l'étiquette, de la modifier correctement à votre taille moyenne et de la réécrire, ou une meilleure utilisation partedqui devrait prendre en charge ce problème IMO.

Peter Zhabin
la source