Biex nipprovdu servizzi IaaS (Ċentru tad-Data Virtwali), aħna
KVM, VmWare, Xen, Virtuozzo6/7, kif ukoll kontenituri mill-istess Virtuozzo huma appoġġjati bħala compute node hypervisors. Għażliet ta 'ħażna appoġġjati jinkludu Ħażna lokali, NFS, Ceph u Virtuozzo.
FCO jappoġġja l-ħolqien u l-ġestjoni ta 'raggruppamenti multipli minn interface wieħed. Jiġifieri, tista 'timmaniġġja cluster Virtuozzo u cluster KVM + Ceph billi taqleb bejniethom bi klikk tal-maws.
Fil-qalba tagħha, FCO hija soluzzjoni komprensiva għall-fornituri tal-cloud, li, minbarra l-orkestrazzjoni, tinkludi wkoll kontijiet, bis-settings kollha, plugins ta 'ħlas, fatturi, notifiki, bejjiegħa mill-ġdid, tariffi, eċċ. Madankollu, il-parti tal-kontijiet mhix kapaċi tkopri l-isfumaturi Russi kollha, għalhekk abbandunajna l-użu tagħha favur soluzzjoni oħra.
Ninsab kuntent ħafna bis-sistema flessibbli għad-distribuzzjoni tad-drittijiet għar-riżorsi kollha tal-cloud: immaġini, diski, prodotti, servers, firewalls - dan kollu jista 'jiġi "kondiviżi" u jingħata drittijiet bejn l-utenti, u anke bejn l-utenti ta' klijenti differenti. Kull klijent jista 'joħloq diversi ċentri tad-dejta indipendenti fil-cloud tagħhom u jamministrahom minn pannell tal-kontroll wieħed.
Arkitettonalment, FCO jikkonsisti f'diversi partijiet, li kull waħda minnhom għandha l-kodiċi indipendenti tagħha, u xi wħud għandhom id-database tagħhom stess.
Skyline – admin u user interface
Jade – loġika tan-negozju, kontijiet, ġestjoni tal-kompiti
tigerlily – koordinatur tas-servizz, jimmaniġġja u jikkoordina l-iskambju ta' informazzjoni bejn il-loġika tan-negozju u l-clusters.
XVPMManager – ġestjoni ta' elementi ta' cluster: nodi, ħażna, netwerk u magni virtwali.
XVPAgent – aġent installat fuq in-nodi biex jinteraġixxi ma' XVPManager
Qed nippjanaw li ninkludu storja dettaljata dwar l-arkitettura ta 'kull komponent f'serje ta' artikli, jekk, ovvjament, is-suġġett iqajjem interess.
Il-vantaġġ ewlieni ta 'FCO ġej min-natura tiegħu "b'kaxxa". Is-sempliċità u l-minimaliżmu huma għas-servizz tiegħek. Għan-nodu tal-kontroll, hija allokata magna virtwali waħda fuq Ubuntu, li fiha huma installati l-pakketti kollha meħtieġa. Is-settings kollha jitqiegħdu f'fajls ta' konfigurazzjoni fil-forma ta' valur varjabbli:
# 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"
…
Il-konfigurazzjoni kollha hija inizjalment editjata f'mudelli, imbagħad jitnieda l-ġeneratur
#build-config li se jiġġenera fajl vars u jikkmanda lis-servizzi biex jerġgħu jaqraw il-konfigurazzjoni. L-interface tal-utent huwa sabiħ u jista 'jkun faċilment tad-ditta.
Kif tistgħu taraw, l-interface jikkonsisti minn widgets li jistgħu jiġu kkontrollati mill-utent. Huwa jista 'faċilment iżid/tneħħi widgets mill-paġna, u b'hekk joħloq id-dashboard li għandu bżonn.
Minkejja n-natura magħluqa tiegħu, l-FCO hija sistema li tista’ tiġi personalizzata ħafna. Għandu numru kbir ta 'settings u punti ta' dħul biex jibdel il-fluss tax-xogħol:
- Plugins personalizzati huma appoġġjati, pereżempju, tista 'tikteb il-metodu tal-kontijiet tiegħek jew ir-riżors estern tiegħek biex tipprovdi lill-utent b'
- L-iskattaturi tad-dwana għal ċerti avvenimenti huma appoġġjati, pereżempju, iż-żieda tal-ewwel magna virtwali lil klijent meta tinħoloq
- Widgets tad-dwana fl-interface huma appoġġjati, pereżempju, l-inkorporazzjoni ta 'vidjo ta' YouTube direttament fl-interface tal-utent.
Il-personalizzazzjoni kollha hija miktuba f'FDL, li hija bbażata fuq Lua. Jekk taf Lua, mhux se jkun hemm problemi bl-FDL.
Hawnhekk huwa eżempju ta 'wieħed mill-aktar sempliċi triggers li nużaw. Dan il-grillu ma jippermettix lill-utenti jaqsmu l-immaġini tagħhom stess ma' klijenti oħra. Aħna nagħmlu dan biex nevitaw utent wieħed milli joħloq immaġni malizzjuża għal utenti oħra.
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
Il-funzjoni tar-reġistru se tissejjaħ mill-qalba tal-FCO. Se jirritorna l-isem tal-funzjoni li għandha tissejjaħ. Il-parametru "p" ta 'din il-funzjoni jaħżen il-kuntest tas-sejħa, u l-ewwel darba li tissejjaħ se jkun vojt (ness). Li se jippermettilna nirreġistraw il-grillu tagħna. Fil-triggerType aħna nindikaw li l-grillu jiġi invokat QABEL l-operazzjoni tal-pubblikazzjoni, u jaffettwa biss lill-utenti. Naturalment, inħallu lill-amministraturi tas-sistema jippubblikaw kollox. F'triggerOptions niddettaljaw l-operazzjonijiet li għalihom se jispara l-grillu.
U l-ħaġa prinċipali hija r-ritorn {exitState = "CANCEL"}, u huwa għalhekk li l-grillu ġie żviluppat. Se jirritorna l-falliment meta l-utent jipprova jaqsam l-immaġni tiegħu fil-pannell tal-kontroll.
Fl-arkitettura FCO, kwalunkwe oġġett (disk, server, immaġni, netwerk, adapter tan-netwerk, eċċ.) huwa rappreżentat bħala entità tar-Riżorsi, li għandha parametri komuni:
- UUID tar-riżorsi
- isem tar-riżorsi
- tip ta' riżorsa
- Sid tar-riżorsi UUID
- status tar-riżorsi (attiv, inattiv)
- metadata tar-riżorsi
- ċwievet tar-riżorsi
- UUID tal-prodott li għandu r-riżorsa
- riżorsa VDC
Dan huwa konvenjenti ħafna meta taħdem bl-użu ta 'API, meta r-riżorsi kollha jinħadmu skond l-istess prinċipju. Il-prodotti huma kkonfigurati mill-fornitur u ordnati mill-klijent. Peress li l-kontijiet tagħna huma fuq in-naħa, il-klijent jista' jordna liberament kwalunkwe prodott mill-panel. Dan se jiġi kkalkulat aktar tard fil-kontijiet. Il-prodott jista 'jkun indirizz IP fis-siegħa, GB addizzjonali ta' disk fis-siegħa, jew sempliċiment server.
Ċwievet jistgħu jintużaw biex jimmarkaw ċerti riżorsi biex tinbidel il-loġika ta 'ħidma magħhom. Pereżempju, nistgħu nimmmarkaw tliet nodi fiżiċi biċ-ċavetta tal-Piż, u timmarka xi klijenti bl-istess ċavetta, u b'hekk nallokaw dawn in-nodi personalment lil dawn il-klijenti. Aħna nużaw dan il-mekkaniżmu għal klijenti VIP li ma jogħġbux ġirien ħdejn il-VMs tagħhom. Il-funzjonalità nnifisha tista 'tintuża ħafna aktar.
Il-mudell tal-liċenzjar jinvolvi l-ħlas għal kull qalba tal-proċessur ta 'node fiżiku. L-ispiża hija affettwata wkoll min-numru ta 'tipi ta' cluster. Jekk qed tippjana li tuża KVM u VMware flimkien, pereżempju, l-ispiża tal-liċenzja tiżdied.
FCO huwa prodott sħiħ, il-funzjonalità tiegħu hija rikka ħafna, għalhekk qed nippjanaw li nippreparaw diversi artikoli f'daqqa b'deskrizzjoni dettaljata tal-funzjonament tal-parti tan-netwerk.
Wara li ħdimna ma' dan l-orkestratur għal diversi snin, nistgħu nimmakkruh bħala adattat ħafna. Alas, il-prodott mhuwiex mingħajr difetti:
- kellna nottimizzaw id-database għax il-mistoqsijiet bdew jonqsu hekk kif żdied l-ammont ta' data fihom;
- wara inċident wieħed, il-mekkaniżmu ta 'rkupru ma ħadimx minħabba bug, u kellna nirkupraw il-karozzi ta' klijenti sfortunati bl-użu ta 'sett ta' skripts tagħna stess;
- Il-mekkaniżmu għall-iskoperta tan-nuqqas ta 'disponibbiltà tan-nodi huwa hardwired fil-kodiċi u ma jistax jiġi personalizzat. Jiġifieri, ma nistgħux noħolqu politiki tagħna stess biex niddeterminaw in-nuqqas ta 'disponibbiltà ta' nodu.
- il-qtugħ tas-siġar mhux dejjem ikun dettaljat. Xi drabi, meta jkollok bżonn tinżel għal livell baxx ħafna biex tifhem problema partikolari, ma jkollokx biżżejjed kodiċi tas-sors biex xi komponenti jifhmu għaliex;
TOTAL: B'mod ġenerali, l-impressjonijiet tal-prodott huma tajbin. Aħna qegħdin f'kuntatt kostanti mal-iżviluppaturi tal-orkestratur. Il-guys huma disposti għal kooperazzjoni kostruttiva.
Minkejja s-sempliċità tiegħu, FCO għandu funzjonalità wiesgħa. F'artikli futuri qed nippjanaw li nidħlu aktar fil-fond fis-suġġetti li ġejjin:
- netwerking fl-FCO
- jipprovdu protokoll ta' rkupru ħajjin u FQP
- tikteb il-plugins u l-widgets tiegħek
- jgħaqqdu servizzi addizzjonali bħal Load Balancer u Acronis
- backup
- mekkaniżmu unifikat għall-konfigurazzjoni u l-konfigurazzjoni ta 'nodi
- l-ipproċessar tal-metadata tal-magni virtwali
PS Ikteb fil-kummenti jekk inti interessat f'aspetti oħra. Ibqa' sintonizzat!
Sors: www.habr.com