Differences

This shows you the differences between two versions of the page.

Összehasonlító nézet linkje

Előző változat mindkét oldalon Előző változat
Következő változat Következő változat mindkét oldalon
migrating_to_openvz [2009-04-24 00:00]
migrating_to_openvz [2009-04-24 22:06]
erno@rigo.info létrehozva
Sor 1: Sor 1:
 +====== Linux LAMP szerver migráció OpenVZ virtualizációra ======
 +
 +Az alábbiakban igyekszem összefoglalni azokat a szempontokat és teendőket, melyek egy [[http://​en.wikipedia.org/​wiki/​LAMP_(software_bundle)|LAMP]] szoftverekkel használt, több külsős cég számára teljes internetes megjelenést biztosító Linux szerveren az [[http://​wiki.openvz.org|OpenVZ]] "​konténer alapú"​ virtualizációs technológia bevezetésével járnak.
 +
 +===== Miből =====
 +
 +Kiindulási rendszerünk tehát egy általános Linux web- és mail-kiszolgáló. Egy ilyen gép jellemzően számos - egymástól részben független - feladat ellátására szolgál. Ezek jelen dokumentum tekintetében a következők:​
 +  - HTTP - a gép elsődleges feladata a rajta futó céges weblapok kiszolgálása,​ ez gyakran több virtuális hostot jelent. Jelen dokumentumban az Apache web szerver felhasználását feltételezem.
 +  - FTP/WebDAV - a webfejlesztőknek és tartalomfelelősöknek lehetőséget kell biztosítani a weblapok anyagának kezelésére illetve fejlesztés alatt álló webtartalmak elkülönítésére. Több felületen is elérést biztosíthatunk ezekhez a tartalmakhoz. Közös követelmény,​ hogy a webszerver kiszolgálási környezetét a lehető legkisebb mértékben legyenek képesek módosítani,​ vagyis lehetőleg egy adott felhasználó ne férjen hozzá mások adataihoz és saját anyagainak Linux jogosultságait se legyen lehetősége befolyásolni - ezek miatt a követelmények miatt az SSH/SCP rendszer használatát ezen a területen nem vesszük számításba.
 +  - PHP - a rendszeren futó weblapok elsődleges motorja, a szerver oldali alkalmazások virtuális hostokra elkülönített kiszolgálásáért felelős.
 +  - SMTP - a rendszer egyéb felhasználói általában levelezési rendszert igényelnek,​ amihez gyakran társul spam- és vírusszűrés,​ POP3 és IMAP mailboxok valamint esetlegesen egy webmail felület is. A levelezési rendszer kialakításához a Postfix és Dovecot szoftverek felhasználása mellett a ClamAV, MailScanner,​ procmail és SpamAssassin kerül majd terítékre.
 +  - MySQL - a rendszer hátterét képző adatbázis kezelésére is szükség van. Jelen dokumentum nem foglalkozik más SQL rendszerek (PostgreSQL,​ Firebird, stb...) konfigurációs problémáival.
 +  - DNS - a weblapokhoz és céges levelezéshez általában saját domain nevek is társulnak, ezek kiszolgálását el kell végezni. Esetünben a bind9 kiszolgáló kerül számításba.
 +
 +===== Miért =====
 +
 +Mire jó ez az egész? Miben különbözik egy klasszikus módon telepített Linux webszerver egy OpenVZ alapú rendszertől?​ Első sorban az alábbi szempontok alapján javaslom az áttérést:​
 +  - **Biztonság** - a fent felsorolt szoftverekhez tartozó adminisztratív és felhasználói teendők a lehetőségekhez mérten elkülönítendők. A legtöbb esetben biztonsági szempontból az a célszerű, ha a rendszer különböző elérési pontjai eleve elkülönítve futnak, vagyis például egy hibásan megírt weblapon történő kódfuttatás közvetlenül nem érintheti a levelező rendszert vagy az adatbázis kezelő szoftvereket. A biztonság egy másik aspektusa a szolgáltatásbiztonság. Virtualizáció mellett könnyen nyílik lehetőségünk az egyes szolgáltatások komplett archiválására és szükség esetén másik fizikai számítógépen való újraindítására.
 +  - **Adminisztráció** - egy elkülönített szoftverek karbantartása egy bizonyos összetettség felett egyszerűbbé válik ha az egyes alkalmazási területek operációs szempontból is külön virtuális gépekben foglalnak helyet. Könnyebbé válik a rendszer frissítése,​ konfigurációja,​ ráadásul az egyes változtatások előzetesen körültekintően tesztelhetők is.
 +  - **Terheléselosztás** - egy bizonyos terhelés fölött egyes szolgáltatások prioritását a többiekéhez képest csökkenteni lehet. Például a természeténél fogva kötegelt feldolgozást végző SMTP szolgáltatás prioritása egy streaming web tartalomhoz képest jóval alacsonyabb is lehet. Az OpenVZ segítségével lehetőség nyílik a Linux adta natív erőforrás-megosztási eszközöknél jóval finomabban szabályozni,​ melyik szolgáltatásnak mennyi erőforrás jusson. Szükség szerint jóval egyszerűbbé válik az egyes szolgáltatások külön dedikált számítógépre való költöztetése is.
 +
 +===== Mit =====
 +
 +Az elkészíteni kívánt rendszer elsődleges operációs rendszere ("​Hardware Node" - //​HN//​((ezen kívül még //HW//, //VE0// és //CT0// néven is nevezik))) csak a virtuális gépek futtatását és az alapvető rendszergazdai felületet nyújtó SSH szolgáltatást végzi, a HN által futtatott virtuális környezet az alábbi részekből áll (minden egyes pont egy külön virtuális gépet ("​Virtual Environment"​ - //​VE//​((nevezik még a "​Container"​ szó alapján //CT//-nek is))) jelöl):
 +  - LDAP felhasználói adatbázis - feladata a rendszerben ismert felhasználók központi tárolása és adminisztrációja. Erre azért van szükség, mert az egyes VE-k karbantartása meglehetősen nehéz lenne, ha egy konkrét személyez tartozó nevet és jelszót az összes szolgáltatás esetében külön kellene felvenni és módosítani. Az LDAP segítségével hálózati azonosítási szolgáltatást nyújtunk a VE-ken futtató helyi - virtuális - hálózaton. Ez későbbiekben lehetővé teszi az egy darab HN-ről a több párhuzamosan futó HN-re való könnyebb áttérést is (vö: terheléselosztás).
 +  - DNS szolgáltatás - elkülönítése azért is célszerű, mert általában nem igényel a központi adminisztrátoron kívül más felhasználók (pl. ügyfelek) számára hozzáférést.
 +  - MySQL (és más SQL szerverek) - 
 +
 +
 +===== Hogyan =====
 +
 +==== Előkészület ====
 +
 +A rendszer előkészítésének első lépése az OpenVZ virtualizációs technológia telepítése. Ehhez legalább a kernel lecserélésére és a szükséges adminisztrációs eszközök (vzctl, stb...) feltelepítésére van szükség.
 +
 +Ezt követően szükség van a tervezett virtualizált rendszer alapjainak lefektetésére.
 +
 +
 +
  
migrating_to_openvz.txt · Utolsó módosítás: 2009-04-24 00:00 (külső szerkesztés)
CC Attribution-Noncommercial-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0