1. 리소스 관리 및 모니터링
1) 가상 메모리
1-1) 메모리 계층

- 게스트 운영 체제 가상 메모리는 운영 체제에 의해 애플리케이션에 제공됨
- 게스트 운영 체제의 물리적 메모리는 VMkernel에 의해 가상 머신에 제공됨
- VMkernel에서 관리하는 호스트의 시스템 메모리는 가상 머신이 사용할 연속적인 주소 지정 가능 메모리 공간을 제공함''
1-2) 메모리 오버커밋
- 각 가상 머신에서 사용 중인 메모리의 총 크기는 호스트의 물리적 메모리 크기를 초과하는 경우 메모리가 오버커밋된다.
- ESXi 호스트는 메모리 활용도를 높이기 위해 유휴 가상 머신에서 필요한 가상 머신으로 메모리를 전송한다.
- 오버헤드된 데이터는 스왑 파일에 저장되지만 성능상으로 권장되는 방법은 아니다.
1-3) 메모리 최적화 기법
- 투명 페이지 공유(Transparent Page Sharing) : 동일한 데이터를 가진 페이지는 중복 저장하지 않음
- Ballooning : 메모리가 부족할 경우, 각 가상 머신은 개별 페이징 영역을 사용하여 메모리를 해제함
- 메모리 압축 : 경합이 심할 경우 메모리 성능을 재확보하려는 시도
- 호스트 수준 SSD 스와핑 : 호스트에서 SSD를 사용하면 스왑 파일 성능이 향상됨
- 가상 머신 디스크 스와핑 : VMkernel의 스왑 공간 사용은 성능에 큰 영향을 미치므로 최후의 수단으로 사용
2) 가상 CPU
최대 128개의 vCPU로 가상 머신을 구성할 수 있다.
2-1) VMkernel 스케줄러
VMkernel에는 호스트 시스템의 물리적 CPU에서 vCPU를 동적으로 예약하는 CPU 스케줄러가 포함되어 있다.
스케줄러는 예약이 결정되면 소켓-코어-스레드 토폴로지를 고려한다.
2-2) 하이퍼스레딩
하이퍼스레딩을 사용하면 코어가 두 개의 스레드 또는 명령 세트를 한 번에 실행 가능하다. 이로인해 스케줄러 처리량이 증가된다.
하이퍼스레딩 설정 과정 :
1. 호스트 시스템이 하이퍼스레딩 지원하는지 확인
2. 시스템 BIOS에서 하이퍼스레딩 활성화
3. ESXi 호스트의 하이퍼스레딩이 켜져 있어야 함
4. 하이퍼스레딩은 기본적으로 활성화
3) 리소스 제어 및 리소스
- 가상 머신은 해당 예약을 보장할 수 있는 경우에만 전원이 켜짐
- 미리 메모리 허용치와 예약치를 지정
- 예약은 부팅을 위한 최소 영역을 의미
- 예약부터 제한까지는 다른 가상 머신과 공유해서 사용하는데, 이 범위는 경합을 통해 메모리를 차지
3-1) 리소스 풀
리소스 풀은 계층적으로 관리되는 CPU와 메모리 리소스의 논리적 추상화이다.

