Onye na-ahụ maka igwe ojii na-agbanwe agbanwe: ihe ọ na-abịa

Onye na-ahụ maka igwe ojii na-agbanwe agbanwe: ihe ọ na-abịa

Iji nye ọrụ IaaS (Virtual Data Center), anyị Rusonyx anyị na-eji onye egwu egwu azụmahịa Onye nhazi igwe ojii na-agbanwe agbanwe (FCO). Ihe ngwọta a nwere ụkpụrụ ụlọ pụrụ iche, nke na-ekewa ya na Openstack na CloudStack, nke ọha na eze mara.

KVM, VmWare, Xen, Virtuozzo6/7, yana arịa sitere na otu Virtuozzo ka a na-akwado dịka hypervisors node. Nhọrọ nchekwa akwadoro gụnyere mpaghara, NFS, Ceph na Virtuozzo Nchekwa.

FCO na-akwado imepụta na njikwa ọtụtụ ụyọkọ sitere na otu interface. Ya bụ, ị nwere ike ijikwa ụyọkọ Virtuozzo na ụyọkọ KVM + Ceph site na iji òké pịa n'etiti ha.

Na isi ya, FCO bụ ihe ngwọta zuru oke maka ndị na-eweta igwe ojii, nke, na mgbakwunye na orchestration, na-agụnye ịgba ụgwọ, na ntọala niile, nkwụnye ụgwọ nkwụnye ụgwọ, akwụkwọ ọnụahịa, ọkwa ọkwa, ndị na-ere ahịa, tarifu, na ihe ndị ọzọ. Agbanyeghị, akụkụ ịgba ụgwọ enweghị ike ikpuchi nuances Russia niile, yabụ anyị hapụrụ iji ya mee ihe maka ngwọta ọzọ.

Enwere m obi ụtọ na sistemụ na-agbanwe agbanwe maka ikesa ikike na akụrụngwa igwe ojii niile: onyonyo, diski, ngwaahịa, sava, firewalls - ihe a niile nwere ike “kekọrịta” na inye ikike n'etiti ndị ọrụ, yana ọbụlagodi n'etiti ndị ọrụ nke ndị ahịa dị iche iche. Onye ahịa ọ bụla nwere ike ịmepụta ọtụtụ ebe data nọọrọ onwe ha na igwe ojii ha ma jikwaa ha site na otu njikwa njikwa.

Onye na-ahụ maka igwe ojii na-agbanwe agbanwe: ihe ọ na-abịa

N'usoro ihe owuwu, FCO nwere akụkụ dị iche iche, nke ọ bụla nwere koodu nke onwe ya, ụfọdụ nwekwara nchekwa data nke ha.

skyline - admin na onye ọrụ interface
Jade - mgbagha azụmahịa, ịgba ụgwọ, njikwa ọrụ
Tigerlily - onye nhazi ọrụ, na-achịkwa ma na-ahazi mgbanwe ozi n'etiti mgbagha azụmahịa na ụyọkọ.
Onye njikwa XVP - njikwa nke ụyọkọ ihe: ọnụ, nchekwa, netwọk na igwe mebere.
XVPAgent - onye nnọchi anya arụnyere na ọnụ ka ya na XVPManager na-emekọrịta ihe

Onye na-ahụ maka igwe ojii na-agbanwe agbanwe: ihe ọ na-abịa

Anyị na-eme atụmatụ itinye akụkọ zuru ezu banyere ihe owuwu nke akụkụ nke ọ bụla n'usoro isiokwu, ma ọ bụrụ na, n'ezie, isiokwu ahụ na-akpali mmasị.

Isi uru nke FCO sitere na ọdịdị "igbe" ya. Mfe na minimalism dị na ọrụ gị. Maka ọnụ ụzọ njikwa, a na-ekenye otu igwe mebere na Ubuntu, nke etinyere ngwugwu niile dị mkpa. A na-edobe ntọala niile na faịlụ nhazi n'ụdị nke mgbanwe-uru:

# 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"
…

