Po sprzętowym rozszerzeniu macierzy RAID fdisk nie pozwoli mi na użycie dodatkowych dostępnych sektorów


10

Mamy dużą macierz RAID-u na poziomie około 18 TB w Dell R720xd. Obecnie macierz RAID5 składa się z 6x4 TB i musiałem ją rozszerzyć.

Krok 1 rozwiń sprzętową tablicę RAID.

To proste, jeśli masz zainstalowane narzędzia administracyjne 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

(nowe dyski były dwoma ostatnimi, co można potwierdzić za pomocą omreportnarzędzia). Wszystko poszło dobrze, choć zajmuje to trochę czasu, i mogłem potwierdzić, że tablica została rozszerzona.

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

Krok 2 nowa partycja

Zatem dysk vdisk zgłasza teraz zwiększenie rozmiaru (26 TB). i fdiskzgadza się ...

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

Jednak gdy idę dodać dodatkową partycję na dysk, dzieje się tak ...

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

Mam teraz na dysku około 16 miliardów sektorów, ale nie mogę ich używać. Oferowane są tylko sektory 34-2047. Nie mogę przydzielić 8 TB nowego miejsca, mimo że aktualnie jestem skonfigurowany tylko z jedną partycją.

Inną rzeczą, która wydała mi się tak dziwna, był fakt, że zaoferowano mi numery partycji 2-128, a nie tylko 2-4. Tabela partycji nie pokazuje żadnej partycji rozszerzonej, więc spodziewałbym się, że ograniczy mnie początkowo tylko do 4 partycji.

Czy czegoś mi brakuje?

  • Komputer został zrestartowany od czasu rozszerzenia macierzy dysków. Przed tym fdisk zgłosił tylko oryginalny 18 TB
  • Próbując cfdiskzamiast po prostu informuje, 2015 sektory dostępne w przedziale 39 miliardów pomimo zgłaszania 25TB ogólnej.
  • Nie chcemy usuwać i ponownie tworzyć partycji, jeśli możemy jej uniknąć, ponieważ możemy utracić wszystkie dane. Wolimy po prostu rozszerzyć grupę woluminów LVM o nową partycję po zakończeniu.
  • Jest to podobny problem do pytania o inny błąd serwera , ale nie jestem ograniczony przez to, że zabrakło partycji i nie sądzę, że jestem ograniczony przez rozszerzoną partycję.
  • Rozmiar dysku nie jest powiększany przez rozszerzenie dysku . Gdyby to był fdisk, nie zgłaszałby wzrostu liczby sektorów, pomyślałbym. Plus pvsi vgsnie zgłasza dodatkowej nieprzydzielonej przestrzeni w LVM
  • Uruchomiłem to na sucho na maszynie wirtualnej i nie doświadczyłem tego. Jednak wyłączałem VM i zwiększałem rozmiar jego urządzenia dyskowego. Więc nie było online podczas zwiększania rozmiaru. Plus rozmiary dysków były o wiele rzędów wielkości mniejsze dla vm.

Zaktualizuj wyjście 1 'x'pert w trybie wymaganym przez Micheala ...

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.

A więc możliwy błąd LBA?


2
W fdiskprzejdź do e xtrybie Pert, a następnie pponownie rukuj tablicy partycji, a następnie verify go.
— Michael Hampton

Czy ktoś naprawił fdisk do obsługi GPT? Ostatnim razem, gdy wypróbowałem to na dysku GPT, dostałem ostrzeżenie, że naprawdę powinienem używać GNU parted, ale minęło sporo czasu.
— DerfK

Tak, nowoczesne wersje fdisk mogą obsługiwać GPT.
— Bufor

Zakładam, że GPT właśnie dlatego zaoferowano mi 2-128 jako liczbę partycji zamiast ograniczania się do 4 partycji. czy to prawda?
— Vagnerr

@Vagnerr tak, GPT obsługuje więcej partycji niż stary schemat MBR.
— DerfK

Odpowiedzi:


6

Problemem była lokalizacja tablicy partycji kopii zapasowej. Zwykle spodziewana jest tablica partycji podstawowej na początku, a tablica partycji kopii zapasowej na końcu. Zmiana rozmiaru dysku udostępniła więcej sektorów, ale nigdy nie przesunęła tabeli kopii zapasowych. fdiskowi się to nie podobało i uważam, że to był MyLBA mismatch with real position at backup header.komunikat o błędzie. Nie do końca jasne.

Przeszedłem od fdiskdo gdiski wyjście było trochę inaczej. W gdisk masz ...

r       recovery and transformation options (experts only)

Po przejściu do tego i uruchomieniu verify dał bardziej pomocny komunikat o błędzie ...

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!

W gdisktrybie eksperckim dostępna jest następująca opcja ...

e       relocate backup data structures to the end of the disk

... działało pomyślnie, a wynik weryfikacji został teraz ...

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.

Drukowanie tabeli partycji pokazało teraz ostatni użyteczny sektor jako 56 miliardów zamiast 39 miliardów, a ja byłem w stanie utworzyć nową partycję i dodać ją do LVM, który jeśli ktoś jest zainteresowany, kroki ...

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

Aby wyjaśnić, aby uniknąć konieczności ponownego uruchamiania po przeniesieniu struktur danych kopii zapasowej, uruchomiłeś partprobe? Ponadto ten post jest ratownikiem . Dziękujemy za pomoc.
— Obrót

@ Swivel To prawda. Bez uruchomienia partprob lub ponownego uruchomienia urządzenie sdb2 nie zostanie utworzone w katalogu / dev i musi tam być, aby wykonać następujące polecenia lvm. Cieszę się, że post pomógł ci :-)
— Vagnerr

2

Kluczem do tego snafu jest:

Last LBA: 39064698846

Etykieta GPT nie odzwierciedla średnich rozmiarów, które uległy zmianie. fdiskszuka wolnego miejsca w sposób, który nie jest idealny, ale przynajmniej logiczny - szuka pierwszego dostępnego sektora w największym wolnym miejscu dostępnym między pierwszym a ostatnim LBA GPT Label .

Jednym ze sposobów może być sfdiskzrzucenie etykiety, edycja jej odpowiednio do średnich rozmiarów i zapisanie jej z powrotem, lub lepsze użycie, partedktóre powinno zająć się tym problemem IMO.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.