์ƒˆ์†Œ์‹

Virtualization & Cloud/OpenStack

OpenStack ์ฃผ์š” ์„œ๋น„์Šค(feat. AWS Service)

  • -

โ–ถCore Service
Compute service: CPU, RAM ์„ค์ •(Provisioning) = Nova, EC2(AWS)
Storage service: SSD, HDD ์„ค์ • = Cinder, EBS(AWS)
Network service: IP, S/W, Router ์„ค์ • = Neutron, VPC(AWS)
Image service: OS, App = Glance, AMI(AWS)
Identity service: User ID/PW, Role, Group, Keypair = Keystone, IAM(AWS)

โ–ถOptional service
Object service: URL ์ฃผ์†Œ ์ƒ์„ฑ, ๋ฐฑ์—… = Swift, S3(AWS)
IaC service: Infra as a Code ์ž๋™ํ™” ๋„๊ตฌ = Heat, CloudFormation(AWS)

 

OpenStack์˜ ๊ฐœ๋…์  ์•„ํ‚คํ…์ณ

์ถœ์ฒ˜: OpenStack Docs.

 

 

โ–ถ OpenStack Compute(Nova)

- ๋Œ€๊ทœ๋ชจ์˜ ๊ฐ€์ƒ๋จธ์‹ ์„ ์ œ๊ณตํ•˜๊ฑฐ๋‚˜ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์–ธ์ œ๋“ ์ง€ ์ด์ค‘ํ™” ๋ฐ ์„œ๋น„์Šค ํ™•์žฅ์ด ๊ฐ€๋Šฅํ•œ ํด๋ผ์šฐ๋“œ ์ปดํ“จํŒ… ์‹œ์Šคํ…œ์„ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•ด ๋””์ž์ธ๋œ ์˜คํ”ˆ์Šคํƒ์˜ ํ•ต์‹ฌ ์„œ๋น„์Šค

1) nova-api ์„œ๋น„์Šค๋Š” ๋Œ€์‹œ๋ณด๋“œ ๋˜๋Š” ์ฝ˜์†”์„ ํ†ตํ•ด ์‚ฌ์šฉ์ž์˜ ์ธ์Šคํ„ด์Šค ์ƒ์„ฑ ์š”์ฒญ์„ ๋ฐ›์Œ

2) nova-api ์„œ๋น„์Šค๋Š” ์ด ์š”์ฒญ์„ ๋ฉ”์„ธ์ง€ ํ ์„œ๋น„์Šค๋ฅผ ํ†ตํ•ด ์ปดํ“จํ„ฐ ๋…ธ๋“œ์—์„œ ์‹คํ–‰์ค‘์ธ nova-compute ์„œ๋น„์Šค์—๊ฒŒ ์ „๋‹ฌ

3) nova-api๋กœ๋ถ€ํ„ฐ ์š”์ฒญ์„ ๋ฐ›์€ nova-compute ์„œ๋น„์Šค๋Š” ์ปดํ“จํŠธ ๋…ธ๋“œ์—์„œ ์‹คํ–‰์ค‘์ธ ํ•˜์ดํผ๋ฐ”์ด์ €์—๊ฒŒ ์ด๋ฅผ ์ „๋‹ฌ

4) ํ•˜์ดํผ๋ฐ”์ด์ €๋Š” ์ด ์š”์ฒญ์„ ๋ฐ›์•„๋“ค์—ฌ ๋ฏธ๋ฆฌ ์„ค์ •ํ•ด ๋†“์€ ๋„คํŠธ์›Œํฌ ๋ฐ Flavor ๋“ฑ์„ ์‚ฌ์šฉํ•ด์„œ ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑ

5) ์ด๋ ‡๊ฒŒ ์ƒ์„ฑ๋œ ์ธ์Šคํ„ด์Šค๋ฅผ ์‚ฌ์šฉ์ž๋Š” ์ฝ˜์†” ์„œ๋น„์Šค๋ฅผ ํ†ตํ•ด ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•˜๊ณ  ์‚ฌ์šฉ ํ•  ์ˆ˜ ์žˆ์Œ. ๋˜ํ•œ nova-novncproxy ์„œ๋น„์Šค๋ฅผ ํ†ตํ•ด vnc๋ฅผ ํ†ตํ•œ ์ ‘์†๋„ ๊ฐ€๋Šฅํ•จ

 

โ–ถ Neutron

