Flexiant Cloud Orchestrator: ํ•จ๊ป˜ ์ œ๊ณต๋˜๋Š” ๊ธฐ๋Šฅ

Flexiant Cloud Orchestrator: ํ•จ๊ป˜ ์ œ๊ณต๋˜๋Š” ๊ธฐ๋Šฅ

IaaS(Virtual Data Center) ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•ด ๋‹น์‚ฌ๋Š” ๋ฃจ์†Œ๋‹‰์Šค ์šฐ๋ฆฌ๋Š” ์ƒ์šฉ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค ์œ ์—ฐํ•œ ํด๋ผ์šฐ๋“œ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ดํ„ฐ (FCO). ์ด ์†”๋ฃจ์…˜์€ ์ผ๋ฐ˜ ๋Œ€์ค‘์—๊ฒŒ ์•Œ๋ ค์ง„ OpenStack, CloudStack๊ณผ ๊ตฌ๋ณ„๋˜๋Š” ๋‹ค์†Œ ๋…ํŠนํ•œ ์•„ํ‚คํ…์ฒ˜๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

KVM, VmWare, Xen, Virtuozzo6/7 ๋ฐ ๋™์ผํ•œ Virtuozzo์˜ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์ปดํ“จํŒ… ๋…ธ๋“œ ํ•˜์ดํผ๋ฐ”์ด์ €๋กœ ์ง€์›๋ฉ๋‹ˆ๋‹ค. ์ง€์›๋˜๋Š” ์Šคํ† ๋ฆฌ์ง€ ์˜ต์…˜์—๋Š” ๋กœ์ปฌ, NFS, Ceph ๋ฐ Virtuozzo Storage๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

FCO๋Š” ๋‹จ์ผ ์ธํ„ฐํŽ˜์ด์Šค์—์„œ ์—ฌ๋Ÿฌ ํด๋Ÿฌ์Šคํ„ฐ์˜ ์ƒ์„ฑ ๋ฐ ๊ด€๋ฆฌ๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, Virtuozzo ํด๋Ÿฌ์Šคํ„ฐ์™€ KVM + Ceph ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๋งˆ์šฐ์Šค ํด๋ฆญ๋งŒ์œผ๋กœ ์ „ํ™˜ํ•˜์—ฌ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ธฐ๋ณธ์ ์œผ๋กœ FCO๋Š” ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜ ์™ธ์—๋„ ์ฒญ๊ตฌ, ๋ชจ๋“  ์„ค์ •, ๊ฒฐ์ œ ํ”Œ๋Ÿฌ๊ทธ์ธ, ์†ก์žฅ, ์•Œ๋ฆผ, ๋ฆฌ์…€๋Ÿฌ, ๊ด€์„ธ ๋“ฑ์„ ํฌํ•จํ•˜๋Š” ํด๋ผ์šฐ๋“œ ์ œ๊ณต์—…์ฒด๋ฅผ ์œ„ํ•œ ํฌ๊ด„์ ์ธ ์†”๋ฃจ์…˜์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ฒญ๊ตฌ ๋ถ€๋ถ„์€ ๋Ÿฌ์‹œ์•„์˜ ๋ชจ๋“  ๋‰˜์•™์Šค๋ฅผ ๋‹ค๋ฃฐ ์ˆ˜ ์—†์œผ๋ฏ€๋กœ ๋‹ค๋ฅธ ์†”๋ฃจ์…˜์„ ์„ ํ˜ธํ•˜์—ฌ ์‚ฌ์šฉ์„ ํฌ๊ธฐํ–ˆ์Šต๋‹ˆ๋‹ค.

