Job / Praca

    Raidframe a wydajność

    Akurat mam komputer, na którym musi ze względów oszczędnościowych być RAIDFrame. Postanowiłem porównać wydajność w kompilowaniu kernela na różnych wersjach jądra i na pojedynczym dysku oraz RAIDFrame. Komputer to – dmesg

    Oto wyniki kompilowania kernela GENERIC.MP:

    KERNEL GENERIC (1 CPU) na wd0 (jeden dysk)
    build.sh started: Fri Aug 10 10:18:20 UTC 2007
    build.sh ended: Fri Aug 10 10:29:27 UTC 2007
    Łączny czas: 11:07

    KERNEL GENERIC.MP (2 CPU) na wd0 (jeden dysk)
    build.sh started: Fri Aug 10 11:01:50 UTC 2007
    build.sh ended: Fri Aug 10 11:13:34 UTC 2007
    Łączny czas: 11:43

    KERNEL GENERIC.MP (2 CPU) na raid0 (mirror wd0 i wd1)
    build.sh started: Mon Aug 13 14:17:58 UTC 2007
    build.sh ended: Mon Aug 13 14:29:42 UTC 2007
    Łączny czas: 11:44

    Jak widać różnice są praktycznie żadne przy GENERIC.MP, trochę może dziwić 40 sekundowe przyśpieszenie na pojedyńczym procesorze, ale należy pamiętać że p4 z HTT to tylko emulacja drugiego procesora i w niektórych sytuacjach korzystniej wyłączyć HT w biosie. Zapewne wzrost wydajności byłby widoczny kiedy uruchomiłoby się więcej niż jedna kompilacja na raz. Dla mnie najważniejsze jednak jest to że RAIDFrame sprawuje się naprawdę nieźle nie licząc fatalnego instalowania go (dlaczego nie ma w sysinstallu?!) i dość długiego czasu rekonstrukcji macierzy – podstawowy zainstalowany system i src zabrało półtora godziny aby uzyskać:

    # raidctl -S raid0
    Reconstruction is 100% complete.
    Parity Re-write is 100% complete.
    Copyback is 100% complete.

    Natomiast narzędzie raidctl bardzoi fajnie działa i podaje dużo przydatnych informacji:

    # raidctl -s -v raid0
    Components:
    /dev/wd0a: optimal
    /dev/wd1a: optimal
    No spares.
    Component label for /dev/wd0a:
    Row: 0, Column: 0, Num Rows: 1, Num Columns: 2
    Version: 2, Serial Number: 2007081401, Mod Counter: 91
    Clean: No, Status: 0
    sectPerSU: 128, SUsPerPU: 1, SUsPerRU: 1
    Queue size: 100, blocksize: 512, numBlocks: 488396928
    RAID Level: 1
    Autoconfig: Yes
    Root partition: Yes
    Last configured as: raid0
    Component label for /dev/wd1a:
    Row: 0, Column: 1, Num Rows: 1, Num Columns: 2
    Version: 2, Serial Number: 2007081401, Mod Counter: 91
    Clean: No, Status: 0
    sectPerSU: 128, SUsPerPU: 1, SUsPerRU: 1
    Queue size: 100, blocksize: 512, numBlocks: 488396928
    RAID Level: 1
    Autoconfig: Yes
    Root partition: Yes
    Last configured as: raid0
    Parity status: clean
    Reconstruction is 100% complete.
    Parity Re-write is 100% complete.
    Copyback is 100% complete.

    Pomijając wady związane z implementacją to praktycznie zerowym kosztem posiadamy w pełni funkjonalny RAID 1 odporny na awarię jednego dysku (można oczywiście dołożyć kolejne dyski i wtedy bezpieczeństwo wzrasta), można łatwo sprawdzić wypinając jeden dysk, uruchomić system, touch plik, zamknąć ssytem, podłączyć drugi dysk, wybootować, zamknąć, odłączyć drugi dysk, wybootować i stworzony plik powinien być na swoim miejscu :)

    Instalacja RAIDFrame: http://netbsd.org/docs/guide/en/chap-rf.html

    Wielkie podziękowania dla lamy z #netbsd.pl za pomoc – czekam na liveCD :)

    Related Posts with Thumbnails

    Share article:

    Permalink:

    CommentLuv badge

    Add your widget here