정온 (jeong on)
2021. 7. 15. 01:00
728x90
반응형
가상화란
하드웨어 기술의 성장과 보급 증가로 성능이 우수한 하드웨어를 구하기 쉬워져 주목받기 시작했다.
대표적인 가상화 기술
서버 가상화, 네트워크 가상화, 스토리지 가상화, 컨테이너 가상화
- 서버 가상화
일반적인 가상화기술로 서버를 가상머신으로 만들어 사용하는 기술 - 네트워크 가상화
하드웨어 어플라이언스 형태로 존재했던 L2, L3, L7 스위치와 네트워크 방화벽 그리고 보안장비들을 모두 가상머신으로 구현가능하고 하나로 통합된 여러 개의 물리적 환경의 장치들을 다시 가상으로 쪼개어 사용할 수 있다.
→ 가상으로 네트워크를 나누어 자원으로 사용하고, 필요에 다라 다시 회수하는 형태로 사용 가능
대표적인 네트워크 가상화 기술로 NFV가 있다. - 스토리지 가상화
디스크 RAID처럼 여러 개의 물리적인 드라이브를 하나의 논리적 드라이브처럼 사용하는 기술.
대표적인 오픈소스 SDS 스토리지로 Ceph와 Glusterfs가 있다. - 컨테이너 가상화
호스트 운영체제에서 논리적인 구역을 만들어 서로 독립적인 애플리케이션을 실행하는 기술
서버 가상화보다 리소스를 효율적으로 사용하거나 애플리케이션을 빠르게 배포할 수 있다.
서버 가상화
가상머신을 생성하려면 CPU나 메모리같은 시스템 자원을 나누어주는 파티셔닝 기술이 필요.
이 파티셔닝 기술은 하드웨어 파티셔닝과 소프트웨어 파티셔닝이 있다.
소프트웨어 파티셔닝은 소프트웨어를 사용하여 가상머신에게 시스템자원을 할당하게 되는데, 이때 사용하는 소프트웨어를 하이퍼바이저라고 한다.
하이퍼바이저
호스트가 소프트웨어 파티셔닝을 할 수 있게 만들어주는 소프트웨어다.
하이퍼바이저의 역할은 가상머신의 리소스관리뿐만 아니라 서로 독립적인 환경을 사용할 수 있도록 리소스간 접근 방지 기능도 갖고 있다.
기능 중 리소스 관리 기능은 가상머신이 어느 정도의 가상 리소스를 할당 받을지를 정하고 실제 물리적인 자원을 사용할 수 있도록 돕는다.
리눅스 컨테이너
리눅스 컨테이너에는 애플리케이션이나 이에 필요한 라이브러리 및 설정파일 등이 포함되어있다.
가상머신과 다르게 가상화 계층이 없고 커널이 별도로 존재하지 않기 때문에 가상머신에 비해 가볍고 실행 속도 또한 빠르다.
도커란 리눅스 컨테이너를 다루는 도구로 컨테이너 런타임이라고도 한다.
컨테이너 핵심 기술
- cgroup (control group)
프로세스 또는 스레드를 그룹화하여 관리하는 기능과 시스템 리소스의 사용을 한하는 기술
호스트의 리소스를 공유하여 사용할 때 cgroup을 사용해 컨테이너가 사용하는 리소스의 양을 제한할 수 있다.
같은 호스트에서 동작하는 서로 다른 컨테이너에 영향을 주지 않도록 막아주는 역할 - namespace
이 공간에 다수의 오브젝트를 격리할 수 있다.
호스트에서 동일한 PID를 가질 수 없지만 서로 다른 namespace에서는 동일한 PID를 가질 수 있다.
이름 | 설명 |
PID namespace | namespase에서 독립적인 PID 사용 |
Network namespace | namespase에서 독립적인 Network 사용 |
UID namespace | namespase에서 독립적인 UID 사용 |
Mount namespace | namespase에서 독립적인 Mount 사용 |
UTS namespace | namespase에서 독립적인 UTS 사용 |
IPCnamespace | namespase에서 독립적인 IPC 사용 |
정온 Tistory
이 티스토리는 학생이 제작하고 있습니다
수정사항이 있다면 댓글이나 방명록에 남겨주세요
728x90
반응형