์ด ๋ฌธ์„œ์˜ ์›๋ณธ์€ ์™ธ๋ถ€ ์œ„ํ‚ค์—์„œ ๊ฐ€์ ธ์™”์Šต๋‹ˆ๋‹ค.
1. ๊ฐœ์š”2. ํ•˜๋“œ์›จ์–ด ์ž์›
2.1. ์ปจํŠธ๋กค๋Ÿฌ ๋…ธ๋“œ (Controller Node)2.2. ์ปดํ“จํŠธ ๋…ธ๋“œ (Compute Node)
3. ๊ตฌ์„ฑ ์š”์†Œ
3.1. Nova (Compute)3.2. Neutron (Networking)3.3. Keystone (Identity)3.4. Horizon (Dashboard)3.5. Glance (Image)3.6. Cinder (Block Storage)3.7. Swift (Object Storage)
4. ๊ธฐํƒ€5. ์™ธ๋ถ€ ๋งํฌ

1. ๊ฐœ์š”[ํŽธ์ง‘]

ํด๋ผ์šฐ๋“œ ์ž์›์„ ๊ด€๋ฆฌํ•˜๊ณ , ์ •์˜ํ•˜๊ณ , ํ™œ์šฉํ•˜๊ธฐ ์œ„ํ•œ ํ”„๋ ˆ์ž„์›Œํฌ. ๋น„์˜๋ฆฌ ๋‹จ์ฒด์ธ ์˜คํ”ˆ์Šคํƒ ์žฌ๋‹จ์—์„œ ์šด์˜ ์ค‘์ด๋ฉฐ ์•„ํŒŒ์น˜ ๋ผ์ด์„ ์Šค 2.0์„ ์‚ฌ์šฉํ•œ๋‹ค.

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

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

์›๋ž˜ Rackspace๋ผ๋Š” ์„œ๋น„์Šค ์—…์ฒด์™€ NASA๊ฐ€ ๊ฐ™์ด ๋งŒ๋“ค๊ธฐ ์‹œ์ž‘ํ–ˆ๋Š”๋ฐ, ๊ฒฝ์Ÿ ์ƒ๋Œ€์˜€๋˜ ํ”„๋กœ์ ํŠธ๋“ค์ด ์ž์‚ฌ ํ”„๋กœ๋•ํŠธ ํŠนํ™”(Cloudstack)๋ผ๋“ ๊ฐ€, ์œ ๋ฃŒ(VMware vSphere)๋ผ๋“ ๊ฐ€ ํ•˜๋Š” ์‚ฝ์งˆ์„ ๊ฑฐ๋“ญํ•œ ๋์— ๊ฐœ๋ฐœ์ž๊ฐ€ ์œ ์ž…์ด ๋˜๋”๋‹ˆ ์–ด๋А์ƒˆ ์—…๊ณ„ ํ‘œ์ค€์ด ๋˜์–ด ์žˆ๋˜ ์ผ€์ด์Šค. ๋Œ€ํ‘œ์ ์œผ๋กœ ์นด์นด์˜ค์˜ ์‚ฌ๋‚ด ํด๋ผ์šฐ๋“œ ํ”Œ๋žซํผ์ด ์˜คํ”ˆ์Šคํƒ์œผ๋กœ ๊ตฌ์ถ•๋˜์–ด ์žˆ๋‹ค.

๋ฒ„์ „์€ ์ฒซ์ž๋ฆฌ๊ฐ€ A, B, C, D ์ˆœ์œผ๋กœ ์ง„ํ–‰์ด ๋˜๋ฉฐ ๊ฐ 6๊ฐœ์›” ๋งˆ๋‹ค ์ƒˆ๋กœ์šด ๋ฒ„์ „์ด ์—…๋ฐ์ดํŠธ๋œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ฐ ๋ฒ„์ „์€ 1๋…„ ์ •๋„๋งŒ ์—…๋ฐ์ดํŠธ๊ฐ€ ์ด๋ฃจ์–ด์ง€๋ฉฐ ๊ทธ ์ดํ›„๋Š” ๋ฒ„๋ ค์ง„๋‹ค.(EOL)

SW ๋ณ€๋ฐฉ์ด๋ผ๊ณ ?โ€ฆ์˜คํ”ˆ์Šคํƒ ๋’คํ”๋“  '์ค‘๊ตญ์˜ ํž˜'

2. ํ•˜๋“œ์›จ์–ด ์ž์›[ํŽธ์ง‘]

2.1. ์ปจํŠธ๋กค๋Ÿฌ ๋…ธ๋“œ (Controller Node)[ํŽธ์ง‘]

