NetworkShop 2007  Hatékony szerverfarm üzemeltetés

Hatékony szerverfarm üzemeltetés I. Server-Templates – Szerverek gyorstelepítése

Pásztor György

pasztor@bibl.u-szeged.hu Szegedi Tudományegyetem - Egyetemi Könyvtár

—

Csillag Tamás

cstamas@digitus.itk.ppke.hu PPKE - ITK

Miről lesz szó az első részben:

– Virtulizációs technikák rövid áttekintése

– Automatizált szerver telepítési technikák és eszközök a’la Debian GNU/Linux

– Az egyes virtualizációs technikákhoz kapcsolódó Debianos eszközök – Hogyan lépjünk tovább: Server-Templates

Virtualizáció I.

Miért is akarunk egyáltalán virtualizálni?

– Nem kell a hardverrel foglalkozni a szerver üzemeltetésénél. – hálózat

– tárólóeszközök

– Könnyebben archiválható (pl. LVM és snapshot)

– Könnyebben skálázhatóak a használt erőforrások. (Pl. LVM(lvextend) & XFS (xfs growfs))

– Könnyebb egy virtuális szervert migrálni

– Könnyű tesztkörnyezeteket létrehozni…

Virtualizáció II.

Virtualizációs technológiák

– Emuláció – VMware (WS, Srv), Bochs, Plex86, MS Virtual (PC, Srv)

– HVM(Intel VT-x, AMD Pacifica) – Xen, KVM, VMware ESX

– Paravirtualizáció – Xen , UML(hibrid paraemuláció), VMware ESX

– Operációs rendszer szintű virtualizáció – Linux: chroot, VServer, Virtuozzo, OpenVZ

– BSD: jail

– Solaris: Zones

Debian szerver telepítés I.

Debian installer

Install Guide http://d-i.alioth.debian.org/manual/en.i386/ DebianInstaller/Preseed http://wiki.debian.org/DebianInstaller/Preseed Automating new Debian installations with preseeding

http://www.debian-administration.org/articles/394

Debian szerver telepítés II.

Mit is csinál az installer:

– partman

– debootstrap

– debconf

Debian Installer korlátok

– nem lehet mindent a debconf interfészen keresztül konfigurálni – a csomagok/alaprendszer telepítése után megáll az élet

Debian Install - VServer I.

A vserver-debiantools/newvserver tudása

– (Egy) hálózati interfészt kezel (dns-t már maga ,,találja ki”)

– ,,Lemezeket” nem kezeli

– végül egy debootstrap-el installál

Személyreszabhatósága:

– megadhatunk az install után lefutó scriptet

– megkérhetjük publikus kulcsokat másoljon be a root .ssh/authorized keys-ébe.

Debian Install - VServer II.

lehetséges használati filozófia

– newvserver-el létrehozunk néhány ,,template”-t

– megcsináljuk a beállításait

– dupvserver-el példányosítunk, ahol a másolat már csak az

IP-konfigurációt illetően tér csak el

Hátrányok:

– az első és második lépés sok interakciót igényel, abszolút nem automatizálhatóak

– nincs egy átfogó eszköz a ,,templatejeink”, vservereink kezelésére

Debian Install - Xen I.

A xen-tools tudása

– hálózati konfigurációt alapszinten kezeli, de kézzel összhangba kell hozzuk a xen konfigurációjával

– lemezkezelésben már fejlettebb – lvm

– evms

– alkönyvtárba loopback imagek

– az installálás már többféle lehet – debootstrap

– copy

– tar

Debian Install - Xen II.

Használhatjuk a vserver-debiantools-nál már említett módon is, de támogat néhány további lehetőséget.

További lehetőségek:

– usereket át tudja másolni a host rendszerből a guestbe

– megadhatunk a telepítés után lefuttatandó scriptet

– role-k al egy előre telepített csomagkészlet is megadható Háttánya, hogy itt is előfordulhat, hogy felhasználói beavatkozást vár a folyamat közben.

Debian Install - Vserver-Templates I.

A felmerült igények

– Egy, lehetőleg minél egyszerűbb konfigurációs fájl tartozzon minden egyes szerverhez

– Kezelje a guest hálózati konfigurációját

– Kezelje a guest lemezalrendszerigényeit

