Ustawianie dysków twardych i ich testy


Program hdparm znajduje się na trzeciej płycie standardowej dystrybucji Mandrake 8.2. Umożliwia on testowanie parametrów dysków twardych i ich późniejsze ustawianie. Ponieważ jest to "groźne" narzędzie, aby móc pracować z tym programem należy przejść (na konsoli) w ustawienia root poleceniem su -, enter. Następnie piszemy hdparm /dev/hdb (bo u mnie Linux jest na drugim dysku twardym) i otrzymujemy (w moim przypadku) aktualne ustawienia dysku:

multcount = 32 (on)
I/O support = 0 (default 16 -bit)
unmaskirq = 0 (off)
using_dma = 1 (on)
keepsettings = 0 (off)
nowerr = 0 (off)
readonly = 0 (off)
readhead = 8 (on)
geometry = ...
busstate =1 (on)
Jak rozumieć te symbole multcount = 32 mówi nam o trybie pracy 32 bitowej, I/O support = 0 informuje nas ile bitów można przesłać na jedno przerwanie, using_dma = 1 mówi o trybie pracy dysku (dma lub udma). Reszta parametrów ma mniejsze znaczenie.
Przechodzimy teraz do fazy testowania. Wydajemy polecenie hdparm -tT /dev/hdb i otrzymujemy: 57,86 MB/sec oraz 7,74 MB/sec. Pierwsza cyfra mówi nam o szybkości pracy dyskowej pamięci (cache), a druga o prędkości odczytu danych z dysku. Wartości te są małe ze względu na stary sprzęt i stary dysk. Aby uzyskać dodatkowe informacje o maksymalnych ustawieniach parametrów dysku należy wydać polecenie hdparm -i /dev/hdb. Z otrzymanych danych interesują nas nastepujące parametry: MaxMultiSect = 32 oraz MultiSect = 32 i *udma 2. Posiadając w/w dane możemy wpisać polecenie ustawiające parametry dysku.

Aby wiedzieć dokładnie co będziemy robić należy skorzystać z man hdparm, który jest po polsku i zapoznać się z opcjami programu. Ja wypisze tylko te opcje, które mnie interesowały. I tak mamy:

-qa32   - liczba sektorów odczytywanych z wyprzedzeniem 32 bitowym
-qA1    - włączanie odczytu z wyprzedzeniem (buforowanie)
-qc1    - włączanie obsługi 32 bitowego I/O
-qd1    - włączanie trybu dma i udma
-qm32 - ustawianie licznika wielosektorowego I/O na 32 bity
-qW1  - włączanie zapisu z wyprzedzeniem (buforowanie)
-qu1   - korzystanie z innych przerwań niż zarezerwowane dla napędów
-qX64 - włączenie trybu udma 0
-qX65 - włączenie trybu udma 1
-qX66 - włączenie trybu udma 2
-qX67 - włączenie trybu udma 3
-qX68 - włączenie trybu udma 4
-qX69 - włączenie trybu udma 5
Z linii poleceń należy napisać: hdparm -qa32 -qA1 -qc1 -qd1 -qm32 -qu1 -qW1 -qX66 i wcisnąć enter. Zmiany ustawień parametrów dysku zostały wprowadzone do systemu i działają od razu. Jedynym mankamentem takiego rozwiązania jest utracenie tych ustawień po restarcie systemu. Aby tego uniknąć należy powyższą sekwencje dopisać do pliku /etc/rc.d/rc.local (na samym końcu). Wtedy program hdparm bedzie ustawiał parametry dysku przy każdym starcie systemu. Następnie należy dokonać restartu systemu i po jego uruchomieniu od razu dokonać testu (hdparm /dev/hdb). Eksperymentując z programem hdparm należy zachować szczególną uwagę, gdyż wpisując zawyżone parametry można uszkodzić system plików. Czy można uszkodzić dysk? Tego nie wiem, bo w opisie programu nic na ten temat nie znalazłem. Opisany powyżej sposób ustawiania dysku jest na stałe stosowany na moim sprzęcie i testy pokazały, że dysk czyta szybciej (105,79 MB/sec i 8,15 MB/sec).

do góry 2003.05.17