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!

    Fun

    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!



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

    NetBSD

    BSD Magazine #2

    Z lekkim opóźnieniem krótka recenzja BSD Magazine #2.

    Numer drugi poświęcony jest prawie w całości OpenBSD na spółę z PC-BSD.

    Co jak z czym i po co wydane nie będę się rozpisywał ponieważ nie zmieniło się za bardzo od numeru pierwszego. Tyle samo stron, taki sam dobry papier i miły layout. Z pozytywnych zmian widać, że redaktorzy czytają mojego bloga i nie ma już pokemona FreeBSD na każdej stronie, a zgodnie z sugestią piszącego te słowa – artykuły o Openie ozdabia Puffy, a o PC-BSD piłka, która jak mniemam jest logiem PC-BSD ;)

    Na dołączonym DVD dostajemy OpenBSD 4.3 oraz DragonFly 1.12.2. Jest także MirBSD czyli bardzo okrojona hybryda Open i Net – BSD. Dostajemy także antywirusa FPROT. Antywirus dla BSD? Może kiedyś się przyda przed jakimiś makro wirusami, bo innego zastosowania nie widzę.

    Teraz trochę o tym co najbardziej wartościowe czyli content. Jak już wspomniałem numer drugi sponsorowany jest przez Pana Theo więc mamy artykuł o instalacji Opena wraz z listingami menusów i co odpowiadać na kolejne pytania. Artykuł tyle co dobry to zupełnie chybiony z dwóch powodów. Czytelnikami BSD Magazine są osoby które mają styczność z systemami BSD i ktoś kto by chciał spróbować zainstalować opena napewno nie wydawałby ponad 30 zł na kwartalnik, którego w dodatku nie można kupić w kiosku. Po drugie tutoriali do wszystkich systemów we wszystkich językach jest tyle, że taki opis tylko po angielsku jest zupełnie zbędny.

    Dalej pozostajemy w podstawowych zagadnieniach administracji Openem czyli instalacja paczek. Komentarz z poprzedniego akapitu w zasadzie mogę powtórzyć.

    Dalej jest już lepiej. W artykule Gillesa Chehade znajdziemy informacje o tym jak zbudować sobie środowisko developerskie z kontrolą wersji przy pomocy cvs, środowiskiem chroot i listą mailingową.
    Czy jak to jest napisane „OpenBSD the best development platform” to bym polemizował, z uwagi chociażby na fatalną obsługę SMP w Openie, a moc kilku procesorów przy kompilacjach jednak jest ważna, ale informacje tam zawarte można z powodzeniem przenieść na inne platformy.

    Następnie możemy poczytać o budowaniu serwera SAMP przy pomocy Opena. SAMP to po prostu Squid, Apache, MySQL i PHP :) Po przeczytaniu artykułu będziemy mieli serwer Proxy i zarządzanie prze Webmina. Znalazłem tam także literówkę przy ósmym screenie – „The defoult shell”, zdarza się ;)

    Kolejnym artykułem jest (a jakże) OpenBSD – tym razem w ujęciu desktopowym. Właściwie o X11 jest 30 linijek tekstu wraz z komendami i instalacją KDE. Gratulacje dla autora za optymizm, chyba że ma wybitne szczęśćie i ln -s .xinitrc .xsession && startx w jego wypadku działa zawsze i wszędzie. Reszta dwkustronicowego artykułu to opis jak pozakładać grupy alby współdzielić dokumenty i cdrom, oraz w zasadzie powtórzenie informacji jak skonfigurować sieć. Aby nie być gołosłownym w swojej krytyce rzućcie okiem na opis bardzo podstawowej konfiguracji serwra X w The Guide…

    Pozostała część magazynu traktują o Jabberze i połączeniu go do innych sieci czyli o transportach jak i szyfrowaniu połączenia i rozmów prowadzonych przez nasz własny serwer jabberowy. Bardzo fajne i przydatne. Jest też artykuł o PBI czyli graficznym instalatorze PC-BSD (uogólniając).

    Z artykułów mniej technicznych mamy sprawozdanie z Absolute FreeBSD 2, postępy nad certyfikatami BSD, wywiad z Damienem Bergamini (OpenBSD Developer) oraz Mac OS X jako „inne BSD”. Jest co poczytać.

    Czy mamy coś o NetBSD? Mamy! 3 newsy – o supporcie UDF w NetBSD (Universal Disk Format), zmianie licencji NetBSD na dwu-klauzulową oraz zapowiedniach o tam nowego w NetBSD 5.0 (między innymi ulepszenia w SMP, wielowątkowości, obsłudze PAE w XENie oraz wspomnianego UDF i wiele innych). Także w artykule o Kernel File System czyli kernelu jako środowisku programistycznym i testowym jest trochę o NetBSD a właściwie o rump czyli Runnable Userspace Meta Program.

    Numer mogę zaliczyć do udanych chociaż mniej niż pierwszy. Ważne, że znalazłem trochę ciekawych howtosów (tych o jabberd), jako czytelnik jestem więc kontent ;) Niestety w zapowiedziach na grudniowy numer widać, że redakcja znowu idzie w absolutnie podstawowe tutoriale – tym razem o PC-BSD. Zobaczymy co z tego wyjdzie, o czym oczywiście nie omieszkam poinformować w kolejnym wpisie BSD Magazine #3




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

    Fun

    Pomieszanie z poplątaniem

    Taki oto będzie ten post.

    Sezon ogórkowy właśnie się zaczyna, dlatego wszystko to co uzbierało mi się w przeciągu kilku dni wrzucę do jednego posta, co byście na wakacjach mieli wszystko w jednym rssie i nie będę nadwyrężał Waszych gprsów ;)

    -j – no właśnie, wczoraj odkryłem przy pomocy morr’a (znowu ;) kolejną niesamowitą rzecz w NetBSD, jest to dla mnie odkrycie na miarę „make show-options” w pkgsrc dzięki, któremu po kilku miesiącach przestałem się zastanawiać „skąd u licha wiedzieć co dopisać do mk.conf, żeby mi się postfix z saslem skompilował” :) magiczna opcja -j mówi ile na raz jobów make może odpalić. W przypadku większej liczby procesorów drastycznie skacze wydajność kompilacji, np kompilacja kernela GENERIC na IBM Netfinity 5000 (2x P3 500Mhz) skróciła się z 56 minut do 27, a mój 4x Xeon 3.0 Ghz mieli go za to w 5 minut, neat :>!

    – pisząć o kompilacji kerneli – zapamiętaj cancer, jak używasz net.inet.ip.forwarding w sysctl to używaj, a nie dodajesz option GATEWAY na jakimś zapomnianym routerze (no dobra nie tak bardzo zapomnianym – to ten IBM z posta wyżej), po czym przy updejcie do 4.99.69 (NetBSD is sexy ;) zastanawiasz się co jest z tym PF i NAT. Downgreadujesz, odpalasz kernele starsze od userlandu, wymieniasz karty sieciowe, zmieniasz PF na IPNAT/IPF, piszesz regułki nata bacznie wpatrując się w klawiaturę, szukasz niewidzialnych spacji itp.

    # Uptime | System Boot up
    ----------------------------+---------------------------------------------------
    1 53 days, 21:23:35 | NetBSD 4.99.58 Sat Mar 29 16:33:27 2008
    2 25 days, 08:20:05 | NetBSD 4.99.58 Fri May 23 16:08:39 2008
    3 18 days, 19:16:11 | NetBSD 4.99.63 Wed Jun 18 16:34:35 2008
    -> 4 0 days, 11:14:24 | NetBSD 4.99.69 Mon Jul 7 21:28:15 2008
    5 0 days, 04:50:57 | NetBSD 4.99.69 Mon Jul 7 16:35:22 2008
    6 0 days, 02:28:32 | NetBSD 4.99.69 Mon Jul 7 11:58:23 2008
    7 0 days, 01:47:26 | NetBSD 4.99.69 Mon Jul 7 14:28:49 2008
    8 0 days, 00:06:48 | NetBSD 4.99.63 Mon Jul 7 16:26:47 2008
    9 0 days, 00:03:03 | NetBSD 4.99.69 Mon Jul 7 16:21:56 2008
    10 0 days, 00:01:53 | NetBSD 4.99.58 Mon Jul 7 16:18:15 2008
    ----------------------------+---------------------------------------------------
    1up in 18 days, 08:01:48 | at Sat Jul 26 16:44:26 2008
    no1 in 53 days, 10:09:12 | at Sat Aug 30 18:51:50 2008

    No comments…

    zagadka – a przez kogo zgotowana? Przez Escorta. Nie pali na jeden cylinder, wymieniłem mu kable, świece, nadal nie pali, po oględzinach u mechanika stwierdzono, że cewka jest ok, kompresja też bardzo dobra, ogólnie silnik i bebechy w good shape, no ale nie pali. Pali za to benzynę jak smok, a na LPG nie da się jeździć bo niespalony LPG powoduje detonacje, które rozwalają mi (uwaga trudne słowo) klapomikser. Dzisiaj od godziny 10 – dzień drugi szukania o co tam chodzi.

    Update: a jednak źródłem wszystkich problemów okazała się zalana(!) cewka, co ją zalało to jednak pozostanie zagadką. Po wyczyszczeniu śmiga lepiej niż poprzednio, pewnie przez te wszystkie nowe elektryczne sprawy :)

    a wogóle BP – to ostatnio moja ulubiona stacja, z racji personelu, który przez kilka miesięcy od wprowadzenia motokarty BP (taka karta kredytowa BP i Citibanku, na której gromadzi się punkty za paliwo, dodatkowo jest tam jakiś limit kredytu przez 54 dni nieoprocentowany i za zakupy tą kartą też dostaje się punkty, przy okazji jest to karta wypukła i można płacić nią w Internecie za na przykład domeny, na stacjach BP płacąc tą kartą są też zniżki na myjkę kawę itp. Właśnie napisałem najdłuższe wtrącenie w swojej karierze bloggera) nie wie, że aby móc kupić myjnię ze zniżką za 10 zł zamiast 18,99, lub małą kawę za 2zł zamiast dużej za chyba 5 z kawałkiem, trzeba kupić paliwo, zapłacić tą właśnie kartą BP. Dlatego poraz kolejny dzisiaj przy tankowaniu za oszałamiające 20 zł na przyjazd do mechanika, bez problemu dostałem dużą kawę za 2zł i jeszcze punkty, płacąc oczywiście zwykłą kartą, nie obciążając kredytowej :)

    mechanik – Zostawiłem u niego Essiego rano i odbyłem przymusowy spacer z Promienistej na Marcelińską (Poznań) w 20 minut. Dziwne, ale w tak zurbanizowanym kawałku miasta, musiałem tachać pusty kubek od kawy przez ponad połowę drogi, żeby znaleźć kosz na śmieci. Za to poranny spacer z w kółko wiejącym wiatrem to jest to! Budzi lepiej niż ta kawa z BP!

    zagadek ciąg dalszy – mam taką dziwną maszynę, która jest dość ważna, i robi ważne rzeczy, między innymi http, mail, proxy, dns, samba, itp. Generalnie chodzi to całkiem przyzwoicie już dłuższy czas:

    # Uptime | System Boot up
    ----------------------------+---------------------------------------------------
    1 145 days, 10:01:39 | NetBSD 4.0_BETA2 Sun Oct 21 08:50:21 2007
    2 140 days, 18:38:40 | NetBSD 4.0_BETA2 Sat Jun 2 13:13:34 2007
    -> 3 114 days, 21:09:10 | NetBSD 4.0 Sat Mar 15 10:48:04 2008
    4 114 days, 21:08:10 | NetBSD 4.0 Sat Mar 15 10:48:03 2008

    Posiada ona jednak jedną wkurzającą przypadłość, niemiłosiernie laguje, np po wpisaniu loginu trzeba czekać na hasło od ssh kilkanaście sekund, po zalogowaniu działa normalnie. Chyba, że wywoła się jakąś komendę, która zachowuje się tak jak wspomniane ssh, np „w”. Efekt jest taki:

    $ w
    8:59AM up 114 days, 21:12, 2 users, load averages: 0.01, 0.09, 0.11
    USER TTY FROM LOGIN@ IDLE WHAT
    root console - Sat11AM 2days -
    (tutaj nastepuje pauza (a może nawet pałza) kilkusekundowa)
    cancer ttyp0 ip-xx-yy-zz-żż.n 8:15AM 0 w
    $

    większość komend działa normalnie. Tak samo zachowują się niektóre usługi, np Apache, jego restart zajmuje czasem nawet dwie minuty! A po powrocie do shella po /etc/rc.d/apache restart trzeba poczekać jeszcze z minutę na finalne „Resuming normal operations”. Po czym strony działają bez większych opoźnień. To maszyna jest z:

    cpu0: AMD Athlon 64 or Sempron (686-class), 1607.43 MHz, id 0x20fc2

    a NetBSD zarówno i386 jak i amd64 zachwoują się tak samo. Pomysły jakieś?

    adsense – W ogóle to od czasu zmiany layoutu nie mogę dojść z nimi do ładu. Czy ktoś wogóle wie w jaki sposób Google ustala, która reklama ma większy priorytet? Chodzi mi o to, że z tego co zauważyłem na stronie maksymalnie mogą być 3 bloki reklamowe, jak jest więcej to kolejne się nie wyświetlają. Na moim blogu są dwa stałe bloki – u góry pasek z pięcioma linkami, i długi blog po prawej stronie w sidebarze. Dodatkowo były reklamy pod każdym postem. Efekt był taki, że zawsze były dwie stałe reklamy + jedna pod najnowszym postem. Kiedy jednak otwerało się określony post to zawsze były trzy bloki reklamowe i to działało. Po zmianie na Vintage, kiedy chciałbym zostawić sobie taki system to publikując więcej niż 3 bloki reklam na głownej stronie – efekt jest taki, że są pierwsze linki u góry, kolejne reklamy w dwóch postach od góry i biała plama tam gdzie jest ten największy blok. Dlatego teraz mogę publikować reklamy co piąty post, żeby głowna się nie rozwalała. Nie jest to wygodne, a przy okazji nie skuteczne bo z wyszukiwarek ludziska wpadają ściśle do określonego postu, gdzie w całości nie ma reklamy, ale w pojednykę już powinna się pokazać.

    TPSA – To też do wora z wielkim napisem ZAGADKI! Muszę przyznać, że to bardzo demokratyczna instytucja. Jestem szczęśliwym posiadaczem (no może nie posiadaczem w każdym razie dysponuję(?) opiekunem) opiekuna biznesowego. Właściwie tych opiekunów to mam już chyba z 4 a może pięciu, a może 4 tylko z 5 nazwiskami, jedna przemiła Pani właśnie wypadła z tego kręgu bo ciąża. W każdym bądź razie wysyłam maila do jednej Pani, dostaję odp od drugiej z adnotacją, że znowu zmiana opiekuna i takei tam cuda na kiju. Wyszukiwarka w Thunderbirdzie ma co robić. Ale co to ja miałem o tej demokracji. Mamy taką fermę w miejscowości Byszkowo. Wiocha taka, że koniec świata (w sensie daleko, nie istnieje na mapie, nie ma nawet adresu – trzeba adresować na Czaplinek oddalony o kilka kilometrów z adnotacją, że do Byszkowa, ale jakoś to dochodzi :), ale linie TPSA posiadamy, i to nie byle jaką tylko ISDN, a nawet dwa! No i w tym Byszkowie jeden ISDN obsługuje fax, a drugi telefon i modem. Chciałem tam założyć DSL’a i po wywiadzie (technik dotarł do nieistniejącego adresu :) jedna z moich opiekunek (czuję się jak dziecko…) stwierdziła, że nie da rady, DSL na cyfrowej lini nie pójdzie (a analogowy modem idzie :) a zmiana lini się nie opłaca, a wogóle to byśmy stracili numer jeden jakby się dało (w sumie bez róznicy bo zamiast blokować modemem byłby DSL, ale co tam). Po tej odpowiedzi akurat Pani przekazała opiekę koleżance. W między czasie po ich testach przestał tam działać modem … Więc piszę co by naprawili, żeby chociaż ten modem działał,a wogóle to może chociaż SDI by nam tam dali, neostrade jakąś chociaż. A tu się okazuję, że nowa opiekunka SDI ani Neo nie poleca, bo to nie usługi biznesowe i jak się coś zepsuje to wpadamy w kolejkę 5600 zgłoszeń dziennie (sic!), i proponuje mi DSLa…. Mówi, że linie oczywiście możemy zmienić na analogowe, ale po co, skoro można zrobić DSLa na lini podkładowej (!) i ISDN zostanie, a ta linia podkładowa to jest nawet tańsza od najtańszej analogowej lini bo tylko 30 zł miesięcznie, zamiast najtańszy abonament 39 zł. I bądź tu człowieku mądry, i wogóle po co się znać co na czym może chodzić. Acha, zamówienie na dokładnie to samo musiałem wysłać jeszcze raz :) Tak więc jak ktoś ma kłopoty z TPSA to mogę polecić dobrą opiekunkę ;)

    o jeszcze mi się zagadka przypomniała – też komputerowa. Mniej więcej tak wygląda. W takiej oto konfiguracji transfer po lanie (Samba, FTP, SFTP) ograniczony jest do 100 kB/s czyli tyle ile przepustowość łącza. Dodatkowo kiedy pobieram coś z LAN i włącze pobieranie z Netu to transfer dzieli się ładnie na pół. Struktura jest napewno ok, bo mam kilka innych takich sieci gdzie modem od Netu jest wpięty do tego samego switcha co LAN. I nie pomaga wymuszenie samby żeby słuchała tylko na rtk0. W sumie nic nie pomaga. Sugestie?

    maile, maile – dużo ich, dziennie po nocy (w dokładnie od po 16 do 8 rano) zbiera się około 460. Za dużo, zwłaszcza że np 300 to od smokepinga, że ktoś znowu drukarkę sieciową wyłączył!

    hipokryzja – uskuteczniana jest przez nasz bufet! Idę dzisiaj po bułkę, i co widzę? Przy kasie stoi świnia skarbonka na napiwki! Coż niezwykłego w świni? Jedni zarabiają na adsense, inni na groszach, które nie chce się wrzucić do portfela. Prawda. Ale nasz prześwietny bufet, potrafi: ważyć zupę, włożyć 3 i pół ziemniaka przypadkowo i strzepnąć to pół, na prośbę o więcej sosu na kaszę odmówić (no chciaż pół łyżki!), włożyć ociekającą surówkę i jeszcze wywalić trochę bo za dużo, włożyć na prośbę dwie surówki ale za to jeden ziemniak do gara z powrotem…. Tam się po prostu nie idzie najeść, dlatego ja tam nie chodzę! I jeszcze teraz te napiwki…

    Pro Blogger – No tak, chyba nim jestem, we wspomnianym spacerze, cała droga i czas wypełniły mi myśli jak napisać tego posta, łącznie z akcenatmi, gdzie powinno być śmiesznie i jak czytający powinien w głowie sobie czytać, żeby wyszło tak jak chcę. Wyszło?



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

    NetBSD

    BSD Magazine #1

    W końcu jest!

    Dzisiaj rano po długim oczekiwaniu (w/g wydawcy egzemplarze wysłane do Japoni już dawno są na miejscu) przyszedł pierwszy numer BSD Magazine.

    Magazyn kosztuje 14.99 USD i jest dostępny tylko wysyłkowo. W prenumeracie kwartalnej kosztuje 40 USD za 4 numery, dlatego też zdecydowałem się na drugą opcję. Magazyn jest w całości po angielsku.

    Magazyn liczy sobie 66 stron. Nie jest to może oszałamiająca liczba, ale jest prawie bez reklam. Tylko 4 strony i gdzieniegdzie paski na 1/3 strony dotyczące BSDM. Do Magazynu dostajemy także tłoczoną płytę DVD z FreeBSD 7.0 + pfSense1.2 Firewall, Chstandard 6.0, SoftIntegration C++ Graphical Library, Blender 2.45, Python 2.3.

    Całość wydana na dobrej jakości papierze (śliski i błyszczący) z skromnym i lekkim layoutem, który jest bardzo przejrzysty i miły dla oka. Jedynie co mnie drażniło to, że na każdej stronie w rogu jest widoczny FreeBSDowy pokemon niezależnie czy artykuł jest o Free, Net czy Open – BSD. Chyba, że temat przewodni numeru to FreeBSD, ja jednak wolałbym żeby przy artykułach o NetBSD była flaga, a przy OpenBSD Puffy. Generalnie czepiam się, żeby było widać jaki jestem spostrzegawczy ;).

    Pierwszy numer zaliczyłbym zdecydowanie dla osób które chcą zaznajomić się z systami BSD. Dużo jest tutoriali i porównań dystrybucji desktopowych jak DesktopBSD i PC-BSD. Jest także opisana instalacja dołączonego Free przez Dru Lavigne. Nie zabrakło oczywiście zachęty dla użytkowników Windows Vista i mamy howto jak wykonać dual boot Vista-BSD.

    Z administracyjnych artykułów mamy o walce ze spamem na różne sposoby (PF, spamd, Greylisting itp). Jest też także o IDS przy pomocy Snorta i Sguil (podoba mi się ten artykuł ponieważ używam Snorta z Base (a dawniej Acid) i powoli już nie wyrabia)), jest też o pf, ale niestety tylko o NAT, także przykład sprowadza się do znanej wszystkim linijki z defaultowej instalacji pf ;) Mamy też opis jak postawić własny serwer jabbera (jabberd), szkoda, że nie ma opisu jak go pożenić z userami z Active Directory.

    Ze stajni NetBSD mamy bardzo długi i dokładny artykuł jak zainstalować nasz ulubiony system na NSLU2 czyli Network Storage Link od Linksysa. A to jak wiemy (instalowanie na dziwnych sprzętach/architekturach czy innych pleśniakach) jest ulubionym zajęciem userów NetBSD ;)

    Na koniec wywiad z Jeffem Robertsonem – developerem FreeBSD, na temat SMP i wspaniałej wydajności na wielokorowych procesorach, oraz krótko o co chodzi z Certyfikatami BSD.

    Myślę, że pierwszy numer może się podobać. Dla starych wyjadaczy będą to pewnie informacje wtórne, ale dla nowych będą bardzo przydatne. Patrząc na screeny zastanawiam się nawet czy nie wypróbować, któregoś z desktopowych BSD.

    Jeśli ktoś czuje się na siłach i ma coś ciekawego do napisania może się kontaktować na www.bsdmag.org lub pisać na editors@bsdmag.org.

    Na koniec warto także zaznaczyć, że cały numer został wydany przez polskie wydawnictwo Software, gdzie można także zamówić bieżący numer jak i kolejne.

    Mam nadzieje, że nie długo będzie także możliwość kupienia Magazynu w kioskach.


    Job / Praca

    Windows, WSUS, NetBSD i iSCSI

    Wreszcie mogę napisać jakąś techniczną notkę, bo ostatnio coś nie mogłem się zebrać. Zrzucę to na wiosenne przesilenie ;) Dzisiaj będzie nietypowo ponieważ pochwalę Windowsa, a dokładnie rzecz ujmując Windows Server 2003 R2. Prawdę mówiąc nie jestem laikiem jeśli chodzi o Windows, ale dotychczas moje doświadczenie zawodowe było mało związane z Windowsami serwerowymi. Jednak przez całą moją dotychczasową działalność jako admina we wszystkich dżobach gdzieś się tam maszyny z serwerami Windows przewijały. Głównie SBS jako kontroler domeny, albo zwykły do obsługi MSSQL. Obecnie mam pod opieką wspomniany juz w2k3 server na DELL POWEREDGE 1800. Działa na nim Active Directory i wszyscy userzy są do niej podpięci. Zatem pełna kontrola z biurka w rozproszonej lokalizacji. Całkiem przyjemnie się tym zarządza. Ale to jakby tylko narzędzie dzięki któremu można znacznie ułatwić sobie pracę. Prawdziwym powodem dla którego podoba mi się Windows jest WSUS czyli Windows Server Update Service.. W skrócie chodzi o to, że nasz serwer Windowsowy przejmuje rolę witryny Windows Update.

    wsus3-zatwierdzanie.jpg

    Ustalamy jakie aktualizacje nas interesują (są nawet aktualizacje do odtwrzacza Zune jak i wszystkich innych programów MS o których istnieniu nawet nie wiedziałem), języki w których te aktualizacje będą dostępne oraz tworzymy grupy komputerów. Możemy oczywiście wrzucić wszystkie komputery z AD do jednej grupy, ale nasze polityki zakazują takich działań i najpierw poprawki muszą być testowane na maszynach do tego przeznaczonych.

    Kiedy już nasz WSUS zsynchronizuje się z serwerami MS, a trochę to zajmuje czasu (dla poprawek dla Windows XP, 2000, Windows Server, oraz MS SQL i Office’a od 2003 do 2007 w 3 językach WSUS pociągnął 7,2 GB), trzeba tylko zadbać o dystrybucję poprawek. Załatwiamy to jedną polityką w głównym drzewie naszej domeny. Dobrą opcja jest wyłączenie automatycznego restartu komputera, co jest bardzo denerwujące kiedy się akurat nad czymś pracuje. Od tego momentu opcje w klientach dotyczących aktualizacji są wyszarzone co oznacza, że steruje nimi server. Admin ustala tylko które poprawki mają pójść gdzie, które odrzucić itp. i pod koniec dnia wysyła do klientów. Sprawnie, bez ingerencji u pracowników, z raportami co się powiodło a co nie.

    Oczywiście można się spytać, po co to komu? Widzieliście duże biuro z zaktualizowanymi wszystkimi komputerami zostawionymi do dyspozycji użytkowników? Nie ma takich biur. Oprócz tego niedługo zostanie wydany SP3 dla XP (SP1 dla Visty szczęśliwie nas nie dotyczy :), można sobie tylko wyobrazić co się stanie jak kilkaset komputerów zacznie pobierać 200MB w jednym czasie.

    Ok, wystarczy już może o samym Windowsie bo patrząc na tytuł i czytając do tego miejsca pewnie zastanawiacie się gdzie w końcu jest o NetBSD? :) Spokojnie właśnie nadchodzi ten moment. NetBSD również w mojej firmie odgrywa znaczącą rolę, a ilościowo przewyższa nawet maszyny z Windows Serwerem :) Oprócz całej gamy usług, typu groupware, obsługa eventów z Windows czy AS400, IDSa, statystyk, czy inwentaryzacji sprzętu (swoją drogą dzięki Group Policy Object czyli polityk Windowsowych zinwentaryzowanie i to bardzo dogłębne sprzętu i oprogramowania wraz z licencjami można wykonać nie ruszając się z biurka, a dostęp do wyników przez www z bazy mysql w NetBSD ;) NetBSD równierz udostępnia zasoby via Samba. Niestety miejsce na dyskach Windows Servera zaczyna się kończyć dlatego postanowiłem przenieść zawartość WSUS’a na udział Samby. Niestety WSUS nie przewiduje możliwości trzymania swojego content’u na czymś innym niż lokalny dysk z NTFS. Klapa? Nie zupełnie. Tutaj z pomocą również przychodzi NetBSD i obsługa iSCSI. Internet SCSI bo tak brzmi pełna nazwa tej technologii, to obsługa sieciowa dysków ale nie jako udostępnienie udziałów, tylko operacje na urządzeniu blokowym. Dodatkowo dyski można łączyć w jeden wielki wolumen albo stworzyć z kilku RAID. Skoro jest to urządzenie blokowe, klient (a właściwie initiator), może korzystać z serwera (a właściwie target’a) tak jakby korzystał z lokalnego dysku, może go sobie popartycjonować, sformatować itp. Jak więc sprawuje się target NetBSD i initiator Windows? Wyśmienicie się sprawuje! A co najważniejsze konfiguracja całości jest bardzo prosta.

    Ze strony NetBSD nie musimy nic instalować, ponieważ target mamy w base systemie (mowa o 4.0).

    Edytujemy tylko plik /etc/iscsi/target. Mój wygląda tak:

    # extent file or device start length
    extent0 /usr/home/storage/iscsi-wsus 0 100000MB
    # target flags storage netmask
    target0 rw extent0 0.0.0.0/0

    używam pliku o rozmiarze 100GB (rozmiar dynamiczny), initiator ma pełne prawa do tego dysku. Zamiast ścieżki do pliku możemy podać oczywiście całeurządzenia z /dev.

    Ze strony MS, instalujemy oprogramowanie initiatora, wyszukujemy i podłączamy dysk.

    iscsi2a.jpg

    Uaktywanimy go i formatujemy, nadajemy literę dysku.

    iscsi3a.jpg

    W ostatniej zakładce, klikamy BIND ALL aby dysk iSCSI montował się przy starcie systemu.

    iscsi4a.jpg

    Na sam koniec przenosimy zawartość WSUS’a, który już nie protestuje, że nie ma dysku lokalnego z NTFSem ;)

    iscsi6a.jpg

    W logu widać czas, 9 minut dla 7GB danych w dość rozproszonej formie, jeśli dyskiem byłby faktycznie dysk a nie plik czas ten zapewne by się jeszcze skrócił.



    In English

    HP Proliant DL140 G3 and Net/Open BSD

    Sorry my polish readers, but I waste almost day to figure this out, so maybe this post will help more users if it will be in English.

    I got couple of Proliants. Two DL380 G5 which are fully functional with BSDs, and three DL140 G3 that has a problems.

    Proliants!

    After booting it up from CD, both Net and Open BSD hangs just after initial kernel load. FreeBSD, CentOS even Windows works smooth. I tried diffrent branches – 4.0_STABLE, newest current, some old too. Nothing changed. Then I left it in „hang mode” ;) and went for dinner. After come back both NetBSD and OpenBSD welcomes me with it installers! Yay! I rebooted once again and waits. NetBSD hangs as before, then after about 5 minutes, it booted with green kernel messages and hangs again on pckbc0 at isa0, and after another minutes it continued straight to installer. With OpenBSD was the same, only time changed – 15 minutes dough. I installed both, and didn’t noticed any odd behavior. After install and boot from hard disk, both hangs again, then let me logged in, and work just fine.

    Here comes sources for help :) Recompilation of kernel with no pckbc0 support completly solved problem. I was almost sure that with no pckbc0 I will not be able to use ps2 keyboard nor usb keyboard on console, but both works. So flawless success :) I think problem is in controler of keyboard in DL140 that is bridged with PS2 and USB connection.

    So conclusion is if You want use BSD on DL140 G3, chose FreeBSD, or arm yourself with patient and sources for Your system :)

    P.S. NetBSD on DL140 G3 with SMP support works like a charm :)



    In English

    Tips & Tricks II

    Note to myself.

    Thanks to morr from #netbsd.pl who pointed me to this.

    How many times You forgot to notice after installing package what was in MESSAGE file?

    How many MESSAGES information You miss while upgreading lots of packages?

    Of course You can always revive it by pkg_info -D package_name, but there is simply yet brilliant way to have MESSAGE info in mail.

    Just add to /etc/mk.conf

    PKGSRC_MESSAGE_RECIPIENTS?=login or mail adress

    and when package have something to say in MESSAGE You have it on Your mail :)

    Read /usr/pkgsrc/mk/defaults/mk.conf for details.

    Job / Praca

    Update NetBSD do wersji 4.0_STABLE

    W końcu przyszedł czas aby się ustabilizować. W tym krótkim howto postaram się dość szczegółowo opisać jak to wykonać i nie strzelić sobie w stopę a jak już się strzeli jak się połatać.

    W moim przypadku upgrade był przeprowadzony z systemu z gałęzi -current do -stable a konkretnie z 4.99.32 do 4.0_STABLE.

    Zaczynamy od ściągnięcia źródeł systemu odpowiedniej gałęzi.

    Wchodzimy do /usr

    cd /usr/

    Ustawiamy w jaki sposób będziemy łączyć się z serwerem cvs

    setenv CVS_RSH ssh
    setenv CVSROOT :ext:anoncvs@anoncvs.NetBSD.org:/cvsroot

    I ściągamy (w katalogu /usr!) źródła

    cvs checkout -r netbsd-4 -P src

    jeśli pominiemy -r netbsd-4 ściągniemy gałąź -current, możemy się także cofnąć do netbsd-3 (nie polecane :). Po całej operacji mniej lub bardziej czasochłonnej w katalogu /usr/src będziemy mieli wszystkie źródła potrzebne do budowy systemu. Jeśli masz kiepskie połączenie z Internetem możemy dodać po cvs flagę -zx gdzie x to liczba od 1 do 9 określająca stopień kompresji. Pamiętać należy jednak, że kompresja po stronie serwera dość poważnie go obciąża.

    Możemy sprawdzić czy ściągnęliśmy dobrą wersję wykonując skrypt osrelease.sh w katalogu /usr/src/sys/conf/

    cd /usr/src/sys/conf/
    sh osrelease.sh
    4.0_STABLE

    Wszystko gra.

    Teraz musimy przygotować katalogi do budowy systemu, /usr/tools i /usr/obj są obligatoryjne i kiedy ich nie ma budowa systemu nie zostanie przeprowadzona, build.sh powinien je stworzyć ale dla pewności lepiej zadbać aby były dostępne dla systemu. katalog gdzie faktycznie będą przechowywane setsy po budowie jest dowolny w moim przypadku nazywa się tak jak wersja NetBSD – /usr/4.0_STABLE

    mkdir /usr/tools /usr/obj /usr/4.0_STABLE

    Teraz zbudujemy sobie toolsy czyli narzędzia do budowy NetBSD. build.sh jest oczywiście na tyle sprytny, że sprawdza czy w systemie są odpowiednie narzędzia i jeśli ich nie ma to je buduje i korzysta z nowych, ale oczywiście na tym etapie mogą także pojawić się nieprzewidywane trudności więc dla pewności wskażemy konkretny katalog i powiemy co build.sh ma budować:

    cd /usr/src/
    ./build.sh -T /usr/tools/ tools

    Zależnie od szybkości naszej maszyny, może to potrwać od kilku minut to kilku godzin.

    U mnie na p3 500 Mhz i 256 Mb ram toolsy jak widać budowały się godzinę z kilkoma minutami.

    ===> Tools built to /usr/tools
    ===> build.sh ended: Fri Dec 21 15:04:39 CET 2007
    ===> Summary of results:
    build.sh command: ./build.sh -T /usr/tools/ tools
    build.sh started: Fri Dec 21 13:58:46 CET 2007
    NetBSD version: 4.0_STABLE
    MACHINE: i386
    MACHINE_ARCH: i386
    Build platform: NetBSD 4.99.32 i386
    HOST_SH: /bin/sh
    No /usr/tools/bin/nbmake, needs building.
    Bootstrapping nbmake
    TOOLDIR path: /usr/tools
    DESTDIR path: /usr/src/destdir.i386
    RELEASEDIR path: /usr/src/releasedir
    Created /usr/tools/bin/nbmake
    makewrapper: /usr/tools/bin/nbmake-i386
    Updated /usr/tools/bin/nbmake-i386
    Tools built to /usr/tools
    build.sh ended: Fri Dec 21 15:04:39 CET 2007
    ===> .

    Po wybudowaniu toolsów możemy zbudować sobie system:

    ./build.sh -D /usr/4.0_STABLE -O /usr/obj -T /usr/tools -u build

    ===> Successful make build
    ===> build.sh ended: Fri Dec 21 21:53:03 CET 2007
    ===> Summary of results:
    build.sh command: ./build.sh -D /usr/4.0_STABLE -O /usr/obj -T /usr/tools -u build
    build.sh started: Fri Dec 21 15:07:38 CET 2007
    NetBSD version: 4.0_STABLE
    MACHINE: i386
    MACHINE_ARCH: i386
    Build platform: NetBSD 4.99.32 i386
    HOST_SH: /bin/sh
    TOOLDIR path: /usr/tools
    DESTDIR path: /usr/4.0_STABLE
    RELEASEDIR path: /usr/obj/releasedir
    makewrapper: /usr/tools/bin/nbmake-i386
    Updated /usr/tools/bin/nbmake-i386
    Successful make build
    build.sh ended: Fri Dec 21 21:53:03 CET 2007
    ===> .

    A po wybudowaniu systemu potrzebujemy jeszcze kernel zgodny z wersją naszego NetBSD który będziemy instalować. Najlepiej jest zbudować oczywiście GENERIC, ale możemy oczywiście go trochę zmodyfikować (np. poprzez dodanie PF który nie jest domyślnie kompilowany)

    vim sys/arch/i386/conf/GENERIC
    (oczywiście dla innych architektur trzeba zmienić katalog określający architekturę np amd64, sparc, sparc64 itp.)

    Kernel możemy wybudować następnie tak jak stara szkoła karze, poprzez config, make depend, make, make install, ale build.sh również pozwala nam go budować więc użyję właśnie tego narzędzia:

    ./build.sh -O /usr/obj -T /usr/tools -u kernel=GENERIC
    ===> Kernels built from GENERIC:
    /usr/obj/sys/arch/i386/compile/GENERIC/netbsd
    ===> build.sh ended: Fri Dec 21 23:00:27 CET 2007
    ===> Summary of results:
    build.sh command: ./build.sh -O /usr/obj -T /usr/tools -u kernel=GENERIC
    build.sh started: Fri Dec 21 21:58:15 CET 2007
    NetBSD version: 4.0_STABLE
    MACHINE: i386
    MACHINE_ARCH: i386
    Build platform: NetBSD 4.99.32 i386
    HOST_SH: /bin/sh
    TOOLDIR path: /usr/tools
    DESTDIR path: /usr/obj/destdir.i386
    RELEASEDIR path: /usr/obj/releasedir
    makewrapper: /usr/tools/bin/nbmake-i386
    Updated /usr/tools/bin/nbmake-i386
    Building kernel without building new tools
    Building kernel: GENERIC
    Build directory: /usr/obj/sys/arch/i386/compile/GENERIC
    Kernels built from GENERIC:
    /usr/obj/sys/arch/i386/compile/GENERIC/netbsd
    build.sh ended: Fri Dec 21 23:00:27 CET 2007
    ===> .

    Po wybudowaniu kernela musimy jeszcze tylko go podmienić backupując nasz stary (i działający ! ;) kernel.

    mv /netbsd /onetbsd3
    mv /usr/obj/sys/arch/i386/compile/GENERIC/netbsd /

    Teraz jesteśmy gotowi na reboot i sprawdzenie czy nowy kernel podniesie nam system (błędami przy starcie usług na razie się nie przejmujemy)

    Pamiętaj, rebootuj system poprzez shutdown -r now a nie reboot, ponieważ shutdown prawidłowo stopuje usługi z /etc/rc.conf

    System wstał (mam nadzieję, że u Ciebie też :). Większość usług u mnie nie odpaliło się, ale np NAT z PF działał. Możemy więc zainstalować nowy system:

    ./build.sh -D /usr/4.0_STABLE -O /usr/obj -T /usr/tools -u install=/

    make installworld started at: Fri Dec 28 10:12:33 CET 2007
    make installworld finished at: Fri Dec 28 10:17:43 CET 2007
    ===> Successful installworld to /
    ===> build.sh ended: Fri Dec 28 10:17:44 CET 2007
    ===> Summary of results:
    build.sh command: ./build.sh -D /usr/4.0_STABLE/ -O /usr/obj -T /usr/tools -u install=/
    build.sh started: Fri Dec 28 10:12:29 CET 2007
    NetBSD version: 4.0_STABLE
    MACHINE: i386
    MACHINE_ARCH: i386
    Build platform: NetBSD 4.0_STABLE i386
    HOST_SH: /bin/sh
    TOOLDIR path: /usr/tools
    DESTDIR path: /usr/4.0_STABLE
    RELEASEDIR path: /usr/obj/releasedir
    makewrapper: /usr/tools/bin/nbmake-i386
    Updated /usr/tools/bin/nbmake-i386
    Successful installworld to /
    build.sh ended: Fri Dec 28 10:17:44 CET 2007
    ===> .

    Została jeszcze jedna rzecz, należy przeprowadzić update plików konfiguracyjnych, wydajemy polecenie etcupdate i uważnie (bardzo!) sprawdzamy o co nas pyta system. Polecam przekopiowanie /etc w bezpieczne miejsce! Mamy do wyboru kilka opcji przy każdym pliku. Najwazniejsze do i – install i d – don’t install. Wszystkie pliki, w których nie przeprwadzaliśmy zmian możemy śmiało zainstalować, tak samo wszystkie pliki które oznaczone są jako missing. Należy zwrócić szczególną uwagę na pliki z uzytkownikami i grupami, ponieważ jeśli nie opacznie damy install to zostaną zainstalowane czyste pliki tak jak po świeżej instalacji i nie będziemy mogli się zalogować ponieważ nasz uzytkownik nie będzie istniał.

    etcupdate

    Po etc update przeleci postinstall i powie co się udało a co nie i podpowie jakie komendy należy uruchomić aby pozbyć się niepotzrebnych rzeczy typu obsolete.

    Po zakończonej operacji dajemy shutdown -r now i teoretycznie wszystko powinno działać. Teoria jednak mija się z praktyką i np u mnie wymagane było przeinstalowanie niektórych aplikacji (perl, mysql). To jest jednak dosyć proste do wykonania gorzej kiedy po etcupdate dostajemy błąd, że nie odnaleziono libc.so.12 co skutkuje brakiem możliwości zrobienia czegokolwiek łącznie z zalogowaniem się lub chociażby ls. A po restarcie dostajemy kernel pannic z powodu init died…

    man init nie podaje nam wesołych wiadomości:

    The role of init is so critical that if it dies, the system will reboot
    itself automatically. If, at bootstrap time, the init process cannot be
    located, the system will panic with the message ``panic: init died
    (signal %d, exit %d)''.

    Powodem tego jest to, że kernel przy starcie zna jedynie partycję / i w pierwszej kolejności odpala init który dalej inicjuje pozostałe partycje, i odpala skrytpty rc.d. Z koleii init do działania potzrebule /lib/lib.co.12 oraz /libexec/ld.elf_so. Jeśli z jakichś powodów nie może ich zlokalizować dostejemy init died. Plik /lib/lib.co.12 jest linkiem do innego pliku:

    lrwxr-xr-x 1 root wheel 14 Dec 21 15:53 libc.so.12 -> libc.so.12.149

    Ja upgreadując z gałęzi -current miałem zamiast libc.so.12.149 plik libc.so.12.150, a libc.so.12 nie zlinkował się prawidłowo z plikiem od 4.0 stąd problem.

    Najprostrzym rozwiązaniem tego problemu jest wybootowanie z płyty instalacyjnej NetBSD i z menu narzędziowego uruchomienie /bin/sh, nastepnie podmontowanie / i stworzenie właściwego linku, lub też oprócz podmontowania / podmontowanie /usr (jeśli jest na innej partycji) i przekopiowanie całego /usr/4.0_STABLE/lib na miejsce /lib. Po takim zabiegu system wstał bez żadnego problemu.

    Koniec stabilizacji, all done, bye bye ;)



    Ogólne

    Happy New Year!

    Aloha!

    Wybaczcie, że nowe wpisy pojawiają się tak rzadko, ale naprawdę nie mam czasu ostatnio, ojcostwo to jednak zajęcie pochłaniające nawet geeka w 100% czasu.

    Ale, ale nie piszę aby się tłumaczyć tylko życzyć wszystkim czytelnikom, gościom, i przypadkowym wpadaczom (ostatnio ktoś tu wleciał szukając „rżnięcie teściowej” :D ) wszystkiego co tam sobie wymarzycie w nowym roku i żeby 2008 był jeszcze lepszy niż 2007!

    A po nowym roku mam już dwa ciekawe artykuły z dziedziny NetBSD, o upgradzie systemu + jak się ratować kiedy coś pójdzie nie tak (tak! popsułem kiedy robiłem upgrade i szykowałem materiał ;), oraz jak zrobić z maszyny z NetBSD z modemem niezły faks, i fax2mail. Do zobaczenia w styczniu!



    Related Posts with Thumbnails
    Add your widget here