์ด๋ฏธ์ง€, ๋””์Šคํฌ, ์ œํ’ˆ, ์„œ๋ฒ„, ๋ฐฉํ™”๋ฒฝ ๋“ฑ ๋ชจ๋“  ํด๋ผ์šฐ๋“œ ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•œ ๊ถŒํ•œ์„ ๋ฐฐํฌํ•˜๊ธฐ ์œ„ํ•œ ์œ ์—ฐํ•œ ์‹œ์Šคํ…œ์— ๋งค์šฐ ๋งŒ์กฑํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ชจ๋“  ๊ฒƒ์€ ์‚ฌ์šฉ์ž ๊ฐ„์—, ์‹ฌ์ง€์–ด ๋‹ค๋ฅธ ํด๋ผ์ด์–ธํŠธ์˜ ์‚ฌ์šฉ์ž ๊ฐ„์—๋„ "๊ณต์œ "๋˜๊ณ  ๊ถŒํ•œ์ด ๋ถ€์—ฌ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ ํด๋ผ์ด์–ธํŠธ๋Š” ํด๋ผ์šฐ๋“œ์— ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋…๋ฆฝ์ ์ธ ๋ฐ์ดํ„ฐ ์„ผํ„ฐ๋ฅผ ๋งŒ๋“ค๊ณ  ๋‹จ์ผ ์ œ์–ดํŒ์—์„œ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Flexiant Cloud Orchestrator: ํ•จ๊ป˜ ์ œ๊ณต๋˜๋Š” ๊ธฐ๋Šฅ

๊ตฌ์กฐ์ ์œผ๋กœ FCO๋Š” ์—ฌ๋Ÿฌ ๋ถ€๋ถ„์œผ๋กœ ๊ตฌ์„ฑ๋˜๋ฉฐ, ๊ฐ ๋ถ€๋ถ„์—๋Š” ์ž์ฒด ๋…๋ฆฝ์ ์ธ ์ฝ”๋“œ๊ฐ€ ์žˆ๊ณ  ์ผ๋ถ€์—๋Š” ์ž์ฒด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

์ง€ํ‰์„  โ€“ ๊ด€๋ฆฌ ๋ฐ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค
์˜ฅ โ€“ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง, ๋นŒ๋ง, ์ž‘์—… ๊ด€๋ฆฌ
Tigerlily โ€“ ์„œ๋น„์Šค ์ฝ”๋””๋„ค์ดํ„ฐ๋Š” ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง๊ณผ ํด๋Ÿฌ์Šคํ„ฐ ๊ฐ„์˜ ์ •๋ณด ๊ตํ™˜์„ ๊ด€๋ฆฌํ•˜๊ณ  ์กฐ์ •ํ•ฉ๋‹ˆ๋‹ค.
XVP๊ด€๋ฆฌ์ž โ€“ ํด๋Ÿฌ์Šคํ„ฐ ์š”์†Œ ๊ด€๋ฆฌ: ๋…ธ๋“œ, ์Šคํ† ๋ฆฌ์ง€, ๋„คํŠธ์›Œํฌ ๋ฐ ๊ฐ€์ƒ ๋จธ์‹ .
XVPAgent โ€“ XVPManager์™€ ์ƒํ˜ธ ์ž‘์šฉํ•˜๊ธฐ ์œ„ํ•ด ๋…ธ๋“œ์— ์„ค์น˜๋œ ์—์ด์ „ํŠธ

Flexiant Cloud Orchestrator: ํ•จ๊ป˜ ์ œ๊ณต๋˜๋Š” ๊ธฐ๋Šฅ

๋ฌผ๋ก  ํ•ด๋‹น ์ฃผ์ œ๊ฐ€ ๊ด€์‹ฌ์„ ๋ถˆ๋Ÿฌ์ผ์œผํ‚จ๋‹ค๋ฉด ์ผ๋ จ์˜ ๊ธฐ์‚ฌ์— ๊ฐ ๊ตฌ์„ฑ ์š”์†Œ์˜ ์•„ํ‚คํ…์ฒ˜์— ๋Œ€ํ•œ ์ž์„ธํ•œ ์ด์•ผ๊ธฐ๋ฅผ ํฌํ•จํ•  ๊ณ„ํš์ž…๋‹ˆ๋‹ค.

