๐โ๏ธโ๏ธโ๏ธ๐/docker
ํ์ดํผ๋ฐ์ด์ (hypervisor)๋?
pansy0319
2020. 12. 26. 02:36
๋ฐ์ํ
ํ์ดํผ๋ฐ์ด์ (hypervisor)
- os์ appliction์ ๋ฌผ๋ฆฌ์ ์ธ ํ๋์จ์ด์ ๋ถ๋ฆฌํ๋ค
- ํ๋์จ์ด์ ๊ฐ์๋จธ์ ์ฌ์ด์ ๋ ์ฌ์ด์ ๋ชจ๋ ํธ๋์ญ์ ์ ์ฒ๋ฆฌํ๋ ๊ณ์ธต์ ๋๋ค
- ํธ์คํธ ์ปดํจํฐ์์ ๋ค์์ ์ด์ ์ฒด์ ๋ฅผ ๋์์ ์คํํ๊ธฐ ์ํ ๋ ผ๋ฆฌ์ ํ๋ซํผ(platform)
- ๊ฐ์ ๋จธ์ ์ ์์ฑํ๊ณ ๊ตฌ๋ํ๋ ์ํํธ์จ์ด
- ํ์ดํผ๋ฐ์ด์ ๋ฅผ ์ด์ฉํด ๋์ผํ ๊ฐ์ํ ํ๋์จ์ด ๋ฆฌ์์ค๋ฅผ ๊ณต์ -> ์ฌ๋ฌ๊ฐ์ ์ด์์ฒด์ ๊ตฌ๋ ๊ฐ๋ฅ
- ์ฅ์
- ๋ค๋ฅธ vm์ ์๋ฌ, ํฌ๋์, malware ๊ณต๊ฒฉ์ผ๋ก๋ถํฐ ๋ณดํธ๋๋ค
- ํ๋์จ์ด์ ๋ ๋ฆฝ์ ์ด๊ธฐ ๋๋ฌธ์ local์ด๋ ์๊ฒฉ์ ๊ฐ์ ์๋ฒ์ ์ฝ๊ฒ ์ด๋ํ ์ ์๋ค
- ํ์
1(native ๋๋ bare-metal)
- ํ์ดํผ๋ฐ์ด์ ๊ฐ ํด๋น ํ๋์จ์ด์์ ์ง์ ์คํ๋๋ฉฐ ๊ฒ์คํธ ์ด์ ์ฒด์ ๋ ํ๋์จ์ด ์์์ 2๋ฒ์งธ ์์ค์ผ๋ก ์คํ๋๋ค
- host os๊ฐ ํ์ ์์
- ํ๋์จ์ด์์ ์ง์ ์คํ๋๊ธฐ ๋๋ฌธ์ ์ฑ๋ฅ์ด ์ข๋ค
- vm ๋ฆฌ์์ค๋ ํ์ดํผ๋ฐ์ด์ ์ ์ํด ํ๋์จ์ด์ ์ง์ ์์ฝ๋จ
- ํ๋์จ์ด ๊ฐ์(acceleration) ๊ธฐ์ ์ด ์์ผ๋ฉด ์๋, vm ๊ฐ์์ ์ํฅ๋ฐ์(↓)
- microsoft์ hyper-v, KVM, VMware vSphere
- ํ์ดํผ๋ฐ์ด์ ๊ฐ ํด๋น ํ๋์จ์ด์์ ์ง์ ์คํ๋๋ฉฐ ๊ฒ์คํธ ์ด์ ์ฒด์ ๋ ํ๋์จ์ด ์์์ 2๋ฒ์งธ ์์ค์ผ๋ก ์คํ๋๋ค
- ํ์
2(hosted)
- ์ผ๋ฐ ํ๋ก๊ทธ๋จ๊ณผ ๊ฐ์ด ํธ์คํธ ์ด์ ์ฒด์ ์์ ์คํ๋๋ฉฐ VM ๋ด๋ถ์์ ๋์๋๋ ๊ฒ์คํธ ์ด์ ์ฒด์ ๋ ํ๋์จ์ด์์ 3๋ฒ์งธ ์์ค์ผ๋ก ์คํ๋๋ค
- host os์ ์ค์น๋๋ค(์์กด์ )
- ๊ด๋ฒ์ํ ํ๋์จ์ด ์ง์ ๊ฐ๋ฅ
- vm ๋ฆฌ์์ค๋ ํธ์คํธ ์ด์ ์ฒด์ ์ ๋ฐ๋ผ ์์ฝ๋ ํ ํ๋์จ์ด์ ๋ํด ์คํ๋๋ค
- virtual box, VMware Workstation
- ์ผ๋ฐ ํ๋ก๊ทธ๋จ๊ณผ ๊ฐ์ด ํธ์คํธ ์ด์ ์ฒด์ ์์ ์คํ๋๋ฉฐ VM ๋ด๋ถ์์ ๋์๋๋ ๊ฒ์คํธ ์ด์ ์ฒด์ ๋ ํ๋์จ์ด์์ 3๋ฒ์งธ ์์ค์ผ๋ก ์คํ๋๋ค
- ๊ฐ์ํ ์ข
๋ฅ
- full virtualization(์ ๊ฐ์ํ)
- ํ๋์จ์ด๋ฅผ simulationํด์ guest os๋ฅผ ์์ ํ์ง ์๊ณ ์คํ๋ ์ ์๊ฒ ํ๋ค
- guest๋ ์์ ์ด ๊ฐ์ํ๋์๋ค๋๊ฑธ ์ธ์ง ๋ชปํจ(os๊ฐ ์์ ํ ๊ฒฉ๋ฆฌ๋ ํ๊ฒฝ์์ ์คํ ๋จ)
- ๋ชจ๋ guest์ ํ๋์จ์ด ์ ๊ทผ์ ๊ด๋ฆฌ์ฉ ๊ฐ์ ๋จธ์ (DOM0)์ ๊ฑฐ์ณ์ ์คํ๋จ
- ์ํํธ์จ์ด ์ง์(binary translation)
- guest os์์์ ์์ฒญ์ binary translation์ด ์ผ์ด๋ ํ์ ์คํ๋จ
- ํ๋์จ์ด ์ง์(vt)
- ํ๋ก์ธ์์ ์ง์ ๊ถํ ์๋ ๋ช ๋ น์ด๋ฅผ ์คํ์ํฌ ์ ์์
- para virtualization(๋ฐ๊ฐ์ํ)
- guest๋ ์์ ์ด ๊ฐ์ํ๋์๋ค๋ ๊ฒ์ ์ธ์งํจ
- ํธ์คํธ์์ ํต์ ์ ์ํด guest os์ ์ฝ๋๊ฐ ์ผ๋ถ ์์ ๋จ(ํธํ์ฑ๊ณผ ์ด์์ฑ์ด ๋ฎ์)
- guest os๋ hyper call์ ์ฌ์ฉํด์ ์ํ
- hybrid virtualization(ํ์ด๋ธ๋ฆฌ๋ ๊ฐ์ํ)
- ์ ๊ฐ์ํ์ ๋ฐ๊ฐ์ํ์ ์กฐํฉ
- ํน์ ํ๋์จ์ด ๋๋ผ์ด๋ฒ(I/O ๋ฑ)์ ๋ฐ๊ฐ์ํ๋ฅผ ์ฌ์ฉํ๊ณ ๋ค๋ฅธ ๊ธฐ๋ฅ์๋ ๋ฐ๊ฐ์ํ๋ฅผ ์ฌ์ฉ
- os level virtualization(os ์์ค ๊ฐ์ํ)
- ์คํ์ ์ํด ํธ์คํธ ์ด์ ์ฒด์ ์ปค๋ ์ฌ์ฉ
- docker
- full virtualization(์ ๊ฐ์ํ)
- ์ถ์ฒ 1: https://ko.wikipedia.org/wiki/%ED%95%98%EC%9D%B4%ED%8D%BC%EB%B0%94%EC%9D%B4%EC%A0%80
- ์ถ์ฒ 2: https://www.redhat.com/ko/topics/virtualization/what-is-a-hypervisor
- ์ถ์ฒ 3: https://medium.com/teamresellerclub/type-1-and-type-2-hypervisors-what-makes-them-different-6a1755d6ae2c
- ์ถ์ฒ 4 : https://www.unixarena.com/2017/12/para-virtualization-full-virtualization-hardware-assisted-virtualization.html/
๋ฐ์ํ