Mini magánfelhő/szerverfarm/akármi - hogyan?

Fórumok

Sziasztok,

Szeretnék ötleteket/tanácsot/támogatást kérni, hogy merre induljak egy saját mini-farm kialakításában.

A probléma: szeretnék egy olyan kis szerverfarmot, amelyre könnyen tudok új szolgáltatásokat/web appokat/stb. telepíteni tesztelésre és akár alapszintű éles üzemre is, viszonylag megbízható és költséghatékony módon (pl. saját honlap, mail szerver, DNS, 1-2TB biztonságos store, Apple notification server, Git, issue tracker, ügyfél projekteknek fejlesztői és teszt környezetek, stb. - általában mind Linux alapú). Tulajdonképpen konszolidációról lenne szó, ma is (többnyire) megvannak ezek, csak szanaszét különféle bérelt szervereken (történelmi okok miatt). Egy másik szempont, hogy “saját” hardveren az EU-ban talán kicsit nagyobb biztonságban lennének az adatok is ;).

HW infrastruktúra: Azt néztem, hogy úgy 70-120 Euró környékén már tudnék akár 2-3 ilyesmi vasat bérelni: Intel Xeon W3520 (4c/8t, 2.66 GHz+), 32 GB ECC RAM, 2 x 2 TB SATA (soft RAID), egymás között LAN-nal és kifelé pedig alapvető tűzfallal és DDoS védelemmel.

A kérdés: mi az a modern szoftver infrastruktúra, ami lehetővé tenné, hogy könnyen létre tudjak hozni és menedzselni VM-eket/konténereket/akármit, amikbe aztán telepíthetem a funkciókat, és amelyek az egyik gép hw hibája esetén migrálni tudnak (automatikusan?) a másikra/többire és a fenti hardver már elég neki? Fontos lenne, hogy egyszerű legyen a telepítés és karbantartás (és/vagy legyen valaki aki részmunkaidőben tudja támogatni).

Nagyon örülnék annak, ha valaki segíteni tudna összerakni/támogatni a cuccot, de mindenképp szeretném megérteni is :).

Bármi ötletet szívesen vennék - köszi előre is!

Hozzászólások

Én vmi DRBD alapú "közösített" háttérrel oldanám meg (hacsak nem akarsz venni vmi storage megoldást hozzá), és tetszőleges virtualizációs
környezettel. (Pl Xen).
Esetleg Ganeti, v Kemari

Mondanám azt, hogy XenServer - de nem tudom mennyire lehet alábírkózni a DRBD+iSCSI (v NFS) osztott háttértárat.

Köszi az eddigi válaszokat!

A következő kép kezd kibontakozni (kiabáljatok, ha marhaságot mondok:)

* Hardware szintű virtualizáció: pl. Xen vagy KVM - melyik miért - előnyök/hátrányok? van más?

* A fenti menedzsmentje ("virtualisation platform"): pl. XenServer.org, Ganeti (ez DRBD-t is kér többek között) - melyik miért - előnyök/hátrányok? van más?

Ekkor már tudok VM-eket deployolni, van HA, stb.

Hatékonyabb erőforrás használat: Docker containerek - ehhez mi kell még a fentieken kívűl?

Fejlesztői környezetek menedzsmentje: Vagrant (Dockerre épülve?) - ehhez mi kell még a fentieken kívűl?

Az OpenStack, CloudStack, Ubuntu Core, LXC hol jön be a képbe?

Tisztában vagyok vele :) Tulajdonképpen az egész kérdésnek az volt a lényege, hogy valaki aki gyakorlott a témában szóljon, hogy szívesen segít lespecifikálni és implementálni ;)

Furcsa, hogy egy ilyen architektúra tervet még nem találtam a neten, mert szerintem a kis/közepes vállalatok körében sztem lenne érdeklődés...

DRBD :)
AZ állást kínálok azért írtam, mert ha jól értem, arra vágysz, hogy valaki végig segít kialakítani, megtanulni, adminolni, stb, stb.
Ezt szerintem senki sem vállalja el ingyen. :\
---------------------------------------------------
Hell is empty and all the devils are here.
-- Wm. Shakespeare, "The Tempest"