์ปจํŠธ๋กค๋Ÿฌ ์ž์ฒด์™€ ๋‹ค๋ฅธ ๊ณต์œ  ์„œ๋น„์Šค๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๋…ธ๋“œ.
Identity ์„œ๋น„์Šค(Keystone), ์ด๋ฏธ์ง€ ์„œ๋น„์Šค(Glance), Compute ๊ด€๋ฆฌ(Nova), ๋„คํŠธ์›Œํ‚น ์—์ด์ „ํŠธ(Neutron), ๋Œ€์‹œ๋ณด๋“œ(Horizon) ๋“ฑ์„ ์‹คํ–‰ํ•œ๋‹ค. ์„œ๋ฒ„ ์ธก API ์„œ๋น„์Šค๋ฅผ ๊ด€๋ฆฌํ•˜๋ฉฐ, ๊ตฌ์„ฑ ์š”์†Œ๋“ค์˜ ์š”์ฒญ์„ ์กฐ์œจํ•˜๊ณ  ์˜คํ”ˆ์Šคํƒ ๋ฐฐํฌ๋ฅผ ์œ„ํ•œ ์ฃผ์š” ์ธํ„ฐํŽ˜์ด์Šค ์—ญํ• ์„ ํ•œ๋‹ค.

์ถ”๊ฐ€์ ์œผ๋กœ ์ปจํŠธ๋กค๋Ÿฌ ๋…ธ๋“œ์— ๋ธ”๋ก ์Šคํ† ๋ฆฌ์ง€(Cinder), ์˜ค๋ธŒ์ ํŠธ ์Šคํ† ๋ฆฌ์ง€(Swift), Orchestration(Heat), Telemetry(Ceilometer) ์„œ๋น„์Šค๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ตœ์†Œํ•œ ๋‘ ๊ฐœ์˜ ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค(NIC)[1]๊ฐ€ ํ•„์š”ํ•˜๋‹ค. ํ•˜๋‚˜๋Š” ๋ฌผ๋ฆฌ ํ˜ธ์ŠคํŠธ ์ž์ฒด์˜ ๋งค๋‹ˆ์ง€๋จผํŠธ ๋„คํŠธ์›Œํฌ, ๋‹ค๋ฅธ ํ•˜๋‚˜๋Š” ์˜คํ”ˆ์Šคํƒ ๋‚ด๋ถ€์—์„œ ๊ฐ€์ƒ ๋จธ์‹ ์„ ์œ„ํ•ด ์‚ฌ์šฉํ•  VM ๋„คํŠธ์›Œํฌ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ผ๋ฐ˜์ ์ด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์ด ๋•Œ VM ๋„คํŠธ์›Œํฌ๊ฐ€ ๋  NIC์€ OS์—์„œ IP๋ฅผ ๋ถ€์—ฌํ•˜์ง€ ์•Š์€ Unnumbered ์ƒํƒœ๋กœ ๋‘”๋‹ค.

2.2. ์ปดํ“จํŠธ ๋…ธ๋“œ (Compute Node)[ํŽธ์ง‘]

๊ฐ€์ƒ ๋จธ์‹ ์— ์ปดํ“จํŠธ ์ž์›์„ ์ œ๊ณตํ•˜๋Š” ๋…ธ๋“œ. ์˜คํ”ˆ์Šคํƒ์ด ๊ด€๋ฆฌํ•˜๋Š” ๊ฐ€์ƒ ๋จธ์‹ ์€ ์ด ๋…ธ๋“œ์—์„œ ๋™์ž‘ํ•œ๋‹ค๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค.
์ธ์Šคํ„ด์Šค ๋™์ž‘ ์‹œ์—๋Š” ํ•˜์ดํผ๋ฐ”์ด์ €(Hypervisor)๊ฐ€ ์‹คํ–‰๋œ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ KVM ํ•˜์ดํผ๋ฐ”์ด์ €๋ฅผ ์‚ฌ์šฉํ•˜๋ฉฐ, ๊ทธ ์™ธ์—๋„ ๋‹ค์–‘ํ•œ ํ•˜์ดํผ๋ฐ”์ด์ €๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

๋˜ํ•œ ์ปดํ“จํŠธ ๋…ธ๋“œ๋Š” ์ธ์Šคํ„ด์Šค๋ฅผ ๊ฐ€์ƒ ๋„คํŠธ์›Œํฌ์— ์—ฐ๊ฒฐํ•˜๋Š” ๋„คํŠธ์›Œํ‚น ์„œ๋น„์Šค ์—์ด์ „ํŠธ(Networking Service Agent)๋ฅผ ์‹คํ–‰ํ•˜๋ฉฐ, Security Groups๋ฅผ ํ†ตํ•˜์—ฌ ์ธ์Šคํ„ด์Šค์— ๋ฐฉํ™”๋ฒฝ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•œ๋‹ค. ์˜ˆ์ „ ๋ฒ„์ „์—์„œ๋Š” ์ด ๊ธฐ๋Šฅ์„ ๋‹ด๋‹นํ•˜๋Š” ๋„คํŠธ์›Œํฌ ๋…ธ๋“œ๊ฐ€ ๋”ฐ๋กœ ์กด์žฌํ–ˆ์ง€๋งŒ Liberty ๋ฒ„์ „๋ถ€ํ„ฐ๋Š” ์ปดํ“จํŠธ ๋…ธ๋“œ๊ฐ€ ์ด ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•˜๊ฒŒ ๋˜๋ฉด์„œ ๋„คํŠธ์›Œํฌ ๋…ธ๋“œ๋Š” ์‚ฌ๋ผ์ง€๊ฒŒ ๋˜์—ˆ๋‹ค.

