1. Virtualization

2023. 9. 8. 12:37ใ†ComputerScience/OperatingSystem

 

 

 

 

์ตœ์‹ ๊ธฐ์ˆ ์ฝœ๋กœํ€ด์›€2

1. Virtualization 2023. 09. 08 ๊ธˆ์š”์ผ  

cloud ๊ธฐ์ˆ ์˜ ๊ธฐ๋ฐ˜์ด ๋˜๋Š” ๊ฐ€์ƒํ™”์— ๋Œ€ํ•œ ๊ฐœ๋…

 

 

 

๊ฐ€์ƒํ™”์˜ ์ด์ 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

์‹ค์ œ ๋ฌผ๋ฆฌ ๋ฉ”๋ชจ๋ฆฌ๋Š” ์•„๋‹ˆ๋‹ˆ๊นŒ, ๋‹ค์‹œ ํ•œ ๋ฒˆ hypervisor๊ฐ€ ๊ด€๋ฆฌํ•ด์ฃผ๊ฒŒ ๋œ๋‹ค.

software๊ฐ€ ์•„๋‹Œ, hardware ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•œ๋‹ค 

 

 

 

๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ๋กœ๋ถ€ํ„ฐ ์‹ค์ œ ๋ฌผ๋ฆฌ ๋ฉ”๋ชจ๋ฆฌ๊นŒ์ง€ ๋‚ด๋ ค๊ฐ€์•ผํ•˜๋Š”๋ฐ, ๋‚ด๋ถ€ ํ•˜์ดํผ๋ฐ”์ด์ €๊ฐ€ ๊ด€๋ฆฌํ•˜๊ณ  ์žˆ๋Š” page table๊นŒ์ง€ ๋‚ด๋ ค๊ฐ€์„œ address translation์ด ๋ฐœ์ƒํ•˜๊ฒŒ ๋œ๋‹ค. ๊ณ„์†ํ•ด์„œ ๋‚ด๋ ค๊ฐ€๋‹ค๋ณด๋ฉด ๋‚ด๊ฐ€ ์›ํ•˜๋Š” ์‹ค์ œ ๋ฌผ๋ฆฌ ์ฃผ์†Œ๊นŒ์ง€ ๋„˜์–ด๊ฐˆ ์ˆ˜ ์žˆ๋‹ค. ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ๋งŽ์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Œ

 

 

 

๊ฐ€์ƒ ๋จธ์‹ ์ด ๊ฐ–๊ณ  ์žˆ๋Š” ๋ฉ”๋ชจ๋ฆฌ๋Š”

์‹ค์ œ ๋ฌผ๋ฆฌ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ์•„๋‹ˆ๋ผ, ํ•˜์ดํผ๋ฐ”์ด์ €๊ฐ€ ๊ด€๋ฆฌํ•˜๋Š” ๋ฉ”๋ชจ๋ฆฌ

๋ฌผ๋ฆฌ ๋ฉ”๋ชจ๋ฆฌ 100G๊ฐ€ ์‹ค์ œ๋กœ ํ• ๋‹น๋˜์–ด ์žˆ๋Š”์ง€๋Š”, OS๊ฐ€ ํ™•์ธํ•  ๋ฐฉ๋ฒ•์ด ์—†๋‹ค. 

ํ•˜์ดํผ๋ฐ”์ด์ €๊ฐ€ ๊ฐ์ถ”๊ฑฐ๋‚˜ ์†์ด๋ ค๋ฉด ์–ผ๋งˆ๋“ ์ง€ ๊ฐ€๋Šฅํ•จ (๊ฐ€์ƒ์ด๊ธฐ ๋•Œ๋ฌธ์—)

 

 

 

storage ๊ฐ€์ƒํ™”

 

 

 

 

 

 

์‹ค์ œ๋กœ ๋„คํŠธ์›Œํฌ ์นด๋“œ๊ฐ€ ์žˆ๋Š” ๊ฒƒ์€ ์•„๋‹Œ๋ฐ, ์žˆ๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ

๊ฐ€์ƒ์˜ virtual ์Šค์œ„์น˜๋ฅผ ๋งŒ๋“ค๊ณ , ์ด๋ฅผ ํ†ตํ•ด ํŒจํ‚ท์„ ์ฃผ๊ณ  ๋ฐ›์„ ์ˆ˜ ์žˆ์Œ

