WD Caviar Blue
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 |