Problemy z rozmiarem i wyrównaniem sektora fdisk

10

Wykonałem polecenie:

# fdisk /dev/sda1

Wynik był:

The device presents a logical sector size that is smaller than
the physical sector size. Aligning to a physical sector (or optimal
I/O) size boundary is recommended, or performance may be impacted.

Command (m for help): p

Disk /dev/sda: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0xe0c5913d

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1              63    40965749    20482843+  1c  Hidden W95 FAT32 (LBA)
Partition 1 does not start on physical sector boundary.
/dev/sda2   *    40966144   334567423   146800640    7  HPFS/NTFS/exFAT
/dev/sda3       334567424   753997823   209715200   83  Linux
/dev/sda4       753999870  1953525167   599762649    5  Extended
Partition 4 does not start on physical sector boundary.
/dev/sda5       753999872  1949376511   597688320   83  Linux
/dev/sda6      1949378560  1953525167     2073304   82  Linux swap / Solaris

Mam kłopoty, ponieważ następujące elementy:

  • Urządzenie przedstawia logiczny rozmiar sektora, który jest mniejszy niż rozmiar sektora fizycznego. Zalecane jest wyrównanie do granicy rozmiaru sektora fizycznego (lub optymalnego We / Wy), ponieważ może to wpłynąć na wydajność.

  • Partycja 1 nie rozpoczyna się na granicy sektora fizycznego.

  • Partycja 4 nie rozpoczyna się na granicy sektora fizycznego.

Jak mogę rozwiązać jeden lub więcej z tych elementów bez utraty moich plików i partycji?

Jakie problemy będę musiał zostawić w spokoju?

Sir Jo Black
źródło
Logiczny rozmiar sektora to prawie zawsze 512 bajtów - nic dziwnego. Kontrolery dysków o tym wiedzą i działają odpowiednio. Nigdy nie widziałem problemu z brakiem wyrównania granic sektorów i partycji - może to być problem lata temu.
muru

Odpowiedzi:

11

Rozmiar sektora logicznego jest mniejszy niż rozmiar sektora fizycznego, co jest normalne dla większości nowoczesnych dysków. W ten sposób najczęściej implementowane są dyski Advanced Format . Niektóre dyski zewnętrzne używają tego samego rozmiaru (4096 bajtów) sektora zarówno dla sektorów fizycznych, jak i logicznych, i słyszałem, że niektóre zaawansowane dyski wewnętrzne robią teraz to samo, ale większość dysków w dzisiejszych czasach to modele w zaawansowanym formacie z 512 bajtami sektory logiczne i sektory fizyczne o wielkości 4096 bajtów. Nic nie możesz (lub powinieneś spróbować) zrobić w tej sprawie.

To powiedziawszy, prawidłowe wyrównywanie partycji dla dysków Advanced Format jest ważne. Przeprowadziłem kilka testów na dyskach Advanced Format, aby ustalić, co się stanie, gdy ich partycje zostaną wyrównane, i opublikowałem wyniki tutaj. Krótko mówiąc, zakres problemu różni się znacznie w zależności od systemu plików i jednego dysku na inny, ale prawie zawsze występuje znaczna (a czasem ogromna ) kara wydajnościowa związana z niedopasowanymi partycjami.

Twój /dev/sda4jednak nie posiada bezpośrednio systemu plików; jest to partycja rozszerzona, co oznacza, że ​​jest po prostu kontenerem dla innych partycji. Dane bezpośrednio z nimi powiązane /dev/sda4to po prostu dwa (logiczne) sektory, które prawdopodobnie nawet nie sąsiadują ze sobą, więc nie można ich odpowiednio wyrównać. Prawdziwe kary wydajnościowe wynikałyby z wyrównania zawartych w nich partycji /dev/sda4. W twoim przypadku /dev/sda4uchwyty /dev/sda5i /dev/sda6oba są odpowiednio wyrównane. Dzięki temu nie musisz się martwić /dev/sda5. Ostrzeżenie, które widzisz, to po prostu zbyt entuzjastyczny kod zgłaszania „problemu”, gdy nie istnieje.

/dev/sda1Z drugiej strony twoje nie jest odpowiednio wyrównane - zaczyna się od sektora 63, który nie jest podzielny przez 8. To, czy powinieneś coś z tym zrobić, zależy od tego, ile korzystasz z tej partycji, jak z niej korzystasz (rozmiar pliku, czyta vs. pisze itp.), jak ważne jest uzyskanie optymalnej wydajności, czy masz odpowiednie kopie zapasowe itp. Zalecam przeczytanie artykułu, do którego się wcześniej odwoływałem, a następnie zdecydowanie, czy rozwiązać problem. (Nie zgłosiłem wyników FAT w tym artykule z powodów związanych z przestrzenią, ale wydajność FAT bardzo się pogorszyła - IIRC, nie tak źle jak ReiserFS, ale przynajmniej tak źle, jak większość innych rodzimych systemów plików Linux).

Jeśli zdecydujesz, że chcesz to naprawić /dev/sda1, zacznij od wykonania kopii zapasowej. Po wykonaniu tej czynności jednym ze sposobów, aby to naprawić, jest usunięcie go, utworzenie nowej partycji na jej miejscu i przywrócenie plików. Innym sposobem (po utworzeniu kopii zapasowej) jest zmiana rozmiaru partycji w GParted. Dokonaj niewielkiej zmiany w punkcie początkowym; każda najnowsza wersja GParted powinna zaokrąglić do wielu 2048 sektorów, a wszystko będzie dobrze. Przeniesienie punktu początkowego partycji jest zawsze bardziej ryzykowne i zajmuje więcej czasu niż przesunięcie punktu końcowego. Ponieważ partycja ma rozmiar zaledwie 19 GiB, operacja nie powinna zająć śmiesznie dużo czasu, nawet przesunięcie punktu początkowego, ale nie będzie to natychmiastowe.

Na marginesie i tle, tylko dość stare narzędzia źle wyrównują partycje na nowoczesnych dyskach Advanced Format. Moje przypuszczenie jest takie narzędzie użyte do (starą wersję Linux użytkownika fdisklub DOS FDISK, być może), aby utworzyć /dev/sda1, a następnie wykorzystywane bardziej nowoczesne narzędzia (bliższy fdisk, partedczy GParted, być może), aby utworzyć resztę partycji.

Rod Smith
źródło