๊ฐ€์ƒ ๋จธ์‹ ์€ ์‹ค์ œ ๋””๋ฐ”์ด์Šค๋ผ๊ณ  ์ƒ๊ฐํ•˜๊ณ  accessํ•˜๋ฉด 

๋ฐ‘๋‹จ์˜ hypervisor๊ฐ€ ๋Œ€์‹  ์ฒ˜๋ฆฌํ•ด์ฃผ๋Š” ๊ณผ์ •

 

 

 

 

 

 

OS ์œ„์— ํ•˜์ดํผ๋ฐ”์ด์ €๊ฐ€ ๋ฐ”๋กœ ์˜ฌ๋ผ๊ฐ€๋Š” ํ˜•ํƒœ

ํ•˜์ดํผ๋ฐ”์ด์ €๊ฐ€ ๋ชจ๋“  ํ•˜๋“œ์›จ์–ด ๋””๋ฐ”์ด์Šค๋ฅผ ์ปจํŠธ๋กค

์ด๋ฅผ ์œ„ํ•œ ๋””๋ฐ”์ด์Šค ๋“œ๋ผ์ด๋ฒ„๋“ค์ด ๋‹ค ๋‚ด์žฅ๋˜์–ด ์žˆ์Œ 

 

 

 

 

 

 

๊ฐ€์ƒํ™”๋ฅผ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•œ ๋ณ„๋„์˜ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์„ค์น˜ํ•˜๋Š” ๋ชจ๋ธ

ํ˜ธ์ŠคํŠธ OS ๋‚ด๋ถ€์—, ๊ฐ€์ƒํ™”๋ฅผ ์ง€์›ํ•ด์ฃผ๋Š” ๋“œ๋ผ์ด๋ฒ„ ์„ค์น˜

device driver๋ฅผ ์‰ฝ๊ฒŒ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์žฅ์ 

native ๋ชจ๋ธ์ด ์„ฑ๋Šฅ ์ธก๋ฉด์—์„œ๋Š” ํ›จ์”ฌ ๋” ๋น ๋ฅด๋‹ค.

 

 

 

์ปจํ…Œ์ด๋„ˆ

 

 

 

OS -> ์ปจํ…Œ์ด๋„ˆ ๋Ÿฐํƒ€์ž„ -> ๊ฐ๊ฐ์˜ ์ปจํ…Œ์ด๋„ˆ๋“ค์ด ๋– ์„œ ๋™์ž‘

 

 

 

์ปจํ…Œ์ด๋„ˆ๋Š” ๊ฒฝ๋Ÿ‰ํ™”๋œ ๊ฐ€์ƒํ™”

๊ธฐ์กด ๊ฐ€์ƒ ๋จธ์‹  emulation -> ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ํฌ๋‹ค, ์„ฑ๋Šฅ์— ์ž„ํŒฉํŠธ๋ฅผ ์คŒ 

์ปจํ…Œ์ด๋„ˆ๋Š” ํ›จ์”ฌ ๊ฐ€๋ณ๊ณ  ๋น ๋ฅด๋‹ค. ํ˜„์žฌ ๋งŽ์ด ์‚ฌ์šฉ์ค‘

์–ด๋– ํ•œ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ฐ ์„ค์ •์„ ํ•˜๋‚˜์˜ ์ปจํ…Œ์ด๋„ˆ์— ๋‹ด์•„๋‘๊ณ 

ํ•„์š”ํ•  ๋•Œ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ƒ์„ฑํ•ด์„œ ์‚ฌ์šฉ, ๋‹ค๋ฅธ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐ ์ปจํ…Œ์ด๋„ˆ์™€ ๊ฒฉ๋ฆฌ๋˜์–ด์žˆ๋‹ค. 

์ปจํ…Œ์ด๋„ˆ ์•ˆ์— ๊พธ๊ฒจ ๋„ฃ๊ธฐ ๋•Œ๋ฌธ์—, OS, ํŒŒ์ผ ๋””๋ ‰ํ† ๋ฆฌ, ๋‹ค๋ฅธ ์ปจํ…Œ์ด๋„ˆ์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š๋Š”๋‹ค.

 

 

 