- ์˜คํ”ˆ์Šคํƒ ํด๋ผ์šฐ๋“œ์—์„œ ๊ฐ€์ƒ ๋„คํŠธ์›Œํฌ ์ธํ”„๋ผ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ํ—ˆ์šฉํ•˜๋Š” ์„œ๋น„์Šค๋กœ ๋„คํŠธ์›Œํฌ ์„œ๋น„์Šค(FWaaS, LBaaS, VPNaaS), ์™ธ๋ถ€ ๋ฐ ๋‚ด๋ถ€ ๋„คํŠธ์›Œํฌ(Flat, VXLAN), ๋ผ์šฐํ„ฐ(Floating IP), ๋ณด์•ˆ๊ทธ๋ฃน(Security Group) ๋“ฑ๊ณผ ๊ฐ™์ด ์‹ค์ œ ๋„คํŠธ์›Œํฌ ์žฅ๋น„์™€ ๊ฐ™์€ ๋ฌผ๋ฆฌ์  ์š”์†Œ๋“ค์˜ ๊ธฐ๋Šฅ์„ ๋ชจ๋ฐฉํ•ด ์ด๋“ค๊ณผ ์œ ์‚ฌํ•œ ๊ธฐ๋Šฅ์„ ์ œ๊ณต

1) neutron-server๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ์ปจํŠธ๋กค๋Ÿฌ ๋…ธ๋“œ์— ์„ค์น˜๋˜๋ฉฐ ๋„คํŠธ์›Œํฌ, ์„œ๋ธŒ๋„ท ๋ฐ ๋ผ์šฐํ„ฐ ์ƒ์„ฑ ๋ฐ ๊ด€๋ฆฌ ๋“ฑ์˜ ์š”์ฒญ์„ API๋ฅผ ํ†ตํ•ด ์ฒ˜๋ฆฌ

2) neutron L2 agent๋Š” ์ปดํ“จํŠธ ๋…ธ๋“œ์— ์„ค์น˜๋˜๋ฉฐ neuron-server์™€ ํ†ต์‹ ํ•˜์—ฌ ํ˜ธ์ŠคํŠธ ์ƒ์˜ ๋„คํŠธ์›Œํฌ๋ฅผ ์„ค์ •ํ•˜๋Š” ์—ญํ• ์„ ํ•˜๋ฉฐ LinuxBridge, OVS ๊ทธ๋ฆฌ๊ณ  ๋ณด์•ˆ๊ทธ๋ฃน ๋ฐ VLAN ํƒœ๊น…๋„ ์ฒ˜๋ฆฌ๊ฐ€๋Šฅ

3) neutron L3 agent๋Š” neutron-server๋กœ๋ถ€ํ„ฐ ๋ผ์šฐํ„ฐ๊ด€๋ฆฌ, ๋ผ์šฐํŒ… ๊ทธ๋ฆฌ๊ณ  ํ”Œ๋กœํŒ… IP์— ๋Œ€ํ•œ ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐ›์•„์„œ ๊ด€๋ฆฌ

4) neutron dhcp agent๋Š” IP์ฃผ์†Œ ํ• ๋‹น์— ์‚ฌ์šฉ

 

โ–ถ Cinder

- ์˜คํ”ˆ์Šคํƒ ๋ธ”๋ก ์Šคํ† ๋ฆฌ์ง€ Cinder๋Š” Nova ์„œ๋น„์Šค๊ฐ€ ์ƒ์„ฑํ•œ ์ธ์Šคํ„ด์Šค์— ์ €์žฅ ๊ณต๊ฐ„์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ๋ธ”๋ก ์Šคํ† ๋ฆฌ์ง€๋ฅผ ์ œ๊ณตํ•˜๋Š” ์„œ๋น„์Šค

1) cinder-api๋Š” ์—ฌ๋Ÿฌ ํด๋ผ์ด์–ธํŠธ ์„œ๋น„์Šค๋กœ๋ถ€ํ„ฐ API ์š”์ฒญ์„ ๋ฐ›์•„ cinder-volume ์„œ๋น„์Šค์—๊ฒŒ ์ „๋‹ฌํ•˜๋Š” ์—ญํ• ์„ ํ•จ

2) cinder-volume์€ ๊ฐ€์ƒ๋จธ์‹ ์—๊ฒŒ ์Šคํ† ๋ฆฌ์ง€๋ฅผ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋ฐฑ์—๋“œ์— ์กด์žฌํ•˜๋Š” ๋ณผ๋ฅจ ๋””๋ฐ”์ด์Šค์— ๋Œ€ํ•œ ์ฝ๊ธฐ ๋˜๋Š” ์“ฐ๊ธฐ ๋“ฑ์˜ ์š”์ฒญ์— ๋Œ€ํ•ด ์‘๋‹ต. ์ด๋Ÿฌํ•œ ์š”์ฒญ์€ ์•„๋ž˜ cinder-scheduler๋กœ๋ถ€ํ„ฐ ๋„์ฐฉํ•˜๋ฉฐ ๋ณผ๋ฅจ์„ ์ƒ์„ฑ, ์ˆ˜์ • ๋˜๋Š” ์‚ญ์ œํ•  ์ˆ˜ ์žˆ์Œ

