Intel Yonah január 6-án. Van ennek bármi köze ahhoz, hogy pont aznapra ígérik az első intel alapú Apple iBook-ot?
Címke: tech
Hogyan építsünk jól működő szerverparkot.
Tegnap tehát azon gondolkodtam el, hogy hogy is kéne olyan szerverparkot kiépíteni, ami egyszerre felel meg a stabilitás és az élvágósg követelményének, miközben az adminisztráció is egyszerű marad.
Az alapszitu a következő:
1. Van egy mission critical alkalmazás, MySQL + Apache felállásban *, valamint egy mission critical levelezés, meg a szokásos megszakításmentes dolgok.
2. Van ugyanakkor igény cutting edge szofvtercsomagokra, amiből fontos, hogy mindig frissek legyenek, és jellemzően PHP alapokra épülnek.
A kézenfekvő megoldás az, hogy fogjuk a Debian Stable ágat, feltosszuk a szerverekre, bekonfigoljuk, és megy a mission critical dolog, stabil, mint az atom. A PHP-alapú cuccokat lerántjuk, és célszerűen egy másik (de még mindig stabil) Debian boxon futtatjuk.
A probélma az, hogy a PHP-alapú cuccok fő jellegzetessége az ementálisajt-szerű biztonság. Nálunk pl. projectmanagement rendszer. Vegyünk egy GForge-ot, de mivel azt nem ismerem, vegyünk egy Drupalt alapul: hetente jönnek ki rá az újabb és újabb exploitok, a francnak van ideje ezt állandóan foltozgatni, követni a levlistát, hogy most éppen milyen hiba került elő.
A megoldást most abban látom, hogy fogunk egy Debian Testing boxot. A mission critical dolgok persze maradnak a Debian Stable-n, azoknak szerencsére nem kell semmi, ami túl új.
A Debian Testing cuccra pedig nem kézzel húzgáljuk le a különféle PHP-alapú csomagokat, hanem szépen az APT rendszeren keresztül: GForge van rá, Drupal van rá, Horde/IMP van rá. (Még WordPress is benne van!) Ha biztonsági frissítés van, jön a Debiannal, a testing pedig biztosítja, hogy kb. 1-2 hét lemaradás van a dolgok realtime valóságától, ami totálisan bevállalható, ha megnézzük, hogy mit nyertünk: egy alapot, amire nem kell annyira odafigyelni, lehet koncentrálni a melóra. Célszerűen egy tesztrendszeren húzzuk először le a csomagokat, hogy lássuk, hogy a testingben nem tört-e el valami az aktuális upgrade-del, de azt hiszem, hogy a testingben a törött dolgok általában valami grafikus felülethez, ha jól tudom most legutóbb éppen a KDE-hez fűződnek, és nézzünk magunkba: ki nem szarja azt le?
Kicsit spanyolviasz-szerű dolog ez, de nálam egyfajta doktrínaváltás.
A szolgáltatásokat pedig elég egyszerű kategorizálni az alapján, hogy kell-e belőle a legfrissebb, vagy nem.
* (és Update): Drastiknak persze (ebben) igaza van, a MySQL szar. A „mission critical” ez esetben inkább azt jelenti, hogy „ne nyúlj hozzá”. (A többi felvetéssel meg lehetne vitatkozni, csak nem vele.)
Apt dolgok.
Lee: Kéne valami olyan kis tool, ami upgradekor kilistázza a változásokat a csomagok közt. Valami changelister, ilyesmi.
Blint: Van: apt-listchanges.
Mai érdekességünk az apt-listchanges csomag. Semmi mást nem kell vele tennünk, mint egy
paranccsal feltelepíteni, és onnantól a rendszer minden upgrade-kor kiírja, hogy mi változik az upgrade-elt csomagban. (Technikailag annyit tesz, hogy megnézi a .deb csomagban a NEWS.Debian file-t.) Ez a rendszergazdának nagyon hasznos dolog, mert nem mindegy, hogy egy új „cool-ámbár-bugos” featúra kerül be a rendszerünkbe, vagy csak egy egyszerű (és hasznos/kötelező) biztonsági frissítésről van szó.
Nagyon jól átgondolt egyébként a Debian ebből a szempontból is (ezt szereten benne), és ha megnézed a /etc/apt/apt.conf.d/ könyvtárat, láthatod miért: ott van, ugyanúgy, mint az init processzeknél, hogy mit és milyen sorrendben kell futtatni egy frissítéskor. Nálam pl.:
20listchanges
70debconf
99-localepurge
Töklogikus: először lefut a listchanges, kilistázza a változásokat. Utána jön a debconf, ami maga a konfigurálás és telepítés, majd a legvégén egy másik hasznos tool, a localepurge, amivel többszáz megákat lehet felszabadítani a rendszerből azáltal, hogy csak azokat a nyelveket hagyja meg a manualok és doksik közül, amiket te mondasz neki.
Te milyen jóság apt segédprogramot használsz?
(Holnap pedig a corporate szerverfarmépítés lipilee modelljéről fogok szólni.)