๋ฐฐํฌ๊ฐ€ ๋น ๋ฅด๊ณ  ์‰ฝ๋‹ค / ์ž๋™ํ™” / CI/CD

 

 

 

์ž‘์€ ์„œ๋น„์Šค๋“ค์ด ์„œ๋กœ ์—ฐ๊ฒฐ๋˜์–ด์žˆ๊ณ , ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค -> ์ปจํ…Œ์ด๋„ˆ๋กœ ๋งŒ๋“ฆ

 

 

 

 

 

 

๊ตณ์ด OS๊นŒ์ง€ ๋Œ๋ฆฌ๋ฉด์„œ ๊ทธ๋ ‡๊ฒŒ ํ•ด์•ผํ•ด?

OS ์œ„์— ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋งŒ๋“ค๊ณ , application process ํ•˜๋‚˜ ๋Œ๋ฆฌ๋Š” ๊ฒƒ๊ณผ ๋™์ผํ•จ

์ฐจ์ด์ ์€ ์ปจํ…Œ์ด๋„ˆ๋ผ๋Š” ๋…๋ฆฝ์ ์ธ ๊ณต๊ฐ„์„ ๋งŒ๋“ค์–ด๋‘๊ณ , ํ•„์š”ํ•œ ์„ค์ • ํŒŒ์ผ๊ณผ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋„ฃ์–ด๋‘๋Š” ๊ฒƒ

ํ•˜๋“œ์›จ์–ด ๊ฐ€์ƒํ™”๊ฐ€ ์•„๋‹ˆ๋ผ, OS ๊ฐ€์ƒํ™”, ๋‚˜์•„๊ฐ€ ๊ฒฉ๋ฆฌ๋ผ๋Š” ํ‘œํ˜„์ด ๋” ์ ํ•ฉํ•˜๋‹ค. 

ํ•˜๋‚˜์˜ ์•ฑ์„ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ๊ฐ์ข… ์ฝ”๋“œ, ํŒŒ์ผ๋“ค์„ ๋‹ด์•„๋‘”๋‹ค. 

 

 

 

 

 

 

๊ธฐ์กด ๊ฐ€์ƒ๋จธ์‹  ์œ„์— ๋ณ„๋„์˜ OS๊ฐ€ ์˜ฌ๋ผ๊ฐ

์ปจํ…Œ์ด๋„ˆ๋Š” ์ปจํ…Œ์ด๋„ˆ ๋Ÿฐํƒ€์ž„ ์œ„์—์„œ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ๋™์ž‘ 

๊ฐ€์ƒํ™” ๋จธ์‹ , OS๋„ ์—†๊ณ ,

์•ฑ์ด ๊ตฌ๋™๋˜๋Š” ํ™˜๊ฒฝ์—์„œ ํ•„์š”ํ•œ ๊ฒƒ๋“ค์„ ๋‹ค ๋ชจ์•„์„œ ๊ฐ์‹ธ๋Š” ์†Œํ”„ํŠธ์›จ์–ด ํŒจํ‚ค์ง€๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค. 

 

 

 

 

 

 

๊ฐ€์ƒ ๋จธ์‹ ์€ OS ๋ถ€ํŒ…๊ณผ ๊ฐ™์€ ์ •๋„์˜ ์‹œ๊ฐ„์ด ์†Œ์š”๋จ

์ปจํ…Œ์ด๋„ˆ๋Š” ๋ช‡ ์ดˆ ์•ˆ์— ์‹คํ–‰๋จ

isolated ๊ฒฉ๋ฆฌ๋œ ํŠน์„ฑ์ด ๊ฐ€์žฅ ์ค‘์š”ํ•˜๋‹ค. 

 

๋‹จ์ ์œผ๋กœ๋Š” OS ์ˆ˜์ค€์—์„œ ์ œ๊ณตํ•˜๊ธฐ ๋•Œ๋ฌธ์—, 

๋™์ผํ•œ OS, ๋™์ผํ•œ ์ปค๋„์„ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค.