3) cinder-scheduler๋Š” nova-scheduler์ฒ˜๋Ÿผ ๋ณผ๋ฅจ์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋Š” ์ตœ์„ ์˜ ์Šคํ† ๋ฆฌ์ง€ ๋…ธ๋“œ๋ฅผ ์„ ํƒํ•˜๋Š” ์—ญํ• ์„ ํ•˜๋ฉฐ ์ผ๋ฐ˜์ ์œผ๋กœ ์ปจํŠธ๋กค๋Ÿฌ ๋…ธ๋“œ์—์„œ ์‹คํ–‰๋จ. ๊ทธ๋Ÿฐ ํ›„ ์š”์ฒญ ๋‚ด์šฉ์„ ์ง„ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด์„œ ๊ทธ ์„ ์ •๋œ ํ˜ธ์ŠคํŠธ์— ์œ„์น˜ํ•œ cinder-volume๊ณผ ์ง€์†์ ์œผ๋กœ ์˜์‚ฌ ์†Œํ†ต์„ ์ง„ํ–‰ํ•จ

 

โ–ถSwift

- ์˜คํ”ˆ์Šคํƒ ์˜ค๋ธŒ์ ํŠธ ์Šคํ† ๋ฆฌ์ง€ Swift๋Š” ๋Œ€๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•ด์„œ HTTPํ”„๋กœํ† ์ฝœ์„ ํ†ตํ•ด ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•œ ์Šคํ† ๋ฆฌ์ง€ ์‹œ์Šคํ…œ์„ ์ œ๊ณตํ•˜๋Š” ์„œ๋น„์Šค(์˜ค๋ธŒ์ ํŠธ=๋น„๋””์˜ค, ์ด๋ฏธ์ง€, ๋ฌธ์„œํŒŒ์ผ ๋“ฑ)

1) swift-proxy-server๋Š” ํด๋ผ์ด์–ธํŠธ๋กœ๋ถ€ํ„ฐ ์˜คํ”ˆ์Šคํƒ ์˜ค๋ธŒ์ ํŠธ ์Šคํ† ๋ฆฌ์ง€ API์™€ HTTP ์š”์ฒญ์„ ๋ฐ›์•„๋“ค์ž„. ์ด๋Ÿฌํ•œ ์š”์ฒญ์€ ํŒŒ์ผ์„ ์—…๋กœ๋“œํ•˜๊ณ  ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ •ํ•˜๊ณ  ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ˆ˜์ •ํ•  ๊ฒฝ์šฐ ํ•„์š”ํ•จ, ๋˜ํ•œ ์›น ๋ธŒ๋ผ์šฐ์ €๋ฅผ ํ†ตํ•ด ํŒŒ์ผ ๋˜๋Š” ์ปจํ…Œ์ด๋„ˆ์˜ ๋ชฉ๋ก๋„ ์ œ๊ณตํ•จ

2) swift-account-server๋Š” ์˜ค๋ธŒ์ ํŠธ ์Šคํ† ๋ฆฌ์ง€์—์„œ ์ •์˜๋œ ๊ณ„์ • ๋ฐ account ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ €์žฅ๋œ ์ปจํ…Œ์ด๋„ˆ ๋ชฉ๋ก์„ ๊ด€๋ฆฌ

3) swift-container-server๋Š” ์˜ค๋ธŒ์ ํŠธ ์Šคํ† ๋ฆฌ์ง€์—์„œ ์ปจํ…Œ์ด๋„ˆ ๋˜๋Š” ํด๋”์˜ ๋งคํ•‘์ •๋ณด์™€ ์Šคํ† ๋ฆฌ์ง€ ์ •์ฑ…์„ ๊ด€๋ฆฌํ•˜๊ณ  ์ปจํ…Œ์ด๋„ˆ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ํŠน์ • ์ปจํ…Œ์ด๋„ˆ์— ํฌํ•จ๋œ ์˜ค๋ธŒ์ ํŠธ ๋ชฉ๋ก๋„ ๊ด€๋ฆฌ

4) swift-object-server๋Š” ์‹ค์ œ ๋ฐ์ดํ„ฐ์ธ ์˜ค๋ธŒ์ ํŠธ๋ฅผ ์ €์žฅํ•˜๊ณ  ๊ฒ€์ƒ‰ํ•˜๊ณ  ์‚ญ์ œํ•˜๋Š” ์—ญํ• ์„ ํ•จ

 

 

 

 

 

'Virtualization & Cloud > OpenStack' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

OpenStack ์‹ฑ๊ธ€ ๋…ธ๋“œ ์„ค์น˜  (0) 2022.05.17
Contents

ํฌ์ŠคํŒ… ์ฃผ์†Œ๋ฅผ ๋ณต์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค

์ด ๊ธ€์ด ๋„์›€์ด ๋˜์—ˆ๋‹ค๋ฉด ๊ณต๊ฐ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค.