Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Szukam informacji dotyczących ustawienia dysku z tą technologią, na razie mam informację nieco ogólną:
http://wdc-pl.custhelp.com/app/answers/detail/a_id/ … e-operacyjnym
może Koledzy doradzą, jak to ugryźć w praktyce?
Offline
Mój wniosek.
Duża ilość bełkotu o tym jak zaawansowanie zaawansowany jest ten dysk.
Całość ogranicza się do założeniu tablicy partycji GPT i dopilnowaniu aby rozmiar sektora miał 4kB zamiast 512B. Więc o fdisk zapomnij sobie nie radzi, parted do tego potrzebny będzie. Reszty logika dysku sama powinna pilnować.
Ostatnio edytowany przez bobycob (2013-07-12 08:20:10)
Offline
Wczoraj spróbowałem tego:
fdisk -u -H 224 -S 56 /dev/sdX
zgodnie z opisem: http://gagor.pl/2012/11/lvm-na-raid5-i-dysku-z-sektorami-4kb/
Niestety w dalszym ciągu fdisk podaje:
sector size (logical/physical): 512bytes/4096bytes
chociaż owe 512 powinno zniknąć. Dodatkowo (być może popełniłem jakiś dodatkowy błąd, chociaż aktualnie nic takiego nie kojarzę) po zainstalowaniu kolejno XP (jednak patrycja główna NTFS), debiana (partycje logiczne / i /home) i ubuntu (lvm+luks) podczas kończenia ostatniej instalacji grub wyrzucił mi czerwony ekran nie mogąc nic zapisać do MBR. No i zastanawiam się, czy to nie jest "zasługa" tego dłubania przy wielkości sektora. Niby pierwsza partycja zaczyna się od 2048 sektora, ale kto ich tam wie...
Nasuwają mi się dwa pytania:
1. czy ktoś z Kolegów już to robił i czy może się pochwalić JAK?
2. być może lepiej jest jednak zostawić wielkość sektora w spokoju, niech sobie firmware dysku tłumaczy te logiczne 512b na fizyczne 4096b i tyle?
Offline
Po prostu nie możesz już pracować na MBR, Tablica partycji musi być GPT.
tu masz przykład
http://www.cyberciti.biz/tips/fdisk-unable-to-creat … ater-2tb.html
http://www.ibm.com/developerworks/library/l-gpt/
I nie chodzi tylko partycje większe niż 2 TB
I zapomnij o fdisk ;)
Nie mogę znaleźć niestety opisu który znalazłem borykając się z tym problemem dwa miesiące temu. Sprawa rozbija się o tablicę partycji i określenie rozmiaru bloku. Parted na pewno da radę.
Ostatnio edytowany przez bobycob (2013-07-12 12:20:24)
Offline
Zgodnie z tym co napisali w linku:
Jednakże najlepszą obsługę zapewniają dystrybucje oparte na jądrze 2.6.34
...
Aby zapewnić najwyższą wydajność, należy:
Wyrównać partycje z uwzględnieniem wewnętrznych granic sektorów 4 KB w napędzie.
Upewnić się, że zapis danych jest wyrównany z granicami sektorów 4-kilobajtowych.
...
Na przykład w napędzie rozruchowym nie należy rozpoczynać od sektora 0, ponieważ musi tam pozostać miejsce na kod rozruchowy. Dobrze jest zacząć od sektora 64 lub nawet 2048 (co daje granicę 1-megabajtową).
Trzeba wyrównać partycje do 4KiB (lub 1MiB) i zacząć pierwszą z nich najlepiej od 2048 sektora. Widzicie tutaj gdzieś wzmiankę o gpt? Poza tym, to wszystko ładnie robi gparted — automatycznie rozpoczyna od 2048 i można sprecyzować równanie do MiB.
Offline
Wiedzieć, nie wiedzę.
Jednak partycji 3TB przy MBR nie udało mi się założyć.
Offline
Kolega w pierwszym poście nie pisał, z czym dokładnie ma problem. W podobnej sytuacji swój rozwiązałem właśnie tak. Jak sądzę podejście skuteczne, skoro efekt pozytywny i nie ma o co się przepychać. :)
Offline
gpt -> gdisk jest znacznie wygodniejszy.
Offline
Cóż, doprocyzuję więc. Dysk jednak od Seagate (Barracuda 1GB). Usiłuję zrobić tablicę partycji o sektorach wielkości 2048. Znalazłem opis (link na początku), wykonałem polecenia, niestety potem fdisk wyświetla logiczną/fizyczną wielkość sektora jako 512/2048, co za tym idzie nie pokrywają mi się początki partycji logiczne z fizycznymi (jeśli coś mieszam, wybaczcie, dopiero zgłębiam temat). Gparted też mi nie pomogło, a parted nie za bardzo umiem obsłużyć. Poza tym nie wiem, czy trzeba od razu jedną komendą przygotować cały dysk /dev/sda, dopiero potem ustalić wielkości kolejnych partycji (pamiętając żeby były wielokrotnością ośmiu), czy też wystarczy ten drugi krok. Trzeci temat to reakcja XP na takie 2048-bajtowe sektory. Wątpię, żeby chciał on prosto współpracować z gpt.
Offline
Czyli na razie odpuszczam AF. Dziękuję za dyskusję.
Offline
chp napisał(-a):
Niestety w dalszym ciągu fdisk podaje:
sector size (logical/physical): 512bytes/4096bytes
chociaż owe 512 powinno zniknąć.
chp a gdzie przeczytałeś, że ten logical sector size miałby się zmienić? Rozmiar sektora logicznego raczej się nie zmieni - to chyba taka emulacja dla starszych urządzeń i nie da się tego zmienić; zresztą przeczytaj;
http://www.wdc.com/wdproducts/library/WhitePapers/POL/2579-771430.pdf
a zwłaszcza:
W napędach Advanced Format stosowane są nośniki
Advanced Format. Nośnik Advanced Format ma sektory
Advanced Format składające się z ośmiu 512-bajtowych
sektorów logicznych na jeden 4096-bajtowy sektor fizyczny.
Tak dla wszystkich;
1. Sprawdzamy czy dysk używa tej technologi; np.
cat /sys/block/sda/queue/physical_block_size
blockdev --getbsz /dev/sda
(powinno zwrócić 4096).
2. Sprawdzamy rozmiar bloku systemu plików (w moim przypadku EXT4): np dla partycji sda2:
tune2fs -l /dev/sda2 | grep -i 'block size'
(powinno zwrócić 4096)
3, http://wiki.hetzner.de/images/d/df/Part_alignment_wrong.png
http://wiki.hetzner.de/images/c/cf/Part_alignment_right.png
tak więc pierwszy sektor danej partycji powinien dzielić się przez 8 jak i rozmiar całej partycji wyrażony w sektorach powinien dzielić się przez 8. Zatem "fdisk -l /dev/sda" lub "gdisk -l /dev/sda" (w przypadku GPT). Dostajemy np. taki output;
GPT fdisk (gdisk) version 0.8.7 Partition table scan: MBR: protective BSD: not present APM: not present GPT: present Found valid GPT with protective MBR; using GPT. Disk /dev/sda: 1465149168 sectors, 698.6 GiB Logical sector size: 512 bytes Disk identifier (GUID): 3026DA4F-97F4-4FEC-8B3A-1EF7ADA737BE Partition table holds up to 128 entries First usable sector is 34, last usable sector is 1465149134 Partitions will be aligned on 2048-sector boundaries Total free space is 3757 sectors (1.8 MiB) Number Start (sector) End (sector) Size Code Name 1 2048 821247 400.0 MiB EF00 2 821248 32278527 15.0 GiB 8300 3 40880128 734824447 330.9 GiB 8300 4 734824448 735086591 128.0 MiB 0C01 Microsoft reserved part 5 735086592 1458593791 345.0 GiB 0700 Basic data partition 6 32278528 40880127 4.1 GiB 8200 7 1458593792 1465147391 3.1 GiB 0700
teraz sprawdzamy czy we wszystkich partycjach " Start (sector)" dzieli się przez 8. Można też sprawdzić czy ("End (sector)" - "Start (sector)" + 1) //czyli rozmiar partycji w sektorach// dzieli się przez 8.
https://wiki.archlinux.org/index.php/Advanced_Format
This should no longer require manual intervention. Any tools using recent libblkid versions are capable of handling Advanced Format automatically.
Nowsze systemy (w tym Linuxy) podczas formatowania powinny automatycznie dobrze to zrobić. I tak to chyba wygląda. Czytałem, że od 2011 roku miało być więcej takich napędów. Jak ktoś ma nowszy dysk nawet nie firmy WD polecam sprawdzić.
Offline
Ja swój dysk formatowałem w czasach, gdy nawet nie wiedziałem za bardzo jak się to robi, czyli gdzieś pod konieć kwietnia 2011. Teraz bym go trochę inaczej formatował i wiem o co chodzi z tym komunikatem o wyrównaniu oraz po co są puste przestrzenie między partycjami widoczne choćby w gparted. Tylko nie mam za bardzo gdzie upchnąć 1TB danych i muszę jakoś żyć z tym burdelem co narobiłem na dysku. xD
Ale ogólnie u mnie się to prezentuje:
root:~# blockdev --getbsz /dev/sda 4096 root:~# cat /sys/block/sda/queue/physical_block_size 512 root:~# tune2fs -l /dev/mapper/debian_crypt-root | grep -i 'block size' Block size: 4096 root:~# fdisk -l /dev/sda Disk /dev/sda: 1500.3 GB, 1500301910016 bytes 255 heads, 63 sectors/track, 182401 cylinders, total 2930277168 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 Disk identifier: 0x000a8aae Device Boot Start End Blocks Id System /dev/sda1 * 2048 1953791 975872 83 Linux /dev/sda2 1953792 99610623 48828416 83 Linux /dev/sda3 99610624 1466798079 683593728 83 Linux /dev/sda4 1466800126 2930276351 731738113 5 Extended /dev/sda5 1857425408 2482423807 312499200 83 Linux /dev/sda6 2482425856 2930276351 223925248 83 Linux /dev/sda7 1564456960 1646376959 40960000 83 Linux /dev/sda8 1646379008 1857423359 105522176 83 Linux /dev/sda9 1466802176 1564454911 48826368 83 Linux Partition table entries are not in disk order
Zgodnie z tym co mi kalkulator wyrzucił:
1466802176/8 ≈ 1.4668022E9 ∕ 8 = 183350272 1646379008/8 ≈ 1.6463790E9 ∕ 8 = 205797376 1564456960/8 ≈ 1.5644570E9 ∕ 8 = 195557120 2482425856/8 ≈ 2.4824259E9 ∕ 8 = 310303232 1857425408/8 ≈ 1.8574254E9 ∕ 8 = 232178176 1466800126/8 ≈ 1.4668001E9 ∕ 8 = 183350015 + 3 ∕ 4 99610624/8 = 99610624 ∕ 8 = 12451328 1953792/8 = 1953792 ∕ 8 = 244224 2048/8 = 2048 ∕ 8 = 256
Także wszystko się dzieli poza wpisem od partycji rozszerzonej. Ma to znaczenie? Rozmiary się też dzielą, to może nie mam takiego syfu jak myślałem. xD W każdym razie po co jest +1 w ("End (sector)" - "Start (sector)" + 1) i czy ten dysk się kwalifikuje do advanced format? Niby pisze Sector size (logical/physical): 512 bytes / 512 bytes .
Because the 512 byte sector size has been around for a very long time and upto ATA/ATAPI-7 the sector size was fixed at 512 bytes, the sector size assumption is scattered across all the layers - controllers or bridge chips snooping commands, BIOSs, boot codes, drivers, partitioners and system utilities, which makes it very difficult to change the sector size from 512 byte without breaking backward compatibility massively.
As a workaround, the concept of logical sector size was introduced. The physical medium is organized in 4KiB sectors but the firmware on the drive will present it as if the drive is composed of 512 byte sectors thus making the drive behave as before, so if the driver asks the hard drive to read 64 sectors from LBA 2048, the firmware will translate it and read 8 4KiB sectors from hardware sector 256. As a result, the hard drive now has two sector sizes - the physical one which the physical media is actually organized in, and the logical one which the firmware presents to the outside world.
E to mnie wydymali z tym dyskiem. xD
Ostatnio edytowany przez morfik (2013-07-15 21:47:45)
Offline
Raczej nie ma to znaczenia. Wszystko wygląda okey. Zaciekawiły mnie tylko różne wyniki pierwszych dwóch poleceń. Osobiście formatowałem około pół roku temu przez cgdisk (odmiana cfdisk dla GPT) i też wszystko z automatu ładnie zrobił - można i bez pustych miejsc między partycjami (zresztą to tylko kilkanaście sektorów), ale z kolei dla cfdiska na wiki Archa widnieje ostrzeżenie;
Warning: The first partition created by cfdisk starts at sector 63, instead of the usual 2048. This can lead to reduced performance on SSD and advanced format (4k sector) drives. It will cause problems with GRUB2. GRUB legacy and Syslinux should work fine.
morfik napisał(-a):
W każdym razie po co jest +1 w ("End (sector)" - "Start (sector)" + 1) i czy ten dysk się kwalifikuje do advanced format? Niby pisze Sector size (logical/physical): 512 bytes / 512 bytes .
spójrz na to;
http://wiki.hetzner.de/images/c/cf/Part_alignment_right.png
i policz ile tych sektorów jest w samym np. w "Page 258". Mamy 2063sektor - 2056sektor trzeba dodać jeszcze 1 było okey. Można sobie np. obliczyć ile sektorów ma dana partycja. Jak liczba dzieli się przez 2048 bez reszty to mamy wyrównanie co do 1MB. więcej masz tutaj
Linuksowy edytor partycji parted wyposażono w opcję wyrównywania, która zapewnia prawidłowe konfigurowanie napędów Advanced Format od wersji 2.1:
-a alignment-type, --align alignment-type
prawidłowe rodzaje wyrównywania:
none Wyrównanie do granic sektora 512-bajtowego.
cylinder Wyrównanie partycji do cylindrów.
minimalne Wyrównanie minimalne: 4 KB w napędach AF
optymalne Wyrównanie optymalne: granice 1 MB
Domyślnie w parted 2.2 przyjęto wyrównanie optymalne, tj. dla granic 1-megabajtowych. W przypadku napędów Advanced Format należy zastosować wyrównanie minimalne lub optymalne. Na przykład, jeśli napęd jest zarejestrowany w systemie jako sda:
parted -a optimal /dev/sda
— ten zapis spowoduje, że parted utworzy partycje na granicach 1 MB.
W starszych wersjach parted (przed 2.1) lub w przypadku stosowania programu fdisk w celu zapewnienia optymalnej wydajności napędu Advanced Format konieczne jest wykonanie ręcznego przeliczenia granic partycji. Narzędzie partycjonujące należy ustawić tak, aby za jednostkę był przyjęty sektor a nie np. cylinder lub megabajt. W przypadku parted należy wpisać:
unit s
W przypadku programu fdisk naciśnięcie klawisza „u” powoduje przełączenie między trybami cylindrów i sektorów. Wszystkie partycje muszą rozpoczynać się na wielokrotności 8 sektorów (8 x 512 B = 4 KB); również wielkość partycji musi być wielokrotnością 8 sektorów. Upewnij się, że odpowiednio do wymagań pozostawiono miejsce na początku partycji. Na przykład w napędzie rozruchowym nie należy rozpoczynać od sektora 0, ponieważ musi tam pozostać miejsce na kod rozruchowy. Dobrze jest zacząć od sektora 64 lub nawet 2048 (co daje granicę 1-megabajtową). Również w przypadku partycji rozszerzonych należy pozostawić odstęp między punktem początkowym a początkiem pierwszej zawartej w nich partycji logicznej.
http://wdc-pl.custhelp.com/app/answers/detail/a_id/ … e-operacyjnym
W zasadzie chyba wszystkie nowsze systemy dobrze obsługują ten Advanced Format.
@morfik;
https://wiki.archlinux.org/index.php/Advanced_Forma … y_a_4k_sector
to będziesz mieć pewność czy twój dysk to obsługuje czy nie :)
Ostatnio edytowany przez dominbik (2013-07-15 22:03:58)
Offline
U mnie dostaję takie wyniki:
root:~# blockdev --getbsz /dev/sda 4096 root:~# cat /sys/block/sda/queue/physical_block_size 4096
Przy czym druga komenda nie działa (informuje o braku pliku, może to kwestia linków po drodze), za to z poziomu mc mogę podejrzeć zawartość pliku.
Za to
fdisk -l /dev/sda
daje niezmiennie inną wielkość sektora fizycznego i logicznego.
Ostatnio edytowany przez chp (2013-07-16 17:02:01)
Offline
chp wszystko jest okey. Druga komenda może nie zadziałać, bo nie wszystkie dyski to tak raportują (o czym pisze w linkowanym przez Cb artykule w pierwszym poście). Jednak jeżeli plik jest no to jest okey. Wystarczy wyrównać a myślę, że jeżeli niedawno instalowałeś to wszystko jest okey. Wrzuć wynik fdisk -l albo przeczytaj #15 post. :)
Offline
Ok, dzięki za naprowadzenie. Teraz już trochę za późno na ponowne zabawy z partycjami, musiałbym trochu danych poprzenosić, ale kolejna instalacja na pewno skończy się tym wyrównaniem. Szczerze mówiąc, niby próbowałem równać, tylko chyba musiałem po drodze coś tam popełnić, bo nie zniknął mi komunikat o tym, że partycja 1 i 3 nie zaczynają się na fizycznej granicy sektorów. Ale zostawiam to na razie, tym bardziej, że XP chyba ucierpiałby bez tych 512B rozmiarów sektorów. Dziękuję wszystkim za ciekawą dyskusję w temacie.
Offline
chp napisał(-a):
Za to fdisk -l /dev/sda daje niezmiennie inną wielkość sektora fizycznego i logicznego.
Witam
Posiadam dysk w nowej technologii WD 500GB z sektorami 4kb. Partycjonowalem dysk pod linuxem uzywając narzędzi w wersjach obslugujących nowe dyski 4Kb, także wyrównanie partycji mam prawidłowe i dysk pracuje optymalnie. Polecenie fdisk również wyswietla u mnie sektor logiczny 512, natomiast fizyczny 4096.
Zastanawiałem się czy jest możliwość ustawienia trybu natywnego 4096/4096, ale myślę że taki tryb wymaga również zmian w samym sprzęcie płyta główna,kontroler SATA, BIOS i może sam dysk twardy, dlatego mój dysk działa w trybie emulacji w okresie przejsciowym - a w przyszłości nowe dyski+nowy sprzęt zadziałają natywnie - tak to rozumiem.
Jako ciekawostka tryb natywny 4KB obsługuje dopiero win 8 i win server 2012.
Advanced format 4K Native - In 4 KB native mode, there is no emulation layer; disk media directly exposes its 4 KB physical sector size to the OS.
root@Debian64:/home/pawel# fdisk -l Dysk /dev/sda: 500.1 GB, bajtów: 500107862016 głowic: 255, sektorów/ścieżkę: 63, cylindrów: 60801, w sumie sektorów: 976773168 Jednostka = sektorów, czyli 1 * 512 = 512 bajtów Rozmiar sektora (logiczny/fizyczny) w bajtach: 512 / 4096 Rozmiar we/wy (minimalny/optymalny) w bajtach: 4096 / 4096 Identyfikator dysku: 0x000304f4 Urządzenie Rozruch Początek Koniec Bloków ID System /dev/sda1 2048 102402047 51200000 7 HPFS/NTFS/exFAT /dev/sda2 102402048 204802047 51200000 7 HPFS/NTFS/exFAT /dev/sda3 * 204802048 263395327 29296640 83 Linux /dev/sda4 263395328 976773119 356688896 5 Rozszerzona /dev/sda5 263397376 468197375 102400000 83 Linux /dev/sda6 468199424 474753023 3276800 82 Linux swap / Solaris /dev/sda7 474755072 679555071 102400000 83 Linux /dev/sda8 679557120 781957119 51200000 83 Linux /dev/sda9 781959168 884359167 51200000 83 Linux /dev/sda10 884361216 976773119 46205952 83 Linux
Wątpliwości sie w mędzyczasie wyjaśniły, znalazłem gdzies na blogu na potwierdzenie ładnie ujęte wyjaśnienie:
Na dotychczas kupionych dyskach jeszcze tego nie widać ponieważ firmware dysków, póki co, emuluje każdy 4096 bajtowy sektor na osiem sektorów o starym rozmiarze (tzw. funkcja Advanced Format). Z czasem oczywiście to działanie zostanie zarzucone.
źródło: http://piorekf.org/2010/05/4kb-sektory-na-dyskach/
Ostatnio edytowany przez pawelek2013 (2013-08-16 00:37:35)
Offline
bobycob napisał(-a):
Po prostu nie możesz już pracować na MBR, Tablica partycji musi być GPT.
tu masz przykład
http://www.cyberciti.biz/tips/fdisk-unable-to-creat … ater-2tb.html
http://www.ibm.com/developerworks/library/l-gpt/
I nie chodzi tylko partycje większe niż 2 TB
I zapomnij o fdisk ;)
Nie mogę znaleźć niestety opisu który znalazłem borykając się z tym problemem dwa miesiące temu. Sprawa rozbija się o tablicę partycji i określenie rozmiaru bloku. Parted na pewno da radę.
Czy zamiana MBR na GPT coś zmieni dla dysków już pracujących czy tylko dla nowego dysku 3TB ?
Offline