Täna korrastasin serveriruumi, arendasin oma übersuper skripti ja uuendasin serverit.
Hommiku alustasin serveriruumi korrastamisega. Kuna Joel on haige, siis juhendas ta mind Skype teel. Täna siis teistmoodi.
Tegelikult ma serveriruumi nii väga ei korrastanud, küll aga kaardistasin ära ühe kommutaatori pesad.. Ehk siis kirjutasin paberi peale, et mis pesast kuhu serverisse mingi võrgukaabel läheb. Joeli sõnul olla seda mingi aeg tehtud, aga eks ajapikku ikka midagi muutub ja seetõttu on asi juba tänaseks vananenud. Tegelikult peaks kõik switchid üle kontrollima. Ehk homme võtan mõne veel ette?
Kui Joel terveks saab (homme?), siis tõenäoliselt paneme kommutaatorite võrgukoormuste joonistajale (mida me nimetame uhkelt muhutajaks) nimed paika. Idee on siis selles, et vastavast võrgupesast joonistatakse võrguliikluse graafik. Praegu on osa graafikutel nimed kas valed või üldse puudu.
Tegin ka ettepaneku, et kaablite otstesse lindiprinteriga printida asukohad/nimed. Ehk siis kaabli otsa saaks kleepida pisikese kleepsu arusaamaks, mis kaabliga tegu on. Mõte on iseenesest hea, aga iseasi, kas seda iga väikese kaabli jaoks viitsitakse teha. Ja kui pikalt seda viitsitakse teha. Kui üks hetk tekib kellelgi mõte, et oh, ma panen ühe kaabli “korraks” siia, siis võibki jääda, et 10% seadmeruumist on ikka kaardistamata. Lisaks, et kõik, kel õigus ja kohustus kaableid vedada, peavad kokku leppima ühtses stiilis (üks kirjutab “mina panin”, teine kirjutab “mu server” ja kolmas paneb serveri nime), peavad ka kõik kokku leppima selles, et kõik seda teevad.
Mõtlemise koht, kas seda kasutada või mitte.
Graafikud joonistuvad ise siia: https://muhutaja.eenet.ee
Teise osa oma päevast tegelesin oma superhüper skriptiga. Loodan, et mu huumorivõti (mitte irooniavõti) on arusaadav ka lugejatele. Tegemist siiski väga vajaliku abimehega.
Lisasin Laasi abiga oma skriptile mõne uue funktsionaalsuse. Näiteks kasutaja loomise juures tehakse lõpmatut kontrolli, kas sellise kasutajanimega on juba keegi olemas. Enne väljuti skriptist, kui sellenimeline kasutaja oli juba olemas. Nüüd liigutakse aga lõpmatust tsüklist välja siis, kui tingimus on täidetud, et sellist kasutajanime olemas ei ole.
Lisaks pannakse kasutaja loomisel juurde kommentaar, milleks hetkel on loomise kuupäev. Mingis mõttes statistika, mingis mõttes struktureerimine. Kuna Proxmox VE keskkonnas ei ole ID-sid ega loomise kuupäeva automaatselt nähtaval, siis on hea võimalus järjestada kommentaari järgi, et näha, millal kellegi kasutaja tehtud on. Ja kui kommentaarid on loodud ühtse stiili järgi, siis on kohe näha: Loomise kuupäev 27.01.2014. Lisaks saab seda täiendada võimalusega, et administraatori käest küsitakse, mis kommentaariks lisada – näiteks kas mingi teenus või kokkulepe vm märgusõna, mis aitaks identifitseerida kasutajat (lisaks tema kasutajanimele). Teeb ka hilisema veaotsimise lihtsamaks.
Skype vahendusel alustasime ühe serveri versiooniuuendust. Hetkel kasutusel FreeBSD versioon 8.3, tänaseks päevaks on soovitatav kasutada juba versiooni järjekorranumbriga 10. Kuna hüppeline uuendamine ei ole kohe üldse mitte soovitatud (ega vist isegi võimalik), siis alustasime step-by-step. Aruande kirjutamise hetkeks on versioon 9 installeeritud ja versioon 10 kompilleerimas.
Vajadus tegelikult tuli ühe produktsioonserveri uuendamisest, mis aga kahjuks Joelil ebaõnnestus. See server, kuhu hetkel uuendust teeme, on aga testimiseks ja selle maasolek ei ole kriitiline. St produktsiooniserverid on tavaliselt kriitilised – on ju loogiline, et produktsiooniga teenitakse raha, teenindatakse kliente jm. Niisiis, proovime testserveril, mis läheb valesti, mis ebaõnnestub ja uurime lahendust, kuidas viga parandada. Seejärel saame juba oma teadmised ja tarkuse üle kanda produktsiooni ja selle uuendamine läheb valutult.
Joel on nädalavahetusel tubli olnud ja joonistaja füüsilise serveri voolust välja tõmbanud ja käivitanud selle virtuaalmasina pealt. Nüüd vist võib joonistaja virtualiseerimisprojekti lugeda lõpetatuks.
Kui olin vahepeal uuendamisega tegelenud, siis pärastlõunal võtsin jälle ette oma skriptikese. Nüüd tegin veatöötlust ja muud kasutajat abistavat tegevust.
Näiteks üks kriitline funktsionaalsus, mida oli vaja implementeerida: Kui kuskil maal juhtub mingi viga, siis automaatselt jäävad kõik tehtud muudatused püsivaks. Ehk, näiteks – kasutaja on loodud, aga kasutajagrupi loomisel tekib mingi viga. Nüüd kui skript uuesti käivitada, siis saab ju jälle vea, et kasutajanimi “tauno” on näiteks juba olemas. Nüüd on siis vaja “tauno1″ panna – ei ole vaja ju! Selleasemel on lahendus:
Kui skript tagastab keskel mõne vea, siis pannakse käima funktsioon, mis kõik loodud üksused kustutab.
Näiteks tekib kettajao eraldamisel viga. Virtuaalmasina loomine on aga eelviimane samm ja kui kettajao loomisel on tekkinud viga (kettajagu luuakse enne virtuaalmasina loomist), siis on ju virtuaalmasin poolik ja klient peab jälle “pahasena” klienditoesse helistama. Selleasemel, et tekitada katkist virtuaalmasinat tühistatakse kõik sammud ja administraator saab otsida põhjust, miks kettajao loomine ei õnnestunud.
Inglise keeles võiks seda protsessi iseloomustada sõnaga rollback – ehk siis taastatakse enne skripti käivitamist olnud töötav olukord.
Homme jälle!