Nem gonoszkodok én, de ez nem az a kategória, hogy hol hagytam ki egy space-t a scriptből szerintem, hanem szaktudás nélkül akar egy munkát elvégezni, komolyabb utánaolvasás, tesztelés, tapasztalat nélkül (lásd sült galamb).
Ennek ára van.

---------------------------------------------------
Hell is empty and all the devils are here.
-- Wm. Shakespeare, "The Tempest"

Ok, lehet neki segíteni, hogy merre nézelődjön, úgyis rájön, hogy ez nem olyan dolog, amit összekattingat next-next-finish, és szakembert fog hívni.
Vagy majd akkor, ha meg kell menteni az adatait, vagy eltávolítani a behatolókat, vagy mittudomén. De előbb-utóbb rájön úgyis.
--
PtY - www.onlinedemo.hu, www.westeros.hu

"A kérdés: mi az a modern szoftver infrastruktúra, ami lehetővé tenné, hogy könnyen létre tudjak hozni és menedzselni VM-eket/konténereket/akármit, amikbe aztán telepíthetem a funkciókat"

Vagrant például.

Nem használtam xenserver-t, a proxmox oldalon egy előnyt ír az openvz-t.
Előtte vmware volt, onnan a virtuális gépeket simán átmásoltam és kicsi konfigurálás után még mindig mennek.
Support még nem kellett, minden problémámra megtaláltam a megoldást, még nincs előfizetésem ilyesmire.

A gépeg amiken használom nagyon vegyesek a leggyengébb egy 2 magos pentium 4GB rammal: 2-3db VM megy (egyenlőre ennyi pénzt sikerült kisírni és így leváltani a 8-10 éves celeronos "szervereket").
A legérdekesebb és legjobb ár/teljesítmény az AMD 8350-es procival és 32GB rammal megy már egy jó ideje kb 8-10VM és 4-5CT (itt fut win2013 server, win7 (photoshopal), winxp, zimbra levelezés, fájlszerver, és egy elég nagy adatbázis).
Próbáltam régebbi IBM szerverre feltenni 2x4 magos xeonal 16GB rammal, de az előbbihez képest nagyon gyengén teljesít.

Valóban így van. Egyedül akkor kell mókolni, ha a Proxmox-ot egy VirtualBox-ban szeretnéd kipróbálni. Ilyenkor ki kell kapcsolni a KVM támogatást (VirtBox alatt nincs :) ), de feltelepül: kb. 4-8x annyi idő alatt. De megy.

Rendes vas-on pedig bármi lehet, aminek van VM támogatása (Celeronnak nincs, sima Intel/AMD-nek már van)...

--------------------------------
last project: www.ekaer-feladas.hu

Miért akarsz HW-t bérelni? Mi szól egy/több nagyobb VPS ellen? Konszolidálni oda is tudsz, sokkal rugalmasabb szerintnem :)

Nekem van pár dolog ami nem tiszta... (vagy csak latolgatod a lehetőségeket?)
Először saját vasról beszélsz aztán meg havi bérleti díjról...

Na de ha saját vas és abból az összegből indulok ki amit írtál (évi kb 1000 EUR) akkor azt mondanám, hogy 3-5 éves szervereket ennyiből már lehet venni, tehát a földön állsz.

Én a magam részéről (és tartson mindenki eretneknek), azon is elgondolkodnék, hogy nem feltétlen server vason és többszörös fail over -ben, terhelés elosztásban asztali pc alkatrészekből raknám össze a cuccot. (2db használt server helyett 6-8 új PC)