FCO์˜ ๊ฐ€์žฅ ํฐ ์žฅ์ ์€ "๋ฐ•์Šคํ˜•" ํŠน์„ฑ์— ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹จ์ˆœ์„ฑ๊ณผ ๋ฏธ๋‹ˆ๋ฉ€๋ฆฌ์ฆ˜์ด ๊ท€ํ•˜์˜ ์„œ๋น„์Šค์— ์žˆ์Šต๋‹ˆ๋‹ค. ์ œ์–ด ๋…ธ๋“œ์˜ ๊ฒฝ์šฐ Ubuntu์— ํ•˜๋‚˜์˜ ๊ฐ€์ƒ ๋จธ์‹ ์ด ํ• ๋‹น๋˜์–ด ํ•„์š”ํ•œ ๋ชจ๋“  ํŒจํ‚ค์ง€๊ฐ€ ์„ค์น˜๋ฉ๋‹ˆ๋‹ค. ๋ชจ๋“  ์„ค์ •์€ ๋ณ€์ˆ˜ ๊ฐ’ ํ˜•์‹์œผ๋กœ ๊ตฌ์„ฑ ํŒŒ์ผ์— ๋ฐฐ์น˜๋ฉ๋‹ˆ๋‹ค.

# 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"
โ€ฆ

์ „์ฒด ๊ตฌ์„ฑ์€ ์ฒ˜์Œ์— ํ…œํ”Œ๋ฆฟ์—์„œ ํŽธ์ง‘๋œ ๋‹ค์Œ ์ƒ์„ฑ๊ธฐ๊ฐ€ ์‹œ์ž‘๋ฉ๋‹ˆ๋‹ค.
#build-config๋Š” vars ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๊ณ  ์„œ๋น„์Šค์— ๊ตฌ์„ฑ์„ ๋‹ค์‹œ ์ฝ๋„๋ก ๋ช…๋ นํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค๋Š” ํ›Œ๋ฅญํ•˜๊ณ  ์‰ฝ๊ฒŒ ๋ธŒ๋žœ๋“œํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Flexiant Cloud Orchestrator: ํ•จ๊ป˜ ์ œ๊ณต๋˜๋Š” ๊ธฐ๋Šฅ

๋ณด์‹œ๋‹ค์‹œํ”ผ ์ธํ„ฐํŽ˜์ด์Šค๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๋Š” ์œ„์ ฏ์œผ๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค. ํŽ˜์ด์ง€์—์„œ ์œ„์ ฏ์„ ์‰ฝ๊ฒŒ ์ถ”๊ฐ€/์ œ๊ฑฐํ•˜์—ฌ ํ•„์š”ํ•œ ๋Œ€์‹œ๋ณด๋“œ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ์‡„์ ์ธ ํŠน์„ฑ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  FCO๋Š” ๊ณ ๋„๋กœ ๋งž์ถคํ™” ๊ฐ€๋Šฅํ•œ ์‹œ์Šคํ…œ์ž…๋‹ˆ๋‹ค. ์›Œํฌํ”Œ๋กœ ๋ณ€๊ฒฝ์„ ์œ„ํ•œ ์ˆ˜๋งŽ์€ ์„ค์ •๊ณผ ์ง„์ž…์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

  1. ์‚ฌ์šฉ์ž ์ •์˜ ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ์ง€์›๋ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์ž์ฒด ์ฒญ๊ตฌ ๋ฐฉ๋ฒ•์ด๋‚˜ ์™ธ๋ถ€ ๋ฆฌ์†Œ์Šค๋ฅผ ์ž‘์„ฑํ•˜์—ฌ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋‹ค์Œ์„ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  2. ํŠน์ • ์ด๋ฒคํŠธ์— ๋Œ€ํ•œ ์‚ฌ์šฉ์ž ์ •์˜ ํŠธ๋ฆฌ๊ฑฐ๊ฐ€ ์ง€์›๋ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ƒ์„ฑ๋  ๋•Œ ์ฒซ ๋ฒˆ์งธ ๊ฐ€์ƒ ๋จธ์‹ ์„ ํด๋ผ์ด์–ธํŠธ์— ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
  3. ์˜ˆ๋ฅผ ๋“ค์–ด YouTube ๋น„๋””์˜ค๋ฅผ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค์— ์ง์ ‘ ์‚ฝ์ž…ํ•˜๋Š” ๋“ฑ ์ธํ„ฐํŽ˜์ด์Šค์˜ ์‚ฌ์šฉ์ž ์ •์˜ ์œ„์ ฏ์ด ์ง€์›๋ฉ๋‹ˆ๋‹ค.

