Witam.
Złożyłem sobie macierz RAID5 używając sterownika RAIDframe. Oczywiście
kompilowałem przedtem jądro, aby to było możliwe.
Macierz postawiona na OpenBSD 4.8 dla i386, wszystko robione wg. manuala
dla raidctl. Sprzęt to zwykły PC:
- procesor AMD Athlon 1800+;
- płyta główna Asrock K7NF2-RAID
(
http://www.asrock.com/mb/NVIDIA/K7NF2-RAID/);
- 1280 MB RAM;
- 3x dyski ATA 250 GB Maxtor DiamondMax 21.
Zawartość pliku /etc/raid0.conf
###
START array
# numRow numCol numSpare
1 3 0
START disks
/dev/wd1e
/dev/wd2e
/dev/wd3e
START layout
# sectPerSU SUsPerParityUnit SUsPerReconUnit RAID_level_5
32 1 1 5
START queue
fifo 100
###
Problem: zbyt wolny odczyt/zapis z macierzy na poziomie 2 MB/s.
Samo składanie macierzy trwało ponad 6 godzin. Testowanie macierzy za
pomocą dd i kopiowanie plików w mc z i do macierzy dawało tak niskie
wyniki. Aby wykluczyć jakiekolwiek błędy, zainstalowałem NetBSD (tu nie
trzeba kompilować jądra aby używać RAIDframe) ale to nic nie dało,
odczyt i zapis taki sam mały. Następnie powrót do OpenBSD i użycie
softraid: dalej bez skutku. No to wziąłem pod lupę FreeBSD i gvinum: nic
nowego. W międzyczasie przetestowałem (dd i kopiując pliki w mc)
pojedynczo dyski: tu odczyt/zapis pod każdym *BSD był taki, jaki
powinien być dla tych dysków: około 40 MB/s.
Ostatecznie zainstalowałem Debian 6.0.5 i użyłem mdadm: dopiero tutaj
zapis/odczyt z macierzy jest spodziewany: większy od wartości
uzyskiwanych z pojedynczego dysku.
Pytanie: macierz RAID5 była składana programowo pod każdym z ww.
systemów, ale tylko na Debianie działała tak, jak powinna a każde
rozwiązanie z *BSD zostawało dosłownie olewane. Czego się czepiać, skoro
odczyt/zapis z pojedynczych dysków (pod *BSD) przedstawia prawidłowe
wartości?
Pozdrawiam.
Wald3k M.