Térjünk vissza az eredeti kérdéshez, már hogy milyen software:

  • OS -re azt mondanám, hogy debian, vagy inkább ubuntu! mégpedig a repok miatt, illetve mert azokat elég rendesen tartják karban.
  • Ha kevés a vas, vagy nem erőteljesen hardware igényes a funkciók nagy része, akkor szóba jön a virtualizáció, ez többé kevésbé hitvita, de szerintem Xen. Mert tud paravirtualizálni (is), szereti az LVM -et és nem kell hozzá színes-szagos kattintós management eszköz
  • Ha kettőnél több server (akár virtualizált, akár valódi), akkor kelleni fog, valami konfig management, ami szerintem puppet, hozzá egy svn, vagy git repo (a rendszertől függetlenül, egy privát tárolóban). Ahhoz, hogy a configokat kényelmesen tudd szerkeszteni ahhoz meg Eclipse
  • Nyilván kell mentés is, én otthonra csinálnék egy mentő servert: közepes teljesítményű PC sok HDD -vel
  • Ahhoz, hogy aztán ez managelhető legyen kell dokumentáció, MINDENRŐL!!! KOMOLYAN MINDENRŐL!!! Tehát kell wiki
  • Ahhoz, hogy aztán ez managelhető legyen kell Felügyelet Nagios + Observium + Collectd + Email és SMS értesítés
  • Ha nem csak te fogod a gépeket managelni érdemes meggondolni a központi bejelentkeztetést
  • Ha nem csak te fogod a gépeket managelni hasznos lesz egy ticketting rendszer, szerintem Redmine

Na jól eltértem az alap kérdésektől, de remélem hasznosakat írtam.

----
올드보이
http://molnaristvan.eu/

Nagyon egy srófra jár az agyunk :)

Igazi saját vassal azért nem kezdenék, mert akkor még a hw menedzsment és hosting is az én dolgom, ráadásul praktikusan csak Mo a lokáció, és hostinggal együtt már vsz nem olcsóbb. Viszont 15-45 EUR/hó-ért már bérelhetők elég jó szerverek az EU-ban. Az alsó végén (15-25 EUR) teljesen commodity hw, 30 EUR-tól felfelé már szerver komponensekkel (45 környékén már van hw RAID is). Gondját viselik a cuccnak, jó a net elérés, tűzfalat szolgáltatnak, stb.

Tehát a célom, hogy ilyen olcsó hw-ből összerakjak egy mégis viszonylag megbízható ("HA":) platformot ("private cloud") ilyen 100 EUR/hó körüli áron (2-3 gép), aminek összesen lesz 8-16 CPU-ja, 64-128 GB RAM-ja, és (4-6)x2TB diszkje. Ez arra bőven elég, hogy a saját dolgaink elfussanak rajta + az ügyfelek dev/test/staging szervereit elvigye, esetleg kisebb élő cuccokat is kiszolgáljon. Akár 10 VM is elfuthat rajta, Dockerrel még jobb a helyzet.

Ahol lehet, ott Ubuntut választanék, mert azzal már van tapasztalatom és sztem elég jó. A többi amit írsz nagyon jó tipp, köszi!

Sikerült összekombinálnod a maxokat :D

De pl:

3x (Intel Xeon W3520 (4c/8t) 2.66 GHz+, 32 GB ECC, 2 x 2 TB SATA Soft RAID) 3x €35.00 = €105.00

vagy

2x (2xIntel Xeon E5606 (8c/8t) 2.13 GHz+, 96 GB ECC, 2 x 2 TB SATA MegaRAID) 2x €60.00 = €120.00

250 Mbit/s bandwidth, unmetered; 1 Gbit/s network card (de csak egy...)

És van setup fee is (€50/gép).

Ezek nettó árak (VAT nélkül).

Vannak még olcsóbbak is.

Amennyiben 10-20 virtuális gépet szeretnél csak futtatni akkor egy vas bőven elég. commodity HW, hasznát szerverek már 200EUR-tól elérhetőek.
PC-t én nem javaslok. teszteléshez, otthoni kísérletezéshez jó, de 7/24-re édes kevés. persze, vannak ellenpéldák.

Ha szükséges a HA, akkor az a kérdés, hogy az elképzelésed melyik részére; disk, net, uplink, service, stb...