A na-edezi nhazi niile na ndebiri, mgbe ahụ, a na-emepụta generator
#build-config nke ga-ewepụta faịlụ vars wee nye ndị ọrụ iwu ka ha gụọ config. Ihe nhụta onye ọrụ dị mma ma nwee ike ịdepụta akara ngwa ngwa.

Onye na-ahụ maka igwe ojii na-agbanwe agbanwe: ihe ọ na-abịa

Dịka ị na-ahụ, interface ahụ nwere wijetị nke onye ọrụ nwere ike ịchịkwa. Ọ nwere ike itinye ngwa ngwa / wepu wijetị na ibe, si otú ahụ mepụta dashboard ọ chọrọ.

N'agbanyeghị ọdịdị mechiri emechi, FCO bụ usoro nwere ike ịhazi ya nke ukwuu. Ọ nwere ọnụ ọgụgụ dị ukwuu nke ntọala na ntinye ntinye maka ịgbanwe usoro ọrụ:

  1. A na-akwado plugins omenala, dịka ọmụmaatụ, ị nwere ike dee usoro ịgba ụgwọ nke gị ma ọ bụ akụrụngwa mpụga nke gị iji nye onye ọrụ.
  2. A na-akwado ihe na-akpalite omenala maka ihe omume ụfọdụ, dịka ọmụmaatụ, ịgbakwunye igwe mebere mbụ na onye ahịa mgbe emepụtara ya
  3. A na-akwado wijetị omenala na interface ahụ, dịka ọmụmaatụ, itinye vidiyo YouTube ozugbo n'ime interface onye ọrụ.

Edere nhazi niile na FDL, nke dabere na Lua. Ọ bụrụ na ị maara Lua, a gaghị enwe nsogbu na FDL.

Nke a bụ ọmụmaatụ nke otu n'ime ihe mkpalite kachasị mfe anyị na-eji. Nke a na-akpalite anaghị ekwe ka ndị ọrụ kerịta ihe onyonyo nke ha na ndị ahịa ndị ọzọ. Anyị na-eme nke a iji gbochie otu onye ọrụ ịmepụta foto ọjọọ maka ndị ọrụ ndị ọzọ.

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

FCO kernel ga-akpọ ọrụ ndekọ aha. Ọ ga-eweghachi aha ọrụ a ga-akpọ. Oke “p” nke ọrụ a na-echekwa ọnọdụ oku, na oge mbụ akpọrọ ya ga-abụ ihe efu (nil). Nke ga-enyere anyị aka ịdebanye aha mkpata anyị. Na triggerType anyị na-egosi na a na-akpọ ihe mkpalite TUPU ọrụ ebipụta, na-emetụta naanị ndị ọrụ. N'ezie, anyị na-ekwe ka usoro nchịkwa bipụta ihe niile. Na triggerOptions anyị na-akọwapụta ọrụ nke mkpalite ga-agba ọkụ.

Na isi ihe bụ nloghachi {exitState = "CANCEL"}, nke mere e ji mepụta ihe mkpali. Ọ ga-alaghachi ọdịda mgbe onye ọrụ na-agbalị ịkesa ihe oyiyi ha na panel njikwa.

N'ime ihe owuwu FCO, ihe ọ bụla (disk, ihe nkesa, onyonyo, netwọkụ, ihe nkwụnye netwọkụ, wdg) na-anọchi anya ya dị ka akụrụngwa akụrụngwa, nke nwere oke nkịtị:

  • Ihe enyemaka UUID
  • aha akụ
  • ụdị akụ
  • Onye nwe akụrụngwa UUID
  • ọnọdụ akụrụngwa (adịghị arụ ọrụ, adịghị arụ ọrụ)
  • metadata akụ
  • igodo akụ
  • UUID nke ngwaahịa nwere akụrụngwa
  • akụrụngwa VDC

Nke a dị ezigbo mma mgbe ị na-arụ ọrụ site na iji API, mgbe a na-arụ ọrụ akụrụngwa niile dịka otu ụkpụrụ siri dị. Onye na-eweta haziri ngwaahịa ma nye iwu site n'aka onye ahịa. Ebe ọ bụ na ịgba ụgwọ anyị dị n'akụkụ, onye ahịa nwere ike ịtụ ngwaahịa ọ bụla n'efu site na panel. A ga-agbakọ ya ma emechaa na ịgba ụgwọ. Ngwaahịa a nwere ike ịbụ adreesị IP kwa elekere, GB agbakwunyere diski kwa elekere, ma ọ bụ naanị ihe nkesa.