– NE kelljen általános ,,postinstall” feladatokra magunknak scriptet írnunk

– debian csomag feltelepítése

– debian csomagnak előkészített válaszok preseedelése

– …

Debian Install - Vserver-Templates II.

A felmerült igények

– Lehessen összeállítani alapcsomagkészletet ,,témákra”

– Lehessen az egyes ,,témák” által feltett csomagokat ebből az átfogó konfigurációs fájlból kezelni

– Lehessen komplex felhasználólistát készíteni az újonnan létrehozandó szerverhez

– Legyen a felhasználókhoz tartozó kulcsmanagement

– Könnyítse meg a szerverrel kapcsolatos archiválási feladatokat

– adjon lehetőséget sitespecifikus alapértelmezések megadására

– Ne igényeljen felhasználói interakciót a telepítés során!

Vserver-Templates - Megvalósítás I.

,,plugin architektúra”

– Független a használt virtualizációtól. Tervezve, hogy támogatja: – vserver

– xen

– OpenVZ

– A hálózatkezelésnél ne kelljen a részletekkel foglalkoznom. A virtualizációtól függetlenül kezelje le a virtualizációs rendszer felé! Támogatás tervezve:

– bridge/ip alias

– nat

– route

Vserver-Templates - Megvalósítás II.

,,plugin architektúra”

– Kezeljen többféle lemezhasználati módot. Támogatás tervezve: – lvm

– alkönyvtár/loopback image

– evms

– Kezeljen többféle telepítési módot. Támogatás tervezve: – debootstrap-es install

– tar image

– copy

– rpmstrap

– …

Vserver-Templates - Megvalósítás III.

,,plugin architektúra”

– Végezzen el modulárisan telepítés után feladatokat. – virtualizációtől függő konfig,,csonkítások”

– preseedelt beállítások

– olyan beállítások, amiket már a preseed se tud: ∗ userek létrehozása, csoporttagságba tevése...

∗ key-ek bemásolása a usernek (.ssh/authorized keys)

∗ php(4,5) telepítésekor az apache verziójához való php modul telepítése

∗ mysql alaptelepítés után jelszó átállítás, alap sql parancsok lefuttatása

∗ phpXXadmin-nál default url megváltoztatása

∗ egyéb ,,custom” post install script lefuttatása

Vserver-Templates - Megvalósítás IV.

,,template architektúra”

– ne írja elő a használandó virtualizációt

– ne írja elő a használandó hálózatkezelést

– ne írja elő a használandó lemezkezelést

– készítse ,,élesre” a rendszert (csinálja meg a preseedelést és a virtualizáció specifikus ,,patchelést”)

– telepítsen fel esetleges plusz csomagokat

– hagyjon lehetőséget személyreszabhatóságra

Vserver-Templates - Megvalósítás V.

Egy példa sitekonfig

INSTALL˙ MIRROR=”http://localhost/debian” INSTALL˙ SECMIRROR=”http://localhost/debian-security” #NET˙ DNS=160.114.159.130 MEDIA˙ LVM˙ VG=camino INSTALL˙ DIST=etch INSTALL˙ SECDIST=etch/updates

Vserver-Templates - Megvalósítás VI.

Egy példa virtuális gép konfigja

TEMPLATE=”lamp” VST˙ HOSTNAME=”vs0” VST˙ DOMAIN=”bibl.u-szeged.hu” VS˙ METHOD=vserver NET˙ METHOD=dummylink NET˙ NETWORK=”10.8.0.16” NET˙ INTERFACE=”dummy0” MEDIA˙ NAME=”vs0” POSTCONF˙ CUSTOM=”defuser” POSTCONF˙ DEFUSER˙ USERNAME=”user0” POSTCONF˙ DEFUSER˙ WHEEL=”user0”

Vserver-Templates - Használat.

Példa parancsok:

– vst create vs0 - telepítés

– vst destroy vs0 - eltávolítás

– vst start vs0 - elindítás

– vst stop vs0 - leállítás

– vst save vs0 - mentés

– vst restore vs0 2007-04-12-01 - visszaállítás online cím:

http://www.bibl.u-szeged.hu/˜ pasztor/nws2k7/ http://digitus.itk.ppke.hu/˜ cstamas