- 리소스 풀 설정
- 공유 : Low, Normal, High, Custom
- 예약 : MHz 또는 GHz, MB 또는 GB 단위
- 제한 : 기본적으로 액세스 가능한 리소스의 최대 양까지 무제한 액세스
- 예약 유형 :
- Expandable 선택 : 가상 머신 및 하위 풀이 이 풀의 상위에서 리소스를 가져올 수 있음
- Expandable 선택 취소 : 가상 머신 및 하위 풀이 상위에 사용할 수 있는 리소스가 있더라도 이 풀의 리소스만 가져올 수 있음
- 리소스 풀의 장점
- 유연한 계층 구조
- 풀 간의 격리 및 풀 내에서의 공유
- 액세스 제어 및 위임
- 하드웨어로부터 리소스 분리
- 멀티 Tier 서비스를 실행하는 가상 머신 세트의 관리
- 가상 머신 워크로드 우선 순위 지정 가능
3-2) 리소스 대여
- 리소스 대여는 현재 리소스 풀의 상위 풀에서 단계적으로 발생
- 확장된 예약은 확장이 발생한 가상 머신이 종료되거나 해당 예약이 감소될 때까지 해제되지 않음
- 잘못된 관리되거나 크기가 잘못 지정된 확장 가능한 예약은 예약되지 않은 모든 용량을 차지할 수 있어 주의해야 함
- 승인 제어는 사용할 수 없는 리소스가 할당되는 것을 방지
4) vApp
- vApp은 하나 이상의 가상 머신 또는 vApp을 보관하는 컨테이너
- 멀티 Tier 애플리케이션을 패키징 및 관리하는 데 사용
- 가상 머신 실행 순서 지정 가능
- 전원 켜기 및 끄기, 복제 가능
- 배포 형식은 OVF 또는 OVA
- OVF(Open Virtualization Format) : 가상 머신 파일의 모음으로 디렉토리의 가상디스크 파일에 대한 정보가 들어 있는 XML 파일
- OVA(Open Virtualization Applicance) : XenSource의 이동식 가상머신 형식
5) 리소스 사용 모니터링
성능 조정 모범 사례 :
성능 평가 -> 제한 리소스 식별 -> 더 많은 리소스 사용할 수 있도록 설정 -> 벤치 마크
5-1) esxtop
- vSphere의 기본 실시간 성능 모니터링 툴
- vSphere 통계 하위 시스템은 인벤토리 객체의 리소스 사용에 대한 데이터를 수집 : 카운터 및 메트릭스 그룹, 수집 수준 및 수집 간격, 데이터 가용성 등
6) 경보
- 트리거의 유형
- 조건 또는 상태 트리거
- 이벤트 트리거
- 경보가 발생하면 이메일 알림 전송이나 써드파티 프로그램을 이용해서 보냄
2. [실습] 가상 CPU
VM2-1과 VM2-2 가상 머신을 켜고 각각 CPU를 많이 사용하는 스크립트를 실행해보자.
둘다 CPU를 다 사용하고 있지만 VM2-1를 먼저 수행해서 먼저 점유했기 때문에 VM2-1이 더 많은 CPU를 사용하고 있는 것을 볼 수 있다.


VM2-1을 종료하면 그동안 VM2-1이 점유하던 CPU 자원이 비게 되고, VM2-2는 이 자원을 사용할 수 있게 된다.


VM2-1의 CPU 스케줄링 우선순위를 1로 설정하게 되면 VM2-1이 더 우선적으로 CPU를 점유하여 VM2-2보다 서서히 더 많은 CPU를 사용하게 된다.

선호도(우선순위)는 사용할 일이 거의 없기에 교육용으로만 사용하자.
3. [실습] 리소스 풀 생성


4. [실습] vApp



5. [실습] 모니터링 & 경보



✍️ 하루 회고
오늘 실습 중 디스크 부족 문제로 에러가 났다. 지난 두 달간의 실습으로 차곡 차곡 쌓아온 가상 머신만 거의 400GB를 차지하게 되었는데, 생각보다 많은 용량을 소모한 것 같다.
나름대로 실습 권장 사양을 갖췄다고 생각했는데, 결국 시스템 자원에 대한 한계가 오니 아쉬움이 들었다.
결국 나중에 실습 복습할 때 사용하려던 가상 머신들을 모두 삭제해야 했다.
다행히 강사님이 구글 드라이브에 파일을 올려놔주셔서 나중에 실습할 때 어려움은 없을 것 같다.
다만 내가 직접 설정하고 구성을 마친 가상 머신들을 삭제하게 된 게 꽤나 아쉬웠다.
마지막 실습으로 했던 모니터링이나 경보 부분은 운영 환경에 있어서 중요한 부분이라고 생각했는데 간단하게만 실습해보고 넘어간 게 조금 아쉬웠다. 나중에 프로젝트나 개인적인 복습을 통해서 모니터링과 경보 부분을 더 공부해보고 싶다.
'TIL' 카테고리의 다른 글
| [에스넷시스템 부트캠프] TIL Day 42 - 에스넷시스템 현장견학 (2) | 2025.07.18 |
|---|---|
| [에스넷시스템 부트캠프] TIL Day 41 - vSphere 고가용성 및 복구 기술 (1) | 2025.07.17 |
| [에스넷시스템 부트캠프] TIL Day 39 - 템플릿, 마이그레이션, 스냅샷 실습 (0) | 2025.07.15 |
| [에스넷시스템 부트캠프] TIL Day 38 - 가상머신 스토리지 실습, 가상머신 관리 (0) | 2025.07.15 |
| [에스넷시스템 부트캠프] TIL Day 37 - VMware 스토리지, 데이터스토어 (2) | 2025.07.11 |