๋ชจ๋“  ์‚ฌ์šฉ์ž ์ •์˜๋Š” Lua๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” FDL๋กœ ์ž‘์„ฑ๋ฉ๋‹ˆ๋‹ค. Lua๋ฅผ ์•ˆ๋‹ค๋ฉด FDL์—๋Š” ๋ฌธ์ œ๊ฐ€ ์—†์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋‹ค์Œ์€ ์šฐ๋ฆฌ๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ๊ฐ€์žฅ ๊ฐ„๋‹จํ•œ ํŠธ๋ฆฌ๊ฑฐ ์ค‘ ํ•˜๋‚˜์˜ ์˜ˆ์ž…๋‹ˆ๋‹ค. ์ด ํŠธ๋ฆฌ๊ฑฐ๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์ž์‹ ์˜ ์ด๋ฏธ์ง€๋ฅผ ๋‹ค๋ฅธ ํด๋ผ์ด์–ธํŠธ์™€ ๊ณต์œ ํ•˜๋Š” ๊ฒƒ์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด๋Š” ํ•œ ์‚ฌ์šฉ์ž๊ฐ€ ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž๋ฅผ ์œ„ํ•ด ์•…์˜์ ์ธ ์ด๋ฏธ์ง€๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

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 ์ปค๋„์— ์˜ํ•ด ํ˜ธ์ถœ๋ฉ๋‹ˆ๋‹ค. ํ˜ธ์ถœํ•  ํ•จ์ˆ˜์˜ ์ด๋ฆ„์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ์ด ํ•จ์ˆ˜์˜ "p" ๋งค๊ฐœ๋ณ€์ˆ˜๋Š” ํ˜ธ์ถœ ์ปจํ…์ŠคํŠธ๋ฅผ ์ €์žฅํ•˜๋ฉฐ ์ฒ˜์Œ ํ˜ธ์ถœ๋  ๋•Œ ๋น„์–ด ์žˆ์Šต๋‹ˆ๋‹ค(nil). ๊ทธ๋Ÿฌ๋ฉด ํŠธ๋ฆฌ๊ฑฐ๋ฅผ ๋“ฑ๋กํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. TriggerType์—์„œ๋Š” ๊ฒŒ์‹œ ์ž‘์—… ์ „์— ํŠธ๋ฆฌ๊ฑฐ๊ฐ€ ํ˜ธ์ถœ๋˜๊ณ  ์‚ฌ์šฉ์ž์—๊ฒŒ๋งŒ ์˜ํ–ฅ์„ ๋ฏธ์นœ๋‹ค๋Š” ๊ฒƒ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ๋ฌผ๋ก  ์‹œ์Šคํ…œ ๊ด€๋ฆฌ์ž๊ฐ€ ๋ชจ๋“  ๊ฒƒ์„ ๊ฒŒ์‹œํ•˜๋Š” ๊ฒƒ์„ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค. TriggerOptions์—์„œ๋Š” ํŠธ๋ฆฌ๊ฑฐ๊ฐ€ ์‹คํ–‰๋˜๋Š” ์ž‘์—…์„ ์ž์„ธํžˆ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๊ฒƒ์€ return {exitState = โ€œCANCELโ€}์ด๋ฉฐ, ์ด๊ฒƒ์ด ํŠธ๋ฆฌ๊ฑฐ๊ฐ€ ๊ฐœ๋ฐœ๋œ ์ด์œ ์ž…๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ์ œ์–ดํŒ์—์„œ ์ด๋ฏธ์ง€๋ฅผ ๊ณต์œ ํ•˜๋ ค๊ณ  ํ•˜๋ฉด ์‹คํŒจ๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

