Job / Praca

    Wymiana dysków i NetBSD 4.0_BETA2

    Nasz serwer od jakiegoś czasu cierpi na chroniczny brak miejsca, wiec w końcu nadszedł czas na wymianę macierzy. Stare wysłużone dyski odeszły na półkę:

    compaq1
    Oryginalny dysk compaq dostarczony z Proliantem - 18 GB bardzo głośnego SCSI

    compaq2

    Drugi podobny - ta sama pojemność i ta sama głośność :)

    compa3

    Obydwa spięte w RAID1 teraz już tylko będą leżakować jako bardzo stara kopia z NetBSD 3.99.20 na pokładzie.

    A to już najnowsza macierz – 3x 73GB w RAID5 czyli 136GB do wykorzystania:

    compaq4

    Dyski znacznie szybsze i znacznie cichsze :)

    compaq5

    Wymiana poszła szybko, cała macierz jest hotswapowa więc wystarczylo tylko nacisnąć dźwignie i pociągnać kieszeń oraz powtórzyć 3 krotnie operacje. Efekt – goły Proliant:

    compaq6

    A następnie zamontować nowe dyski (ramek nie wymieniałem więc wielkości dysków się nie zgadzają)

    compaq7

    Pierwsze odpalenie i spodziewany komunikat o braku macierzy:

    compaq8

    Widać także dwa procesory Xeon 1GhZ

    Konfiguracja macierzy jest trywialna, jak prawie widać mamy 3 dyski o takiej samej pojemności i możliwość stworzenia macierzy RAID5, RAID1 lub RAID0

    compaq10

    Po zatwierdzeniu zgodnie z oczekiwaniami powstaje macierz o wielkości n-1 dysków:

    compaq11

    compaq12

    Status OK!

    Czas na instalację :)

    compaq13

    Co prawda to nie napęd slim który może pracować w takiej pozycji, ale sprawował sie nadzwyczaj dobrze i nie zmuszał do stawiania Compaqowego klocka pionowo ;)

    Niestety pierwsza próba bootowania zakończyła się porażką:

    compaq14

    Jak się później dowiedziałem pisząc na liste port-i386@netbsd.org problem z ACPI

    Nastepne bootowanie z dyskietek i voila (pewnie wyłączone ACPI było) dobrze znany ekran sysinstall’a

    compaq15

    Ładnie wykryta macierz ld0

    compaq16

    Po instalacji i przy pierwszym uruchomieniu ten sam błąd:

    compaq17

    Na szczęście można przy bootwaniu wywołać userconf i wyłączyć niektóre funkcje:

    boot -c
    disable acpi
    quit

    Po tym system wstał bezproblemu, rekompilacja GENERIC.MP zakończona sukcesem i ponowny restart. Co dziwne GENERIC.MP z włączonym ACPI wstaje ale przy próbie zalogowania się zamiast root pokazuje się rrrrrrrrrrrrrrrrrrrrrrrrooooooooooooooooooooooooooooooooootttttttttttttttttttt, wiec także musiałem wyłączyć ACPI.

    Finalnie system bez ACPI wygląda tak:

    # dmesg
    Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
    The NetBSD Foundation, Inc. All rights reserved.
    Copyright (c) 1982, 1986, 1989, 1991, 1993
    The Regents of the University of California. All rights reserved.

    NetBSD 4.0_BETA2 (GENERIC.MP) #0: Tue Jun 19 10:28:19 CEST 2007
    cancer@:/usr/obj/sys/arch/i386/compile/GENERIC.MP
    total memory = 1279 MB
    rbus: rbus_min_start set to 0x80000000
    avail memory = 1245 MB
    timecounter: Timecounters tick every 10.000 msec
    userconf: configure system autoconfiguration:
    uc> disable acpi
    [460] acpi0 disabled
    uc> quit
    Continuing...
    timecounter: Timecounter "i8254" frequency 1193182 Hz quality 100
    BIOS32 rev. 0 found at 0xf0000
    mainbus0 (root)
    mainbus0: Intel MP Specification (Version 1.4) (COMPAQ PROLIANT )
    cpu0 at mainbus0: apid 1 (boot processor)
    cpu0: Intel Pentium III (686-class), 996.91 MHz, id 0x686
    cpu0: features 383fbff
    cpu0: features 383fbff
    cpu0: features 383fbff
    cpu0: I-cache 16 KB 32B/line 4-way, D-cache 16 KB 32B/line 4-way
    cpu0: L2 cache 256 KB 32B/line 8-way
    cpu0: ITLB 32 4 KB entries 4-way, 2 4 MB entries fully associative
    cpu0: DTLB 64 4 KB entries 4-way, 8 4 MB entries 4-way
    cpu0: calibrating local timer
    cpu0: apic clock running at 132 MHz
    cpu0: 8 page colors
    cpu1 at mainbus0: apid 0 (application processor)
    cpu1: starting
    cpu1: Intel Pentium III (686-class), 996.84 MHz, id 0x686
    cpu1: features 383fbff
    cpu1: features 383fbff
    cpu1: features 383fbff
    cpu1: I-cache 16 KB 32B/line 4-way, D-cache 16 KB 32B/line 4-way
    cpu1: L2 cache 256 KB 32B/line 8-way
    cpu1: ITLB 32 4 KB entries 4-way, 2 4 MB entries fully associative
    cpu1: DTLB 64 4 KB entries 4-way, 8 4 MB entries 4-way
    mpbios: bus 0 is type PCI
    mpbios: bus 3 is type PCI
    mpbios: bus 9 is type ISA
    ioapic0 at mainbus0 apid 8 (I/O APIC)
    ioapic0: pa 0xfec00000, version 11, 35 pins
    ioapic0: misconfigured as apic 0
    ioapic0: remapped to apic 8
    pci0 at mainbus0 bus 0: configuration mode 1
    pci0: i/o space, memory space enabled, rd/line, rd/mult, wr/inv ok
    pchb0 at pci0 dev 0 function 0
    pchb0: ServerWorks CNB20-HE PCI/AGP bridge (rev. 0x06)
    pchb1 at pci0 dev 0 function 1
    pchb1: ServerWorks CNB20-HE PCI/AGP bridge (rev. 0x06)
    pci1 at pchb1 bus 3
    pci1: i/o space, memory space enabled, rd/line, rd/mult, wr/inv ok
    cac0 at pci1 dev 3 function 0: Compaq Smart Array 431
    cac0: interrupting at ioapic0 pin 25 (irq 5)
    ld0 at cac0 unit 0: RAID5 array
    ld0: 136 GB, 17847 cyl, 255 head, 63 sec, 512 bytes/sect x 286726080 sectors
    esiop0 at pci0 dev 1 function 0: Symbios Logic 53c1510d (ultra2-wide scsi)
    esiop0: using on-board RAM
    esiop0: interrupting at ioapic0 pin 19 (irq 10)
    scsibus0 at esiop0: 16 targets, 8 luns per target
    esiop1 at pci0 dev 1 function 1: Symbios Logic 53c1510d (ultra2-wide scsi)
    esiop1: using on-board RAM
    esiop1: interrupting at ioapic0 pin 18 (irq 11)
    scsibus1 at esiop1: 16 targets, 8 luns per target
    fxp0 at pci0 dev 2 function 0: i82559 Ethernet, rev 8
    fxp0: interrupting at ioapic0 pin 17 (irq 15)
    fxp0: Ethernet address 00:02:a5:d4:e0:96
    inphy0 at fxp0 phy 1: i82555 10/100 media interface, rev. 4
    inphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
    vga1 at pci0 dev 3 function 0: ATI Technologies 3D Rage IIC (rev. 0x7a)
    wsdisplay0 at vga1 kbdmux 1: console (80x25, vt100 emulation)
    wsmux1: connecting to wsdisplay0
    Compaq Advanced Systems Management Controller (miscellaneous system) at pci0 dev 4 function 0 not configured
    ex0 at pci0 dev 5 function 0: 3Com 3c905B-TX 10/100 Ethernet (rev. 0x24)
    ex0: interrupting at ioapic0 pin 21 (irq 15)
    ex0: MAC address 00:01:02:9f:b3:51
    exphy0 at ex0 phy 24: 3Com internal media interface
    exphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
    pcib0 at pci0 dev 15 function 0
    pcib0: ServerWorks OSB4 southbridge (rev. 0x51)
    rccide0 at pci0 dev 15 function 1
    rccide0: ServerWorks OSB4 IDE Controller (rev. 0x00)
    rccide0: bus-master DMA support present
    rccide0: primary channel configured to compatibility mode
    rccide0: primary channel interrupting at ioapic0 pin 14 (irq 14)
    atabus0 at rccide0 channel 0
    rccide0: secondary channel configured to compatibility mode
    isa_intr_establish: no MP mapping found
    failed to allocate interrupt slot for PIC pic0 pin 15
    rccide0: no compatibility interrupt for use by secondary channel
    isa0 at pcib0
    com0 at isa0 port 0x3f8-0x3ff irq 4: ns16550a, working fifo
    com1 at isa0 port 0x2f8-0x2ff irq 3: ns16550a, working fifo
    pckbc0 at isa0 port 0x60-0x64
    pckbd0 at pckbc0 (kbd slot)
    pckbc0: using irq 1 for kbd slot
    wskbd0 at pckbd0: console keyboard, using wsdisplay0
    attimer0 at isa0 port 0x40-0x43: AT Timer
    pcppi0 at isa0 port 0x61
    pcppi0: children must have an explicit unit
    midi0 at pcppi0: PC speaker (CPU-intensive output)
    sysbeep0 at pcppi0
    isapnp0 at isa0 port 0x279: ISA Plug 'n Play device support
    npx0 at isa0 port 0xf0-0xff
    npx0: reported by CPUID; using exception 16
    fdc0 at isa0 port 0x3f0-0x3f7 irq 6 drq 2
    pcppi0: attached to attimer0
    isapnp0: no ISA Plug 'n Play devices found
    ioapic0: enabling
    timecounter: Timecounter "clockinterrupt" frequency 100 Hz quality 0
    fd0 at fdc0 drive 0: 1.44MB, 80 cyl, 2 head, 18 sec
    Kernelized RAIDframe activated
    scsibus0: waiting 2 seconds for devices to settle...
    scsibus1: waiting 2 seconds for devices to settle...
    atapibus0 at atabus0: 2 targets
    cd0 at atapibus0 drive 1: cdrom removable
    cd0: 32-bit data port
    cd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 2 (Ultra/33)
    cd0(rccide0:0:1): using PIO mode 4, DMA mode 2, Ultra-DMA mode 2 (Ultra/33) (using DMA)
    boot device: ld0
    root on ld0a dumps on ld0b
    root file system type: ffs
    cpu1: CPU 0 running
    wsdisplay0: screen 1 added (80x25, vt100 emulation)
    wsdisplay0: screen 2 added (80x25, vt100 emulation)
    wsdisplay0: screen 3 added (80x25, vt100 emulation)
    wsdisplay0: screen 4 added (80x25, vt100 emulation)

    Jedyną niedogodnością jest teraz konieczność przy każdym restarcie wyłączania ręcznego ACPI, ponieważ GENERIC.MP nie chciał mi się skompilować z wyłączonym ACPI. Jest jednak sposób na to aby ustawienia userconf były odczytywane przez kernel przy starcie. Jak opisał Hubert Feyrer w swoim blogu Jared D. McNeill zaproponował dodanie komendy bootprops, która będzie tworzyła plik z ustawieniami z którymi uruchomiliśmy NetBSD, jeśli wszystko jest ok (tak jak w moim przypadku disable acpi pozwala normalnie uruchomić system) dodajemy opcje userconf do /netbsd.plist poprzez bootprops i cieszymy się automatycznym bootowaniem NetBSD z właściwymi opcjami :) Tutaj znajduje się patch który usuwa limit 2k wielkości pliku /netbsd.plist.

    Related Posts with Thumbnails

    Share article:

    Permalink:

    CommentLuv badge

    Add your widget here