Після розширення апаратного RAID масиву fdisk не дозволить мені використовувати додаткові доступні сектори


10

У нас є великий апаратний рейдовий масив ~ 18 ТБ на Dell R720xd. Наразі масив RAID5 складається з 6x4TB, і мені потрібно було його розширити.

Крок 1 розгорніть апаратний рейд-масив.

Досить просто, якщо у вас встановлені інструменти адміністрування 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

(нові диски були останніми двома, що можна підтвердити за допомогою omreportінструменту) Це все нормально, хоча це зайняло певний час, і я зміг підтвердити, що масив був розширений.

% 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
...

Крок 2 новий розділ

Тож тепер vdisk повідомляє про збільшений (26 ТБ) розмір. і fdiskпогоджується ...

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

Однак, коли я йду додати додатковий розділ на диск, трапляється таке ...

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

Зараз у мене на диску близько 16 млрд. Секторів, але я не можу їх використовувати. Мені пропонуються лише сектори 34-2047. Я не можу виділити 8 ТБ нового простору, навіть якщо в даний час я налаштований лише з одним розділом.

Інша річ, яка мене вразила як дивна, - це те, що мені запропонували номери розділів 2-128, а не просто 2-4. У таблиці розділів не відображається жодний розширений розділ, тому я сподівався б, що спочатку обмежуватимуть лише 4 розділи.

Що-небудь мені не вистачає?

  • Машина була перезавантажена з моменту розширення масиву приводів. До цього fdisk повідомляв би лише про оригінальний 18TB
  • cfdiskНатомість намагаємось лише звіти за 2015 рік, доступні в діапазоні 39 мільярдів, незважаючи на загальний звіт про 25 ТБ.
  • Ми не хочемо видаляти і заново створювати розділ, якщо ми можемо його уникнути, враховуючи, що ми можемо втратити всі дані. Ми вважаємо за краще просто розширити групу томів LVM новим розділом після того, як буде зроблено.
  • Це питання, подібне до іншого питання про помилку сервера , але я не обмежений тим, що закінчився розділ, і я не думаю, що мене обмежують розширений розділ.
  • Його не розмір сектору збільшується розширенням накопичувача . Якби це fdisk, не було б повідомлення про збільшення кількості секторів, я б подумав. Плюс pvsі vgsне повідомляють про додаткове не виділене місце під LVM
  • Я запускав це як сухий пробіг на віртуальній машині і цього не відчував. Однак я вимикав vm і збільшував його розмір дискового пристрою. Тож не було в Інтернеті під час збільшення розміру. Плюс розміри приводу були на багато порядків меншими для vm.

Оновлення вихідного режиму 1 'x'pert на запит 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.

Так можлива помилка LBA?


2
У fdiskбудь-якому випадку перейдіть до xрежиму e pert, потім pзнову вкажіть таблицю розділів, а потім vочистіть її.
Майкл Хемптон

Хтось виправив fdisk для підтримки GPT? Востаннє, коли я спробував це на приводі GPT, він дав мені попередження, що я дійсно повинен використовувати gnu розірваний, але це вже давно.
DerfK

Так, сучасні версії fdisk можуть обробляти GPT.
Спулер

Я припускаю, що GPT тому мені запропонували 2-128 як кількість підрозділів, а не обмежуватися 4-ма розділами. це так?
Вагнерр

@Vagnerr так, GPT підтримує більше розділів, ніж стара схема MBR.
DerfK

Відповіді:


6

Проблемою було розташування резервної таблиці розділів. Зазвичай ви очікуєте первинну таблицю розділів на початку та резервну таблицю розділів у кінці. Зміна розміру диска зробила доступними більше секторів, але ніколи не переміщувала таблицю резервного копіювання. fdisk цього не сподобалось, і я вважаю, що це було MyLBA mismatch with real position at backup header.повідомлення про помилку. Не зовсім зрозуміло.

Я перейшов fdiskна, gdiskі вихід був трохи іншим. У gdisk у вас є ...

r       recovery and transformation options (experts only)

Звертаючись до цього і працюючи verify, дав корисніше повідомлення про помилку ...

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!

У gdiskрежимі експерта є наступний варіант ...

e       relocate backup data structures to the end of the disk

... що працює успішно, і результат перевірки був зараз ...

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.

Друк таблиці розділів показав останній корисний сектор як 56 мільярдів, а не 39 мільярдів, і я зміг створити новий розділ і додати його до LVM, який, якщо когось зацікавить, кроки для цього були ...

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

Щоб уточнити, щоб уникнути необхідності перезавантажуватися після переміщення структур резервного копіювання даних, ви бігли partprobe? Також ця посада є рятувальником життя . Дякуємо за ваш внесок.
Поворотна

@Swivel Це правильно. Без запуску partprob або перезавантаження пристрою sdb2 не буде створено в каталозі / dev, і це повинно бути там, щоб виконувати наступні команди lvm. Я радий, що повідомлення допомогло вам :-)
Вагнерр

2

Ключовим моментом цього сніфу є:

Last LBA: 39064698846

Ваш ярлик GPT не відображає середній розмір, який змінився. fdiskробить пошук вільного простору таким чином , який не є досконалим, але , по крайней мере , логічно - він шукає перший доступний сектор в найбільшому вільному просторі між GpT самоклейним першим і останнім НКСОМ.

Один із способів навколо цього може використовуватись sfdiskдля скидання етикетки, відповідного редагування її середнього розміру та запису назад, або краще використання, partedщо має вирішити цю проблему IMO.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.