Enwere ike iji igodo mee akara ụfọdụ akụrụngwa iji gbanwee ezi uche nke iso ha na-arụkọ ọrụ. Dịka ọmụmaatụ, anyị nwere ike iji igodo ịdị arọ mee ọnụ ọnụ atọ anụ ahụ, ma were otu igodo ahụ akara ụfọdụ ndị ahịa, wee kenye ọnụ ụzọ ndị a n'onwe ya nye ndị ahịa a. Anyị na-eji usoro a maka ndị ahịa VIP na-adịghị amasị ndị agbata obi na-esote VM ha. Enwere ike iji ọrụ ahụ n'onwe ya mee ihe n'ọtụtụ ebe.

Ụdị ikikere gụnyere ịkwụ ụgwọ maka isi nhazi ọ bụla nke ọnụ anụ ahụ. Ọnụ ọgụgụ nke ụdị ụyọkọ na-emetụtakwa ọnụ ahịa ya. Ọ bụrụ na ị na-eme atụmatụ iji KVM na VMware ọnụ, dịka ọmụmaatụ, ọnụ ahịa ikikere ga-abawanye.

FCO bụ ngwaahịa zuru oke, ọrụ ya bara ụba nke ukwuu, ya mere anyị na-eme atụmatụ ịkwadebe ọtụtụ isiokwu n'otu oge na nkọwa zuru ezu nke ọrụ nke akụkụ netwọk ahụ.

N'ịbụ onye soro onye na-agụ egwú a rụkọọ ọrụ ruo ọtụtụ afọ, anyị nwere ike kaa ya dị ka ihe dabara adaba. Ewoo, ngwaahịa ahụ enweghị ntụpọ:

  • anyị ga-ebuli nchekwa data n'ihi na ajụjụ malitere iji nwayọọ ka ọnụọgụ data dị na ha na-abawanye;
  • mgbe otu ihe mberede gasịrị, usoro mgbake ahụ anaghị arụ ọrụ n'ihi ahụhụ, anyị aghaghị iweghachite ụgbọ ala nke ndị ahịa na-adịghị mma site na iji usoro nke anyị;
  • Ejiri usoro maka ịchọpụta enweghị oghere n'ime koodu ahụ enweghị ike ịhazi ya. Ya bụ, anyị enweghị ike ịmepụta atumatu nke anyị maka ikpebi enweghị oghere ọnụ.
  • Ịkụ osisi anaghị akọwacha mgbe niile. Mgbe ụfọdụ, mgbe ịchọrọ ịgbadata na ọkwa dị ala iji ghọta otu nsogbu, ị nweghị koodu isi mmalite zuru oke maka akụkụ ụfọdụ iji ghọta ihe kpatara ya;

TOTAL: N'ozuzu, mmetụta nke ngwaahịa ahụ dị mma. Anyị na ndị mmepe ihe egwu na-akpakọrịta mgbe niile. Ụmụ okorobịa ahụ na-achọsi ike imekọ ihe ọnụ.

N'agbanyeghị ịdị mfe ya, FCO nwere nnukwu ọrụ. N'isiokwu ndị na-abịa n'ihu, anyị na-eme atụmatụ ilebakwuo anya n'ime isiokwu ndị a:

  • netwọkụ mmekọrịta na FCO
  • na-enye usoro mgbake ndụ na FQP
  • na-ede plugins na wijetị nke gị
  • ijikọ ọrụ ndị ọzọ dị ka Load Balancer na Acronis
  • ndabere
  • usoro ejikọtara ọnụ maka ịhazi na ịhazi ọnụ
  • nhazi metadata igwe mebere

ZY Dee na nkọwa ma ọ bụrụ na ị nwere mmasị na akụkụ ndị ọzọ. Nọrọ na-ekiri!

isi: www.habr.com

Tinye a comment