WD Caviar Blue

Z funus.net
WD500AAKS

Dysk WD Caviar Blue 500GB (WD500AAKS) to mój gwiazdkowy nabytek z 2008 roku. Zastąpił w jednym z moich komputerów stary WD800 o pojemności 80 GB, jeszcze na IDE. Najpierw przeniosłem system drogą kopiowania, ale dysk jeszcze "wisiał" na zewnątrz. Bios w tej maszynce jest na tyle miły, że pozwala wybrać, z którego dysku chcę bootować. Obawiałem się problemów z lilo (musiałem zainstalować bootloader, gdy system jeszcze chodził na starym dysku), jak się później okazało – słusznie.

Nowy dysk ma 16 MB cache i śmiga całkiem sprawnie: zapis blokowy: 60 MB/s, odczyt z filesystemu dochodzi do 80 MB / s. Jak dotąd produkty Western Digital sprawowały się u mnie wyśmienicie, w przeciwieństwie do seagete'ów (2 zdechły) czy maxtorów (1 zdechł). Mam nadzieję, że i tym razem będzie podobnie.

[edytuj] Jak to było z lilo

Po podłączeniu nowego dysku do drugiego gniazda SATA i zrobieniu na nim dwóch partycji, sytuacja wyglądała następująco:

dev mountpoint
/dev/hda1 /
/dev/hda2 testowa, przez dm-crypt
/dev/hda5 szyfrowany swap
/dev/hda6 /usr
/dev/sda1 /home
/dev/sda2 szyfrowany swap
/dev/sda3 /mnt/ubuntu
/dev/sda4 /mnt/sda4
/dev/sdb1 /mnt/nowy/root/boot
/dev/sdb2 /mnt/nowy/root

Nowy dysk (/dev/sdb) ma zrobione dwie partycje: sdb2 na główny filesystem i sdb1 na /boot. MBR został zainstalowany przy pomocy polecenia install-mbr. Po skopiowaniu midnight commanderem wszystkiego co niezbędne i odpowiednich zmianach w fstab i crypttab, przerobiłem lilo.conf (zmiany wykonywane na nowym dysku podpiętym pod system chodzący ze starego, a więc ww. pliki znajdowały się w /mnt/nowy/root/etc), zmieniając w nim ścieżki w rodzaju /boot/vmlinuz czy /initrd.img na, odpowiednio: /mnt/nowy/root/boot/vmlinuz i /mnt/nowy/root/initrd.img, oraz oczywiście opcje root i boot tak, by wskazywały na partycje na nowym dysku. Przeszedłem do trybu single user (właściwie to powinienem był to zrobić jeszcze przed kopiowaniem, ale mi się nie chciało ;) i zacząłem próby z lilo. Okazało się, że w single moje lilo nieco głupieje i usiłuje zrobić chroot do katalogu /dev/root... a to urządzenie reprezentujące główny filesystem (w multiuser jest to konkretny dysk, ale w single robi się /dev/root właśnie). Koniec końców zapuściłem lilo następująco:

lilo -C /mnt/nowy/root/etc/lilo.conf -r / 

Lilo zrobiło swoje, więc reboot, ustawienie w biosie, żeby bootował z nowego dysku i śmiga. Po przeprowadzce systemu układ partycji był następujący:

dev mountpoint
/dev/hda1 /mnt/stary
/dev/hda2 testowa, przez dm-crypt
/dev/hda5 szyfrowany swap, teraz nie używany
/dev/hda6 /mnt/stary/usr
/dev/sda1 /home
/dev/sda2 szyfrowany swap
/dev/sda3 /mnt/ubuntu
/dev/sda4 /mnt/sda4
/dev/sdb1 /boot
/dev/sdb2 /

Starą osiemdziesiątkę wykręciłem na drugi dzień (nie chciało mi się bawić w upychanie trzeciego dysku, i tak mam tam paskudną plątaninę kabli). Niestety, okazało się, że po wyjęciu tego dysku lilo na nowym nie chciało startować: wypisało mi tylko: L 99 99 99 99 99 99 ... i tak przez pół ekranu. Oho, coś jednak nie wyszło. Miałem w lilo.conf skonfigurowaną przez chain-loader możliwość wystartowania systemu z tego wyjętego twardziela. Może przez to? A może tak naprawdę lilo sobie zmapowało bloki z /dev/hda1 zamiast /dev/sdb1? Czort go wie.

Na szczęście miałem pod ręką płytkę instalacyjną Debiana. Odpaliłem, jest tam jakiś tryb "rescue", aczkolwiek doszedłem tylko do miejsca, gdzie zaproponował mi zamontowanie w katalogu /target docelowego roota, na co się zgodziłem, i zamontował – tyle że jako ext2 zamiast ext3. Nic to. Grunt, że jest tam shell i busybox. Przemontowałem jak trzeba, podpiąłem proc na /target/proc, tmpfs na /target/dev, starym, dobrym mknodem zrobiłem pliki reprezentujące dyski sda i sdb oraz ich partycje, potem chroot do katalogu /target, wywaliłem z lilo.conf odwołania do wyjętego dysku i zapuściłem lilo. Uf, po restarcie poszło. Jedyny mankament: initrd twierdzi, że nie może zrobić stat na partycji resume – /dev/sda2. Dziwne, bo ta partycja cały czas siedzi na swoim miejscu. To swap, co prawda zaszyfrowany od jakiegoś czasu, ale dotąd mu to nie przeszkadało (nie używam suspend-to-disk, czyli hibernacji, więc mi to resume nie jest do niczego potrzebne). Mniejsza z tym, trzeba będzie przebudować initrd (albo poczekać na jakiś update, żeby się sam przebudował); enter, żeby pogonić i dalej już poszło gładko.

[edytuj] Testy prędkości odczytu

Z ciekawości za pomocą hdparm zrobiłem testy odczytu ze wszystkich trzech dysków aktualnie podłączonych, pokazujące maksymalne osiągi poszczególnych napędów. Testy trzykrotne, wyniki uśrednione (w przypadku hda i sdb różnice pomiędzy pomiarami były nieznaczne, dla sda nieco większe: ok. 1,5 MB/s).

dev dysk pojemność GB prędkość MB/s
hda WDC WD800JB-00ETA0 80 47,19
sda WDC WD2500KS-00MJB0 250 61,76
sdb WDC WD5000AAKS-00A7B2 500 91,35

[edytuj] Zobacz też