[에스넷시스템 부트캠프] TIL Day 40 - 리소스 관리 및 모니터링

2025. 7. 17. 00:41·TIL
728x90
반응형

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을 먼저 수행했을 때 CPU 점유율 차이

 

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

VM2-1의 전원을 끄면 VM2-2에서 CPU 리소스를 가져감

 

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

 

선호도(우선순위)는 사용할 일이 거의 없기에 교육용으로만 사용하자. 

 

 

3. [실습] 리소스 풀 생성

리소스 풀 생성

 

4. [실습] vApp

 

vApp 생성

 

vApp에 속한 가상머신의 시작 순서 지정
순서대로 실행되는 가상 머신

 

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

모니터링
경보 생성

 

경보 알림

 

✍️ 하루 회고

오늘 실습 중 디스크 부족 문제로 에러가 났다. 지난 두 달간의 실습으로 차곡 차곡 쌓아온 가상 머신만 거의 400GB를 차지하게 되었는데, 생각보다 많은 용량을 소모한 것 같다. 

나름대로 실습 권장 사양을 갖췄다고 생각했는데, 결국 시스템 자원에 대한 한계가 오니 아쉬움이 들었다.

 

결국 나중에 실습 복습할 때 사용하려던 가상 머신들을 모두 삭제해야 했다.

다행히 강사님이 구글 드라이브에 파일을 올려놔주셔서 나중에 실습할 때 어려움은 없을 것 같다.

다만 내가 직접 설정하고 구성을 마친 가상 머신들을 삭제하게 된 게 꽤나 아쉬웠다. 

 

마지막 실습으로 했던 모니터링이나 경보 부분은 운영 환경에 있어서 중요한 부분이라고 생각했는데 간단하게만 실습해보고 넘어간 게 조금 아쉬웠다. 나중에 프로젝트나 개인적인 복습을 통해서 모니터링과 경보 부분을 더 공부해보고 싶다. 

 

 

728x90
반응형

'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
'TIL' 카테고리의 다른 글
  • [에스넷시스템 부트캠프] TIL Day 42 - 에스넷시스템 현장견학
  • [에스넷시스템 부트캠프] TIL Day 41 - vSphere 고가용성 및 복구 기술
  • [에스넷시스템 부트캠프] TIL Day 39 - 템플릿, 마이그레이션, 스냅샷 실습
  • [에스넷시스템 부트캠프] TIL Day 38 - 가상머신 스토리지 실습, 가상머신 관리
yulee_to
yulee_to
  • yulee_to
    yulee
    yulee_to
  • 전체
    오늘
    어제
    • 전체 글 (170)
      • CS (2)
        • OS (0)
        • DB (0)
        • Network (2)
      • Develop (1)
        • Spring (9)
        • Java (12)
        • Python (0)
        • Algorithm (0)
        • 기타 (0)
      • PS (39)
        • C++ (39)
        • Java (0)
      • TIL (61)
      • Book (39)
        • 자바의 신 (32)
        • 스프링 입문을 위한 자바 객체 지향의 원리와 이해 (7)
      • ETC (4)
        • Blog (3)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    1일1백준
    객체지향
    에스넷시스템
    EC2
    boj
    스프링 입문
    GodOfJava
    멀티캠퍼스it부트캠프
    에스넷시스템 부트캠프
    클라우드 활용 네트워크 엔지니어 부트캠프
    자바
    TiL
    알고리즘
    자바의 신
    aws
    부트캠프후기
    Java
    스터디
    백준
    C++
  • 최근 댓글

  • 250x250
  • hELLO· Designed By정상우.v4.10.3
yulee_to
[에스넷시스템 부트캠프] TIL Day 40 - 리소스 관리 및 모니터링
상단으로

티스토리툴바