még mindíg a minimális megoldásnál maradva én a Ganetit javaslom, Xen hypervisor-ral és két node-dal működtetve.
Ganeti támogat LVM, DRBD, Gluster, Rados/Ceph (ha ez kell) storage megoldásokat. kiprobaltam az NFS-t is, működött, de nem preferálom. valamint egyszerű plain disk-et.
a node-okon három diskre javaslok egy RAID1E konfigot, ha negynél több disk-et szeretnel a tárhelyek miatt akkor RAID6, robosztus és gyors.
(HW vagy SW RAID, az egy másik téma...)

GUI-nak a ganetimgr-t (http://ganetimgr.readthedocs.org) javaslom, könnyen kezelhető, átlátható, és felhasználó kezelése is megoldott.

két node-re célszerű, de nem szükséges egy konfig menedzsment. puppet script elérhető Ganetihez.

mire gondolsz? HA rendszer, vagy komponens szinten?

net layer2: igen - bonding, VLAN trunking, dual homed
disk: igen - RAID a node-okon, és DRBD a VM-nek, dual homed net for replication
application: ez maradjon meg a felhaszálónak.

az automatic failover a virtuális gépek között még nem kerek teljesen, de jó irányba halad. a kézi failover, live migration működik out of the box.
a Ganeti master failover is működik, három node esetében minden gond nélkül, viszont két node esetében a beállításokra ügyelni kell. azon gondolkodom, hogy két node üzemeltetéskor nem is biztos, hogy szükséges.

a cluster re-balancing is működik, viszont csak kézzel. az automatizálására akkor lesz szükség, ha a használatban lévő VM-ek száma gyakran változik. majd meglátjuk...

Én erősen elgondolkodnék azon, hogy van-e értelme az IaaS alá menni mostanság, sőt... folyamatosan vesztesz majd a versenyképességedből, ha nem használod a meglévő és egyre bővülő IaaS, PaaS, és SaaS lehetőségeket... pláne - ahogy írod, nem is akarsz foglalkozni a részletekkel, hanem keresel embert, aki majd ápolja az összelapátolt cuccokat... a lehető legdrágább dolog az IT területen a hozzáértő ember, a nem hozzáértő pedig még drágább lesz idővel...

...ha mégis fizikai vas az irány, akkor https://www.openstack.org/

En Docker-t hasznalok. Sajat projektem is docker container-re fordul le.

---
Saying a programming language is good because it works on all platforms is like saying anal sex is good because it works on all genders....

Docker egy nagyon jó szeparációs technika, kis erőforrás, gyors gép. Hátrányok (nyilván utánaolvasva mindenki rájön):
- Egyszerre indítod újra a gépeket
- Csak egyforma OS megy. Linuxon nem lesz Win32 container.

--------------------------------
last project: www.ekaer-feladas.hu

> - Csak egyforma OS megy. Linuxon nem lesz Win32 container.

Es csak 64bites architektura.
Magyaran egy 64bites host-on, nem megy egy arm docker.

Nem voltam eleg figyelmes amikor hozzaszoltam.

Nalam a mostani irany az,
hogy nagyjabol minden programot/szolgaltatast betegyek docker ala.
A sajat kis privat programjaimat is (pythonostol, node.js-estol, vagy postfixestol:).

Viszont amit a topikindito feszeget,
az kb. a digitalocean megvalositasa piciben.
Egeszen mas tema.

Azon en is torom a fejem, hoyg hogyan csinaljam. Marmint a vegyes kornyezetet. Van par program amihez windows kell.

Kell akkor az egesz ala egy host linux, abban legalabb 2 virtualis gep, egyiken megy windows a program miatt (ha tobb van, akkor tobb windows-os virtualis gep), a masikon megy a docker host. Es abban minden linuxos docker container.

De ez meg mindig egy gepes setup.

Szoval en tul kicsiben nyomom, hogy a topikinditonak erdemben tanacsot tudjak adni egy 20+ gepes kornyezetbe (ahol mind a 20+ gep szerver).

---
Saying a programming language is good because it works on all platforms is like saying anal sex is good because it works on all genders....