Lai nodroÅ”inÄtu IaaS (virtuÄlÄ datu centra) pakalpojumus, mÄs
KÄ skaitļoÅ”anas mezgla hipervizori tiek atbalstÄ«ti KVM, VmWare, Xen, Virtuozzo6/7, kÄ arÄ« konteineri no tÄ paÅ”a Virtuozzo. AtbalstÄ«tÄs krÄtuves iespÄjas ietver vietÄjo, NFS, Ceph un Virtuozzo krÄtuvi.
FCO atbalsta vairÄku klasteru izveidi un pÄrvaldÄ«bu no viena interfeisa. Tas nozÄ«mÄ, ka jÅ«s varat pÄrvaldÄ«t Virtuozzo kopu un KVM + Ceph kopu, pÄrslÄdzoties starp tÄm ar peles klikŔķi.
SavÄ pamatÄ FCO ir visaptveroÅ”s risinÄjums mÄkoÅpakalpojumu sniedzÄjiem, kas papildus orÄ·estrÄÅ”anai ietver arÄ« norÄÄ·inus ar visiem iestatÄ«jumiem, maksÄjumu spraudÅiem, rÄÄ·iniem, paziÅojumiem, tÄlÄkpÄrdevÄjiem, tarifiem utt. TaÄu norÄÄ·inu daļa nav spÄjÄ«ga aptvert visas krievu nianses, tÄpÄc atteicÄmies no tÄs izmantoÅ”anas par labu citam risinÄjumam.
Esmu ļoti apmierinÄts ar elastÄ«go sistÄmu tiesÄ«bu izplatÄ«Å”anai uz visiem mÄkoÅa resursiem: attÄliem, diskiem, produktiem, serveriem, ugunsmÅ«riem - to visu var ākoplietotā un pieŔķirt tiesÄ«bas starp lietotÄjiem un pat starp dažÄdu klientu lietotÄjiem. Katrs klients savÄ mÄkonÄ« var izveidot vairÄkus neatkarÄ«gus datu centrus un pÄrvaldÄ«t tos no viena vadÄ«bas paneļa.
ArhitektÅ«ras ziÅÄ FCO sastÄv no vairÄkÄm daļÄm, katrai no kurÄm ir savs neatkarÄ«gs kods, un dažÄm ir sava datubÄze.
ApvÄrsnis - administrators un lietotÄja interfeiss
skuÄ·is ā biznesa loÄ£ika, rÄÄ·ini, uzdevumu vadÄ«ba
TÄ«Ä£erilija ā pakalpojumu koordinators, pÄrvalda un koordinÄ informÄcijas apmaiÅu starp biznesa loÄ£iku un klasteriem.
XPManager ā klasteru elementu pÄrvaldÄ«ba: mezgli, krÄtuve, tÄ«kls un virtuÄlÄs maŔīnas.
XPAgent ā mezglos instalÄts aÄ£ents, lai mijiedarbotos ar XVPManager
PlaÅ”Äku stÄstu par katras sastÄvdaļas arhitektÅ«ru plÄnojam iekļaut rakstu sÄrijÄ, ja, protams, tÄma raisÄ«s interesi.
FCO galvenÄ priekÅ”rocÄ«ba izriet no tÄ ākastesā rakstura. VienkÄrŔība un minimÄlisms ir jÅ«su rÄ«cÄ«bÄ. VadÄ«bas mezglam tiek pieŔķirta viena virtuÄlÄ maŔīna uz Ubuntu, kurÄ ir instalÄtas visas nepiecieÅ”amÄs pakotnes. Visi iestatÄ«jumi tiek ievietoti konfigurÄcijas failos mainÄ«gas vÄrtÄ«bas veidÄ:
# cat /etc/extility/config/vars
ā¦
export LIMIT_MAX_LIST_ADMIN_DEFAULT="30000"
export LIMIT_MAX_LIST_USER_DEFAULT="200"
export LOGDIR="/var/log/extility"
export LOG_FILE="misc.log"
export LOG_FILE_LOG4JHOSTBILLMODULE="hostbillmodule.log"
export LOG_FILE_LOG4JJADE="jade.log"
export LOG_FILE_LOG4JTL="tigerlily.log"
export LOG_FILE_LOG4JXVP="xvpmanager.log"
export LOG_FILE_VARS="misc.log"
ā¦
Visa konfigurÄcija sÄkotnÄji tiek rediÄ£Äta veidnÄs, pÄc tam tiek palaists Ä£enerators
#build-config, kas Ä£enerÄs vars failu un pavÄlÄs pakalpojumiem atkÄrtoti izlasÄ«t konfigurÄciju. LietotÄja saskarne ir jauka, un to var viegli marÄ·Ät.
KÄ redzat, saskarne sastÄv no logrÄ«kiem, kurus lietotÄjs var kontrolÄt. ViÅÅ” var viegli pievienot/noÅemt logrÄ«kus no lapas, tÄdÄjÄdi izveidojot viÅam nepiecieÅ”amo informÄcijas paneli.
Neskatoties uz savu slÄgto raksturu, FCO ir ļoti pielÄgojama sistÄma. Tam ir milzÄ«gs skaits iestatÄ«jumu un ieejas punktu darbplÅ«smas mainÄ«Å”anai:
- Tiek atbalstÄ«ti pielÄgoti spraudÅi, piemÄram, varat rakstÄ«t savu norÄÄ·inu metodi vai savu ÄrÄjo resursu, lai nodroÅ”inÄtu lietotÄjam
- Tiek atbalstÄ«ti pielÄgoti aktivizÄtÄji noteiktiem notikumiem, piemÄram, pirmÄs virtuÄlÄs maŔīnas pievienoÅ”ana klientam, kad tÄ tiek izveidota
- InterfeisÄ tiek atbalstÄ«ti pielÄgoti logrÄ«ki, piemÄram, YouTube videoklipa iegulÅ”ana tieÅ”i lietotÄja saskarnÄ.
Visa pielÄgoÅ”ana ir rakstÄ«ta FDL, kuras pamatÄ ir Lua. Ja pazÄ«sti Lua, tad ar FDL problÄmu nebÅ«s.
Å eit ir piemÄrs vienam no vienkÄrÅ”Äkajiem aktivizÄtÄjiem, ko mÄs izmantojam. Å is aktivizÄtÄjs neļauj lietotÄjiem koplietot savus attÄlus ar citiem klientiem. MÄs to darÄm, lai neļautu vienam lietotÄjam izveidot ļaunprÄtÄ«gu attÄlu citiem lietotÄjiem.
function register()
return {"pre_user_api_publish"}
end
function pre_user_api_publish(p)
if(p==nil) then
return{
ref = "cancelPublishImage",
name = "Cancel publishing",
description = "Cancel all userās images publishing",
triggerType = "PRE_USER_API_CALL",
triggerOptions = {"publishResource", "publishImage"},
api = "TRIGGER",
version = 1,
}
end
-- Turn publishing off
return {exitState = "CANCEL"}
end
ReÄ£istra funkciju izsauks FCO kodols. Tas atgriezÄ«s izsaucamÄs funkcijas nosaukumu. Å Ä«s funkcijas parametrs āpā saglabÄ zvana kontekstu, un, pirmo reizi to izsaucot, tas bÅ«s tukÅ”s (nulle). Kas ļaus mums reÄ£istrÄt mÅ«su aktivizÄtÄju. LaukÄ triggerType mÄs norÄdÄm, ka aktivizÄtÄjs tiek izsaukts PIRMS publicÄÅ”anas un ietekmÄ tikai lietotÄjus. Protams, mÄs ļaujam sistÄmas administratoriem publicÄt visu. SadaÄ¼Ä TriggerOptions ir detalizÄti aprakstÄ«tas darbÄ«bas, kurÄm aktivizÄtÄjs tiks aktivizÄts.
Un galvenais ir atgrieÅ”anÄs {exitState = āCANCELā}, tÄpÄc tika izstrÄdÄts trigeris. Kad lietotÄjs mÄÄ£inÄs kopÄ«got savu attÄlu vadÄ«bas panelÄ«, tas atsÄks kļūdu.
FCO arhitektÅ«rÄ jebkurÅ” objekts (disks, serveris, attÄls, tÄ«kls, tÄ«kla adapteris utt.) tiek attÄlots kÄ resursa entÄ«tija, kurai ir kopÄ«gi parametri:
- Resurss UUID
- resursa nosaukums
- resursa veids
- Resursa īpaŔnieka UUID
- resursa statuss (aktīvs, neaktīvs)
- resursu metadati
- resursu atslÄgas
- Produkta UUID ID, kuram pieder resurss
- resurss VDC
Tas ir ļoti Ärti, strÄdÄjot, izmantojot API, kad visi resursi tiek strÄdÄti pÄc viena principa. Produktus konfigurÄ pakalpojumu sniedzÄjs un pasÅ«ta klients. TÄ kÄ mÅ«su rÄÄ·ins ir blakus, klients var brÄ«vi pasÅ«tÄ«t jebkuru produktu no paneļa. Tas tiks aprÄÄ·inÄts vÄlÄk rÄÄ·inÄ. Produkts var bÅ«t IP adrese stundÄ, papildu GB disks stundÄ vai vienkÄrÅ”i serveris.
AtslÄgas var izmantot, lai atzÄ«mÄtu noteiktus resursus, lai mainÄ«tu darba ar tiem loÄ£iku. PiemÄram, mÄs varam atzÄ«mÄt trÄ«s fiziskos mezglus ar atslÄgu Svars un atzÄ«mÄt dažus klientus ar vienu un to paÅ”u atslÄgu, tÄdÄjÄdi pieŔķirot Å”iem mezgliem personÄ«gi Å”iem klientiem. MÄs izmantojam Å”o mehÄnismu VIP klientiem, kuriem nepatÄ«k kaimiÅi blakus viÅu virtuÄlajÄm maŔīnÄm. Pati funkcionalitÄte var tikt izmantota daudz plaÅ”Äk.
LicencÄÅ”anas modelis ietver samaksu par katru fiziskÄ mezgla procesora kodolu. Izmaksas ietekmÄ arÄ« klasteru veidu skaits. PiemÄram, ja plÄnojat izmantot KVM un VMware kopÄ, palielinÄsies licences izmaksas.
FCO ir pilnvÄrtÄ«gs produkts, tÄ funkcionalitÄte ir ļoti bagÄta, tÄpÄc plÄnojam uzreiz sagatavot vairÄkus rakstus ar detalizÄtu tÄ«kla daļas darbÄ«bas aprakstu.
StrÄdÄjot ar Å”o orÄ·estrÄtÄju vairÄkus gadus, varam to atzÄ«mÄt kÄ Ä¼oti piemÄrotu. DiemžÄl produkts nav bez trÅ«kumiem:
- mums bija jÄoptimizÄ datu bÄze, jo vaicÄjumi sÄka palÄninÄties, palielinoties datu apjomam tajos;
- pÄc viena negadÄ«juma atkopÅ”anas mehÄnisms nedarbojÄs kļūdas dÄļ, un mums nÄcÄs atgÅ«t nelaimÄ«go klientu automaŔīnas, izmantojot mÅ«su paÅ”u skriptu komplektu;
- Mezglu nepieejamÄ«bas noteikÅ”anas mehÄnisms ir iekļauts kodÄ, un to nevar pielÄgot. Tas nozÄ«mÄ, ka mÄs nevaram izveidot savas politikas mezgla nepieejamÄ«bas noteikÅ”anai.
- mežizstrÄde ne vienmÄr ir detalizÄta. Dažreiz, kad jums ir jÄsamazina lÄ«dz ļoti zemam lÄ«menim, lai saprastu konkrÄtu problÄmu, jums nav pietiekami daudz avota koda, lai daži komponenti saprastu, kÄpÄc;
KOPÄ: KopumÄ iespaidi par produktu ir labi. MÄs pastÄvÄ«gi sazinÄmies ar orÄ·estra izstrÄdÄtÄjiem. PuiÅ”i ir noskaÅoti uz konstruktÄ«vu sadarbÄ«bu.
Neskatoties uz vienkÄrŔību, FCO ir plaÅ”a funkcionalitÄte. NÄkamajos rakstos mÄs plÄnojam sÄ«kÄk iedziļinÄties Å”ÄdÄs tÄmÄs:
- tīkla izveide FCO
- nodroÅ”ina reÄllaika atkopÅ”anu un FQP protokolu
- rakstot savus spraudÅus un logrÄ«kus
- savienojot papildu pakalpojumus, piemÄram, Load Balancer un Acronis
- dublÄjums
- vienots mezglu konfigurÄÅ”anas un konfigurÄÅ”anas mehÄnisms
- virtuÄlÄs maŔīnas metadatu apstrÄde
ZY Rakstiet komentÄros, ja jÅ«s interesÄ citi aspekti. Sekojiet lÄ«dzi!
Avots: www.habr.com