Job / Praca

    MySQL crash

    Witajcie po krótkiej przerwie. Chcia?em opisa? moj? delegacj? przez wi?kszo?? pó?nocnej Polski, jednak po powrocie okaza?o si?, ?e przywita? mnie padni?ty mysql, a ?e przy okazji da?o si? go w miar? szybko naprawi? to b?dzie to znakomity tutorial :)

    Mam system helpdeskowy o nazwie bugzero. To troch? pokr?cony konfig poniewa? jest napisany w javie, wymaga tomcata i javy, java na NetBSD dzia?a w emulacji linuxowej, a wszystko przechowywane jest w bazie. Tak czy owak powy?szy konfig dzia?a bardzo stabilnie, a od czasu update’u do 4.0 nie mia?em z nim problemu przez prawie 140 dni :)

    11:15AM up 139 days, 13:05, 2 users, load averages: 0.07, 0.39, 0.70

    Dzisiaj jednak strona do logowania si? wy?wietli?a i po klikni?ciu przycisku do zalogowania nic si? nie sta?o a przegl?darka ca?y czas ??czy?a si?. Trwa?o to do?? d?ugo wi?c zacz??em szuka? przyczyny.

    Nauczony za czasów 3.0, ?e tomcat lubi? si? powiesi? zrestartowa?em go, nie pomog?o to, a w?a?ciwie pogorszy?o sparw? bo juz nie mo?na nawet by?o wy?wietli? okienka logowania. Jako drugi do sprawdzenia mysql. Stopowa? si? ze dwie minuty ale w ko?cu mu si? uda?o bez ingerencji kill :) Przy próbie wystartowania dosta?em komunikat:

    /var: write failed, file system is full

    Aha, jest winowajca. Faktycznie /var ponad pe?ny 102% :) Zrobi?em troch? miejsca (g?ownie logi mysqla i snorta) i wystartowa?em mysql jeszcze raz, tym razem posz?o g?adko. Próba logowania si? do bugzero jednak zako?czy?a si? komunikatem „Load issues/bugs from the database failed”.

    No to pi?knie baza si? rozjecha?a. Na szcz??cie mysql ma narz?dzia aby to naprawi?. Usterka okza?a si? na tyle ma?a, ?e oby?o si? bez ?mudnego wpisywania do bazy czegokolwiek.

    Po pierwsze nale?y sprawdzi? w których tabelach jest b??d. Najpro?ciej zrobi? to narz?dziem mysqlcheck

    mysqlcheck -uroot -p bugzero

    bugzero.PrimaHelpdesk2007_entry
    warning : Table is marked as crashed
    warning : 8 clients are using or haven't closed the table properly
    error : Size of indexfile is: 69632 Should be: 70656
    error : Corrupt
    bugzero.PrimaHelpdesk2007_file
    warning : 2 clients are using or haven't closed the table properly
    status : OK
    bugzero.PrimaHelpdesk2007_filter
    warning : 2 clients are using or haven't closed the table properly
    status : OK
    bugzero.PrimaHelpdesk2007_query
    warning : 2 clients are using or haven't closed the table properly
    status : OK
    bugzero.PrimaHelpdesk2007_trail
    warning : 8 clients are using or haven't closed the table properly
    status : OK
    bugzero.PrimaHelpdesk2007_trigger OK
    bugzero.SEQUENCE
    warning : 7 clients are using or haven't closed the table properly
    status : OK

    Ok, mamy jedna tabele uszkodzon? i kilka innych z warningami. Wchodzimy do mysql i naprawiamy tabele:

    mysql -uroot -p bugzero

    mysql> repair table PrimaHelpdesk2007_entry
    -> ;
    +---------------------------------+--------+----------+----------+
    | Table | Op | Msg_type | Msg_text |
    +---------------------------------+--------+----------+----------+
    | bugzero.PrimaHelpdesk2007_entry | repair | status | OK |
    +---------------------------------+--------+----------+----------+
    1 row in set (1.10 sec)

    mysql> repair table PrimaHelpdesk2007_file;
    +--------------------------------+--------+----------+----------+
    | Table | Op | Msg_type | Msg_text |
    +--------------------------------+--------+----------+----------+
    | bugzero.PrimaHelpdesk2007_file | repair | status | OK |
    +--------------------------------+--------+----------+----------+
    1 row in set (0.68 sec)

    mysql> repair table PrimaHelpdesk2007_filter;
    +----------------------------------+--------+----------+----------+
    | Table | Op | Msg_type | Msg_text |
    +----------------------------------+--------+----------+----------+
    | bugzero.PrimaHelpdesk2007_filter | repair | status | OK |
    +----------------------------------+--------+----------+----------+
    1 row in set (0.04 sec)

    mysql> repair table PrimaHelpdesk2007_query;
    +---------------------------------+--------+----------+----------+
    | Table | Op | Msg_type | Msg_text |
    +---------------------------------+--------+----------+----------+
    | bugzero.PrimaHelpdesk2007_query | repair | status | OK |
    +---------------------------------+--------+----------+----------+
    1 row in set (0.14 sec)

    mysql> repair table PrimaHelpdesk2007_trail;
    +---------------------------------+--------+----------+----------+
    | Table | Op | Msg_type | Msg_text |
    +---------------------------------+--------+----------+----------+
    | bugzero.PrimaHelpdesk2007_trail | repair | status | OK |
    +---------------------------------+--------+----------+----------+
    1 row in set (1.88 sec)

    mysql> repair table PrimaHelpdesk2007_trigger;
    +-----------------------------------+--------+----------+----------+
    | Table | Op | Msg_type | Msg_text |
    +-----------------------------------+--------+----------+----------+
    | bugzero.PrimaHelpdesk2007_trigger | repair | status | OK |
    +-----------------------------------+--------+----------+----------+
    1 row in set (0.07 sec)

    Jak wida? posz?o sprawnie i szybko (czego niestety nie mo?na powiedzie? o bazie snorta :/

    Po powy?szej operacji jeszcze raz sprawdzamy struktur? tabel:

    mysqlcheck -uroot -p bugzero

    bugzero.PrimaHelpdesk2007_entry OK
    bugzero.PrimaHelpdesk2007_file OK
    bugzero.PrimaHelpdesk2007_filter OK
    bugzero.PrimaHelpdesk2007_query OK
    bugzero.PrimaHelpdesk2007_trail OK
    bugzero.PrimaHelpdesk2007_trigger OK
    bugzero.SEQUENCE OK
    bugzero.accesscode OK
    bugzero.assignment OK
    bugzero.fieldname OK
    bugzero.fieldset OK
    bugzero.groupcode OK
    bugzero.mailbox OK
    bugzero.person OK
    bugzero.project OK
    bugzero.reminder OK
    bugzero.workflow OK

    Tym razem próba logowania zako?czy?a si? pe?nym sukcesem :)

    Dla porównania naprawa bazy snorta:

    mysql> repair table snort.data;
    +------------+--------+----------+----------+
    | Table | Op | Msg_type | Msg_text |
    +------------+--------+----------+----------+
    | snort.data | repair | status | OK |
    +------------+--------+----------+----------+
    1 row in set (5 min 24.55 sec)

    troch? d?u?ej :)




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

    Job / Praca

    Gor?co!

    Tak, nic odkrywczego pewnie codziennie do?wiadczacie tych temperatur. Gorzej je?li sprz?ty ich do?wiadczaj?. Pierwszy niepokoj?cy sygna? to temperatura w serwerze do backupu, a dok?adnie temperatura pomi?dzy dyskami. A? si? skala sko?czy?a.

    Po przeskalowaniu wykres si? mie?ci, jednak jest to 7 stopni wi?cej ni? ?rednio, i niestety przez najbli?sze 2 tygodnie b?dzie pewnie powoli wzrasta?.

    Oczywi?cie serwery znajduj? si? w pomieszczeniach klimatyzowanych, klima jednak osi?gne?a kres swoich mo?liwo?ci s?uchaj?c wycia wiatraków w serwerze IBM, zauwa?alnie g?o?niej i z wi?ksz? cz?stotliwo?ci?.

    Na koniec jeszcze rzut oka na ILO od Prolianta, te? niezbyt dobrze, dzisiaj rano ch?odzenie chodzi?o na 79% swojej mocy, wczoraj w po?udnie by?o to 89%.

    Temperatury wygl?daj? nast?puj?co, twardy zawodnik nie bior?c pod uwag? temp. otoczenia :)

    Na koniec jeszcze ciekawostka, nie mam zdj?cia chocia? pewnie nie b?dzie trudno dzisiaj taki efekt osi?gn??, termometr w samochodzie zrobi? si? ca?y czarny. Po krótkiej je?dzie i wych?odzeniu samochodu najwy?sza zarejestrowana temperatura wynios?a 75 stopni!



    © 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!

    Job / Praca

    AS/400 i JDE

    A teraz co? kompletnie z innej systemowej beczki. Od razu mówi?, ?e nie jestem ?adnym ekspertem je?li chodzi o AS/400. Dla osoby, która u?ywa?a i u?ywa kilku systemów operacyjnych ka?dy nowy (i nie mówie o etnej dystrybucji linuksa) jest napewno ciekawy. AS/400 jest interesuj?cy poprzez swoj? inno??.

    Przedewszystkim nale?y zacz?? od tego ?e w ASie wszystko jest obiektem, i mam na my?li wszystko. Komenda jest obiektem, biblioteka jest obiektem, wygenerowany raport jest obiektem, wszystko co da si? wymy?li? jest obiektem :) Dlatego te?, przynajmniej mi na pocz?tku do?? trudno by?o my?le? o systemie jako zbiorze bibliotek z programami i plikami. Wiadomo, mamy Windows czy tam Unix jaki?, mamy dyski, partycje, litery dysków lub / jako root i pod nim kolejne katalogi. W ASie tego nie ma, jest g?ówna biblioteka QSYS i pod ni? kolejne podbiblioteki i wnich odpowiednie pliki i programy i koniec. Za to wyszukiwanie jakiegos pliku, lub zawarto?ci w pliku trwa nie zmiernie szybko, w?a?ciwie wygl?da to tak jakby wszystko by?o gdzie? zindeksowane. Poruszanie po systemie te? wydaje si? na pocz?tku dziwne, poniewa? wszystko opiera si? na ró?nych menusach. Tak jest, nie mamy jakiegos menad?era czy lini komend w rozumieniu Unixowym. Wydaje si? to mo?e toporne, ale po chwili u?ywania jest do?? wygodne.

    Ekran powitalny JDEdwards na AS/400
    Ekran powitalny JDEdwards na AS/400

    Do zarz?dzania uzytkownikami mamy taki za to menus:

    Zarz?dzanie u?ytkownikami
    Zarz?dzanie u?ytkownikami

    Lista procesów ze znajomym oprogramowaniem – serwer WWW Apache.

    Lista procesów
    Lista procesów

    Status systemu:

    Status Systemu - ma?o miejsca na dyskach :/
    Status Systemu - ma?o miejsca na dyskach :/

    Z ciekawostek warto wymieni?, ?e natywnym kalendarzem w JDE jest kalendarz Julia?ski w którym dzisiejsza data (18.07.2008) wygl?da tak: 108200 – czyli 1 08 200, gdzie pierwsza cyfra oznacza stulecie (0 – XX wiek, 1 – XXI wiek), kolejne dwie rok (08 – 2008 wiadomo), a ostatnie trzy cyfry kolejny dzie? roku. Jutro wi?c b?dzie julia?ska data 108201. Mo?e wydawa? si? to do?? dziwne/ekscentryczne ale przy olbrzmiej ilo?ci danych i dat format julia?ski idealnie rozró?nia co by?o wcze?niej a co pó?niej. ?atwo jest te? poprzez zwyk?e dodawanie i odejmowanie szybko policzy? co by?o starsze/m?odsze i o ile dni. AS/400 oczywi?cie dostarcza kalkulator dat :)

    Konwerter dat julia?skich <-> gregoria?skich
    Konwerter dat julia?skich gregoria?skich

    To co czyni ASa i JDEdwards wyj?tkowym jako system ERP to jego szybko??. Baza 40 GB z 20 milionami rekordów i kilkudziesi?cioma u?ytkownikami zalogowanymi naraz i mieliona 8 godzin dziennie w te i wewte praktycznie nonstop obs?uguje jeden RISCowy procesor 1.5 Ghz :) Dane przechowywane sa w bazie DB2 400.

    Dla porównania mój Snort z Base gdzie jest 3 mln rekordów na 4x Xeon 3Ghz i 2 GB RAM, potrzebuje oko?o 50 sekund dla jednego usera ?eby wydoby? dane z MySQL :)

    Oprócz wspomnianego APACHE na ASie mo?e jeszcze dzia?a? JAVA i baza ORACLE. System mo?na tak?e samemu rozbudowywa? o nowe mo?liwo?ci lub programy w j?zyku RPG.

    Co jeszcze czyni AS/400 wyjatkowym? Niestety cena i to nie tylko oprogramowania. Zmiana dysków na wi?ksze (np 500GB) to wydatek rz?du kilkunastu tysi?cy dolarów. Tak samo procesor czy pami??. Ale fakt, ?e tych zmian nie dokonuje si? zbyt cz?sto. Powszechnie wiadomo, ?e AS/400 to najbardziej niezawodny system. Nie znalaz?em ?adnej komendy podobnej do uptime, a szuka?em do?? d?ugo. Ale nie ma chyba takiej potrzeby bo raz uruchomiony AS jak go szlag nie trafi z powodu hardware’u lub awarii pr?du dzia?a sobie kilka(na?cie?) lat :)




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

    Add your widget here