FCO ์•„ํ‚คํ…์ฒ˜์—์„œ ๋ชจ๋“  ๊ฐœ์ฒด(๋””์Šคํฌ, ์„œ๋ฒ„, ์ด๋ฏธ์ง€, ๋„คํŠธ์›Œํฌ, ๋„คํŠธ์›Œํฌ ์–ด๋Œ‘ํ„ฐ ๋“ฑ)๋Š” ๊ณตํ†ต ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ์žˆ๋Š” ๋ฆฌ์†Œ์Šค ์—”ํ„ฐํ‹ฐ๋กœ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

  • ์ž์› UUID
  • ๋ฆฌ์†Œ์Šค ์ด๋ฆ„
  • ๋ฆฌ์†Œ์Šค ์œ ํ˜•
  • ๋ฆฌ์†Œ์Šค ์†Œ์œ ์ž UUID
  • ๋ฆฌ์†Œ์Šค ์ƒํƒœ(ํ™œ์„ฑ, ๋น„ํ™œ์„ฑ)
  • ๋ฆฌ์†Œ์Šค ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ
  • ๋ฆฌ์†Œ์Šค ํ‚ค
  • ๋ฆฌ์†Œ์Šค๋ฅผ ์†Œ์œ ํ•œ ์ œํ’ˆ์˜ UUID
  • ๋ฆฌ์†Œ์Šค VDC

์ด๋Š” ๋ชจ๋“  ๋ฆฌ์†Œ์Šค๊ฐ€ ๋™์ผํ•œ ์›์น™์— ๋”ฐ๋ผ ์ž‘๋™ํ•˜๋Š” API๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ž‘์—…ํ•  ๋•Œ ๋งค์šฐ ํŽธ๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ์ œํ’ˆ์€ ๊ณต๊ธ‰์ž๊ฐ€ ๊ตฌ์„ฑํ•˜๊ณ  ๊ณ ๊ฐ์ด ์ฃผ๋ฌธํ•ฉ๋‹ˆ๋‹ค. ์ฒญ๊ตฌ์„œ๊ฐ€ ์ธก๋ฉด์— ์žˆ์œผ๋ฏ€๋กœ ๊ณ ๊ฐ์€ ํŒจ๋„์—์„œ ๋ชจ๋“  ์ œํ’ˆ์„ ์ž์œ ๋กญ๊ฒŒ ์ฃผ๋ฌธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‚˜์ค‘์— ์ฒญ๊ตฌ ์‹œ ๊ณ„์‚ฐ๋ฉ๋‹ˆ๋‹ค. ์ œํ’ˆ์€ ์‹œ๊ฐ„๋‹น IP ์ฃผ์†Œ, ์‹œ๊ฐ„๋‹น ์ถ”๊ฐ€ GB ๋˜๋Š” ์„œ๋ฒ„์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํŠน์ • ๋ฆฌ์†Œ์Šค๋ฅผ ํ‘œ์‹œํ•˜์—ฌ ์ž‘์—… ๋…ผ๋ฆฌ๋ฅผ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด Weight ํ‚ค๋กœ ์„ธ ๊ฐœ์˜ ๋ฌผ๋ฆฌ์  ๋…ธ๋“œ๋ฅผ ํ‘œ์‹œํ•˜๊ณ  ์ผ๋ถ€ ํด๋ผ์ด์–ธํŠธ๋ฅผ ๋™์ผํ•œ ํ‚ค๋กœ ํ‘œ์‹œํ•˜์—ฌ ์ด๋Ÿฌํ•œ ๋…ธ๋“œ๋ฅผ ํ•ด๋‹น ํด๋ผ์ด์–ธํŠธ์— ๊ฐœ์ธ์ ์œผ๋กœ ํ• ๋‹นํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. VM ์˜†์— ์žˆ๋Š” ์ด์›ƒ์„ ์ข‹์•„ํ•˜์ง€ ์•Š๋Š” VIP ํด๋ผ์ด์–ธํŠธ๋ฅผ ์œ„ํ•ด ์ด ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋Šฅ ์ž์ฒด๋Š” ํ›จ์”ฌ ๋” ๊ด‘๋ฒ”์œ„ํ•˜๊ฒŒ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ผ์ด์„ผ์‹ฑ ๋ชจ๋ธ์—๋Š” ๋ฌผ๋ฆฌ์  ๋…ธ๋“œ์˜ ๊ฐ ํ”„๋กœ์„ธ์„œ ์ฝ”์–ด์— ๋Œ€ํ•œ ๋น„์šฉ ์ง€๋ถˆ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ๋น„์šฉ์€ ํด๋Ÿฌ์Šคํ„ฐ ์œ ํ˜•์˜ ์ˆ˜์—๋„ ์˜ํ–ฅ์„ ๋ฐ›์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด KVM๊ณผ VMware๋ฅผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๋ ค๋Š” ๊ฒฝ์šฐ ๋ผ์ด์„ผ์Šค ๋น„์šฉ์ด ์ฆ๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

