Table of contents
⭐️ 서버 가상화란?
서버 가상화는 하나의 물리적인 서버에 여러 개의 가상 서버를 운영하는 기술을 말합니다. 기존에는 하나의 물리적 서버에
하나의 운영체제(OS)가 설치되어 독립적으로 작동하였지만, 가상화 기술을 이용하면 하나의 물리적 서버 안에서
가상 서버들이 각각 독립적으로 작동할 수 있게 됩니다.
가상화 기술을 사용하면 가상 머신(Virtual Machine, VM)이라고 하는 가상 서버를 만들 수 있습니다.
가상 머신은 하드웨어 리소스를 논리적으로 분리하여 할당받으며, 각 가상 머신은 독립된 운영체제를 가지고 있습니다.
이렇게 하나의 물리적 서버에서 여러 개의 가상 머신을 운영함으로써 물리적 자원의 효율성과 유연성을 높일 수 있습니다.
⭐️ 서버 가상화의 장점
1. 하드웨어 자원의 효율적 활용 : 가상화를 통해 하나의 물리적 서버에 여러 개의 가상 머신을 운영할 수 있기 때문에 물리적 자원을 최대한 활용할 수 있습니다. 이를 통해 비용을 절감하고 자원의 효율성을 높일 수
있습니다.
2. 유연성과 높은 이동성 : 가상 머신은 독립적으로 운영체제와 애플리케이션을 가지고 있어서,
가상 서버를 다른 호스트로 이동시키거나 복제하는 등의 작업이 간편합니다.
이로 인해 서버의 이동과 복제가 용이해지며, 하드웨어 유지보수 작업이 더 편리해집니다.
3. 쉬운 백업과 복구 : 가상화 환경에서는 가상 머신의 상태를 스냅샷으로 쉽게 저장하고 백업할 수 있습니다.
문제가 발생했을 때 해당 스냅샷으로 빠르게 시스템을 복구할 수 있습니다.
4. 테스트와 개발 용이성 : 가상 머신을 사용하면 개발과 테스트 환경을 구축하기가 쉽습니다.
가상 머신을 이용하여 다양한 테스트와 실험을 수행할 수 있으며,
개발자들이 독립적으로 개발 환경을 구축하여 작업할 수 있습니다.
5. 고가용성과 복구 기능 : 여러 개의 물리적 서버에 가상 머신을 분산시켜서 구성하면, 하나의 물리적 서버에 문제가
발생해도 다른 서버로 자동으로 이전하여 시스템의 고가용성과 복구 기능을 보장할 수 있습니다.
6. 확장성 : 비즈니스 요구에 따라 가상 머신을 더 추가하여 시스템을 쉽게 확장할 수 있습니다.
새로운 서버를 물리적으로 구매하는 것보다 비용과 시간 측면에서 훨씬 유리합니다.
7. 다중 운영체제 호스팅 : 가상화를 통해 하나의 물리적 서버에서 다양한 운영체제를 호스팅 할 수 있습니다.
예를 들어, Windows, Linux 등 서로 다른 운영체제를 동시에 실행할 수 있습니다.
⭐️ 서버 가상화의 단점
1. 성능 손실 : 가상화 계층을 통해 물리적 자원을 가상 머신에 할당하므로, 일부 성능 손실이 발생할 수 있습니다.
특히 CPU, 메모리, 디스크 I/O 등의 작업에서 물리적 서버보다 성능이 저하될 수 있습니다.
이러한 성능 저하는 가상화 솔루션의 종류와 설정에 따라 다를 수 있습니다.
2. 리소스 경합 : 여러 개의 가상 머신이 물리적 자원을 공유하므로, 자원 경합이 발생할 수 있습니다.
특정 가상 머신이 과도하게 리소스를 사용할 경우 다른 가상 머신의 성능에 영향을 줄 수 있습니다.
3. 호스트 의존성 : 가상화 환경은 호스트 머신에 의존적입니다.
호스트 머신이 고장이 나면 호스트에 배치된 모든 가상 머신이 영향을 받을 수 있습니다.
4. 관리 복잡성 : 가상 서버들의 독립성과 유연성은 관리의 용이성을 높여줄 수 있지만,
가상 서버의 수가 증가하면 관리의 복잡성이 증가할 수 있습니다.
따라서 적절한 가상화 관리 툴과 정책이 필요합니다.
5. 라이센스 및 비용 : 일부 가상화 솔루션은 상용 라이선스를 필요로 하며, 이로 인해 추가 비용이 발생할 수 있습니다.
또한 가상 머신을 운영하기 위해서는 물리적인 서버 자원 뿐만 아니라 가상 머신을 위한
소프트웨어 라이선스 및 지원 비용도 고려해야 합니다.
6. 하드웨어 호환성 : 모든 하드웨어가 가상화를 지원하지는 않을 수 있으며,
특히 물리적 서버의 특정 하드웨어가 가상 머신에서 문제를 일으킬 수 있습니다.
7. 보안 이슈 : 여러 개의 가상 머신이 동일한 물리적 하드웨어를 공유하게 되므로,
하나의 가상 머신이 침해당할 경우 다른 가상 머신들에 영향을 미칠 수 있습니다.
이를 해결하기 위해서는 적절한 보안 조치가 필요합니다.
⭐️ 서버 가상화 종류
1. 하이퍼바이저 기반 가상화 : 하드웨어 위에 하이퍼바이저를 설치하고, 가상 머신을 생성하여 사용하는 방식입니다.
예시로는 VMware, Hyper-V, KVM 등이 있습니다.
2. 컨테이너 기반 가상화 : 운영체제 레벨에서 가상화를 수행하는 방식으로, 하나의 호스트 운영체제에서
여러개의 컨테이너를 생성하여 사용합니다. 예시로는 Docker, Kubernetes 등이 있습니다.
도커와 쿠버네티스는 최근 많은 기업들이 원하는 기술입니다. 다음 포스팅에 다뤄보려 합니다!
3. OS 가상화 : 하나의 운영체제를 여러개의 가상 운영체제로 분리하여 사용하는 방식입니다.
예시로는 OpenVZ, LXC 등이 있습니다.