1. VMware vSphere
2. Software Defined Data Center(SDDC)
3. Virtualization
4. Hypervisor : Type I(Bare-Metal), Type II(Hosted)
5. VM(Virtual Machine)
6. VMware Tools
7. vCenter Server Applicance(VCSA)
8. vCenter Single Sign On(vCenter SSO)
9. Virtual Standard Switch
10. Virtual Network Distributed Switch
11. Datastore
12. iSCSI(Internet Small Computer System Interface)
13. NAS(Network Attached Storage) & NFS(Netwrok File System)
14. Fiber-Channel SAN(Storage Area Network)
15. VMFS(Virtual Machine File System)
16. VM Management(Clone & Template & vApp)
17. VM Migration(vMotion)
18. vSphere HA(High Availability)
19. vSphere DRS(Distributed Resource Scheduler)
20. vSphere FT(Fault Tolerance)
21. Cloud Computing(IaaS, PaaS, SaaS)
22. RAID(Redundant Array Independent(Inexpensive) Disk)
23. Virtual Machine Disk File(.vmdk, .vmx, .vmsd ...)
1. VMware vSphere
1-1. 정의
(1) VMware vSphere란 VMware 제품군 중 하나로써 엔터프라이즈 및 데이터 센터 레벨에서의 서버 가상화를 위한 솔루션으로 가상화된 서버, 스토리지, 네트워킹 리소스를 통합해서 IT 인프라를 구축할 수 있도록 돕는 플랫폼이다.
(2) VMware NSX(Network and Security Virtualization) : VMware 네트워크 가상화 솔루션
(3) VMware Horizon (Horizon View) : VMware 데스크탑 가상화 솔루션
1-2. 주요 특징
(1) vSphere 구성 요소 : ESXi(VMware Type I Hypervisor), vCenter Server, vSphere Client 등
(2) 서버 가상화 수행
- 단일 물리 서버의 리소스를 하이퍼바이저를 통해 소프트웨어 형태로 추상화하여 논리적인 호스트 및 VM을 생성하고 이들을 각 독립된 환경에서 관리할 수 있는 기능을 제공한다.
(3) HA, DRS 등의 서비스 고가용성을 위한 기능 제공
(4) 다수의 ESXi 호스트들을 중앙 집중 형식으로 관리한다.
(5) 다수의 ESXi 호스트들에 걸쳐 네트워크 관리가 가능하다.
1-3. 장점
(1) 리소스 최적화 및 효율성
- 다수의 VM을 하나의 단일 서버에서 실행할 수 있기 때문에 서버 자원의 사용률을 극대화하고 효율성을 높일 수 있다.
(2) 비즈니스 연속성(서비스 고가용성 유지) 측면에서의 이점
- vSphere의 주요 기능인 HA, DRS를 통해 비즈니스 연속성을 확보할 수 있다. 특정 호스트 장애 발생 시 VM을 다른 호스트로 이전시켜 서비스 다운 타임을 최소화하는 등의 방식으로 연속성을 확보한다.
(3) 관리 용이성
- 앞서 언급한 것처럼 vSphere Client를 통해 다수의 호스트와 VM을 중앙 집중형식으로 관리할 수 있어서 관리적 측면에서 용이하다.
1-4. 단점
(1) 비용적 문제
- vSphere는 인프라 관리 및 유지를 위한 최적의 기능을 제공하지만 이를 사용하기 위한 라이센스 비용이 별도로 발생한다. 현재 브로드컴에서 VMware를 인수한 상황이라 라이센스 정책이 구독 형식으로 변경되었다. 따라서 현재 상황으로는 라이센스의 비용적 문제가 vSphere 솔루션을 사용하려는 사용자 입장에서 큰 부담이 될 수 있다.
(3) 하드웨어 종속성 문제
- VMware 가상화 솔루션의 경우 특정 하드웨어와 호환성 충돌 문제를 일으킬 수 있다. 일부 하드웨어와의 호환성 문제가 발생했을 때 운영적 측면에서 어려움이 있을 수 있다.
1-5. 결론
(1) VMware vSphere는 서버 가상화 및 데이터 센터의 인프라 운영을 위한 플랫폼으로 기능적 측면에서 고가용성, 확장성, 리소스 최적화를 제공하고 있다 그러나 높은 비용, 일부 제한적인 하드웨어 지원 등의 단점도 존재하므로 기업의 규모와 요구 사항에 맞춰 적절하게 활용 시 효율적이고 안정적인 인프라 환경을 구축할 수 있다.
2. Software Defined Data Center(SDDC)
2-1. 정의
(1) 소프트웨어로 정의된 데이터 센터는 IT 인프라(데이터 센터)를 이루는 서버, 스토리지, 네트워크 등의 요소들을 가상화 솔루션을 도입해 소프트웨어로 추상화하고 자동화하는 개념이다.
* 소프트웨어적(논리적)으로 추상화(Abstraction)한다는 것은?
- 물리적 리소스나 복잡한 시스템의 세부 구현 사항을 소프트웨어적 방식을 도입해 단순화하고 이를 더 높은 수준에서 다루는 작업을 의미한다. 추상화는 일반적으로 객체지향(OOP)와 같은 프로그래밍 주요 방법론 등에서 정의되는 용어로, 시스템이나 데이터의 복잡한 사항을 숨기고 다른 시스템이 그 시스템을 쉽게 이해하고 사용할 수 있도록 돕는 과정이다.
- 서버 가상화를 예로 들자면 물리적 서버 리소스를 가상화하여(논리적으로 추상화시키는 것) 논리적 VM을 생성하는 과정 자체를 하이퍼바이저가 제어하도록 하는 것이다. 물리적 자원을 통해 생성된 논리적 VM이 독립적인 하나의 물리적 서버처럼 보이게 한다. 실제 하드웨어가 어떻게 동작하는지 이 부분은 철저히 감춰지고 하이퍼바이저가 VM을 위한 자원을 동적으로 할당하고 관리하는 형식이다.
2-2. 주요 특징
(1) SDC(Software-Defined Computing)
- 물리적 서버와 하드웨어를 통해 논리적인 컴퓨팅 환경을 구성하는데 이를 소프트웨어를 통해 구축하고 관리한다. 단일 서버의 자원을 동적으로 활용하고 운영할 수 있다.
(2) SDS, SDN(Software-Defined Storage, Software-Defined Network)
- 물리적 스토리지나 네트워크가 아닌 소프트웨어로 스토리지 & 네트워크를 정의하고 관리한다.
2-3. 장점
(1) 비용 절감
- 물리 리소스 의존성을 줄이고 리소스 활용을 최적화하여 인프라 운영 비용 절감을 기대해볼 수 있다.
(2) 운영 효율성 증가
- 자동화된 관리 및 오케스트레이션을 통해 운영 효율성이 높아진다. 반복적인 작업을 자동화하여 관리자의 작업 개입을 크게 줄일 수 있다.
(3) 유연성과 민첩성
- 가상화된 인프라 환경을 통해 빠르게 변화하는 비즈니스 요구사항에 빠르게 대처할 수 있다.
2-4. 단점
(1) 복잡성
- SDDC의 구현 자체만으로도 과정이 복잡할 수 있으며 이를 설계하고 구축하는데 시간과 자원이 많이 소모될 수 있다. SDDC 환경을 완전히 이해하고 구축하기 위해 조직 내에 숙련된 엔지니어가 필요하다.
(2) 초기 비용 문제
- SDDC 환경 자체만을 구축하는데에 있어 비용이 들지만 만약 클라우드와 통합된 환경까지 구축해야 한다면 더 많은 기술력과 비용이 든다.
(3) 기존 인프라와의 호환성 문제
- 레거시 시스템과 SDDC를 통합해야 하는 상황이라면 기존 레거시 시스템에서의 애플리케이션 등이 SDDC 환경에서 원활하게 동작하지 않을 수 있다.
3. Virtualization
3-1. 정의
(1) 가상화는 물리적 리소스를 기반으로 하이퍼바이저와 같은 소프트웨어를 통해 논리적으로 추상화하여 가상의 IT 인프라를 생성하는 과정을 의미한다. 이러한 가상화는 물리적 리소스를 효율적으로 활용하고 관리할 수 있도록 하는 역할을 한다.
3-2. 특징
(1) 물리적 리소스를 소프트웨어적으로 추상화 (핵심 : 하이퍼바이저)
- 가상화를 통해 물리적 하드웨어 리소스를 논리적으로 분할하고 관리할 수 있게 한다.
(2) 가상화된 인프라 환경
- 가상화를 통해 논리적 서버, 네트워크, 스토리지 등을 구성하여 물리적인 시스템과 관계없이 독립적인 가상 인프라 환경을 구축하게 된다. 물리적 시스템이 무엇인지, 어디에 존재하는지 관여하지 않고 가상 환경을 소프트웨어적으로 관리하게 된다.
(3) 리소스 효율화 및 유연성 제공
- 가상화를 통해 물리적 리소스를 동적으로 다수의 VM에게 할당하거나 관리할 수 있고 이러한 가상화된 환경 자체는 변화하는 비즈니스 요구사항에 맞게 확장하거나 축소가 가능하기에 유연성을 제공한다.
4. Hypervisor
4-1. 정의
(1) 하이퍼바이저는 가상화 솔루션의 핵심 소프트웨어로써 물리적 리소스를 통해 다수의 VM을 생성하고 이들을 독립적으로 관리할 수 있는 소프트웨어를 의미한다.
(2) VMware의 하이퍼바이저는 Type I(Bare-Metal), Type II(Hosted) 하이퍼바이저가 있다.
4-2. 하이퍼바이저의 특징 / 종류 / 장단점
(1) Type I(Bare-Metal) Hypervisor
- 타입 1의 경우 물리적 서버의 하드웨어 위에서 직접 실행되며 별도의 운영체제를 필요로 하지 않는다.
- 하드웨어 자원에 대해 직접 접근이 가능하므로 성능이 뛰어나며 물리 리소스를 직접 관리하고 할당해서 VM을 최적화한다.
- 장점 : 높은 성능 & 효율성 제공
- 단점 : 초기 설치 및 구성 과정이 복잡할 수 있으며 특정 하드웨어와의 호환성 문제가 발생할 수 있다.
- 종류 : VMware ESXi, Microsoft Hyper-V., Xen 등
(2) Type II(Hosted) Hypervisor
- 타입 2의 경우 운영체제 위에서 실행되는 하이퍼바이저를 의미한다.
- 장점 : 운영체제 위에서 설치되기 때문에 사용자 인터페이스가 직관적이고 설정이 용이하며 개발 및 테스트 환경을 빠르게 설정해 볼 수 있다.
- 단점 : 운영체제의 자원을 사용하기 때문에 성능이 타입 1보다 떨어지며 구조적으로 호스트 운영체제와 가상 머신 간 자원이 공유되어 자원 경쟁이 발생할 수 있다.
- 종류 : VMware Workstation, Oracle VirtualBox 등
5. VM(Virtual Machine)
5-1. 정의
(1) 가상 머신이라고도 불리며 VM은 물리적 리소스를 사용해서 소프트웨어적으로 추상화시킨 가상의 컴퓨팅 환경을 의미한다.
(2) 가상화 기술을 통해 생성된 논리적 컴퓨팅 환경 = VM
5-2. 특징
(1) 생성된 가상 머신은 하이퍼바이저에 의해 관리된다. 하이퍼바이저가 각 VM에게 동적으로 리소스를 할당할 수 있다.
(2) 각 VM은 Guest OS를 설치할 수 있고 물리적 컴퓨터처럼 프로세서, 메모리, 스토리지 등의 리소스를 활용할 수 있다.
(3) 각 VM은 다른 VM의 간섭을 받지 않고 독립적인 환경에서 실행된다. 하나의 VM에서 발생한 문제는 다른 VM에게까지 전파되지 않는다.
(4) VM은 하드웨어에 있어 독립적이므로 이식성이 뛰어나기 때문에 다른 물리적 서버나 하이퍼바이저 환경으로 쉽게 마이그레이션할 수 있다.
(5) 스냅샷 기능을 지원하여 특정 시점의 상태로 VM을 되돌릴 수 있는 기능을 제공한다.
(6) VM을 사용하면 물리적 서버 자원을 효율적으로 사용할 수 있다. 또한 VM은 VM을 이루는 파일들의 집합이므로 물리적 아키텍처에서 사용할 수 없던 기능을 사용할 수 있다.
(7) 파일 형식으로 관리되는 가상머신 특성 상 VM을 빠르게 프로비저닝할 수 있으며 vMotion, HA, DRS와 같은 고가용성을 위한 기능을 적극적으로 사용할 수 있다.
5-3. 결론
(1) VM은 물리적 하드웨어를 추상화하여 소프트웨어적으로 구현된 독립적인 컴퓨터 시스템으로, 하나의 호스트에서 여러 운영 체제를 동시에 실행할 수 있는 유연성과 효율성을 제공한다. 이를 통해 다양한 운영 환경을 동시에 구축하거나 테스트할 수 있는 장점이 있지만, VM들이 동일한 물리적 리소스를 공유하는 사용하게 되므로 리소스를 과도하게 할당하면 리소스 부족으로 인한 일부 성능 오버헤드가 발생할 수 있다.
6. VMware Tools
6-1. 정의
(1) VMware 가상화 환경에서 실행되며 VM에 설치되는 에이전트(필수 사항은 아니지만 설치를 권고하고 있음)이다. vCenter를 통해 호스트 및 VM들을 중앙에서 관리하는 경우 호스트의 VM 정보를 vCenter에서 인식해야 HA, DRS, FT와 같은 기능이 원활히 동작할 수 있으며 VM들을 vCenter에서 안정적으로 인식하고 여러 기능을 사용하기 위해 VM 구성 후 VM Tools를 설치하는 것이 좋다.
(2) 해당 도구를 통해 VM의 성능과 관리 기능을 최적화하고 VM과 Guest OS 간 상호 작용을 도와주며 VM 내부에서 하드웨어 리소스와 관련된 다양한 기능을 제공한다.
6-2. VMware Tools 주요 기능
(1) 드라이버 설치
- VM에서 하드웨어 리소스를 효율적으로 사용할 수 있도록 다양한 드라이버를 제공한다. (그래픽, 네트워크, 디스크 드라이버 등)
(2) 마우스 통합 기능 제공
- 마우스 커서가 호스트와 Guest OS 간 끊김 없이 동작하도록 도와주며 드래그 앤 드롭이 가능하도록 한다.
(3) 성능 최적화
- VM의 성능을 최적화하고 프로세서 및 메모리 사용량을 지속적으로 관리한다.
(4) 클립보드 공유
- 호스트와 Guest OS 간에 클립보드를 공유할 수 있게 된다. (텍스트 복사 및 붙여넣기 가능)
7. vCenter Server Appliance(VCSA)
7-1. 정의
(1) VCSA는 VMware 가상화 환경에서 인프라를 중앙 집중 형식으로 관리하는 vCenter Server의 Linux 기반 버전으로 vSphere 환경에서 다수의 호스트 및 VM을 관리하는데 필요한 중앙 관리 어플라이언스이다.
(2) 여기서 Appliance는 특정 기능을 수행하기 위해 미리 구성된 하드웨어와 소프트웨어가 하나의 패키지로 결합된 형태를 의미한다.
7-2. VCSA 주요 구성 요소
(1) vCenter Server
- VCSA의 중앙 관리 소프트웨어로써 호스트, VM, 스토리지, 네트워크 등을 전반적으로 관리하며 관리자가 모든 리소스를 중앙에서 컨트롤하고 모니터링할 수 있도록 돕는다.
(2) Database(PostgreSQL 기반)
- 내장형 RDB를 사용해서 별도의 DB를 요구하지 않는다. 해당 데이터베이스는 vCenter Server와 관련된 모든 설정과 상태 정보를 저장한다.
(3) vSphere Web Client
- 웹 기반 관리 인터페이스인 vSphere Web Client를 제공한다. 관리자에게 편의를 제공하기 위해 웹 환경으로 GUI 환경을 제공하고 있다.
(4) vCenter Server Service(vSphere vMotion, Stroage vMotion, HA, DRS 등)
- 서비스의 고가용성 유지를 위한 주요 기능인 HA, DRS, FT 등의 서비스를 제공한다.
(5) vCenter Single-Sign-On(SSO)
- VCSA는 관리자가 한 번의 로그인으로 vSphere 내의 모든 기능을 활용하고 사용할 수 있도록 인증 체계를 도입했는데 이 부분이 SSO이며 SSO를 통한 인증에 성공한 관리자는 vSphere 내부에서 다양한 기능과 환경에 접근할 수 있도록 설계되었다.
7-3. VCSA 주요 특징
(1) Linux 기반으로 동작
- 기존 vCenter Server는 윈도우 운영체제를 필요로 하지만 VCSA의 경우 리눅스 운영체제 위에서 동작한다. VMware에서도 vCenter Server 대신 VCSA를 사용할 것을 권장하고 있다.
(2) 내장형 데이터베이스 보유
(3) 배포 및 설치 용이성
- VCSA를 사용하면 .ova 파일을 사용해서 VM을 빠르게 배포할 수 있기 때문에 배포 프로세스가 간단하다.
(4) 리소스 효율성 측면
- Windows 운영체제 기반 vCenter Server보다 적은 리소스를 활용하기 때문에 리소스 관리 측면에서 효율적이다.
(5) 호스트 및 클러스터 관리
- VCSA를 사용하면 클러스터 및 ESXi 호스트를 관리하는데 필요한 유용한 기능들을 제공하며 이를 통해 VM, 네트워크, 스토리지 등의 리소스 풀을 효율적으로 관리할 수 있다.
7-4. 단점
(1) Windows 운영체제와의 호환성 부족
- VCSA는 Windows에서 실행되지 않으므로 일부 기존 Windows 기반 애플리케이션과 호환성 문제가 있을 수 있다.
(2) 운영체제 학습 곡선 요구
- VCSA는 리눅스 기반에서 동작하므로 VCSA를 다루기 위해 Linux 운영체제를 학습해야 할 수도 있다.
7-5. OVA(Open Virtual Appliance) & OVF(Open Virtualization Format)
(1) OVA, OVF는 가상화 환경에서 VM을 배포하고 공유하기 위한 파일 형식이다. 두 형식은 가상 머신 배포와 이식성을 용이하게 만들기 위해 개발되었다.
* VM 배포 : 가상화 플랫폼에서 새로운 VM을 생성하고 설치하는 과정 자체를 의미한다.
(2) OVF는 가상화 환경에서 사용되는 파일 형식 및 표준으로 VM을 배포, 관리, 공유할 수 있도록 설계되었으며 OVF는 VM에 대한 메타데이터, VM의 구성 정보를 정의하는 파일이다.
- VM의 구성 파일(리소스 정보 등, .ovf), VM의 디스크 이미지(.vmdk) 등
- OVF는 여러 파일로 구성된 패키지 형식으로 이루어져 있다. (예: .ovf, .vmdk, .mf 파일 등)
(3) OVA는 OVF 패키지를 하나의 압축된 파일로 묶은 형식이다. OVF의 압축 파일로써 OVF 패키지를 하나의 파일로 배포 및 관리할 수 있도록 한다.
8. vCenter Single-Sign-On(vCenter SSO)
8-1. 정의
(1) vCenter SSO는 vSphere 환경에서 사용자 인증을 단일화하고, vSphere 서비스에 액세스하기 위한 인증 처리를 중앙에서 관리할 수 있도록 해 주는 인증 서비스를 의미한다.
8-2. 주요 특징
(1) 단일 로그인 기능
- vCenter SSO는 사용자에게 단일 로그인 기능을 제공한다. 한 번의 로그인으로 vSphere Client, vCenter Server, ESXi 호스트, vSphere Web Client 등 서비스에 접근할 수 있도록 한다.
(2) 효율적인 관리자 권한 관리
- 역할 기반 접근 제어를 통해 각 관리자의 권한을 세분화하고 세밀하게 액세스할 수 있도록 지원한다.
(3) 다양한 인증 소스와 통합 가능
- 기존 Active Directory등과 통합하여 인증 시스템을 중앙에서 관리할 수 있어서 기존의 사용자 관리 시스템을 그대로 사용할 수 있다.
(4) vCenter SSO는 VMware vSphere 환경에서 단일 로그인, 중앙 집중식 인증, 역할 기반 접근 제어를 통해 사용자 인증을 효율적으로 관리할 수 있는 인증 서비스이며 편리한 인증 관리와 보안 강화를 제공한다.
9. Virtual Standard Switch
9-1. 정의
(1) VSS(vSwitch)는 vSphere 환경에서 가상 스위치이며 소프트웨어적으로 추상화된 스위치이다. 물리적 네트워크와 동일한 기능을 수행하며 ESXi 호스트와 VM 간의 네트워크 연결을 관리하고 외부 네트워크와의 연결을 제공한다.
9-2. 주요 특징
(1) 호스트 내부에서 VM 간의 네트워크 연결 담당
- vSwitch는 단일 호스트 내에서만 동작한다. VM들이 동일한 호스트 내에서 연결될 수 있도록 지원한다.
(2) 간단한 설정
- vSwitch는 기본적인 네트워크 기능을 지원하고 설치와 설정이 간단한 편이다.
(3) 물리적 NIC와의 연결
- vSwitch는 호스트의 물리 NIC와 연결되어 가상 네트워크 트래픽을 외부 네트워크로 전달한다. 각 가상 스위치는 하나의 물리 NIC에 바인딩될 수 있다.
(4) 가상 포트 그룹 지원
- 여러 개의 VM이 연결될 포트 그룹을 지정할 수 있고 포트 그룹마다 VLAN 설정이 가능하다.
(5) VLAN 지원
- vSwitch는 VLAN 기능을 지원하여 네트워크 대역을 논리적으로 격리할 수 있다. VLAN을 사용해서 여러 네트워크를 관리할 수 있게 된다.
9-3. 장점
(1) 간단한 설정만으로 VM의 네트워크를 관리할 수 있다.
(2) 가상 포트 그룹, VLAN 등의 설정을 통해 네트워크 트래픽을 분리하고 보안성을 높일 수 있다.
(3) 확장성 측면에서 vSwitch는 물리적 NIC와 연결되어 있어서 필요에 따라 추가적인 NIC를 구성하여 네트워크 성능을 확장할 수 있다.
(4) 관리가 간단한 소규모 환경에서 사용하면 효과적으로 사용할 수 있다.
9-4. 단점
(1) ESXi 호스트 간 네트워크 분리 불가로 인한 확장성 제한
- vSwitch는 단일 호스트 내부에서만 작동하고 호스트 간 네트워크 연결이 필요하다면 Distributed Switch나 vSphere vMotion을 사용해야 한다.
(2) Distributed Switch보다 기능 부족
- vSwitch는 고급 기능(로드 밸런싱, NIC 티밍 등)을 지원하지 않는다.
10. Virtual Distributed Switch(VDS)
10-1. 정의
(1) VDS라고도 불리는 분산 스위치는 vSphere 환경에서 다수의 ESXi 호스트에 걸쳐 중앙 집중 형식으로 VM들을 관리할 수 있는 가상 스위치를 의미한다.
10-2. 두 스위치의 차이점
(1) 적용 범위
- 가상 스위치는 단일 호스트 내부에서 가상 머신 간의 네트워크 연결을 관리하지만 분산 스위치는 다수의 호스트에 걸쳐 가상 머신들의 네트워크를 관리한다.
(2) 관리 방식
- 가상 스위치는 각 호스트 별로 개별 관리해야 하지만 분산 스위치는 중앙에서 관리 가능하며 일관된 정책 적용 등이 가능하다.
(3) 기능
- 가상 스위치는 네트워크 연결 및 트래픽 관리 기능을 수행할 수 있고 분산 스위치는 Advanced Function(Load Balancing, Fail-Over)을 지원하며 복잡한 네트워크 환경에 더 적합하다.
10-3. 분산 스위치 환경에서의 장점과 단점
(1) 장점 : 일관된 네트워크 정책 적용
- 모든 호스트에 적용되는 네트워크 정책을 적용할 수 있어서 정책 측면에서 일관성이 있다.
(2) 장점 : 확장성
- 대규모 환경에서도 쉽게 규모 확장이 가능하다.
(3) 장점 : 고급 기능 지원
- QoS, 트래픽 모니터링, 로드 밸런싱 등 다양한 고급 기능을 지원한다.
(4) 장점 : VM들의 중앙 집중식 관리
- 여러 호스트에서 네트워크 구성을 중앙에서 관리할 수 있어서 용이하다.
(5) 단점 : VDS 장애 발생 시 연관된 모든 호스트들에 대한 문제
- VDS에 장애 발생 시 연관된 호스트들을 운영함에 있어 문제가 발생할 수 있다.
→ 정리해 보자면, 가상 스위치 환경을 사용할 경우 효율적이고 보다 유연한 환경 구성이 가능하지만 성능과 보안 이슈에서는 자유롭지 못하다. 분산 스위치의 경우 일관성과 확장성을 제공하지만 이를 구성하기 위한 초기 비용과 복잡성이 크다.
11. Datastore
11-1. 정의
(1) 데이터스토어는 물리적 스토리지를 기반으로 해서 생성된 논리적인 저장소 환경으로, VM과 관련된 데이터(가상 하드 드라이브, 스냅샷 등)를 구축된 가상화 환경에 맞게 데이터를 효율적으로 관리하고 저장하는 역할을 수행한다. 대표적인 유형으로는 VMFS, vSAN 등이 있다.
11-2. 특징
(1) 추상화된 저장소 환경
- 데이터스토어는 앞서 말한 것처럼 물리적 스토리지가 논리적으로 추상화된 환경으로 각 목적에 맞게 관리자가 설계한 논리적 환경이다.
(2) 다양한 유형의 스토리지 지원
- 데이터스토어는 다양한 스토리지 유형을 제공하는데 SAN(Storage Area Network), NAS(Network Attached Storage), 로컬 디스크 또는 클라우드 기반 스토리지에서 데이터를 저장할 수 있다.
11-3. 데이터스토어 등장 배경
(1) 가상화 기술이 발전하게 되면서 물리적 서버의 자원 할당 및 관리가 복잡해졌다. 물리적 저장손느 개별 서버에 물리적으로 연결되어 있다는 특징 때문에 가상화 환경에서 다수의 호스트가 동일한 데이터를 효율적으로 관리하고 접근하는 것에 대한 어려움이 문제였다.
(2) 데이터스토어는 이러한 문제를 해결하기 위해 등장한 개념으로 이를 통해 물리적 스토리지를 가상화해서 여러 VM이 데이터에 효율적으로 접근하고 관리자가 물리 저장소의 세부사항을 직접 컨트롤하지 않고도 가상화된 리소스를 관리할 수 있게 된다.
11-4. 사용하는 이유
(1) 자원 분리와 관리 용이성
- 데이터스토어는 물리적 리소스와는 별개로 가상화된 리소스를 관리할 수 있게 한다. 이를 통해 스토리지 자원 할당을 간소화하고 관리 측면에서 유연성을 제공한다.
(2) 확장성과 유연성
- 데이터스토어는 여러 물리 스토리지를 논리적으로 통합하여 사용자가 필요에 따라 저장 용량을 쉽게 확장할 수 있도록 한다.
(3) 성능 최적화
- 여러 VM이 동시에 I/O 작업을 수행할 때 데이터스토어는 이를 효율적으로 처리하도록 하고 성능 저하를 최소화한다.
11-5. 장점
(1) 가상화 환경 최적화
- 데이터스토어는 가상화 환경에서 최적의 성능과 관리 편리성을 제공한다.
(2) 효율적인 자원 할당
- VM들이 물리적 스토리지에에 직접 접근하지 않고, 추상화된 스토리지 공간을 통해 데이터를 다루므로 자원의 할당이 더 효율적이다.
(3) 중앙 집중 관리
- 여러 물리적 스토리지를 하나의 논리적 스토리지처럼 관리할 수 있어 중앙 집중화된 관리가 가능하다.
(4) 복제 및 백업 용이
- 가상화 환경에서 데이터스토어는 고가용성(HA) 및 데이터 복제, 백업 솔루션을 수행할 수 있도록 돕는다.
12. iSCSI(Internet Small Computer System Interface)
12-1. 정의
(1) iSCSI는 IP 인터넷 프로토콜을 통해 스토리지와 호스트 환경 간 데이터 전송을 가능하도록 하는 프로토콜이며 주로 SAN(Storage Area Network) 환경에서 사용된다. SCSI 명령을 인터넷 프로토콜인 IP 프로토콜을 사용해서 스토리지와 통신할 수 있게 돕는다.
(2) 이를 통해 기존 스토리지 시스템(SAN, NAS) 환경에서 IP 네트워크를 통해 원격으로 호스트와 통신함으로써 데이터 통신이 가능해진다.
12-2. 특징
(1) IP 프로토콜 기반 연결
- iSCSI는 IP 네트워크를 기반으로 해서 스토리지와 호스트 간 통신이 가능하도록 도와주며 이더넷과 같은 일반적인 네트워크 환경에서 스토리지에 접근 가능하다는 특징이 있다.
(2) SCSI 프로토콜을 사용
- iSCSI는 SCSI 명령을 캡슐화해서 TCP/IP를 통해 전송한다. 덕분에 기존 SCSI 스토리지 시스템과 호환 가능하다.
(3) 단일 네트워크 사용
- 데이터를 전송하는 이더넷 네트워크를 사용하므로 기존 LAN 네트워크를 활용할 수 있기 때문에 스토리지를 위한 별도의 전용 네트워크 구축이 필요하지 않다.
(4) 확장성
- iSCSI는 인터넷을 통해 연결 가능하므로 스토리지 위치, 용량을 쉽게 확장할 수 있다.
12-3. 등장 배경
(1) iSCSI는 기존 Fibre Channel(FC) 기반의 스토리지 구성 환경에서 발생할 수 있는 높은 비용 문제를 해결하기 위해 등장했다.
(2) FC는 높은 전송 속도와 안정성을 제공하지만 고가의 전용 하드웨어가 필요하다는 단점이 존재했다. 하지만 iSCSI를 사용하면 기존 IP 네트워크를 통해 비교적 저렴한 비용으로 스토리지 네트워크 구성이 가능하기 때문에 사용 빈도가 올라가게 되었다.
12-4. 사용 환경
(1) 가상화 환경
- VMware vSphere 서버 가상화 환경에서 iSCSI를 통해 다수의 VM들이 중앙 집중화된 스토리지에 액세스할 수 있도록 한다. vSphere에서 iSCSI를 사용함으로서 VMFS 파일 시스템으로 이루어진 가상 머신 데이터들을 저장하고 고가용성을 보장하기 위한 기술을 사용할 수 있게 된다.
(2) 클라우드 환경
- 원격지 스토리지에 접근이 필요한 클라우드 환경에서 iSCSI는 스토리지의 확장성을 제공하는데 사용할 수 있다.
(3) 원거리 스토리지 연결
- 지리적으로 분산된 위치에서 스토리지에 액세스해야 하는 경우 iSCSI는 IP 네트워크를 사용하기 때문에 원거리 스토리지 연결을 가능하게 한다.
12-5. 장점
(1) 비용 절감 효과
- iSCSI는 기존 IP 네트워크 환경을 그대로 사용하므로 고가의 장비(SAN Switch)를 구성할 필요가 없으로 기존 이더넷 인프라만으로도 스토리지에 액세스할 수 있어서 비용 절감 효과가 있다.
(2) 유연성 & 확장성
- 기존의 이더넷 네트워크 인프라를 활용해서 분산된 스토리지에 접근 가능하기 때문에 유연성이 뛰어나고 새로운 스토리지를 추가하거나 용량 확장 시 빠르게 대처 가능하다
(3) 가상화 환경에 적합
- vSphere와 같은 환경에서 쉽게 구성하고 사용할 수 있으므로 유용하다.
(4) 관리 용이성
- IP 네트워크 연결을 기반으로 하기에 기존 IT 인프라와 쉽게 통합되고 관리가 용이하다.
12-6. 단점
(1) 네트워크 대역폭으로 인한 성능 이슈 = 네트워크 대역 의존도 증가
- TCP/IP 네트워크를 사용하므로 해당 대역에 문제가 있을 경우 iSCSI 통신 자체도 영향을 받아 성능 문제가 발생할 수 있다.
(2) 지연 시간(Latency)
- IP 네트워크를 통한 데이터 전송에서 지연 시간이 존재할 수 있다. 이런 경우 FC와 같은 프로토콜을 사용했을 때보다 상대적으로 성능이 느려질 수 있다.
13. NAS(Network Attached Storage) & NFS(Network File System)
13-1. NAS(Netwrok Attached Stroage)
(1) NAS는 이더넷 네트워크를 통해 직접 연결되어 파일 시스템에 접근하여 파일을 저장 및 공유할 수 있도록 서비스를 제공하는 스토리지 장치나 서비스를 의미한다.
13-2. NAS 특징
(1) 파일 기반 저장소
- NAS는 주로 파일 시스템 수준에서 데이터를 저장하고 관리하며 데이터는 파일로 구성되어 있고 클라이언트가 네트워크 연결을 통해 해당 파일에 접근하게 된다.
(2) 네트워크 기반 연결
- NAS 시스템은 네트워크에 연결된 독립적인 스토리지 장치이며 네트워크를 통해 파일 시스템에 접근하고 Read/Write가 가능하다.
(3) 다중 사용자 접근 방식
- 여러 사용자가 동시에 접근할 수 있고 이로 인해 파일 시스템에 대한 공유 기능이 가능해진다.
13-3. NFS(Network File System)
(1) NFS는 ESXi 호스트(또는 다른 클라이언트)가 이더넷 표준 네트워크인 TCP/IP를 통해 NAS 장치와 통신하는데 사용되는 파일 공유 프로토콜이며 주로 리눅스나 유닉스 기반 운영체제에서 원격 저장소의 파일 시스템을 클라이언트의 로컬에 저장된 파일 저장소에 접근하는 형식처럼 사용할 수 있게 한다.
13-4. NFS 특징
(1) 파일 시스템 공유
- NFS는 파일 시스템을 네트워크 스택으로 원격 접속을 통해 클라이언트에서 마운트하고 직접 접근할 수 있도록 하는 프로토콜이다.
(2) 리눅스 / 유닉스 계열에서 일반적으로 사용
(3) 기존 네트워크 스택을 그대로 활용하여 파일 시스템에 접근 가능하다.
13-5. NAS / NFS가 사용되는 환경 / 이유
(1) NAS
- NAS는 파일 공유 및 데이터 백업 환경에서 주로 사용될 수 있으며 홈 네트워크 환경이나 소규모 기업 환경에서 공동 작업을 위해 사용된다.
(2) NFS
- NFS는 주로 리눅스&유닉스 운영체제 환경에서 사용되며 원격 서버의 파일 시스템을 클라이언트의 로컬 환경에서 사용할 수 있도록 돕는 프로토콜이다.
14. SAN(Storage Area Network), Fiber-Channel SAN
14-1. SAN
(1) SAN은 고속의 네트워크를 사용해서 서버와 스토리지를 연결하는 스토리지 구성 환경을 의미한다. SAN은 스토리지와 서버를 직접적으로 연결하고 데이터 통신을 위한 전용 네트워크 환경을 제공하게 된다.
(2) 스토리지를 물리적으로 분리하여 네트워크상에서 독립적인 장치로 관리할 수 있게 한다.
(3) 주로 엔터프라이즈나 데이터 센터에서 사용된다.
14-2. SAN 특징
(1) 전용 네트워크 대역 사용
- SAN은 데이터를 저장하는 스토리지와 서버 간의 전용 네트워크를 제공한다. 일반적인 네트워크 대역과 별개로 작동해서 데이터 전송 성능을 최적화하고 다른 네트워크 대역과 분리된다.
(2) 고속 데이터 전송
- SAN은 고속 전송을 지원하는 프로토콜(Fiber Channel, iSCSI, FCoE)을 사용해서 데이터 전송 속도를 크게 향상시켰다.
* Fibre Channel : 고속 전송을 지원하는 광섬유 기반 데이터 전송 프로토콜, 엔터프라이즈 레벨에서 고성능 데이터 전송을 위해 사용된다. SAN 환경에서의 주요 기술로 높은 대역폭, 낮은 지연 시간을 제공한다.
* iSCSI : IP 네트워크를 통한 스토리지 네트워크 기술로 TCP/IP 스택을 사용해서 스토리지 장치와 서버를 연결한다. 기존의 이더넷 스택을 사용하므로 비용적 측면에서 저렴하게 SAN 환경을 구축할 수 있다.
* FCoE(Fibre Channel over Ethernet) : 기존 이더넷 네트워크에서 Fiber Channel 프로토콜을 사용할 수 있게 하는 기술이다. 기존 이더넷 인프라를 사용해서 Fiber Channel 기반의 고속 스토리지 전송 기능을 지원하게 된다.
14-3. SAN 장점
(1) 고속 데이터 접근
- SAN은 높은 속도의 데이터 통신 기능을 지원함으로써 대용량 데이터 작업을 신속하게 처리할 수 있다.
(2) 데이터 보호 및 백업
- SAN 환경에서는 중앙 집중 형식의 백업, 스냅샷 복제 등의 기능을 활용해서 데이터 보호, 백업 작업을 수행할 수 있다.
(3) 확장성
- SAN은 네트워크 프로토콜을 기반으로 해서 서버에 대해 스토리지 장치를 쉽게 추가할 수 있어 요구사항이 급격히 변화화는 환경에서도 유연하게 대처 가능하다.
(4) 서버와 스토리지 독립성
- 서버와 스토리지가 직접적으로 연결되지 않으며 네트워크를 통해 연결되므로 독립적이며 스토리지 자원의 관리와 효율성이 높아지게 된다.
14-4.SAN 단점
(1) 비용 문제, 복잡성
- SAN을 구축하기 위해 별도의 장비, 스토리지 시스템, 관리 소프트웨어 등이 요구되므로 초기 구축 비용이 높을 수 있다. 또한 설치 과정에서의 구성, 관리 방법이 복잡할 수 있으며 다소 복잡한 지식이 요구될 수 있다.
(2) 네트워크 트래픽 관리
- 별도의 전용 네트워크를 사용하므로 네트워크 대역폭에 문제가 있는 경우 데이터 처리를 함에 있어 속도가 느려질 수 있다.
14-5. SAN 구현 방법
(1) Fiber Channel SAN
- Fiber Channel을 사용하는 SAN 환경은 속도가 빠르고 신뢰성 높은 데이터 전송을 제공한다. Fiber Channel의 광섬유 기반 전송 기술을 통해 대규모 데이터 센터나 엔터프라이즈 레벨에서 스토리지 환경을 구축할 때 많이 사용된다.
(2) iSCSI SAN
- iSCSI 프로토콜을 사용해서 SAN을 구축하는 방식으로 기존 이더넷 네트워크를 사용하므로 비교적 저렴한 비용으로 서버-스토리지 환경을 구축할 수 있다. 기존 이더넷 채널을 사용한다는 점에서 비용적으로 저렴하다는 부분이 장점이다.
(3) FCoE
- 기존 이더넷 네트워크를 통해 Fiber Channel 프로토콜을 사용할 수 있게 해주는 기술로 SAN 환경을 구축할 수 있다.
14-6. SAN을 사용하는 이유
(1) 성능 향상
- SAN은 데이터 전송 속도가 빠르며 대규모 데이터 처리에 적합하므로 대규모 환경, 고속 전송 기술인 Fibre Channel을 사용하면 데이터 처리 성능이 크게 향상된다.
(2) 확장성에서 오는 유연함
- 요구사항에 맞게 쉽게 확장 & 축소가 가능하므로 네트워크와 연결된 스토리지 장치를 추가하고 제거함으로써 시스템 요구사항에 빠르게 대처 가능하다.
(3) 서버와 스토리지의 분리
- 서버와 스토리지 시스템을 분리하여 관리하기 때문에 서버의 부하를 줄이고 스토리지 자원을 효율적으로 관리할 수 있다.
14-7. Fiber Channel SAN
(1) Fiber Channel SAN은 광섬유 기반의 고속 전송 기술을 사용한 SAN 구현 방식으로 데이터 전송속도와 안정성이 좋은 편이므로 대규모 엔터프라이즈 레벨에서 일반적으로 사용되는 스토리지 구성 방식이다.
(2) 고속 전송, 저지연, 높은 신뢰성을 특징으로 한다. 이러한 요소들 때문에 성능이 우선시 되는 환경에서 주로 사용되고 대규모 데이터 센터, 높은 사양의 애플리케이션에서 고가용성과 안정성을 보장해준다.
(3) 단점으로는 구축 및 유지관리 비용이 높은 편이며 광섬유 특성상 설치와 관리가 복잡하다. 이러한 부분을 해결하기 위해 기존 이더넷 네트워크를 활용하는 iSCSI SAN 방식이 대안이 될 수 있다.
15. VMFS(Virtual Machine File System)
15-1. 정의 & 등장 배경
(1) VMFS는 VMware에서 개발한 자체적인 파일 시스템으로 ESXi 호스트 내부에서 VM을 저장하고 관리하는데 직접적으로 사용되는 파일 시스템을 말한다. VM에 대한 정보들이 VMFS 기반의 파일 형식으로 관리되며 독립적으로 각각 접근할 수 있는 구조를 가지고 있다.
(2) VMFS는 가상화 기술이 발전함에 따라 함께 등장했으며 초기 가상화 환경에서는 VM을 각 호스트에서 독립적으로 관리하고 호스트의 스토리지에 직접적으로 저장했지만, 가상화 환경이 발전하고 규모가 커짐에 따라 확장성과 효율성을 고려한 중앙 집중형식의 스토리지 시스템이 요구되었고 VMware에서는 VMFS를 개발하여 다수의 호스트가 VM과 관련된 데이터들을 VMFS 형식으로 중앙화된 스토리지에 저장하고 관리하게 함으로써 높은 성능과 고가용성을 제공할 수 있도록 했다.
15-2. 특징
(1) 분산 파일 시스템
- VMFS를 사용함으로써 다수의 ESXi 호스트가 동일한 데이터스토어(저장소)에 접근할 수 있도록 한다. 이를 통해 여러 호스트에서 하나의 논리적 데이터스토어에 저장된 VM의 메타 데이터를 직접적으로 접근 & 사용할 수 있다.
(2) 여러 스토리지 환경에서 지원하는 파일 시스템
- SAN, NAS 기반의 다양한 스토리지 환경에서 VMFS 파일 시스템을 사용할 수 있다.
(3) VM에 대한 직접적인 관리 가능
- VMFS는 VM의 디스크 파일(.vmdk), 설정 파일, 스냅샷 등을 포함한 여러 파일들을 저장하고 관리할 수 있다.
> VMFS는 가상화 환경에서의 VM의 효율적 저장 및 관리 서비스 고가용성을 지원하기 위한 중요한 기술이라고 볼 수 있다.
15-3. 장점
(1) 가상화 환경에서의 I/O 처리 속도 향상
- VMFS는 가상화 환경에서 발생할 수 있는 많은 I/O 작업들을 효율적으로 처리하도록 한다.
(2) 공유 스토리지 환경으로 인한 이점 제공
- 다수의 ESXi 호스트가 동일한 스토리지에 접근하도록 하고 이 부분을 활용한 기술들(HA, DRS)로 인해 서비스 고가용성 및 호스트 간 로드 밸런싱을 지원하며 VM을 ESXi 호스트 간 마이그레이션할 수 있다.
(3) VM 관리 용이성
- VMFS를 통해 가상 머신에 대한 정보들을 파일 형태로 저장하고 관리하며 공유 스토리지 환경을 사용하여 중앙에서 관리가 가능하다.
(4) 서비스 고가용성을 위한 다양한 기능 제공
- VMFS를 통해 VM에 대한 정보들을 파일 형식으로 중앙 집중형식 & 독립적으로 관리하기 때문에 다수의 ESXi 호스트나 VM에서 장애가 발생했을 때 vMotion, HA, DRS 등 서비스 고가용성을 위한 기능들을 사용할 수 있도록 한다.
15-4. 단점
(1) 다른 파일 시스템과의 호환성 문제
- VMFS는 VMware 가상화 환경에서만 사용할 수 있으며 다른 가상화 환경에서는 사용이 어렵다.
(2) VMFS의 자체적인 한계
- 가상화 환경에서 많은 작업을 처리하는 데 높은 효율성을 제공하지만 다른 파일 시스템보다 복잡하고 느린 처리 속도가 단점이 될 수 있다.
15-5. VMFS를 기반으로 하는 기술들
(1) vMotion
- ESXi 호스트 간 실시간으로 VM을 종료하지 않고 Hot Migration이 가능하도록 하며 서비스 다운타임 없이 VM을 마이그레이션할 수 있도록 한다.
(2) Storage vMotion
- VM에 대한 디스크 파일을 VM을 중단하지 않는 상태에서 다른 스토리지 환경으로 마이그레이션할 수 있는 Storage vMotion 기능을 사용할 수 있다.
(3) Snapshot & Clone
- VMFS를 통해 가상 머신에 대한 스냅샷을 파일 형식으로 관리할 수 있고 이를 통한 백업, 테스트 환경을 빠르게 구현할 수 있다. 또한 VMFS로 가상 머신에 대한 정보들이 직접 관리되므로 Clone 등의 가상 시스템 복제도 가능하다.
(4) HA(High Availability), DRS(Distributed Resource Scheduler)
- HA는 단일 호스트 운영 중단 발생 시 다른 호스트로 실행 중이던 VM을 재배치하여 재시작할 수 있도록 하는 서비스 고가용성을 위한 기술이다. HA를 사용하기 위해 공유 스토리지 환경이 요구되며 가상 머신에 대한 파일들이 공유 스토리지에 구성되어 있어야 한다. DRS 또한 공유 스토리지 환경을 요구하는데, 호스트의 리소스들을 로드 밸런싱하여 서비스 가용성을 보장하기 위한 기술로, 특정 호스트의 리소스 점유율이 높은 경우 상대적으로 리소스 점유율이 낮은 호스트로 vMotion한다. VMFS를 통한 공유 스토리지 환경 구성이 가능하므로 HA, DRS 기술도 구현할 수 있게 되었다.
16. VM Management(Clone & Template & vApp)
16-1. 정의
(1) Clone
- 클론은 VM의 전체적인 복사본을 생성하는 작업을 의미한다. 클론된 VM은 원본과 동일한 상태인 복사본이지만 독립적으로 운영된다. 클론을 생성하면 원본 VM의 하드웨어 정보, OS, 설치된 애플리케이션의 설정 정보들이 모두 복제된다.
(2) Template
- 템플릿은 가상 머신에 대한 Immutable을 보장하는 복사본 파일(이미지)이다. 템플릿 파일을 사용해서 새로운 VM을 빠르게 배포할 수 있다.
* VM의 배포(Deployment) : 가상 머신의 배포는 새로운 가상 머신을 처음부터 생성하는 과정으로 배포는 템플릿(Template), ISO 이미지, 오퍼레이팅 시스템(OS) 설치 파일 등을 사용하여 가상 머신을 설정하고 구성하거나 아예 새로운 가상 머신을 생성하는 과정으로, 가상 머신을 배포하는 과정은 운영 체제(OS) 설치부터 시작하여, 필요한 소프트웨어 및 구성을 추가하는 단계를 의미한다. 이와 반대로 프로비저닝은 기존에 운영되던 VM 또는 새로운 VM을 배포하는 과정에서 리소스 요소들을 동적으로 할당하는 과정이다. 프로비저닝은 배포 프로세스의 일부이며 프로비저닝을 통해 가상 머신의 기본적 환경을 설정하게 된다.
(3) vApp
- 다수의 가상 머신을 목적이나 용도에 맞게 묶어둘 수 있는 논리적인 컨테이너를 말한다. 다수의 가상 머신을 목적에 맞게 그룹화하여 함께 가상 머신을 동작시키거나 종료시키는 등의 일관적인 작업을 가능하도록 한다.
16-2. Clone 특징
(1) 독립성
- 원본 VM과 독립적으로 작동하며 원본을 변경하더라도 클론에는 영향을 주지 않는다.
(2) 자원 소비
- 클론은 원본 VM의 모든 데이터를 복사하여 별도로 운영되는 VM이기에 추가적인 호스트의 리소스를 요구하게 된다.
(3) 시작 시점 동일
- 클론은 원본 VM의 상태를 그대로 복사하여 새로운 VM을 생성하게 된다. VM에 새로운 소프트웨어를 설치한 후 해당 상태를 그대로 Clone하여 새로운 복제 VM을 생성할 수 있다.
16-3. Clone 사용 예시
(1) 테스트 및 개발 환경
- 동일한 구성을 가진 VM을 필요로 할 때 클론을 사용할 수 있다. 이를 통해 특정 상황을 기반으로 여러 테스트를 수행해 볼 수 있다.
(2) 백업 기능
- 원본 VM에 장애 발생 시 미리 만들어둔 클론을 사용할 수 있다.
16-4. Template 특징
(1) Immutable
- 템플릿은 가상 머신의 Read-Only 이미지 파일이다. 한 번 템플릿으로 변환하면 수정 불가능하다. 템플릿 파일은 동일한 구성을 가진 다수의 VM을 생성할 때 사용한다.
(2) 빠른 배포 가능
- 템플릿 사용 시 VM을 생성하는 과정에 있어 시간을 크게 줄일 수 있다. 템플릿을 기반으로 배포하면 기존 VM에 대한 정보를 기반으로 VM을 생성하게 되므로 OS, 하드웨어 정보 등이 이미 동일하게 구성된 상태이기 때문이다.
(3) 배포 일관성
- 템플릿은 기존 가상 머신의 표준화된 이미지를 제공하므로 동일한 환경을 가진 VM을 다수로 구성할 수 있다.
16-5. Template 사용 예시
(1) 빠른 배포 환경
- 대규모 환경에서 VM을 빠르게 배포해야 할 때 템플릿을 통해 효율적 배포가 가능하다.
16-6. vApp 특징
(1) 다수의 가상 머신 관리
- 다수의 가상 머신을 하나의 컨테이너로 묶어서 관리함으로써 관리 효율성이 증가한다.
(2) 리소스 프로비저닝
- vApp 내부의 VM들은 리소스를 공유하거나 독립적으로 할당할 수 있다. vApp 내부의 각 가상 머신에 개별적 리소스를 공유하거나 프로비저닝할 수 있다.
(3) 네트워크 및 VM 의존성 관리
- 각 VM의 네트워크 연결 및 의존성을 관리할 수 있다. 예를 들어 웹 서버와 데이터베이스 서버 간의 의존성을 체크하고 웹 서버가 먼저 시작된 후 데이터베이스 서버를 구동하는 등의 작업이 가능하다.
16-7. vApp 사용 예시
(1) 예를 들어 수강신청 시스템을 이루는 각 서버가 존재하는 VM들을 vApp 컨테이너로 묶고 각 서버들이 갖는 의존성을 바탕으로 VM을 한 번에 구동하거나 종료하는 등의 작업이 가능해진다.
(2) 수강 신청 시스템의 경우 특정 시각에 서버가 열리고 종료되어야 하므로 수강 신청이 시작되는 시점에 웹 서버, WAS 서버, 데이터베이스 서버가 순서대로 구동되도록 하고 종료될 때는 역순으로 종료되게 하는 등의 특정 상황과 목적에 맞게 가상 머신들을 하나의 컨테이너로 묶어서 일관적인 관리 및 작업이 가능하도록 하는 것이 vApp의 사용 목적이다.
17. VM Migration & vMotion
17-1. 정의
(1) 가상 머신 마이그레이션은 "호스트 간 VM을 이동시키는 기술"을 의미한다. 가상 머신 마이그레이션을 통해 호스트들 간의 로드 밸런싱(리소스 최적화), 유지 보수 작업, 장애 복구 등에 사용된다. (마이그레이션을 위해 관리자의 수동적 개입 필요하다.)
(2) VM 마이그레이션 중에서도 라이브 마이그레이션을 구현하기 위한 vMotion 기술이 존재한다. vMotion은 VMware의 트레이드 마크로써 호스트 간 VM이 전원이 켜진 상태에서 실시간 마이그레이션이 수행된다.
17-2. 특징
(1) 가상 시스템 마이그레이션은 리소스를 직접 다른 호스트로 이동시키지 않고도 VM을 다른 호스트로 이동시킬 수 있도록 한다.
(2) 또한 하드웨어, 운영체제, 애플리케이션 및 데이터 상태를 모두 새로운 호스트로 이동시키는 작업을 의미하며 이를 통해 호스트의 리소스 관리를 최적화하고 운영되는 서비스 가용성을 유지할 수 있다.
17-3. 등장 배경
- VM 마이그레이션도 가상화 환경 기술의 발전에 따라 함께 등장했다. 초기 서버 인프라의 경우 물리적 서버를 기반으로 운영되었으나 아래와 같은 요소들로 인해 VM 마이그레이션 기술이 등장하게 되었다.
(1) 서버 가상화 기술 발전
- 물리 서버를 가상화하여 이를 기반으로 논리적인 VM을 다수 올려서 운영하는 과정에서 기존 물리 서버의 리소스 최적화와 유지 보수가 요구되었다.
(2) 비즈니스 애플리케이션 발달에 따른 고가용성 환경 요구
- 비즈니스 요구사항이 늘어나고 애플리케이션 복잡도가 커짐에 따라 운영되는 서비스의 고가용성, 장애 복구와 같은 요구사항을 만족하기 위해 VM 마이그레이션이 요구되었다.
(3) 무중단 환경
- 서비스의 규모가 커지면서 인프라 이전 등에 있어 무중단 운영을 요구하는 부분이 늘어났고 이에 따라 실행 중이던 VM을 종료하지 않고 마이그레이션해야 하는 요구사항이 생겼으며 이에 따라 VM 마이그레이션 기술이 중요해졌다.
17-4. 마이그레이션을 통해 얻는 이점
(1) 서비스 고가용성 유지
- 가상 머신을 다른 호스트로 마이그레이션하여 호스트 장애 발생 시 Minimize Zero Down-time 또는 Zero Down-time을 구현하면서 다른 호스트로 VM을 마이그레이션하므로 서비스에 대한 고가용성을 유지할 수 있다.
(2) 로드 밸런싱
- 비교적 부하가 높은 호스트에서 낮은 호스트로 VM을 마이그레이션하면서 호스트의 리소스를 최적화함으로써 로드 밸런싱이 가능하다.
(3) 장애 복구(Disaster Recovery) 가능
- 가상 머신 마이그레이션을 통해 재해 및 장애 상황에서 복구 환경을 빠르게 구성할 수 있다. 메인 데이터 센터에서 장애 발생 시 백업 데이터 센터로 VM들을 마이그레이션하여 비즈니스 연속성을 보장할 수 있다.
(4) 클라우드 컴퓨팅 환경으로써의 마이그레이션
- 하이브리드 클라우드와 같은 환경에서 가상 머신을 클라우드 환경으로 마이그레이션하거나 온프레미스 환경에서 클라우드 환경으로 서비스를 이전하는 데 VM 마이그레이션이 사용된다.
(5) 서버의 유지보수 작업에서 사용
- VM 마이그레이션을 통해 기존 물리 서버의 유지보수 및 업그레이드 작업을 수행하더라도 VM에서 돌아가던 서비스를 중단하지 않고도 가능해졌다.
(6) Cold Migration, VM 복제 및 스냅샷에 대한 데이터는 MGMT Network를 통해 전송되지만 vMotion을 위한 네트워크 대역은 별도의 vMotion 전용 VMKernel port를 생성해서 작업해야 한다.
17-5. vMotion이 수행되는 과정
- vMotion은 실행 중인 가상 머신이 Power Off되지 않은 상태에서 다른 호스트로 이동해야 하는데 3가지 관점에서 수행된다
(1) vMotion Kernel Port를 통해서 다른 호스트로 프로세서, 메모리 값을 어떻게 이동할 것인지
- 우선 대상 호스트로 Shadow VM을 생성한다.
- VMKernel 포트를 통해서 타 호스트로 VM의 메모리 페이지 값이 모두 복사된다.
- 복사가 이루어지는 동안에도 Guest OS는 I/O 작업을 실시간으로 처리하기 때문에 메모리 값은 항상 변경될 수 있는 상
태
- 변경되는 메모리 페이지 값을 반영하기 위해 메모리 페이지 값이 복사되는 순간부터 별도의 저장 위치를 선정하는데 이 부분을 메모리 비트맵이라고 한다.
- 이후 모든 상태를 동기화하기 위해 실시간으로 메모리 비트맵을 상대 호스트로 복사하며 VM 상태 정보(CPU 및 MAC 주소, BIOS 장치 등의 정보)도 함께 복사한다. 해당 과정에서는 순간 가상 머신의 활동은 중지되지만 매우 잠깐이므로 사용자는 이 부분을 인식하기 어렵다.
(2) vMotion이 가능하려면 두 호스트 간 VM 정보가 공유 스토리지에 저장되어 있어야 한다.
- 대용량의 디스크 파일을 네트워크 대역을 통해 옮길 수 없으므로 반드시 가상 머신의 디스크 파일들은 공유 스토리지에 존재해야 한다.
- 기존 호스트에서는 해당 가상 머신의 구성 파일과 디스크 파일에 대한 소유권을 Release하고 마이그레이션이 이루어지는 대상 서버로 소유권을 받아서 VM 파일에 접근할 수 있게 된다.
(3) VM의 네트워크 정보가 변경되었기 때문에(VM의 MAC 주소값, 포트 위치) 이 부분을 갱신하기 위해 GARP 프로토콜 기반의 요청이 뿌려지게 된다.
17-6. vMotion 종류
(1) 계산 리소스 마이그레이션 (공유 스토리지 환경 필요)
- VM을 다른 호스트로 마이그레이션한다.
- vMotion을 통해 다른 호스트로 VM을 마이그레이션하면 가상 시스템의 전체 상태가 다른 호스트로 이동된다.
(2) 스토리지 마이그레이션 (공유 스토리지 환경 필요하지 않음)
- VM의 스토리지 환경을 다른 스토리지로 마이그레이션 할 수 있다.
(3) 계산 리소스 & 스토리지 마이그레이션 (공유 스토리지 환경 필요하지 않음)
- 다른 계산 리소스(호스트), VM의 가상 시스템 디스크 및 기타 파일을 다른 스토리지로 마이그레이션 가능하다.
(4) vCenter Server 마이그레이션(공유 스토리지 환경 필요)
- VM을 동일한 SSO-Domain을 가진 다른 vCenter Server로 마이그레이션한다.
(vSphere Server & ESXi Host Version 6 이상)
17-7. vMotion 요구 사항
(1) 호스트 간 공유 스토리지 환경 구성 필요
(2) 1Gbps 이상의 vMotion 전용 네트워크 필요
(3) 동일한 벤더사의 CPU를 사용해야 하며 세대수가 일치해야 함
(4) 가상 머신의 경우 외부용 업링크(NIC)와 연결된 내부 전용 가상 스위치가 존재해야 한다.
(5) 가상 머신의 경우 로컬 스토리지에 존재하는 ISO 이미지 파일과 마운트되어 있다면 이 부분은 해제해야 함
(6) 하트비트 서비스에 대한 응답이 존재해야 한다.
- VMware Tools가 Guest OS에 설치되면 VMKernel과 통신하는 하트비트 서비스가 활성화된다. VMKernel에서 하트비트 서비스를 통해 서로의 상태를 온전히 확인하기 위해 약 5분 정도의 시간 소요 발생
- VM을 생성한 상태에서 바로 vMotion 시 "No Guest OS Heartbeats are being received" 메시지가 확인될 수 있으니 시간이 경과한 후 vMotion 진행
17-8. Hot/Cold Migration
* vMotion : vSphere에서 제공하는 가상 시스템 마이그레이션 기술로 실행 중인 VM을 중단 없이 Real-time으로 다른 호스트로 이동시키는 기술이다. 공유 스토리지 환경을 필요로 하며 이를 통해 서비스 중단 없이 VM을 마이그레이션한다.
(vMotion이 이루어지는 과정에서 ICMP ping이 1~2개 정도 Loss 되는 손실은 발생한다.)
* Hot Migration : 실행 중인 VM을 중단 없이 다른 호스트로 마이그레이션하는 기술로 vMotion이 대표적인 Hot Migration 기술이다.
* Cold Migration : 실행 중인 VM을 중단하고 다른 호스트로 마이그레이션하는 기술로 서비스 중단이 일시적으로 발생하는 마이그레이션 기술이다. 공유 스토리지 환경을 필요로 하지 않는다.
18. vSphere HA(High Availability)
18-1. 정의
(1) vSpherer HA(High Availability)는 직역하면 고가용성으로 HA 클러스터에 존재하는 ESXi 호스트 내부에서 운영 중단 등의 장애 발생 시 실행되고 있던 VM을 다른 호스트로 Failover 시키는 기능으로 애플리케이션 및 비즈니스 서비스에 대한 연속성을 유지하기 위해 vCenter 클러스터에서 제공하는 기능이다. 단일 호스트 장애 발생 시 운영 중이던 VM을 다른 호스트에서 재시작하도록 한다.
18-2. 특징
(1) 사전에 개입할 수 없는 호스트 문제에 대비 가능
단일 호스트 장애 발생 시 실행 중이던 VM을 다른 호스트로 Failover 시켜주는 기능으로 엔지니어가 사전에 개입할 수 없는 하드웨어 장애 등과 같은 문제에 대비하기 위한 기술로 VM의 down-time을 최소한으로 하는 컨셉에 초점을 맞추고 있다.
(2) vMotion을 사용하지 않지만 공유 스토리지 환경에 호스트들이 구성되어야 한다.
- HA는 VM을 재배치하여 재시작해야 하므로 장애가 발생한 호스트의 VM이 사용할 수 있는 공유 스토리지 환경이 필요하다. 이유는 VM의 가상 디스크 파일(.vmdk)가 클러스트의 다른 호스트에서도 접근 가능해야 하기 때문이다.
(3) vCenter Server에 호스트가 등록되어 있어야 하며 HA 클러스터 내부에 호스트가 2개 이상 존재해야 한다.
(4) HA 동작 매커니즘상 다른 호스트로 가상머신이 재배치되어 재시작되므로 약간의 서비스 다운타임이 발생할 수 있다.
18-3. HA 세부 동작 방식(Operation)
(1) HA 클러스터를 구성하게 되면 FDM(Fault Domain Manager)가 실행된다. HA 클러스터 내부의 호스트들은 Fault Domain에 포함되어 있으며 호스트가 유지 보수 모드, vCenter와 연결이 끊기면 Fault Domain에서 자동으로 해제된다.
(2) 클러스터 내부에서 마스터 호스트는 가장 많은 수의 데이터스토어와 연결된 호스트가 선정되고 연결된 데이터스토어 수가 동일하다면 MOID(Managed Object ID)를 통해 마스터 호스트를 선출한다.
* MOID : HA 클러스터 내에서 호스트 및 가상 머신을 고유하게 식별하는 식별자
* FDM : vSphere HA의 핵심 구성 요소 중 하나로 장애 감지 및 복구 작업을 담당하는 서비스로써 호스트와 VM 상태를 모니터링하고 관련 정보를 vCenter Server로 전달한다.
* vpxa : ????
* HOSTD(Host Daemon) : vSphere에서 여러 가지 기능을 담당하고 있다. HA 내부에서는 FDM 에이전트가 VM에 대한 정보를 전달할 때 HOSTD를 통해 전달하게 된다. HA 클러스터 내부의 VM에 대한 Power operation까지 담당한다.
(3) vCenter 내부에 HA를 위한 클러스터를 구축하고 호스트를 추가한다. 이후부터 FDM Agent가 HA의 핵심 기능을 수행하게 된다.
(4) 클러스터 내부 호스트끼리 Heart-beat를 주고받으며 호스트 간 문제가 없는지 지속적으로 체크한다.
(5) 특정 호스트를 기준으로 15초 이상 HeartBeat 신호에 대한 응답이 없는 경우 호스트 Down-time이 발생한 것으로 간주하고 해당 호스트에서 실행 중이던 VM을 다른 호스트에서 재시작(복구)하도록 한다.
(6) 이전 호스트가 다운되었기 때문에 실행 중이던 VM도 동시에 죽게 된다. 다른 호스트에서 VM을 Fail-over하게 되므로 약간의 Down-time을 허용할 수밖에 없다.
18-4. 네트워크 하트비트, 데이터스토어 하트비트
18-5. vSphere HA Failure Scenario
- vSphere HA는 VM에 서 실행되는 애플리케이션에 대해 가동 중단 시 신속한 복구와 효율적인 고가용성을 제공할 수 있다. 또한 여러 가지 방법으로 애플리케이션 가용성을 보호한다.
장애 유형 | 각 장애 상황에 따라 시행되는 vSphere HA |
ESXi Host Failure | 클러스터 내의 다른 호스트에 가상 머신을 재시작한다. |
VM Failure | 설정된 시간 내에 VMware Tools 하트비트가 수신되지 않으면 VM 재시작한다. |
Application Failure | 설정된 시간 내에 애플리케이션 하트비트가 수신되지 않으면 VM을 재시작한다. |
Datastore accessibility Failure | 데이터스토어에 액세스할 수 있는 다른 호스트에서 영향을 받는 VM을 재시작한다. |
Network Isolation | 호스트가 MGMT 또는 vSAN 네트워크에서 격리되면 VM을 재시작한다. 이는 네트워크가 분할된 경우에도 보호 기능이 제공된다. |
(1) Slave Host Failure(ESXi Host Failure)
- 슬레이브 호스트 장애 발생 시 마스터 호스트가 전송한 네트워크 하트비트에 슬레이브 호스트는 응답하지 못한다. 따라서 HA 에이전트에서 원인을 식별하려고 하고 이를 통해 호스트에 이상이 있다고 판단하면 HA를 실행하게 된다.
(2) Master Host Failure(ESXi Host Failure)
- 마스터 호스트 장애로 인해 마스터 호스트에서 네트워크 하트비트를 전송하지 못하면 슬레이브 호스트에서는 마스터 호스트의 이상을 감지하게 된다.
- 이후부터는 슬레이브 노드의 FDM을 통해서 연결된 데이터스토어의 개수로 마스터 노드를 재선출하며 만약 슬레이브 노드 간 연결된 데이터스토어 개수가 같다면 MOID를 통해 마스터 노드를 선출하게 된다.
(3) ESXi Host Failure
- vSphere HA는 ESXi 호스트가 격리되었는지 또는 장애가 발생했는지 여부를 체크할 수 있다. 호스트 운영 중단 발생 시 vSphere HA는 장애가 발생한 호스트의 VM을 다른 호스트에서 재시작하려고 한다.
(4) Guest Operating System(OS) Failure
- vSphere HA가 보호를 제공하는 경우는 Guest OS에 장애가 발생한 경우이다. Guest OS 장애 감지를 수행하는 하트비트는 가상 머신과 vCenter 서버 간에 전송된다.
- 가상 시스템 내부 OS에 장애 발생 시 VMware Tools에도 장애가 발생하며 하트비트가 vCenter 서버에 전송되지 않는다.
- 이러한 부분이 확인되면 vCenter 서버가 해당 가상 시스템을 동일한 호스트에서 재시작하게 된다.
(5) Application Failure
- Application Failure 상황에서는 vSphere HA가 애플리케이션 장애로부터 보호한다. 해당 상황에서 하트비트는 vCenter 서버와 애플리케이션 간에 주고받게 된다.
- 이 상황에서 애플리케이션 운영 중단이 발생하게 되면 vCenter 서버에서 수신 중인 하트비트가 더 이상 수신되지 않는다. vCenter 서버는 이때 가상 머신을 동일 호스트에서 재시작하게 된다.
(6) Host Isolation Failure (Network Isolation)
(1) Management Network 문제로 네트워크 하트비트가 전송되지 않지만 호스트는 정상 운영되는 경우를 호스트 격리 장애라고 정의한다. 호스트가 관리 네트워크 또는 VSAN 네트워크에서 분리되면 vSphere HA가 VM을 재시작하게 된다.
(2) 호스트가 분리 주소에 PING을 시도하고 분리 주소는 수동으로 지정할 수 있는 IP 주소 또는 FQDN이다. (기본값은 호스트의 기본 게이트웨이)
(2) 핑이 실패하면 호스트는 핑이 네트워크에서 분리되었음을 선언한다.
(3) 이 보호 기능은 네트워크가 분할된 경우에도 제공됩니다.
(7) Datastore Access Failure
(1) VMCP (VM Component Protection) : 스토리지 장애로 인한 VM이 받는 역할을 최소화하는 기능
(2) VMCP를 통해 vSphere HA 클러스터 내부 호스트에서 실행되는 VM에 대해 데이터스토어 장애에 대한 보호 기능을 지원한다. 데이터스토어 접근 장애 발생 시 영향을 받는 호스트는 해당 데이터스토어에 접근할 수 없다.
(3) Datastore Access Failure 2가지 유형
- PDL(Permanent Device Loss) : 호스트가 스토리지 디바이스에 더 이상 접근할 수 없는 복구 불가능한 손실을 의미한다.
- APD(All Paths Down) : PDL 아닌 복구 가능한 장애 유형
- PDL 장애 상태에서는 가상 시스템의 전원을 끄지 않고서는 문제 해결할 수 없으므로 PDL 발생 시 "문제 이벤트" 또는 "전원을 끈 후 VM 재시작" 옵션을 설정할 수 있다.
- APD 장애 상태에서는 "문제 이벤트", "전원을 끈 후 VM 재시작- 보수적 재시작 정책", "전원을 끈 후 VM 재시작 - 적극적재시작 정책" 옵션을 선택할 수 있다.
18-4. 장점과 단점
(1) 장점 : 가상화 인프라의 고가용성 보장
- 단일 호스트 장애 발생 시 VM을 다른 호스트로 Fail-over하기 때문에 서비스 다운 타임을 최소화하고 비즈니스의 연속성을 보장할 수 있다.
(2) 장점 : 자동화된 장애 복구 기능 제공 (관리자 개입 최소화)
- 동작원리에서 볼 수 있듯이 HA가 자동으로 호스트의 장애를 감지하고 서비스 연속성을 유지하기 위해 Fail-over 기능을 수행하므로 관리자는 HA 클러스터만 구성해 놓으면 자동으로 장애 대응이 가능해진다.
(3) 단점 : 애플리케이션 레벨까진 책임지지 않는다.
- VM 재시작 시 Guest OS와 VM의 전원 상태만을 관리하므로 애플리케이션이나 특정 서비스 복구는 자동으로 처리되지 않기 때문에 이 부분은 관리자나 개발자의 추가 작업이 필요하다.
(4) 단점 : 높은 HA Agent 의존도
- vCenter Server와 ESXi 호스트 간 연결이 끊어지면 HA 기능이 정상적으로 동작하지 않을 수 있다.
(5) 단점 : 네트워크 대역폭 요구사항
- vSphere HA는 Hearbeat 신호 및 VM 상태 정보를 다른 호스트와 지속적으로 주고받아야 하므로 이 부분을 관리하기 위한 별도의 네트워크 대역폭이 요구된다.
19. vSphere DRS(Distributed Resource Scheduler)
19-1. 정의
(1) vSphere DRS는 서비스 다운타임을 최소화하고 비즈니스 연속성을 보장한다는 동일한 컨셉을 가지지만 vSphere HA와 비교했을 때 어떤 관점에서 고가용성을 유지하는지 차이가 존재한다.
(2) vSphere DRS는 클러스터 내부의 호스트 및 VM의 리소스 사용량을 지속적으로 모니터링하여 호스트 & VM이 최적의 상태를 유지하고 리소스 사용량의 균형을 맞추기 위한 기술이다.
(3) 만약 특정 호스트를 기준으로 자원 사용률이 높을 경우 실행 중이던 VM이 비교적 자원 사용량이 적은 호스트로 vMotion하여 클러스터 내부에 존재하는 호스트 간 리소스 불균형을 해소함에 따라 서비스의 연속성을 보장할 수 있도록 하는 기술이다.
19-2. 특징
(1) 리소스 분배의 자동화
- DRS 클러스터는 내부 호스트들의 자원 사용량을 수시로 체크하여 각 호스트들의 리소스 사용률을 균등하게 최적화한다. 호스트와 VM 자원 사용률을 수시로 모니터링해서 리소스 사용률이 적은 호스트로 VM을 자동으로 vMotion하여 호스트 간 리소스를 로드 밸런싱한다
(2) vMotion을 통한 서비스 다운타임 최소화
- vMotion 과정 중에서 약간의 다운 타임이 발생할 수 있기 때문에 DRS을 사용하면 약간의 서비스 다운 타임을 허용하면서 고가용성을 유지할 수 있게 된다.
(3) 정책 기반 배치
- VM 배치와 이동을 위한 정책을 별도로 설정할 수 있으며 정책 기반으로 DRS 기능이 동작한다.
(4) 호스트 간 로드 밸런싱
- 클러스터 내부 호스트 간에 부하를 균등하게 분배하여 호스트의 성능 저하를 방지한다.
19-3. DRS 동작 방식
(1) 초기 배치
- DRS는 클러스터 내부 배치된 VM이 적절한 호스트로 이동될 수 있도록 한다. VM이 요구하는 리소스를 고려하여 이동 가능한 최적의 호스트를 탐색하게 된다.
(2) 자동 vMotion(자동화 수준이 "부분 자동화" 또는 "완전 자동화"일 때)
- 가상 머신의 리소스 요구사항이 변할 때마다 호스트 간 vMotion을 수행한다. 예를 들어 하나의 호스트에 과도한 리소스 점유가 있을 경우 해당 호스트에서 실행되는 VM을 다른 호스트로 vMotion하여 호스트 간 균형을 맞추고 성능 저하를 방지한다.
- 완전 자동화의 경우 관리자에게 별도 권장사항을 확인하지 않고 적합한 호스트에 가상 머신을 배치시키고 부분 자동화의 경우 권장사항이 표시된다.
(3) 수동 vMotion(자동화 수준 설정이 "수동"일 때)
- DRS 동작 옵션을 수동으로 설정하면 DRS 권장사항에 vMotion 메시지가 확인되었을 때 관리자가 이 부분을 확인하고 적절한 호스트로 VM을 이동시킬 수 있다.
(4) DRS에 의한 VM 마이그레이션이 발생하는 케이스 2가지
- 가상 머신의 전원을 켤 때 : VM의 전원을 켤 때 vCenter는 현재 어느 호스트가 리소스 여유가 많은지 확인 후 여유가 많은 ESXi 호스트로부터 해당 가상 머신이 시작될 수 있도록 한다.
- 가상 머신 동작 도중 : 특정 VM의 프로세서 및 메모리 사용량 증가로 인해 VM이 위치한 호스트의 리소스 사용률이 증가하면 vCenter 서버는 DRS 클러스터 내부 전체 호스트의 리소스 균형을 맞추기 위해 가상 머신을 보다 여유가 있는 호스트로 vMotion한다.
19-4. DRS의 vMotion을 진행하는 기준 : Affinity Rule
(1) vSphere DRS를 운영함에 있어 Affinity Rules를 통해 클러스터 내부의 VM이 특정 호스트 또는 호스트 그룹에 배치되도록 하는 규칙을 의미한다.
- Affinity Rule : 특정 VM을 동일한 호스트에 유지하려고 시도한다. 이러한 규칙은 종종 다중 가상 머신 시스템에서 VM 간 트래픽을 제어할 때 사용한다.
- Anti-Affinity Rule : 특정 VM이 동일한 호스트에 있지 않도록 유지하려고 한다. 이러한 규칙은 가용성을 위해 VM을 분리하는 상황에서 사용된다.
- VM to Hosts Rule : VM을 호스트에서 실행할 수 있는지 여부를 결정한다., 선호되거나 필수일 수 있으며 이러한 규칙은 관리 용이성을 위해 DRS 그룹과 함께 사용된다. DRS 그룹은 하나 이상의 VM 또는 하나 이상의 ESXi 호스트로 구성된다.
(2) Affinity Rule의 경우 DRS가 VM을 최적화된 리소스 풀에 배치하는 과정에서 영향을 미치며, VM 간의 상호작용이나 성능을 고려하여 호스트에 대한 선호도를 설정할 수 있으며 규칙 유형에 따라 아래와 같은 기능들이 있다.
- VM을 분리 운영(Separate VMs)
- VM을 동일한 호스트에서 운영(Keep VMs Together)
- 지정된 VM 그룹을 지정된 호스트 그룹에서 실행(Must/Should run hosts in group)
- 지정된 VM 그룹을 지정된 호스트 그룹에서 실행하지 않음(Must/Should not run hosts in group)
- VM 그룹을 지정하여 다시 시작 순서를 구성할 수 있음
(3) 선호도 규칙의 경우 2개의 옵션이 존재한다.
- 필수 규칙(Must run on / Separate From) : 필수 규칙인 경우 해당 VM은 지정된 호스트에서 실행되거나 지정된 호스트에서 분리되어 실행되어야 한다.
- 선호 규칙(Should run on / Separate From) : 선호 규칙의 경우 DRS는 해당 VM들이 설정된 조건에 맞는 호스트에서 실행되도록 선호하지만 반드시 지켜져야 하는 규칙이 아니므로 최적화된 리소스 배치를 위해 다른 호스트에서 VM을 vMotion한다.
(4) 실제 애플리케이션 운영 환경에서는 vMotion의 횟수가 높아지면 주요 서비스에 영향이 있을 수 있다. 따라서 주요 서비스일수록 오히려 vMotion을 하려고 하지 않는 경향이 있다.
19-5. DRS 점수
(1) VM DRS 점수는 개별 VM의 프로세서, 메모리, 네트워크 메트릭 등을 모니터링하여 계산하게 된다. 이러한 DRS 점수를 활용해서 VM의 상태를 체크하게 된다.
(2) 점수는 0~100%까지 있으며 0%에 가까울수록 호스트에 내부에서 VM 간의 심각한 리소스 경합이 발생하고 있음을 나타낸다.
19-6. DRS Settings : Automation Level
(1) DRS 자동화 수준 설정의 경우 vMotion 권장사항을 관리자에게 제공할지 아니면 VM을 다른 호스트에 바로 vMotion할지 결정하는 정책 옵션이다. DRS는 VM의 전원이 켜질 때와 클러스터 내부 호스트 간 VM 배치가 이루어져야 할 때 DRS에 의한 배치 동작을 수행하게 된다.
- 아래는 자동화 수준 옵션을 정리한 것이다.
(2) Manual
- 수동으로 자동화 수준을 설정하면 VM의 전원을 켰을 때 vSphere DRS는 VM을 배치할 권장 호스트 목록을 표시하며. 클러스터 호스트에 리소스 불균형 발생 시 VM 마이그레이션에 대한 권장 사항 옵션을 관리자에게 보여준다.
(3) Partially automated
- 부분 자동화의 경우 VM 전원을 켜면 호스트의 리소스 상태를 체크해서 가장 적합한 호스트에 VM을 배치시킨다. 클러스터 호스트 리소스 불균형 발생 시 수동 VM 마이그레이션에 대한 권장 사항을 관리자에게 보여준다.
(4) Fully automated
- 완전 자동화의 경우 VM 전원을 켰을 때 적합한 호스트로 VM을 배치시킨다. 클러스터 호스트 리소스 불균형 발생 시 비교적 리소스 여유가 많은 호스트로 VM을 마이그레이션하게 된다.
19-7. DRS Settings : Migration Threshold
- DRS Migration threshold의 경우 클러스터 내부의 리소스 균형을 유지하기 위해 필요에 따라 리소스 사용률이 여유로운 호스트로 vMotion해야 하는데 이 과정에서 VM 이동이 얼마나 Aggresive 하게 이루어질지 결정하는 지표이다. 레벨은 1부터 5까지 설정할 수 있다.
(1) Level 1(Least Aggresive)
- 우선순위 1 권장 사항만을 적용하는 옵션이다. vCenter Server는 선호도 규칙 및 (추후 정리 필요)
19-5. 장점
(1) 자동화된 호스트 간 리소스 매니지먼트 & 부하 분산
- 옵션에 따라 수동으로도 DRS를 설정할 수도 있지만 자동으로 설정하면 초기 설정만으로 관리자 개입없이 자동으로 호스트 간 리소스를 최적화하여 성능 저하를 방지한다.
(2) 유연한 정책 적용
- 사용자는 DRS에서 제공하는 다양한 정책을 섲렁하여 가상 머신의 배치 및 이동을 컨트롤할 수 있다.
(3) 가상화 환경 최적화
- DRS 매커니즘상 VM이 최적의 환경에서 운영될 수 있도록 한다.
19-6. 단점
(1) 초기 설정의 복잡성
- DRS 정책 및 세부 옵션을 잘못 설정하면 비효율적인 리소스 분배가 발생되어 성능 저하를 초래할 수 있다.
(2) 호스트 내부 리소스 부족 시 비효율적인 동작
- 호스트 내부 리소스가 부족하거나 과도한 수요 발생 시 DRS가 적절히 동작하지 못할 수 있다.
(3) vCenter Server에 종속적인 환경
- vCenter Server에서 관리되는 클러스터가 아니라면 DRS를 사용할 수 없다.
(4) 라이센스 비용
- DRS를 사용하기 위해 vSpherre 엔터프라이즈 Plus 레벨 이상의 라이센스가 필요하며 별도의 구입 비용이 발생한다.
19-7. DRS를 사용해야 하는 상황?
(1) 리소스 부하가 동적으로 변화하는 환경
- 특정 시간대에 고객에 한 번에 몰릴 수 있는 쇼핑몰 환경 등을 예로 들어보면 사람이 급격히 몰릴 수 있는 시간대에 DRS를 통해 서비스가 운영되는 VM을 호스트 리소스 부하가 적은 환경으로 vMotion하여 사용자가 갑자기 몰렸을 때 발생할 수 있는 서비스 장애 등에 대처할 수 있다.
(2) 클러스터 내부에서 VM들이 균등하게 분배되는 환경
- DB 서버와 WAS 서버가 동시에 실행되는 클러스터 환경이라면, DB I/O 부하가 많은 상황에서 호스트의 자원을 집중적으로 필요로 하는 상황이라면 WAS 서버와 DB 서버가 운영되는 호스트 환경을 각각 분리시켜야 할 필요성이 있는데 이럴 때 DRS를 적극적으로 활용해 볼 수 있다.
20. vSphere FT(Fault Tolerance)
20-1. 정의
(1) vSphere FT는 VM의 실시간 복제(동기화)를 통해 주 VM의 운영 중단 발생 시 동기화가 진행 중이던 보조 VM으로 대체되어 실행되게 함으로써 서비스 무중단(Zero Down-time)을 보장하는 기술을 말한다.
20-2. 특징
(1) 가상 머신 관점에서의 고가용성 보장
- 가상 머신에 FT 설정을 적용하면 보조 가상머신이 생성되며 보조 가상머신으로 주 가상 머신의 작업 내역이 실시간으로 미러링된다. 주 가상 머신에 장애 발생 시 보조 가상 머신을 실행시켜서 실행 중이던 서비스를 보조 가상 머신으로 대체하도록 한다.
(2) 자동 장애 복구(Zero Down-Time 보장)
- 주 가상 머신 장애 발생 시 보조 가상 머신이 그 역할을 대신해서 바로 실행되며 Zero Down-Time을 보장한다.
(3) 실시간 동기화 진행
- 동작 매커니즘에 따라 주 가상머신의 디스크, 메모리 등의 변경 사항을 보조 가상 머신으로 실시간 동기화를 수행한다.
20-3. 동작 방식
(1) 가상 머신 복제
- 주 가상 머신의 상태를 실시간으로 미러링한다. 주 가상 머신에서 실행되는 모든 명령, 작업은 보조 가상 머신에 동기화된다.
(2) 프로세서 명령 동기화
- 주 가상 머신에서 발생하는 모든 프로세서 명령을 조 가상 머신으로 실시간으로 전송하여 동일한 작업을 수행하도록 하고 주 VM과 보조 VM이 동일한 상태를 유지하게 한다.
(3) 디스크, 메모리 상태 동기화
- 주 가상 머신의 디스크 I/O Task, 메모리 변경 사항도 보조 VM으로 모두 미러링되어 주 VM 장애 발생 시 VM 중단 없이 주 VM을 대체하여 보조 VM이 실행된다.
20-4. 장점
(1) 무중단 서비스 제공
- 24시간 무중단 서비스가 요구되는 환경에서 FT는 적합한 선택이 될 수 있다. 복제된 보조 가상 머신의 장애가 발생한 주 가상 머신의 역할을 바로 대신하게 되므로 Zero Down-time을 기반으로 하는 서비스 운영이 가능하다.
(2) HA보다 간단한 설정
- vSphere HA처럼 설정이 복잡하지 않고 몇 가지 간단한 설정만으로 FT 서비스를 사용할 수 있다.
(3) 데이터 손실 방지
- FT는 실시간 미러링을 통해 데이터를 동기화화며 장애 발생 전까지 모든 데이터를 유지한다.
20-5. 단점
(1) 더 많은 호스트의 리소스 소비
- FT는 각 가상 머신들이 독립된 호스트에서 실행되고 실시간 미러링이 수행되는 과정에서 각 호스트들에 대한 리소스를 더 많이 사용하게 된다. 두 가상 머신이 동시에 실행되기 때문에 리소스를 두 배로 사용하는 셈이다.
(2) 높은 호스트 간 의존성
- 동일한 클러스터 내부에서 두 개의 호스트를 필요로 하며 가상 머신을 실행하는 호스트에 운영 중단 발생 시 FT가 제대로 동작하지 않을 수 있다.
(3) 기능 제한
- FT 수행 중간에 vMotion, Snapshot 등 특정한 기능을 사용할 수 없다.
(4) 버전과 하드웨어 호환성 제한
- vSphere 특정 버전 이상에서만 FT를 사용할 수 있고 호스트의 하드웨어에 대해 호환성 문제가 있을 수 있다.
> FT는 24시간 비즈니스 크리티컬한 애플리케이션에서(완전한 무중단 상태가 보장되어야 하며 서비스 중단 시 심각한 영향을 주는 환경)에서 FT를 사용해볼 수 있지만 2배 정도의 호스트 리소스를 더 사용하는 점, 실시간 데이터베이스 I/O Task가 많은 환경에서는 네트워크 성능 문제에 따라 데이터 정합성이 일치하지 않는 등의 심각한 이슈가 발생할 수 있으므로 비즈니스 요구사항과 상황을 고려해서 FT를 사용해야 하는 환경이라면 사용하고, HA나 DRS를 적극적으로 사용하는 것이 좋다.
21. Cloud Computing Service
21-1. 클라우드 컴퓨팅 서비스란?
(1) 클라우드 컴퓨팅 서비스는 인터넷을 통해 사용자가 IT 인프라 자원(서버, 스토리지, 네트워크 등) 또는 개발 환경, 애플리케이션 등의 서비스를 제공하는 것을 말한다.
(2) CSP를 통해 인프라 또는 개발환경, 소프트웨어를 사용하는 사용자 입장에서는 CSP가 제공하는 자원을 직접적으로 사용하기만 하면 된다(사용한 만큼 CSP에게 일정 비용을 지불해야 하는 형식). 서비스 제공을 위한 인프라 유지보수, 데이터 센터 관리, 애플리케이션 유지보수 등은 모두 CSP에서 전반적으로 담당한다.
21-2. 클라우드 기술의 도입 배경 : On-Premise 환경의 한계
(1) 온프레미스는 특정 기업 환경이나 조직의 자체적인 자원을 활용해서 IT 인프라를 구성하는 방식을 의미한다. 온프레미스 환경의 경우 사용자 입장에서 인프라 구축부터 운영까지 전반적인 프로세스를 담당해야 하므로 부담이 큰 편이다.
(2) 이러한 문제점을 해결하기 위해 IT 자원을 효율적으로 구축하기 위한 방법으로 클라우드 컴퓨팅 기술이 떠오르게 되었으며 많은 기업 환경 및 비즈니스 환경에서 클라우드 컴퓨팅 방식을 도입하고 있다.
21-3. 장점
(1) 초기 투자 비용 절감 / 운영비용 절감
- 인프라 및 서비스를 구축하기 위해 물리적인 장비 등을 직접 구매하고 설치할 필요가 없다. 따라서 초기 구축 비용에 있어 큰 비용 절감 효과를 볼 수 있으며 CSP에게 사용한 리소스 만큼 별도의 비용을 지불하면 된다.
(2) 비즈니스 요구사항에 대해 유연한 대처 가능
- 클라우드 환경에서는 사용자가 리소스를 확장하거나 축소하는 데 있어 프로세스가 간편하다. 따라서 급격하게 변화하는 비즈니스 요구사항 속에서도 유연한 대처가 가능하다는 부분이 큰 장점이다.
(3) 다양한 솔루션 제공
- CSP는 인프라 환경부터 시작해서 운영 중인 서비스를 최적의 상태로 유지하기 위한 다양한 솔루션(백업 솔션, 데이터 보안, 빠른 배포 도구) 등을 제공하여 사용자의 비즈니스 환경을 최상의 상태로 운영할 수 있도록 돕는다.
21-4. 단점
(1) 보안 이슈
- 사용자의 데이터가 CSP의 클라우드 시스템에 저장되므로 민감한 데이터의 경우 이로 인한 보안 이슈가 있을 수 있다. 따라서 퍼블릭 클라우드를 사용한다고 하더라도 내부 민감한 데이터의 경우 프라이빗 클라우드 환경을 별도로 이용해 저장하는 경우도 존재한다.
(2) 인터넷 의존성
- 클라우드 컴퓨팅 기술은 인터넷에 전적으로 의존한다. 따라서 인터넷 연결이 불안정하거나 대역에 문제가 있다면 원활한 서비스 제공을 받는 부분에 있어 어려움이 있을 수 있다.
(3) 장기적 관점에서의 비용 문제
- 클라우드 서비스는 사용량에 따라 발생하는 비용 차이가 심한 편이다. 많은 자원을 지속적으로 컨트롤해야 하는 비즈니스 환경에서는 장기적 관점에서 높은 비용이 발생할 수 있고 사용자 관점에서 부담 요소가 될 수 있다.
21-5. IaaS(Infrastructure as a Service)
(1) IaaS는 서버, 네트워크, 스토리지 등 IT 인프라의 기본 요소들을 클라우드 서비스 형태로 제공받는 클라우드 서비스 모델을 의미한다. 사용자는 물리적 인프라 요소들을 요구사항에 따라 동적으로 할당받을 수 있고 추후 요구사항이 변경되더라도 유연하게 프로비저닝이 가능하다.
(2) Ex) Amazon Web Service(AWS) EC2, Microsoft Azure, Google GCP ...
21-6. PaaS(Platform as a Service)
(1) PaaS는 애플리케이션의 개발 환경부터 배포 및 운영, 자동화 & 테스트를 위한 전반적인 인프라 환경을 클라우드 형태의 서비스로 제공받는 클라우드 서비스 모델을 의미한다. 이를 통해 개발자나 데브옵스 엔지니어는 개발 및 운영 환경에 대한 인프라를 클라우드로 빠르게 제공받고 애플리케이션을 개발할 수 있다.
(2) 다양한 개발 도구와 서비스를 제공받음으로써 개발 프로세스를 단순화할 수 있다.
(3) Ex) Google App Engine, Microsoft Azure App Service, Heroku ...
21-7. SaaS(Software as a Service)
(1) SaaS는 소프트웨어 형식의 애플리케이션을 클라우드 형태로 제공하는 클라우드 서비스 모델을 의미하며 사용자는 인터넷 환경을 기반으로 소프트웨어에 액세스 가능하다.
(2) 사용자는 별도의 애플리케이션 설치 없이 인터넷이 연결된 웹 브라우저 환경에서 클라우드 공급자가 제공하는 소프트웨어를 사용할 수 있고 애플리케이션의 전반적인 유지보수는 클라우드 공급업체가 담당한다.
(3) Ex) Google Workspace, Gmail, Microsoft 365 Office ...
22. RAID(Redundant Array Independent(Inexpensive) Disk)
22-1. RAID
(1) RAID는 여러 개의 물리적 스토리지를 하나로 묶어서 논리적인 스토리지로 구성하여 사용할 수 있는 기술이다.
22-2. RAID 사용 시 장점
(1) 대용량의 단일 볼륨으로 구성하여 사용할 수 있다.
(2) 디스크 병렬화로 인한 성능 향상(RAID 0, 5, 6)
(3) 데이터 복제로 인한 안정성 향상 (RAID 1)
22-3. RAID 구성 방식 - RAID 0
(1) Striping이라고도 불리는 RAID은 최소 2개 이상의 디스크를 필요로 하며 RAID를 구성하는 모든 디스크에 데이터를 분할해서 저장한다.
(2) 전체 디스크를 모두 동시에 사용하므로 단일 디스크의 N배, 용량도 N배이다.
(3) 하나의 디스크라도 문제가 생기면 전체 디스크에 문제가 발생하므로 안정성은 디스크 개수가 늘어날수록 1/N으로 감소하게 된다.
22-4. RAID 구성 방식 - RAID 1
(1) Mirroring이라고도 불리는 RAID 1 구성 방식은 최소 2개 이상의 디스크를 요구하며 모든 디스크에 데이터를 복제해서 기록한다.
(2) 동일한 데이터를 N개로 복제하여 각 디스크에 저장하게 된다.
(3) 실제로 RAID를 구성해도 사용 가능 용량은 단일 디스크 용량과 동일하다.
(4) RAID 1 레벨의 최대 장점은 안정성이 높다는 것이지만 구축 비용이 높다는 단점이 있다.
22-5. RAID 구성 방식 - RAID 4
(1) RAID 4 레벨 구성 방식은 Block 단위로 Striping을 하고 Error Correction을 위해 Parity Disk를 1개 사용한다.
(2) 최소 3개의 디스크로 구성 가능하며 패리티 디스크를 동일한 디스크에 저장하기 때문에 패리티 디스크를 저장하는 해당 디스크의 수명이 줄어든다는 특징이 있다.
(3) 1개의 디스크 문제 발생 시 복구 가능하며 2개 이상의 디스크에 에러가 있는 경우 복구가 불가능하다.
22-6. RAID 구성 방식 - RAID 5
(1) RAID 4의 단점을 보완한 방식이 RAID 5 구성 방식이며 사용 빈도가 가장 높다.
(2) 4와 마찬가지로 Block 단위로 Striping을 하며 패리티를 저장하는 디스크를 매번 다르게 사용하게 된다.
(3) 최소 3개의 디스크로 구성 가능하다.
(4) RAID 0 방식에서 용량과 성능을 조금 줄였지만 그대신 안정성을 높인 디스크 구성 방식이다.
22-7. RAID 구성 방식 - RAID 6
(1) RAID 5에서 성능과 용량을 줄이고 안정성을 더 높인 RAID 6 구성 방식이다.
(2) Block 단위로 Striping을 하고 Error Correction을 위해 두 개의 패리티를 디스크에 저장하는데 디스크를 매번 다르게 사용한다.
(3) 최소 4개의 디스크로 구성 가능하고 2개의 디스크 에러 시 복구 가능하다.( 3개 이상 디스크 에러 시 복구 불가) 안정성이 중요시되는 서버 환경에서 주로 사용된다.
23. Virtual Machine Disk File(.vmdk, .vmx, .vmsd ...)
23-1. 가상 시스템 디스크 파일
(1) 가상 시스템 디스크 파일이란 스토리지 디바이스에 저장된 가상 머신에 대한 전반적인 메타데이터로 이루어진 구성 파일이다.
(2) 디스크 파일, NVRAM, 기타 설정 및 로그 파일들이 존재한다.
(3) 가상 머신을 이루는 구성요소들이 파일 형식으로 위와 같이 관리되므로 공유 스토리지만 구성되어 있다면 각 호스트에서 가상 머신에 개별적으로 접근 가능하고 vMotion과 같은 고급 기술들을 사용할 수 있게 된다.
23-2.
※ 해당 포스팅을 기준으로 내용 추가가 필요하다고 생각되면 기존 내용에 다른 내용이 추가될 수 있습니다.
개인적으로 공부하며 정리한 내용이기에 오타나 틀린 부분이 있을 수 있으며, 이에 대해 댓글로 알려주시면 감사하겠습니다!
'Virtualization & Cloud Infra > Virtualization(VMware)' 카테고리의 다른 글
Network & Server Virtualization LAB (1) | 2024.11.02 |
---|---|
기술 면접 - 서버 가상화(Server Virtualization) (1) (0) | 2024.10.25 |
서버 가상화(Server Virtualization) - Ansible 실습 : SSH 연결, vCenter Server VM 관리 (1) | 2024.10.18 |
서버 가상화(Server Virtualization) - Ansible 자동화 초기 환경 구성 (2) | 2024.10.15 |
서버 가상화(Server Virtualization) - 실습 진행 : Active Directory 구성부터 가상화 & vSphere 서비스 운영까지 (0) | 2024.10.14 |
댓글