FCO๋Š” ๋ณธ๊ฒฉ์ ์ธ ์ œํ’ˆ์ด๊ณ  ๊ธฐ๋Šฅ์ด ๋งค์šฐ ํ’๋ถ€ํ•˜๋ฏ€๋กœ ๋„คํŠธ์›Œํฌ ๋ถ€๋ถ„์˜ ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ์„ค๋ช…๊ณผ ํ•จ๊ป˜ ์—ฌ๋Ÿฌ ๊ธฐ์‚ฌ๋ฅผ ํ•œ ๋ฒˆ์— ์ค€๋น„ํ•  ๊ณ„ํš์ž…๋‹ˆ๋‹ค.

์ด ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ดํ„ฐ์™€ ์ˆ˜๋…„ ๋™์•ˆ ์ž‘์—…ํ•œ ๊ฒฐ๊ณผ ๋งค์šฐ ์ ํ•ฉํ•˜๋‹ค๊ณ  ํ‰๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์•„์‰ฝ๊ฒŒ๋„ ์ œํ’ˆ์— ๊ฒฐํ•จ์ด ์—†๋Š” ๊ฒƒ์€ ์•„๋‹™๋‹ˆ๋‹ค.

  • ์ฟผ๋ฆฌ์˜ ๋ฐ์ดํ„ฐ ์–‘์ด ์ฆ๊ฐ€ํ•จ์— ๋”ฐ๋ผ ์ฟผ๋ฆฌ ์†๋„๊ฐ€ ๋Š๋ ค์ง€๊ธฐ ์‹œ์ž‘ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ตœ์ ํ™”ํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ํ•œ ๋ฒˆ์˜ ์‚ฌ๊ณ  ํ›„, ๋ฒ„๊ทธ๋กœ ์ธํ•ด ๋ณต๊ตฌ ๋ฉ”์ปค๋‹ˆ์ฆ˜์ด ์ž‘๋™ํ•˜์ง€ ์•Š์•˜๊ณ , ์šฐ๋ฆฌ๋Š” ์ž์ฒด ์Šคํฌ๋ฆฝํŠธ ์„ธํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ถˆํ–‰ํ•œ ๊ณ ๊ฐ์˜ ์ž๋™์ฐจ๋ฅผ ๋ณต๊ตฌํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ๋…ธ๋“œ ๋น„๊ฐ€์šฉ์„ฑ์„ ๊ฐ์ง€ํ•˜๋Š” ๋ฉ”์ปค๋‹ˆ์ฆ˜์€ ์ฝ”๋“œ์— ๋‚ด์žฅ๋˜์–ด ์žˆ์œผ๋ฉฐ ์‚ฌ์šฉ์ž ์ •์˜ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์ฆ‰, ๋…ธ๋“œ์˜ ๊ฐ€์šฉ์„ฑ์„ ๊ฒฐ์ •ํ•˜๊ธฐ ์œ„ํ•œ ์ž์ฒด ์ •์ฑ…์„ ๋งŒ๋“ค ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
  • ๋กœ๊น…์ด ํ•ญ์ƒ ์ƒ์„ธํ•˜์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค. ๋•Œ๋กœ๋Š” ํŠน์ • ๋ฌธ์ œ๋ฅผ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•ด ๋งค์šฐ ๋‚ฎ์€ ์ˆ˜์ค€์œผ๋กœ ๋‚ด๋ ค ๊ฐ€์•ผ ํ•  ๋•Œ ์ผ๋ถ€ ๊ตฌ์„ฑ ์š”์†Œ์— ๋Œ€ํ•œ ์†Œ์Šค ์ฝ”๋“œ๊ฐ€ ์ถฉ๋ถ„ํ•˜์ง€ ์•Š์•„ ์ด์œ ๋ฅผ ์ดํ•ดํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