๊ฐ€์ƒ๋จธ์‹ ์€ ๋””๋ฐ”์ด์Šค๋ฅผ ๋ชจ๋‘ ๊ฐ€์ƒํ™”ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์œˆ๋„์šฐ, ๋งฅ, ๋ฆฌ๋ˆ…์Šค๋กœ ๋Œ๋ฆฌ๊ธฐ๊ฐ€ ๊ฐ€๋Šฅํ•จ 

 

 

 

 

 

 

๊ธฐ์กด์˜ hypervisor๊ฐ€ ํ•˜๋˜ ์ž‘์—…์„ ์–ด๋–ป๊ฒŒ ๋Œ€์ฒดํ•  ๊ฒƒ์ธ๊ฐ€?

๋ฆฌ๋ˆ…์Šค๋Š” 3๊ฐ€์ง€, namespace, chroot, cgroups๋ฅผ ํ†ตํ•ด isolation ๊ตฌํ˜„

 

 

 

 

 

 

namespace

process ๋ณ„ ์‹œ์Šคํ…œ ๋ฆฌ์†Œ์Šค isolation

 

 

 

chroot / root ๋””๋ ‰ํ† ๋ฆฌ

 

 

 

์ปจํ…Œ์ด๋„ˆ ๋ณ„ CPU, Memory ๋‹ฌ๋ฆฌ ํ• ๋‹น ๋ฐ ์ œ์–ด ๊ฐ€๋Šฅ

 

 

 

 

 

 

๊ฐ€์ƒ ๋จธ์‹ ์€ OS ์ˆ˜์ค€ ํ•„์š” -> ๊ธฐ๊ฐ€ ๋‹จ์œ„ 

์ปจํ…Œ์ด๋„ˆ๋Š” ์•ฑ ํ”„๋กœ๊ทธ๋žจ์„ ์œ„ํ•œ ๋ฐ”์ด๋„ˆ๋ฆฌ ํŒŒ์ผ๋“ค -> ๋ฉ”๊ฐ€ ๋‹จ์œ„

์‹คํ–‰ ์†๋„๊ฐ€ ํ›จ์”ฌ ๋น ๋ฅด๋‹ค.

 

 

 

๊ธฐ์กด์˜ monolithic ๋ฐฉ์‹์—์„œ MSA

 

 

 

 

 

 

 

 

 

2.0 ๋ฐฐํฌ ์‹œ ์ˆœ์ฐจ์ ์œผ๋กœ ๋ฌด์ค‘๋‹จ ๋ฐฐํฌ ๊ฐ€๋Šฅ (DB ๊ตฌ์กฐ ๊ฐ™์€ ๊ฒฝ์šฐ, ๋ฌด์ค‘๋‹จ์ด ์–ด๋ ค์šธ ์ˆ˜๋„ ์žˆ๋‹ค.)

 

 

 

CI/CD ์ž๋™ํ™” ๋“ฑ๋“ฑ

 

 

 

GPU ๊ฐ€์ƒํ™”

 

 

 

GPGPU ์ผ๋ฐ˜์ ์ธ ๋ชฉ์ ์˜ GPU

์—”๋น„๋””์•„์˜ ์„ฑ์žฅ

 

 

 

 

 

 

CPU ํ•œ์ •๋œ ์ฝ”์–ด ์ˆ˜, ๋˜‘๋˜‘ํ•œ ์ผ์„ ์ฒ˜๋ฆฌ, ๋งค์šฐ ๋น„์‹ธ๋‹ค

GPU ๋งŽ์€ ์ฝ”์–ด๋“ค, ๋‹จ์ˆœํ•œ ์ผ์„ ๋Œ€๊ทœ๋ชจ ์ฒ˜๋ฆฌ ๊ฐ€๋Šฅ (์ฝ”์–ด ๋‹น ๊ฐ€์„ฑ๋น„)

computational power๊ฐ€ ํ•„์š”ํ•œ ์ผ์— ์ ํ•ฉํ•˜๋‹ค. 

 

 

 

 

 

 

API remoting ๋ฐฉ์‹

 

 

 

driver ๋ฐฉ์‹

 

 

 

์—”๋น„๋””์•„์—์„œ GPU ๊ฐ€์ƒํ™” ์ง€์› ์‹œ์ž‘