Family / Rodzina

    Mój pierwszy Proliant!

    Tosia skończyła jakiś czas temu półtora roku. Zastanawiałem się co kupić córce na prezent. Grzechotki przestały ją już interesować, a o wiele bardziej zaczynają zabawki logiczne. Szukałem, szukałem i w końcu jest! Idealny prezent na początek zabawy z komputerami! Proliant DL160 G5. System to oczywiście NetBSD 5.0 (zainstalowany jeszcze z pomocą taty). Myślę, że właściwie dobrany prezent pomoże w przyszłości rozwinąć zainteresowania o których Tosia jeszcze nie wie teraz. Może nawet zostanie kobietą Adminką, w końcu mało ich :)

    Powyższa opowieść jest oczywiście żartem, aż takim geekiem nie jestem aby pokazywać UNIXy półtoralatce. Aczkolwiek błękitna dioda od UID’a, którą można wyłączać i włączać była całkiem interesująca przez pewien okres czasu :) Poza tym miło się pracuje z taką przylepą na kolanach :)

    Mój pierwszy Proliant!
    Mój pierwszy Proliant!




    © odwiedź stronÄ™ http://maciejewski.org po wiÄ™cej fajnych postów!

    Job / Praca

    Disaster Key Recovery

    Klucze licencyjne, w ogóle licencjonowanie Microsoftu to horror. Jeżeli jeszcze zaginą lub zniszczą się to katastrofa na całego. Pół biedy jak zauważymy, że coś się dzieje złego z nalepką licencyjną czy dyskiem i zrobimy papierową kopie tychże. Można się spierać co do legalności takich działań, EULA stanowi chyba, że licencja jest pełnoprawna kiedy mamy fakturę zakupu, nośnik i nalepkę. Bardziej mi jednak chodzi o ratowanie się w sytuacji kiedy np ostatni człon na nalepce uległ zniszczeniu lub zamazaniu.
    Sytuacja więc wygląda tak. Jest sobie notebook z fabrycznie preinstalowanym Windowsem, dostarczony wraz z recovery partition. W komputerez tam niz tego ni z owego pada nam dysk. Kopia nie była robiona, natomiast szczęśliwie w całym biurze szaleje bacula czyli sieciowy backup. Nalepka jest jak już wspomniałem nieczytelna w skutek przetarcia się tu i ówdzie. Co należy zrobić:

    Job / Praca

    NetBSD 5.0 na Netrze T1-200

    W końcu przyszły! Dwie Netry T1-AC200 z allegro. Jak widać na stronie SUN’a (lub ORACLE’a za jakiś czas :) sprzęt co kolwiek stary, ale wciąż jary. Po pierwsze 1U, po drugie niska cena (249 zł za sztukę), po trzecie architektura SPARC, po czwarte hardcoreowy 1337 sprzęt dla geeków^W niezawodna maszyna dla administratorów. W sam raz na jeden mały serwis www do uzytku wewnętrznego + dodatkowa Netra do testów i poznania Solarisa. Słowo wyjaśnienia odnośnie hardcorowości tego sprzętu. Nie mamy możliwości podłączenia monitora, klawiatury (ewentualnie USB), nie ma karty graficznej. Wszystko co dostajemy to dwa porty sieciowe, dwa konsolowe, dwa USB i jeden zewnętrzny SCSI. Na szczęście jest także LOM czyli Lights Off Management do którego dostajemy się poprzez port szeregowy z innego komputera specjalnym kablem RS232< ->RJ45. Kabelek ten pasuje od urządzeń CISCO, lub można go zrobić samemu (koszt kitowej wtyczki RS232 z wyprowadzonymi kablami do zlutowania to 12 zł a schemat jest tu). Dla leniwców SUN przewidział promocje – 500 zł netto za oryginalny kabel ;). Generalnie podłączenie się do LOM to najmniejszy problem. Wystarczy jakiś komputer z terminalem. Ja wykorzystałem NetBSD i minicoma. Ustawiłem odpowiedni port szeregowy oraz jego prędkość (9600 8N1 oraz kontrola parzystości) i po Initializing Modem zgłosił się LOM. Polecam zapoznanie się z tym artykułem na początek. Czas na właściwa instalację. Tutaj zaczynają się schody. Można użyć zewnętrznego napędu SCSI, ale akurat takiego nie posiadałem (allegro też nie specjalnie ma takie rzeczy) pozatym przydałby się raz i koniec. Z zewnętrznego napędu USB Netry niestety nie da się wybootować. Pozostała ostatnia możliwość czyli netboot NetBSD z innej maszyny NetBSD. I tu zaczyna się właściwa część tego posta, a jeśli kiedyś będziesz mieć przyjemność instalacji tego typu to zgodzisz się ze mną że T1 jest hardcoreowa :)

    Potrzeba będzie nam kilku rzeczy. rarpd, tftp, dhcp i bootp używany z dhcp oraz nfs. Dodatkowo NetBSD/sparc64.

    Netrę podłączamy do sieci oraz do konsoli i szukamy adresu MAC pierwszej karty sieciowej. Jeśli jesteśmy w ok to wydajemy polecenie banner i rezultacie dostajemy to czego szukamy:

    ok banner
    Netra T1 200 (UltraSPARC-IIe 500MHz), No Keyboard
    OpenBoot 4.0, 1024 MB memory installed, Serial #401376.
    Ethernet address 0:3:ba:6:1f:e0, Host ID: 83061fe0.

    Jeśli jesteśmy w lom wydajemy polecenie power-on aby przejść do ok. Podczas startu Netry wysyłamy sygnał break (w minicomie CTRL+A F) aby maszyna nie zbootowała się dalej jeśli ma zainstalowany system i ostatecznie jesteśmy w ok i dajemy banner. Jeśli nie wiesz o czym piszę to znaczy że nie odrobiłeś lekcji z akapitu powyżej i nie przeczytałeś o co chodzi w LOM i jego trybach pracy :)

    Chwilowo Netrę zostawiamy i zajemiemy się środowiskiem w NetBSD potrzebnym do sieciowego wybootowania NetBSD na Netrze.

    Zaczynamy od rarpd czyli reverse ARP. Będzie on potrzebny do nadania IP na podstawie MAC którego chwilę wcześniej zdobyliśmy.

    Na NetBSD dopisujemy następujące rzeczy do następujących plików:

    /etc/ethers
    0:3:ba:6:1f:e0 netra

    /etc/hosts
    10.1.0.8 netra netra.

    Uruchamiamy poleceniem rarpd -a -d dzięki czemu rarpd nie forknie się nam do backgroundu i będziemy widzieć czy coś się z nim komunikuje. Adres IP oczywiście w/g własnych potrzeb. Mój NetBSD ma akurat 10.1.0.6 więc Netra będzie miała 10.1.0.8.

    Następnie konfigurujemy tftp czyli Trivial File Transfer Protocol. Tutaj jest trochę zabawy.

    Tworzymy po pierwsze katalog dla plików potrzebnych do podania przez TFTP:

    mkdir /tftpboot

    Linkujemy lub kopiujemy bootloader z dystrybucji NetBSD/sparc64 zmieniając nazwę na IP Netry zapisanej w hex’ie czyli szesnastkowo :) Czyli:

    Po ściągnięciu z ftp.netbsd.org/pub/NetBSD/NetBSD-5.0/sparc64/ kopiujemy bootloader do katalogu dostępnego dla tftp:

    cp /usr/home/cancer/sun/sparc64/installation/netboot/ofwboot.net /tftpboot

    Przeliczamy wybrany IP Netry na hex używając np bc
    bc
    obase=16
    10
    A
    1
    1
    0
    0
    8
    8

    Czyli 10.1.0.8 = 0A108

    Linkujemy ofwboot.net jako IPHEX. Gwoli wyjaśnienia – miałem dziwne problemy z tftpd i podczas debugowania dodałem dodatkowe zera do IP w HEX dlatego są dwa podlinkowania w moim katalogu. Ostatecznie nie wiem który zadziałał ale powinny obydwa :)

    ls -la /tftpboot/
    total 19240
    lrwxr-xr-x 1 root wheel 11 May 19 11:03 0A010008 -> ofwboot.net
    lrwxr-xr-x 1 root wheel 11 May 19 11:01 0A108 -> ofwboot.net
    -rw-r--r-- 1 root wheel 85249 May 19 10:15 ofwboot.net

    Kiedy mamy już przygotowany tftp możemy go uruchomić. Tutaj nastąpiła rzecz dziwna ponieważ whereis tftpd zwracało nic, a komenda tftpd oznajmiała tftpd: Command not found mimo że jak wół tftpd jest w basesystemie:

    ls -la /usr/libexec/tftpd
    -r-xr-xr-x 1 root wheel 23216 Feb 21 2008 /usr/libexec/tftpd

    tftpd uruchamiamy z inetd.conf odhashowując odpowiednią linijkę:
    tftp dgram udp wait root /usr/libexec/tftpd tftpd -l -s /tftpboot

    Musiałem lekko zmodyfikować dając pełną scieżkę:
    tftp dgram udp wait root /usr/libexec/tftpd /usr/libexec/tftpd -l -s /tftpboot

    Ostatecznie po którymś restarcie zadziałało mimo tego że kiedy widać było tftpd w procesach to Netra się nie chciała dogadać, kiedy w procesach tftpd nie było (po restarcie inetd) Netra nagle zaczęła się bootować. Nie wiem czy to akurat moja dolegliwość czy ogólnie NetBSD 4.0_STABLE. Zakładając, że rarpd i tftp jest ok, możemy wybootować Netrę dla testu.

    ok boot net
    Boot device: /pci@1f,0/pci@1,1/network@c,1 File and args:
    Using Onboard Transceiver - Link Up.
    18c00
    Server IP address: 10.1.0.6
    Client IP address: 10.1.0.8
    >> NetBSD/sparc64 OpenFirmware Boot, Revision 1.13
    Using Onboard Transceiver - Link Up.
    bootp: no reply
    Using BOOTPARAMS protocol: ip address: 10.1.0.8bootparamd: 'whoami' call failed
    open netbsd: Unknown error: code 60
    Failed to load 'netbsd'.
    : trying netbsd.gz...

    Najważniejszą informacją jest, że boot loader został pomyślnie wczytany. Błędem że bootp nie odpowiada nie przejmujemy się na razie, za chwilę go ustawimy. W logach rarpd powinno być mniej więcej coś takiego:

    rarpd: 00:03:ba:06:1f:e0 asked; netra replied

    Zapamiętać! architektura sparc64 używa dhcpd z bootp a nie samo bootp :) Godzina zaoszczędzona na bezskuteczne i dziwne skonfigurowanie bootp.

    Tworzymy konfig dhcp dla naszych potrzeb:

    /etc/dhcpd.conf
    deny unknown-clients;
    ddns-update-style none;
    allow bootp;

    subnet 10.1.0.0 netmask 255.255.255.0 {
    }

    group {
    option broadcast-address 10.1.0.255;
    option domain-name "test.net";
    option domain-name-servers 10.1.0.1;
    option routers 10.1.0.251;
    option subnet-mask 255.255.255.0;

    host netra {
    hardware ethernet 00:03:ba:06:1f:e0;
    fixed-address 10.1.0.8;
    option host-name "netra";
    filename "netbsd-INSTALL.gz";
    next-server 10.1.0.6;
    option root-path "/export/netra/root";
    }
    }

    Odpalamy dhcpd uprzednio tworząc plik /var/db/dhcpd.leases

    touch /var/db/dhcpd.leases
    /usr/sbin/dhcpd -d -f

    dyrektywa filename mówi jaki kernel ma załadować bootloader, chcemy kernel instalacyjny którego sciagamy z
    ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-5.0/sparc64/binary/kernel/netbsd-INSTALL.gz i umieszczamy tam gdzie jest root katalog w nfs czyli w /export/netra/root. Dyrektywa next-server 10.1.0.6 mówi gdzie jest serwer nfs, reszta opcji raczej jasna.

    Jeszcze Netry nie startujemy bo nie mamy skonfigurowanego NFS’a.

    Tworzymy strukturę katalogów i kopiujemy nasz instalacyjny kernel do odpowiedniego katalogu:

    mkdir -p /export/netra/root/dev
    mkdir /export/netra/usr
    mkdir /export/netra/home
    touch /export/netra/swap
    cp netbsd-INSTALL.gz /export/netra/root
    mknod /export/netra/root/dev/console c 0 0

    dodajemy wpisy do /etc/exports

    /etc/exports
    /export/netra/root -maproot=root:wheel netra
    /export/netra/swap -maproot=root:wheel netra
    /export/netra/usr -maproot=nobody:nobody netra
    /export/netra/home -maproot=nobody:nobody netra

    dodajemy do /etc/rc.conf komponenty NFSa:

    /etc/rc.conf
    rpcbind=YES
    mountd=YES
    nfsd=YES

    i startujemy go:

    /etc/rc.d/rpcbind start
    /etc/rc.d/mountd start
    /etc/rc.d/nfsd start

    Warto sprawdzić czy wszystkie komponenty zostały uruchomione, aby potem nie szukać błędu podczas bootowania. Kolejność uruchamiania jest dość ważna.

    Ok, jeśli mamy wszystko. Działający rarpd, tftp, dhcpd z bootp i nfsd mountd i rpcbind oraz odpowiednie prawa do wszystkiego – możemy spróbować kompletnie wybootować Netrę! Go!

    ok boot net
    Boot device: /pci@1f,0/pci@1,1/network@c,1 File and args:
    Using Onboard Transceiver - Link Up.
    18c00
    Server IP address: 10.1.0.6
    Client IP address: 10.1.0.8
    >> NetBSD/sparc64 OpenFirmware Boot, Revision 1.13
    Using Onboard Transceiver - Link Up.
    Using BOOTP protocol: ip address: 10.1.0.8, hostname: netra, netmask: 255.255.21
    root addr=10.1.0.6 path=/export/netra/root

    =0x8573d8
    Loading netbsd: 6935248+357272+439736 [522792+334504/

    I tu następują już znane komunikaty kernela. Jeśli na samym początku jest:

    NetBSD 5.0 (INSTALL) #0: Mon Apr 27 08:27:44 UTC 2009

    to znaczy, że jeśli hardware się nie wywali to za kilka sekund ujżymy upragnione:

    Welcome to sysinst, the NetBSD-5.0 system installation tool.

    Instalacja jest prawie taka sama jak na i386/amd64. Po ostatecznym zbootowaniu mamy gotowy system!

    uname -mrs
    NetBSD 5.0 sparc64

    Kilka uwag na koniec:

    1. Jeśli podczas bootowania kernel/system nie odpowiada, można wysłać mu breaka, wtedy jednak zamiast wrzucić nas do ok znajdziemy się w debugerze db>. po wydaniu reboot Netra zawieszała się na amen i tylko twardy reset a właściwie cold boot pomagał. Dlatego trzeba rebootować z opcją 0x4 co powoduje brak syncowania dysków i restart do lom.

    2. Chwilę przed wejściem do sysinstalla jest pytanie o typ klawiatury, trzeba wybrac sun-type4 a nie sun, ponieważ nie będą działały kursory. Instalacja jednak jest nadal możliwa używając literałów jako skrótów opcji.

    3. NetBSD na architekturze sparc64 nie zbootuje się z FFS2, dlatego chociaż / musi zostać jako FFS1, reszta partycji może być FFS2.

    4. Zmiana kernela z INSTALL na zwykły oraz rozpakowanie setsów do odpowiedniego miejsca w /export/netra/ oraz drobne modyfikacje rc.conf i swapa (tych w export) przy powyższej konfiguracji zaskutkuje stworzeniem bezdyskowej stacji roboczej. Zmiana setsów na i386 lub amd64 pozwoli uruchomić bezdyskową stację na zwykłym PC :)

    W razie problemów do dyspozycji macie komentarze oraz IRC – #netbsd.pl – nick cancer. Podziękowania dla lamy i morra za cenne wskazówki podczas uruchamiania netboota :)

    Na koniec dmesg z świeżo odpalonej Netry:

    Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
    2006, 2007, 2008
    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 5.0 (GENERIC) #0: Mon Apr 27 08:13:38 UTC 2009
    builds@b4.netbsd.org:/home/builds/ab/netbsd-5-0-RELEASE/sparc64/200904260229Z-obj/home/builds/ab/netbsd-5-0-RELEASE/src/sys/arch/sparc64/compile/GENERIC
    total memory = 1024 MB
    avail memory = 991 MB
    timecounter: Timecounters tick every 10.000 msec
    mainbus0 (root): SUNW,UltraAX-i2 (Netra T1 200): hostid 83061fe0
    cpu0 at mainbus0: SUNW,UltraSPARC-IIe @ 500 MHz, UPA id 0
    cpu0: 32K instruction (32 b/l), 16K data (32 b/l), 1024K external (64 b/l)
    psycho0 at mainbus0
    psycho0: SUNW,sabre: impl 0, version 0: ign 7c0 bus range 0 to 2; PCI bus 0
    psycho_alloc_extent: no "available" property
    psycho_alloc_extent: no "available" property
    DVMA map: c0000000 to e0000000
    IOTSB: 11d0000 to 1250000
    pci0 at psycho0
    pci0: i/o space, memory space enabled
    ppb0 at pci0 dev 1 function 1: Sun Microsystems Simba PCI bridge (rev. 0x13)
    pci1 at ppb0 bus 1
    pci1: i/o space, memory space enabled
    ebus0 at pci1 dev 12 function 0
    ebus0: Sun Microsystems PCIO Ebus2 (US III), revision 0x01
    flashprom at ebus0 addr 0-fffff not configured
    clock0 at ebus0 addr 0-1fff: mk48t59
    ebus_attach: idprom: incomplete
    SUNW,lomh at ebus0 addr 200000-200003 ipl 42 not configured
    alipm0 at pci1 dev 3 function 0: 74KHz clock
    iic0 at alipm0: I2C bus
    spdmem0 at iic0 addr 0x54
    spdmem0: SDRAM memory, data ECC, 512MB, 133MHz (PC-1100)
    spdmem0: 13 rows, 11 cols, 1 banks, 4 banks/chip, 7.5ns cycle time
    spdmem0: tAA-tRCD-tRP-tRAS: 3-20-20-45
    spdmem0: voltage LvTTL (not 5V tolerant), refresh time 7.8us (self-refreshing)
    spdmem1 at iic0 addr 0x55
    spdmem1: SDRAM memory, data ECC, 512MB, 133MHz (PC-1100)
    spdmem1: 13 rows, 11 cols, 1 banks, 4 banks/chip, 7.5ns cycle time
    spdmem1: tAA-tRCD-tRP-tRAS: 3-20-20-45
    spdmem1: voltage LvTTL (not 5V tolerant), refresh time 7.8us (self-refreshing)
    admtemp0 at iic0 addr 0x18: ADM1021 or compatible environmental sensor
    ebus1 at pci1 dev 7 function 0
    ebus1: Acer Labs M1533 PCI-ISA Bridge, revision 0x00
    dma at ebus1 addr 0-ffff ipl 1 not configured
    power at ebus1 addr 2000-2007 ipl 37 not configured
    com0 at ebus1 addr 3f8-3ff ipl 43: ns16550a, working fifo
    com0: console
    com1 at ebus1 addr 2e8-2ef ipl 43: ns16550a, working fifo
    gem0 at pci1 dev 12 function 1: Sun Microsystems ERI Ethernet (rev. 0x01)
    gem0: interrupting at ivec 3006
    ukphy0 at gem0 phy 1: Generic IEEE 802.3u media interface
    ukphy0: OUI 0x0008bb, model 0x0002, rev. 1
    ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
    gem0: Ethernet address 00:03:ba:06:1f:e0, 2KB RX fifo, 2KB TX fifo
    ohci0 at pci1 dev 12 function 3: Sun Microsystems USB controller (rev. 0x01)
    ohci0: interrupting at ivec 24
    ohci0: OHCI version 1.0, legacy support
    usb0 at ohci0: USB revision 1.0
    aceride0 at pci1 dev 13 function 0
    aceride0: Acer Labs M5229 UDMA IDE Controller (rev. 0xc3)
    aceride0: bus-master DMA support present
    aceride0: primary channel configured to native-PCI mode
    aceride0: using ivec 180c for native-PCI interrupt
    atabus0 at aceride0 channel 0
    aceride0: secondary channel configured to native-PCI mode
    atabus1 at aceride0 channel 1
    gem1 at pci1 dev 5 function 1: Sun Microsystems ERI Ethernet (rev. 0x01)
    gem1: interrupting at ivec 301c
    ukphy1 at gem1 phy 1: Generic IEEE 802.3u media interface
    ukphy1: OUI 0x0008bb, model 0x0002, rev. 1
    ukphy1: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
    gem1: Ethernet address 00:03:ba:06:1f:e0, 2KB RX fifo, 2KB TX fifo
    ohci1 at pci1 dev 5 function 3: Sun Microsystems USB controller (rev. 0x01)
    ohci1: interrupting at ivec 26
    ohci1: OHCI version 1.0, legacy support
    usb1 at ohci1: USB revision 1.0
    ppb1 at pci0 dev 1 function 0: Sun Microsystems Simba PCI bridge (rev. 0x13)
    pci2 at ppb1 bus 2
    pci2: i/o space, memory space enabled
    esiop0 at pci2 dev 8 function 0: Symbios Logic 53c896 (ultra2-wide scsi)
    esiop0: using on-board RAM
    esiop0: interrupting at ivec 1820
    scsibus0 at esiop0: 16 targets, 8 luns per target
    esiop1 at pci2 dev 8 function 1: Symbios Logic 53c896 (ultra2-wide scsi)
    esiop1: using on-board RAM
    esiop1: interrupting at ivec 1820
    scsibus1 at esiop1: 16 targets, 8 luns per target
    pcons at mainbus0 not configured
    timecounter: Timecounter "clockinterrupt" frequency 100 Hz quality 0
    timecounter: Timecounter "tick-counter" frequency 500000000 Hz quality 100
    No counter-timer -- using %tick at 500MHz as system clock.
    scsibus0: waiting 2 seconds for devices to settle...
    scsibus1: waiting 2 seconds for devices to settle...
    uhub0 at usb0: Sun Microsystem OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
    uhub0: 4 ports with 4 removable, self powered
    uhub1 at usb1: Sun Microsystem OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
    uhub1: 4 ports with 4 removable, self powered
    sd0 at scsibus0 target 0 lun 0: disk fixed
    sd0: 17274 MB, 7508 cyl, 19 head, 248 sec, 512 bytes/sect x 35378533 sectors
    sd0: sync (25.00ns offset 31), 16-bit (80.000MB/s) transfers, tagged queueing
    Kernelized RAIDframe activated
    root on sd0a dumps on sd0b
    root file system type: ffs




    © odwiedź stronÄ™ http://maciejewski.org po wiÄ™cej fajnych postów!

    Welcome to NetBSD 5.0!

    It seems like I win my bet with llama :)

    Today this nice link shows up on #netbsd.pl. Conclusion is clear: Welcome to NetBSD 5.0!

    So from Monday, I should have traffic juice redirected from llama.pl for whole week, and on lama’s blog should be „Hacked by Turkish Hackers” banner :) Thank You NetBSD!

    *** Wersja PL dla śledzących temat :) ***

    Wygląda na to, że wygrałem mój zakład z lamą :)

    Dzisiaj ten miły link pojawił się na #netbsd.pl. Podsumowanie jest jasne: Welcome to NetBSD 5.0!

    Zatem od poniedziałku powinien mieć ruch z llama.pl przekierowany przez cały tydzień, a na blogu lamy powinien pojawić się banner „Hacked by Turkish Hacker”. Dziękuję NetBSD!

    UPDATE: lama wywiązał się z obietnicy, od dzisiaj można oglądać na jego blogu atak Turkish Hackerów ;)

    This System Hacked!
    This System Hacked!
    Hacked by Turkish Hackers!
    Hacked by Turkish Hackers!




    © odwiedź stronÄ™ http://maciejewski.org po wiÄ™cej fajnych postów!

    In English

    Dependencies madness

    Time to time comes need to update whole bunch of pkgs in NetBSD. Dealing with pkg_rolling-replace (which is very good script to update packages) I’ve found that sometimes it won’t update package when its dependencies are broken or missing. Unfortunettly I had some of this things like:

    WARNING: No devel/p5-Compress-Zlib/Makefile - package moved or obsolete?
    WARNING: No devel/p5-IO-Compress-Base/Makefile - package moved or obsolete?
    WARNING: No devel/p5-IO-Compress-Bzip2/Makefile - package moved or obsolete?
    WARNING: No devel/p5-IO-Compress-Zlib/Makefile - package moved or obsolete?
    WARNING: No net/p5-INET6/Makefile - package moved or obsolete?

    or:

    security/py-denyhosts - py25-denyhosts-2.6nb2 missing
    textproc/py-xml - py25-xml-0.8.4nb2 missing

    The simplest way to resolve this is pkg_delete it, but when package is depend of other package or other package depend on missing package it’s hard to tell what You can delete first.

    With help may come two packages:

    pkgtools/pkgdepgraph: Visual representation of installed NetBSD packages
    graphics/graphviz: Graph Drawing Programs from AT&T Research and Lucent Bell Labs

    First, You have to generate file with Your installed packages:

    pkgdepgraph > pkg

    Then plot nice graph in png format:

    dot pkg -Tpng -o graph.png

    And here it is, my personall dependencies hell ;) (You have to view it in full size, becouse it’s to detailed to gave nice thumbnail – 2,5 MB PNG:)

    NetBSD's packages dependencies graph
    NetBSD's packages dependencies graph




    © odwiedź stronÄ™ http://maciejewski.org po wiÄ™cej fajnych postów!

    In English

    WordPress 2.7.1

    I’ve not posted in English since a while. This entry will be a warmup. So here it is – my blog on fresh WP 2.7.1. Update went smooth enough so I not went offline. I also updated outdated plugins. Now have all grean plugins instead of 31 yellow :) One thing which is still riddle to me is that WordPress claim to be 2.7.1 but still want me to update it to … 2.7.1 (see screenshot). Anyway, I didn’t notice any odd behavior so far. I think also speed of blog was slighty improved with upgrade. Also, with this upgrade I’m looking for new theme which will better fit to 2.7.1 (for example gravatars stops working now). Any recomendations? And last but not lease – new theme will welcome new visitors redirected from lama’s blog. I feel I win bet (RC4 on the cvs already :)

    Unsure WP what version it is ;)
    Unsure WP what version it is ;)




    © odwiedź stronÄ™ http://maciejewski.org po wiÄ™cej fajnych postów!

    Job / Praca

    Co NetBSD może zrobić dla Ciebie?

    Zainspirowany postem kolegi anioua (muszę zrobić jakieś ładne „about me” nota bene…) o „systemie do wszystkiego czyli do niczego + toster” postanowiłem opisać moje firmowe „success story” aby trochę wyprostować i wypromować wizerunek naszego ulubionego systemu. Zdaję sobie sprawę, że te same usługi można uruchomić na innych BSD, Linuxach czy może nawet na Windowsie, nie ma to być flame z innymi użytkownikami a jedynie zachęta do spróbowania NetBSD jako produkcyjnego, dobrze udokumentowanego, stabilnego środowiska.

    Co więc NetBSD może dla Ciebie zrobić, a właściwie co NetBSD robi z powodzeniem dla mnie.

    1. NetBSD stoii na straży ruchu Internetowego jako bridge pomiędzy PIXem a resztą sieci. Gdyby nie było PIXa oczywiście mógłby być także dobrym redundantnym routerem oraz firewallem (pf, carp). Narazie jednak PIX wycina to co nie potrzeba, a NetBSD przy pomocy snorta i mysql oraz base jako frontend wizualizuje co wchodzi i wychodzi do sieci.

    2. Jeśli chodzi o monitoring to NetBSD może być serwerem dla Cacti. We współpracy z mysqlem, rrd-toolemoraz net-snmp stanowi wspaniałe narzędzie do monitorowania wielu aspektów działania sieci oraz innych komponentów do których można dobrać się przez snmpd. Jeśli potrzeba Wam czegoś trudniejszego ale z większymi możliwościami to Nagios także sprawuje się świetnie pod NetBSD.

    Cacti monitorujące ruch w sieci - OS:NetBSD
    Cacti monitorujące ruch w sieci - OS:NetBSD

    3. Mówiąc o monitoringu, NetBSD może także monitorować za pomocą smokepinga wiele hostów jednocześnie oraz przedstawiać wykresy odpowiedzi na wykresach (ponownie rrd-tool) oraz porównywać zależności odpowiedzi jednych hostów od drugich. Przydatne jak stare urządzenia nie obsługują snmpd. Smokeping także wysyła maile kiedy coś dzieje się złego.

    Lista hostów i urządzeń monitorowanych przez smokeping - w każdym menu kilkanaście pozycji - OS:NetBSD
    Lista hostów i urządzeń monitorowanych przez smokeping - w każdym menu kilkanaście pozycji - OS:NetBSD
    Wykres osiągalności hosta z serwera NetBSD z smokepingiem
    Wykres osiągalności hosta z serwera NetBSD z smokepingiem

    Sprawy monitoringu mamy właściwie załatwione, pomijam takie drobiazgi jak arpwatch. Teraz co naprawdę NetBSD może dla Ciebie zrobić abyś mógł błysnąć u szefostwa :)

    4. Po pierwsze – może dla Ciebie zinwentaryzować sprzęt. Oddając sprawiedliwość o wiele łatwiej jest to zrobić przy pomocy AD i wymuszeniu instalacji klienta na końcówkach. Jeśli nie masz domeny Windowsowej to trzeba się przelecieć po wszystkich komputerach i zainstalować klienta OCS (ale tylko raz). Od tej pory po poprawnej konfiguracji NetBSD będzie zbierał informacje o hostach, zainstalowanym oprogramowniu, licenjach (wraz z kluczami), hardwarze (łącznie z wolnymi bankami jakich pamięci – nigdy więcej czołgania się pod biurkiem aby to stwierdzić!), peryferiach itp. A wszystko podane ładnie w formie webowej przy pomocy ocs, mysqla i apache.

    OCS inwentaryzuje sprzęt, wszystko pod ręką na www - OS:NetBSD
    OCS inwentaryzuje sprzęt, wszystko pod ręką na www - OS:NetBSD
    Szczegóły konkretnego hosta - zainstalowana pamięć - OS:NetBSD
    Szczegóły konkretnego hosta - zainstalowana pamięć - OS:NetBSD

    5. NetBSD potrafi także zadbać o dane w Twojej firmie, centralnie je backupując. Przy wykorzystaniu ccd oraz baculi i ponownie mysqla całe biuro mieści się w jednej skrzynce z 4,5 TB przestrzeni dyskowej.

    /dev/ccd0a 1.8T 1.5T 155G 91% /usr/home/bacula
    /dev/ccd1a 1.8T 1.1T 635G 63% /usr/home/bacula2
    /dev/wd4e 458G 139G 297G 31% /usr/home/storage

    Bacula pod NetBSD robi swoje.
    Bacula pod NetBSD robi swoje.

    Na średniej klasy sprzęcie czyli 1,5 Ghz 1GB RAM, bacula chodzi w tle, backupuje nawet otwarte pliki oraz wszystko w locie kompresuje i jest to do zniesienia dla użytkowników.

    6. NetBSD może także zadbać o porządek w zgłoszeniach od uzytkowników/klientów przy pomocy mysql, oraz rt, perla i kilkuset jego modułów, jak to wszystko zepnie się razem to działa to naprawdę świetnie, jest ewidencja zgłoszeń, czasy reakcji, ciągłość korespondencji (trzeba tylko numer ticketu uwzględnić w mailu ale przy odpowiedziach dzieje się to z automatu). Można robić wykresy spraw załatwionych i porzuconych itp. Wszystko oczywiście dostępne przez www.

    Przegląd zgłoszeń nadesłanych przez uzytkowników do rozwiązania - OS:NetBSD
    Przegląd zgłoszeń nadesłanych przez uzytkowników do rozwiązania - OS:NetBSD

    7. NetBSD radzi sobie także z komercyjnymi aplikacjami jak np bugzero. Dodatkowo wykorzystuje ona jave i apache-tomcat. Emulacja Linuxa spisuje się znakomicie i całość spisuje się bardzo stabilnie. Bugzero obsługuje zmiany developerskie oraz komunikaty z naszego ERP’a – JDE.

    Java, Tomcat, Bugzero - wszystko na NetBSD
    Java, Tomcat, Bugzero - wszystko na NetBSD

    8. NetBSD może także w końcu raz na zawsze wymusić zablokowanie komunikatorów oferując wyłącznie firmowy :) (dlatego userzy nie polubią NetBSD, ale przecież najważniejsi są adminie no nie? ;). Ponownie w akcji mysql, jabberd2 i jakiś klient jabberowy – polecam PSI i mamy lokalny komounikator, który działa nawet jak Internet nie działa, nie wychodzi poza sieć wystawiając się na podsłuchy itp., itd. Dodatkowo każdy użytkownik od razu może mieć wszystkich innych użytkowników w swojej liście kontaktów. Aktualnie w fazie testów, ale wygląda obiecująco:

    PSI pod Windowsem połączony lokalnie do jabberd2 pod kontrolą NetBSD
    PSI pod Windowsem połączony lokalnie do jabberd2 pod kontrolą NetBSD

    9. NetBSD oczywiście może także obsługiwać Sambę i serwować pliki oraz przestrzeń dyskową dla użytkowników.

    Samba pod NetBSD
    Samba pod NetBSD

    Pewnie na siłę znalazło by się coś aby spiąć wszystko w 10 punktach, ale i tak NetBSD robi dla firmy i dla mnie dobrą i stabilną robotę, więc pozostawiam 9 konkretnych powodów a nie 10 z czego jeden naciągany :)

    Celowo nie podaję dokładniejszych How-To, bo post miał być z gatunku „success story”. Jeśli jednak zainteresowałem Cię którymś z tematów możesz się ze mną skontaktować. Jeśli chciałbyś coś z powyższego tematu (lub innego – poczta, www, ftp itp. niewymienione powyżej ponieważ akurat w firmie nie chodzi to na NetBSD) wdrożyć komercyjnie u siebie, tym bardziej Twój mail jest mile widziany.

    Pozatym mam nadzieję, że kogoś zainteresowałem NetBSD jako systemem do wykorzystania w firmie :)

    P.S. Przed naciśnięciem publikuj przyszedł mi do głowy jednak punkt 10.

    10. NetBSD może pomóc wygrać Ci zakład ;) Aktualnie mamy już RC3!




    © odwiedź stronÄ™ http://maciejewski.org po wiÄ™cej fajnych postów!

    Co nowego w świecie NetBSD

    Dla kolegów po fachu nic w tym wpisie odkrywczego nie będzie, pozostali mogą znaleźć tu kilka ciekawych informacji zgromadzonych w jednym miejscu.

    Jak pewnie wiecie, mój zakład z lamą trwa i śmiem twierdzić, że jestem krok do przodu ponieważ NetBSD 5RC1 został niedawno wydany. Prawdopodobnie czeka nas jeszcze RC2, RC3 i może RC4, oraz wersja finalna. Windowsa nie ślędzę, może lama wypowie się pod postem :) Jeżeli jeszcze nie zapoznałeś się z NetBSD warto zacząć od 5 RC1. Poprawiono znacznie obsługę wielowątkowości, SMP jest w podstawowym kernelu, dołożono (narazie jako opcja) journaling do systemu FFS. O reszcie zmian można przeczytać na stronie projektu. NetBSD zainstalowany na moim netbooku Aspire One sprawuje się wyśmienicie. Działa ACPI, Xorg z netbookowa rozdzielczością, kamerka wifi, ethernet, czytnik kart. Już wkrótce szczegóły w osobnej notce.

    Czy wiecie co to jest Sidekick? Jest to smartphone amerykańskiej firmy Danger Hiptop. Danger został niedawno kupiony przez Microsoft. Wydawać by się mogło, że firma mająca dedykowany system dla smartphone’ów wykorzysta go w nowo nabytym produkcie. Prace nad telefonem były chyba tak zaawansowane, że MS postanowił kontynuować je wykorzystując istniejące oprogramowanie Open Source. Tak, tak, Sidekick działa pod kontrolą NetBSD! W sieci pokazały się już ogłoszenie o pracę dla developerów NetBSD. Czas pokaże co z tego wyjdzie, ale zapowiada się nieźle.

    Sidekick
    Sidekick

    Na koniec ciekawostka. Wiecie co będzie 14 lutego 2009? Walentynki tak, Dzień Chorych na Padaczkę również. Ważniejszą jednak informacją jest jednak to, że tego dnia UNIX Time czyli liczba sekund liczona od epoki czyli od 1 stycznia 1970 przybierze magiczną kombinację 1234567890!
    Szczegóły wraz z przykładem na blogu Huberta Feyrera.




    © odwiedź stronÄ™ http://maciejewski.org po wiÄ™cej fajnych postów!

    Job / Praca

    NetBSD + CCD = dużo miejsca z małych dysków

    Dzisiaj zajmiemy się fajną funkcją kernela NetBSD jaką jest CCD czyli Concatenated Disk Device (Powiązane Urządzenie Dyskowe). Służy ona do łączenia kilku fizycznych dysków (wd,sd) w jeden logiczny wolumen (ccd). Całość opiszę na przykładzie własnym wykonanym na serwerze IBM x346 z kontrolerem SCSI AIC-7902. Serwer ten jest dość mocno wykorzystywany ponieważ działa na nim IDS SNORT i niestety bardzo szybko kończy mu się miejsce na /var gdzie przechowywane są alerty. Co nam będzie potrzebne. Oprócz serwera i dysków, CCD w kernelu. Jeśli używasz GENERIC to CCD jest już tam domyślnie. Przed modyfikacją posiadał on dwa dyski SCSI po 70 GB:

    sd0 at scsibus1 target 0 lun 0: disk fixed
    sd0: 70006 MB, 65494 cyl, 3 head, 729 sec, 512 bytes/sect x 143374000 sectors
    sd0: sync (6.25ns offset 80), 16-bit (320.000MB/s) transfers, tagged queueing
    sd1 at scsibus1 target 1 lun 0:
    disk fixed
    sd1: 70006 MB, 65494 cyl, 3 head, 729 sec, 512 bytes/sect x 143374000 sectors
    sd1: sync (6.25ns offset 80), 16-bit (320.000MB/s) transfers, tagged queueing

    i wyglądał tak:

    Serwer z dwoma dyskami 70 GB
    Serwer z dwoma dyskami 70 GB

    Dołożyłem 4 dyski (po uprzednim dokupieniu ramek co nie jest takie proste w przypadku dwuletniego serwera) 17 GB, które od jakiegoś czasu leżakowały po wyjęciu z AS400 (lub eserver iseries, a nawet ostatnio i5, IBM i te jego zmiany nazw…). Tutaj drobny offtopic. Akurat to, że dyski uprzednio były w ASie jest dość istotne ponieważ przysparza to trochę kłopotów. Po przygotowaniu i włożeniu dysków:

    Nowe dyski, tylko jeszcze \"klik\" i już działają

    kernel zaraportował tylko:

    Komunikaty po włożeniu dysków
    Komunikaty po włożeniu dysków

    Po restarcie dyski niby zostały wykryte, ale przy normalnych komunikatach kernela pojawiło się coś jeszcze:

    sd2 at scsibus1 target 2 lun 0: disk fixed
    sd2(ahd1:0:2:0): preposterous sector size: 0x20a. Defaulting to 512 bytes.
    sd2: 16742 MB, 29550 cyl, 2 head, 580 sec, 512 bytes/sect x 34287616 sectors
    sd2: sync (12.50ns offset 63), 16-bit (160.000MB/s) transfers, tagged queueing
    ses0 at scsibus1 target 8 lun 0: processor fixed
    ses0: SAF-TE Compliant Device
    ses0: async, 8-bit transfers
    sd2(ahd1:0:2:0): preposterous sector size: 0x20a. Defaulting to 512 bytes.
    sd2(ahd1:0:2:0): generic HBA error
    sd2: dos partition I/O error
    sd2(ahd1:0:2:0): generic HBA error
    findroot: unable to read block 64
    sd2(ahd1:0:2:0): generic HBA error

    I tak x4 dyski. Oczywiście o disklabelowaniu i stworzeniu działającego CCD nie było mowy. Kilka osób sugerowało:

    20:10 lama_: mhm, albo jakos specjalnei je trzeba przygotowac, albo netbsd ich nie lubi/tego kontroloera/ cos jeszcze trzeba tam ustawic itp.
    15:08 lama_: kontrolera moze? ale watpie, to raczej kwestia firmware lub pogrzebania z nimi w AS ?
    13:20 lama_: to jest cos na lini sprzet/kernel z urzadzeniami wedlug mnie, a nie z disklabel
    13:17 lama_: to popatrz jeszcze po tasmach itp
    13:12 lama_: jest to zdecydowanie problem na innym poziomie niz disklabel

    20:08 < @emet> po wnikliwej analizie stwierdzam że coś jest spierdolone.

    20:13 < @gavroche> cancer^, MAsz napisane.
    20:13 < @gavroche> sd2(ahd1:0:2:0): generic HBA error
    20:13 < @gavroche> :)
    20:13 < @gavroche> Pewnie kontroler masz spierdolony.
    20:14 < @lama_> to by dyski 1-2 nie dzialaly ok
    20:14 < @gavroche> Może być jeden kanał spierdolony.
    20:14 < @gavroche> Na przykład.
    20:15 < @gavroche> Wtedy by działały.

    20:18 < @lama_> host bus adapter
    20:19 < @lama_> poszukaj jeszcze jakis firmware/bios updatow
    20:20 < @lama_> i kable badaj/polaczenia/zworki/ustawienia itp. pierwsze co musisz wlasnie wyeliminowac to na 100% ze to nie jest jakis sprzetowy problem

    20:28 < @gavroche> No, chyba, że masz za nowy sprzęt żeby na nim NetBSD uruchomić.
    20:28 < @gavroche> To wtedy gorzej. :< 20:33 <@majkel> re
    20:44 < @cancer^> gavroche: x346 ibm
    20:44 < @cancer^> 2 latek
    20:47 < @gavroche> No niestety. Przyjdzie Ci zaczekać na NetBSD 7.0. ;/
    20:47 < @gavroche> Nie rozumiem Was, że używacie NetBSD do celów innych niż edukacyjne.

    Na szczęście mimo czarnowidztwa kolegów, nic nie okazało się spierdolone, nie musiałem szukać biosów ani firmware do dysków i kontrolera, oszczędzone zostało mi także oczekiwanie na NetBSD 7.0 zwłaszcza, że mój zakład o NetBSD 5.0 vs Windows 7 nadal trwa :) NetBSD oprócz swoich walorów edukacyjnych będzie pełnił także dotychczasową rolę jako IDS oraz kilka innych zadań :)

    A wszystko dlatego, że po wywiadzie na grupach dotyczących AS’a400 okazało się, ze IFS (system plików ASowy) modyfikuje dysk na tyle, że NetBSD nie umie sobie z nim poradzić – z tąd też komunikat: sd2(ahd1:0:2:0): preposterous sector size: 0x20a. preposterous = absurdalny :)

    Lekarstwem na tą „absurdalną” wielkość sektora był lowlevel format wykonany z poziomu BIOS’a kontrolera. Po kilkunastu minutach i milionie potwierdzeń, dyski odzyskały nie tak absurdalną wielkość sektora jaką jest 512 bajtów zamiast 522 :)

    Czy na pewno, na 100% jesteś pewny że chcesz lowlevel format zrobić? Tak! A czy aby na pewno?...
    Czy na pewno, na 100% jesteś pewny że chcesz lowlevel format zrobić? Tak! A czy aby na pewno?...
    Czy na pewno, na 100% jesteś pewny że chcesz lowlevel format zrobić? Tak! A czy aby na pewno?...
    Czy na pewno, na 100% jesteś pewny że chcesz lowlevel format zrobić? Tak! A czy aby na pewno?...

    Wracając do sedna postu. Mamy działające dyski i kernel już sobie z nimi radzi. Wszystko pozapinane (literalnie ;) na ostatni zatrzask więc do dzieła :)

    Całość pozapinana
    Całość pozapinana

    Szybka kontrola, wszystko tym razem według oczekiwań, żadnych HBA error, żadnych absurdalnych sektorów (to naprawdę mi się podoba :), oraz żadnych I/O errorów w dosowych partycjach (a to już było wogóle od czapy :).

    sd0 at scsibus1 target 0 lun 0: disk fixed
    sd0: 70006 MB, 65494 cyl, 3 head, 729 sec, 512 bytes/sect x 143374000 sectors
    sd0: sync (6.25ns offset 80), 16-bit (320.000MB/s) transfers, tagged queueing
    sd1 at scsibus1 target 1 lun 0:
    disk fixed
    sd1: 70006 MB, 65494 cyl, 3 head, 729 sec, 512 bytes/sect x 143374000 sectors
    sd1: sync (6.25ns offset 80), 16-bit (320.000MB/s) transfers, tagged queueing
    sd2 at scsibus1 target 2 lun 0: disk fixed
    sd2: 17501 MB, 29550 cyl, 2 head, 606 sec, 512 bytes/sect x 35843670 sectors
    sd2: sync (12.50ns offset 63), 16-bit (160.000MB/s) transfers, tagged queueing
    sd3 at scsibus1 target 3 lun 0:
    disk fixed
    sd3: 17501 MB, 29550 cyl, 2 head, 606 sec, 512 bytes/sect x 35843670 sectors
    sd3: sync (12.50ns offset 63), 16-bit (160.000MB/s) transfers, tagged queueing
    sd4 at scsibus1 target 4 lun 0:
    disk fixed
    sd4: 17501 MB, 29550 cyl, 2 head, 606 sec, 512 bytes/sect x 35843670 sectors
    sd4: sync (12.50ns offset 63), 16-bit (160.000MB/s) transfers, tagged queueing
    sd5 at scsibus1 target 5 lun 0:
    disk fixed
    sd5: 17501 MB, 29550 cyl, 2 head, 606 sec, 512 bytes/sect x 35843670 sectors
    sd5: sync (12.50ns offset 63), 16-bit (160.000MB/s) transfers, tagged queueing

    Po pierwsze patrzymy na disklabel:

    disklabel sd2
    # /dev/rsd2d:
    type: SCSI
    disk: DRVS18D
    label: fictitious
    flags:
    bytes/sector: 512
    sectors/track: 606
    tracks/cylinder: 2
    sectors/cylinder: 1212
    cylinders: 29550
    total sectors: 35843670
    rpm: 10040
    interleave: 1
    trackskew: 0
    cylinderskew: 0
    headswitch: 0 # microseconds
    track-to-track seek: 0 # microseconds
    drivedata: 0

    4 partitions:
    # size offset fstype [fsize bsize cpg/sgs]
    a: 35843670 0 4.2BSD 0 0 0 # (Cyl. 0 - 29573*)
    d: 35843670 0 unused 0 0 # (Cyl. 0 - 29573*)
    disklabel: boot block size 0
    disklabel: super block size 0

    Tak wygląda standardowy disklabel czystego dysku, modyfikujemy go do użycia przez CCD. Potrzebujemy jeden cały slice c (d w nomenklautrze NetBSD to cały dysk, a c to wszystkie slice NetBSD) minus 1x sectors/cylinder oraz typ systemu ccd. Czyli po szybkim przeliczeniu

    bc
    35843670-1212
    35842458

    disklabel dla pierwszego dysku użytego w ccd będzie wyglądał tak:

    disklabel sd2
    # /dev/rsd2d:
    type: SCSI
    disk: DRVS18D
    label: fictitious
    flags:
    bytes/sector: 512
    sectors/track: 606
    tracks/cylinder: 2
    sectors/cylinder: 1212
    cylinders: 29550
    total sectors: 35843670
    rpm: 10040
    interleave: 1
    trackskew: 0
    cylinderskew: 0
    headswitch: 0 # microseconds
    track-to-track seek: 0 # microseconds
    drivedata: 0

    4 partitions:
    # size offset fstype [fsize bsize cpg/sgs]
    c: 35842458 1212 ccd # (Cyl. 1 - 29573*)

    Do edycji disklabela używamy komendy disklabel z opcją -e. Całą operację powtarzamy tyle razy ile mamy dysków odpowiednio przeliczając offset (no chyba, że macie wszystkie dyski takie same).

    Dopisujemy nasze slice do konfiga ccd:

    cat /etc/ccd.conf
    #ccd ileave flags component devices
    ccd0 0 none /dev/sd2c /dev/sd3c /dev/sd4c /dev/sd5c

    oraz inicjujemy ccd:

    ccdconfig -C -f /etc/ccd.conf
    ccdconfig: /dev/sd5c: No such file or directory

    Tutaj jeszcze drobna poprawka, trzeba stworzyć urządzenia w /dev bo jakoś same się nie zrobiły:

    Tworzymy i sprawdzamy czy jest ok:

    ./MAKEDEV sd5

    ll /dev/sd5*
    brw-r----- 1 root operator 4, 40 Jan 9 10:43 /dev/sd5a
    brw-r----- 1 root operator 4, 41 Jan 9 10:43 /dev/sd5b
    brw-r----- 1 root operator 4, 42 Jan 9 10:43 /dev/sd5c
    brw-r----- 1 root operator 4, 43 Jan 9 10:43 /dev/sd5d
    brw-r----- 1 root operator 4, 44 Jan 9 10:43 /dev/sd5e
    brw-r----- 1 root operator 4, 45 Jan 9 10:43 /dev/sd5f
    brw-r----- 1 root operator 4, 46 Jan 9 10:43 /dev/sd5g
    brw-r----- 1 root operator 4, 47 Jan 9 10:43 /dev/sd5h
    brw-r----- 1 root operator 4, 524328 Jan 9 10:43 /dev/sd5i
    brw-r----- 1 root operator 4, 524329 Jan 9 10:43 /dev/sd5j
    brw-r----- 1 root operator 4, 524330 Jan 9 10:43 /dev/sd5k
    brw-r----- 1 root operator 4, 524331 Jan 9 10:43 /dev/sd5l
    brw-r----- 1 root operator 4, 524332 Jan 9 10:43 /dev/sd5m
    brw-r----- 1 root operator 4, 524333 Jan 9 10:43 /dev/sd5n
    brw-r----- 1 root operator 4, 524334 Jan 9 10:43 /dev/sd5o
    brw-r----- 1 root operator 4, 524335 Jan 9 10:43 /dev/sd5p

    Wygląda na ok. Inicjujemy ccd jeszcze raz. Po poprawnym zainicjowaniu nie dostajemy żadnego komunikatu, ale za to w /dev pojawiaja nam się urządzenia ccd :)

    ccdconfig -C -f /etc/ccd.conf

    ls -la /dev/ccd*
    brw-r----- 1 root operator 16, 0 Feb 22 2008 /dev/ccd0a
    brw-r----- 1 root operator 16, 1 Feb 22 2008 /dev/ccd0b
    brw-r----- 1 root operator 16, 2 Feb 22 2008 /dev/ccd0c
    brw-r----- 1 root operator 16, 3 Feb 22 2008 /dev/ccd0d
    brw-r----- 1 root operator 16, 4 Feb 22 2008 /dev/ccd0e
    brw-r----- 1 root operator 16, 5 Feb 22 2008 /dev/ccd0f
    brw-r----- 1 root operator 16, 6 Feb 22 2008 /dev/ccd0g
    brw-r----- 1 root operator 16, 7 Feb 22 2008 /dev/ccd0h
    brw-r----- 1 root operator 16, 524288 Feb 22 2008 /dev/ccd0i
    brw-r----- 1 root operator 16, 524289 Feb 22 2008 /dev/ccd0j
    brw-r----- 1 root operator 16, 524290 Feb 22 2008 /dev/ccd0k
    brw-r----- 1 root operator 16, 524291 Feb 22 2008 /dev/ccd0l
    brw-r----- 1 root operator 16, 524292 Feb 22 2008 /dev/ccd0m
    brw-r----- 1 root operator 16, 524293 Feb 22 2008 /dev/ccd0n
    brw-r----- 1 root operator 16, 524294 Feb 22 2008 /dev/ccd0o
    brw-r----- 1 root operator 16, 524295 Feb 22 2008 /dev/ccd0p

    Skoro już mamy ccd jako urządzenie, sprawdzamy jego disklabel:

    # rccd0d:
    type: ccd
    disk: ccd
    label: fictitious
    flags:
    bytes/sector: 512
    sectors/track: 2048
    tracks/cylinder: 1
    sectors/cylinder: 2048
    cylinders: 70004
    total sectors: 143369832
    rpm: 3600
    interleave: 1
    trackskew: 0
    cylinderskew: 0
    headswitch: 0 # microseconds
    track-to-track seek: 0 # microseconds
    drivedata: 0

    4 partitions:
    # size offset fstype [fsize bsize cpg/sgs]
    a: 143369832 0 4.2BSD 0 0 0 # (Cyl. 0 - 70004*)
    d: 143369832 0 unused 0 0 # (Cyl. 0 - 70004*)

    Że tak powiem, automagicznie idealnie. Size jest sumą czterech dysków z ccd.conf. Po przeliczeniu mamy 67 GB do wykorzystania. Pozostało jeszcze tylko założyć system plików:

    newfs /dev/rccd0a
    /dev/rccd0a: 70004.8MB (143369832 sectors) block size 16384, fragment size 2048
    using 380 cylinder groups of 184.23MB, 11791 blks, 23296 inodes.
    super-block backups (for fsck_ffs -b #) at:
    32, 377344, 754656, 1131968, 1509280, 1886592, 2263904, 2641216, 3018528, 3395840, 3773152, 4150464, 4527776, 4905088,
    ......

    i podmontować w wybranym miejscu:

    mkdir /usr/home/storage
    mount /dev/ccd0a /usr/home/storage/

    Sprawdzamy czy wszystko gra:

    df -h
    Filesystem Size Used Avail Capacity Mounted on
    /dev/sd0a 1.9G 37M 1.8G 1% /
    /dev/sd0f 29G 12G 15G 44% /var
    /dev/sd0e 19G 16G 2.0G 89% /usr
    /dev/sd0g 13G 3.6G 9.2G 27% /usr/home
    tmpfs 781M 48K 781M 0% /tmp
    kernfs 1.0K 1.0K 0B 100% /kern
    procfs 4.0K 4.0K 0B 100% /usr/pkg/emul/linux/proc
    /dev/sd1e 67G 49G 15G 76% /backup
    /dev/ccd0a 67G 2.0K 64G 0% /usr/home/storage

    Wygląda na to, że wszystko w jak najlepszym porządku, możemy przetestować wydajność naszego nowego ccd:

    dd if=/dev/zero of=file_1GB bs=1m count=1k
    1024+0 records in
    1024+0 records out
    1073741824 bytes transferred in 19.476 secs (55131537 bytes/sec)

    Imponujące :)

    Jeśli jesteś zadowolony ze swojego setupu, ostatnią rzeczą jest dopisanie ccd=YES do rc.conf oraz do fstaba punktu montowania:

    echo ccd=YES >> /etc/rc.conf
    echo "/dev/ccd0a /usr/home/storage ffs rw,softdep 1 1" >> /etc/fstab

    Ostatni restart, aby zobaczyć czy wszystko gra i jeśli po restarcie masz podmontowany ccd tam gdzie powinien być to gratulacje – ccd skonfigurowany i działa :)

    Jeszcze uwaga na koniec – FFS w NetBSD obsługuję partycję do wielkości 2 TB. Zatem jeśli chcesz połączyć dyski w więcej niż 2 TB, niestety trzeba zrobić kilka ccd, np, mój serwer backupowy dla userów posiada 4 TB w dwóch ccd:

    /dev/ccd0a 1.8T 1.5T 189G 89% /usr/home/bacula
    /dev/ccd1a 1.8T 1.0T 683G 60% /usr/home/bacula2




    © odwiedź stronÄ™ http://maciejewski.org po wiÄ™cej fajnych postów!

    Hazard blogowy.

    Nigdy nie byłem podatny na hazard. Właściwie w całym swoim życiu przegrałem tylko 20 zł na zakładach bukmacherskich co mnie skutecznie zniechęciło do takich rozrywek. Jakiś czas temu jednak wywiązała się taka oto dyskusja z Lamą na ircu:

    (niestety jakaś pomroczność jasna albo to był pierwszy dzień używania Acer Aspire One – o którym później – więc literówka na literówce :/ ale zostawiam w oryginale)

    12:13 <lama`> teraz niech uptajma nabije ze 100 dni chociaz
    12:13 <cancer^> hehe po co ?
    12:13 <cancer^> wzesniej wyjdzie 5.0 stable
    12:14 <lama`> lol
    12:14 <lama`> jasne
    12:15 <lama`> jestem gotyw przyjac zaklada ze windows 7 uzyska status RTM przed pojawieniem sie ISO z netbsd 5.0
    12:26 <cancer^> hehe
    12:26 <cancer^> nie jestem w temacie windows 7
    12:26 <cancer^> wiec nie wiem kiedy jest planowany release
    12:31 <lama`> jesien 2009 pewnie
    12:31 <lama`> pozna
    12:31 <lama`> czyli rok co najmniej
    12:47 <cancer^> no to skolonny bylbym sie zalozyc ze netbsd 5.0 bedzie szybciej :)
    12:51 <lama`> haha
    12:51 <lama`> ok
    12:51 <lama`> jak zrobie bloga
    12:51 <lama`> zrobimy oficjalny zaklad pomiedzy blogami :>
    12:51 <lama`> PRZEGRASZ! :P
    12:51 <lama`> tylko co mialby zrobic przegrany? :P
    13:43 <cancer^> przekieorwac traffic ze swojego bloga na drugiego ;)
    13:46 <lama`> cos smieszniejszego :>
    13:46 <lama`> ale to moze byc z jakims obrazkiem :>
    13:47 <cancer^> ok
    13:49 <cancer^> no to masz temat na pierwszy post :)
    13:49 <cancer^> zaklad :)
    13:49 <lama`> ok
    13:50 <lama`> tygodniowe przekierowanie traffiku po wyswietleniu jakiegos obrazka :>
    13:50 <cancer^> tzn jak by to mialo wygladac?
    13:54 <lama`> wchodz sie na cancer.pl i tam jakis obrazek przygotowany przezemenie bo przegrasz
    13:54 <lama`> i po 10 sekundach redirect na llama.pl
    13:54 <lama`> albo innaczej
    13:55 <lama`> moze trzeba bedzie podstawic stronke ze zostala shakowana przez turkish hakerow i wyjasnienia dopiero pozniej? :P
    13:56 <cancer^> no dobra :)
    13:56 * cancer^ sie zastanawia czy nie straci za duzo na tym jak przegra hehe
    14:01 <cancer^> Wiek domeny :4 lata, 185 dni
    14:01 <cancer^> nie wiedzialem ze tak dlugo ja mam juz :)

    Jak widzicie odważnie stawiam czoła propagandzie Microsoftu i bronię honoru NetBSD ;) A że już mamy 5_BETA to szanse są duże!

    Oficjalnie więc przy pomocy tego posta przyjmuję zakład!



    Related Posts with Thumbnails

    © odwiedź stronÄ™ http://maciejewski.org po wiÄ™cej fajnych postów!

    Add your widget here