์ด๊ณ„ : ์ „๋ฐ˜์ ์œผ๋กœ ์ œํ’ˆ์˜ ์ธ์ƒ์€ ์ข‹์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ดํ„ฐ ๊ฐœ๋ฐœ์ž๋“ค๊ณผ ์ง€์†์ ์œผ๋กœ ์ ‘์ด‰ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ๋žŒ๋“ค์€ ๊ฑด์„ค์ ์ธ ํ˜‘๋ ฅ์— ๊ด€์‹ฌ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹จ์ˆœํ•จ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  FCO๋Š” ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ์„ ๊ฐ–์ถ”๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ํ–ฅํ›„ ๊ธฐ์‚ฌ์—์„œ๋Š” ๋‹ค์Œ ์ฃผ์ œ์— ๋Œ€ํ•ด ๋” ์ž์„ธํžˆ ์•Œ์•„๋ณผ ๊ณ„ํš์ž…๋‹ˆ๋‹ค.

  • FCO์—์„œ์˜ ๋„คํŠธ์›Œํ‚น
  • ์‹ค์‹œ๊ฐ„ ๋ณต๊ตฌ ๋ฐ FQP ํ”„๋กœํ† ์ฝœ ์ œ๊ณต
  • ๋‚˜๋งŒ์˜ ํ”Œ๋Ÿฌ๊ทธ์ธ๊ณผ ์œ„์ ฏ ์ž‘์„ฑ
  • Load Balancer, Acronis ๋“ฑ ์ถ”๊ฐ€ ์„œ๋น„์Šค ์—ฐ๊ฒฐ
  • ์ง€์›
  • ๋…ธ๋“œ ๊ตฌ์„ฑ ๋ฐ ๊ตฌ์„ฑ์„ ์œ„ํ•œ ํ†ตํ•ฉ ๋ฉ”์ปค๋‹ˆ์ฆ˜
  • ๊ฐ€์ƒ ๋จธ์‹  ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ

ZY ๋‹ค๋ฅธ ์ธก๋ฉด์— ๊ด€์‹ฌ์ด ์žˆ์œผ๋ฉด ์˜๊ฒฌ์„ ์ž‘์„ฑํ•˜์‹ญ์‹œ์˜ค. ๊ณ„์† ์ง€์ผœ๋ด ์ฃผ์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค!

์ถœ์ฒ˜ : habr.com

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€