3. ๊ตฌ์„ฑ ์š”์†Œ[ํŽธ์ง‘]

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

3.1. Nova (Compute)[ํŽธ์ง‘]

CPU, ๋ฉ”๋ชจ๋ฆฌ, ๋””์Šคํฌ, ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค ๋“ฑ ๊ฐ€์ƒ ๋จธ์‹ (VM)์˜ ์ž์›์„ ๊ด€๋ฆฌํ•œ๋‹ค. IaaS(Infrastructure-as-a-Service)์˜ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๋ถ€๋ถ„์œผ๋กœ์จ, ์ž๋™์œผ๋กœ ์ปดํ“จํ„ฐ ์ž์› ํ’€์„ ๊ด€๋ฆฌํ•˜๊ณ  ๋‹ค์–‘ํ•œ ๊ฐ€์ƒํ™” ๊ธฐ์ˆ ๋“ค์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํ™˜๊ฒฝ์„ ์ œ๊ณตํ•œ๋‹ค. ์ฃผ์š” ๋ชจ๋“ˆ์€ ํŒŒ์ด์ฌ์œผ๋กœ ์ œ์ž‘๋˜์—ˆ์œผ๋ฉฐ, ์–ด๋А ํŠน์ • ํ•˜๋“œ์›จ์–ด์— ์ข…์†๋˜์ง€ ์•Š๊ณ  ์ˆ˜ํ‰์ ์œผ๋กœ ํ™•์žฅ์ด ๊ฐ€๋Šฅํ•˜๋„๋ก ์„ค๊ณ„๋˜์—ˆ๋‹ค.

3.2. Neutron (Networking)[ํŽธ์ง‘]

3.3. Keystone (Identity)[ํŽธ์ง‘]

์˜คํ”ˆ์Šคํƒ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์—ฌ๋Ÿฌ ์„œ๋น„์Šค๋“ค์˜ ์ธ์ฆ(Identity)์„ ๊ด€๋ฆฌํ•œ๋‹ค. ์ด ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ํ† ํฐ์€ Memcached๋ผ๋Š” ์ธ ๋ฉ”๋ชจ๋ฆฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ €์žฅ๋œ๋‹ค.

3.4. Horizon (Dashboard)[ํŽธ์ง‘]

3.5. Glance (Image)[ํŽธ์ง‘]

3.6. Cinder (Block Storage)[ํŽธ์ง‘]

3.7. Swift (Object Storage)[ํŽธ์ง‘]

4. ๊ธฐํƒ€[ํŽธ์ง‘]

์˜คํ”ˆ์Šคํƒ์„ ํŽธ๋ฆฌํ•˜๊ฒŒ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด ์ฃผ๋Š” ํˆด๋กœ Microstack(์šฐ๋ถ„ํˆฌ), Packstack(CentOS)์ด ์žˆ๋‹ค.

Microstack์˜ ๊ฒฝ์šฐ ์šฐ๋ถ„ํˆฌ์˜ snap ํŒจํ‚ค์ง€๋กœ ์„ค์น˜๋˜๋ฉฐ, ์ˆœ์ • ์˜คํ”ˆ์Šคํƒ์˜ ์„œ๋น„์Šค๋“ค์ด /etc ๋ฐ‘์— ์œ„์น˜ํ•˜๋Š” ๋ฐ˜๋ฉด Microstack์€ /var/snap/microstack/common/etc ๋ฐ‘์— ์œ„์น˜ํ•œ๋‹ค. ์ด ๋•Œ๋ฌธ์— ์ˆœ์ • ์˜คํ”ˆ์Šคํƒ์„ ์ ‘ํ•œ ์‚ฌ๋žŒ๋“ค์€ ์˜คํžˆ๋ ค ํ˜ผ๋™์ด ์˜ฌ ์ˆ˜ ์žˆ๋‹ค.

5. ์™ธ๋ถ€ ๋งํฌ[ํŽธ์ง‘]

[1] ์‰ฝ๊ฒŒ ๋งํ•ด ๋žœ์นด๋“œ๊ฐ€ ๋‘ ๊ฐœ ์ด์ƒ