뒤로

2025/03/13

5. 가상 서버 환경에서의 오라클 라이선스와 오라클 리눅스 KVM

가상 서버 환경에서 오라클 제품을 사용할 때 골치 아픈 문제가 있습니다. 바로 가상 서버에 할당된 CPU 코어 수가 아닌 기본 물리 서버의 CPU 코어 수가 라이선스 계산에 사용된다는 점입니다. 게다가 vMotion과 같은 가상화 기술의 발전은 상황을 더욱 복잡하게 만들었습니다.

따라서 이 기사에서는 “가상 서버 환경에서의 오라클 라이선스 개념”과 “가상 서버 환경에서도 라이선스를 줄일 수 있는 오라클 리눅스 KVM”에 대해 설명하겠습니다. 또한, 이 내용은 온프레미스를 대상으로 하며, 퍼블릭 클라우드의 가상 서버에는 적용되지 않습니다.

가상 서버 환경에서의 오라클 라이선스 개념

가상 서버 환경에서의 라이선싱 기본

먼저, 가상 서버 환경에서의 오라클 라이선싱 기본을 다루겠습니다. 오라클 재팬 웹페이지에 게시된 다음 FAQ를 살펴보겠습니다.

서버 가상화 소프트웨어(Oracle VM, VMware, Hyper-V 등)를 사용할 때 라이선스 카운트는 어떻게 됩니까?

VMware, Hyper-V 등은 소프트 파티셔닝으로 분류되며, 오라클 제품이 설치(또는 실행)된 물리 서버에 설치된 모든 물리 프로세서가 라이선스 카운트에 포함됩니다.

* 오라클 제품이 설치(또는 실행)된 가상 머신(VM)의 수는 필요한 라이선스 수와 관련이 없습니다.

소프트 파티셔닝이라는 용어가 등장했지만, 이에 대해서는 나중에 설명하고 지금은 무시하겠습니다. 간단히 말해, 가상 머신(VM)에서 오라클 제품을 사용할 때, 아래 그림과 같이 라이선스 대상은 물리 서버의 프로세서입니다.

예를 들어, 8코어 CPU 2개를 탑재한 x86 서버가 있다고 가정해 봅시다. 가상 머신(VM)에 2코어를 할당하고 오라클 데이터베이스를 사용합니다. 이때 청구 대상은 x86 물리 서버입니다. 필요한 라이선스는 다음과 같습니다:

8코어 CPU x 2 = 16코어
16코어 x 코어 수 0.5 = 8

오라클 데이터베이스 엔터프라이즈 에디션의 경우 8 프로세서 라이선스가 필요합니다.
오라클 데이터베이스 스탠다드 에디션 2는 코어 수를 고려하지 않으므로 2 프로세서 라이선스가 필요합니다.

팁: 오라클 EE와 SE2 라이선싱의 차이

이것은 주요 주제가 아니므로 자세히 설명하지 않겠지만, 다음 표는 오라클 데이터베이스의 두 에디션 “EE”와 “SE2″의 라이선스 차이를 설명합니다. 가장 큰 차이는 EE는 코어 수로 라이선스를 계산하고, SE2는 프로세서 수로 계산한다는 점입니다. 이 기사의 나머지 부분에서는 EE만 다룹니다.

제품 라이선스 유형 라이선스 카운트 단위
오라클 데이터베이스 엔터프라이즈 에디션(EE) 프로세서, 명명된 사용자 플러스 코어 수
오라클 데이터베이스 스탠다드 에디션 2(SE2) 프로세서, 명명된 사용자 플러스 프로세서 수 (최대 2개)

팁: CPU 코어와 스레드

오라클 라이선스에서 코어는 “물리 코어”를 의미합니다. 인텔의 하이퍼스레딩과 같은 동시 멀티스레딩(SMT) 기술을 사용해 단일 CPU 코어를 여러 개로 보이게 하는 “스레드(=논리 코어)”가 아닙니다.

예를 들어, 인텔 제온 플래티넘 8362는 32코어를 가지고 있습니다. 하이퍼스레딩을 활성화하면 64스레드가 됩니다. 운영 체제에서 보면 64개의 CPU가 있는 것처럼 보입니다. 그러나 오라클 라이선스에서는 스레드가 아닌 코어가 계산되므로 32입니다.

32코어 x 코어 수 0.5 = 16 프로세서 라이선스 필요

다중 서버 구성 가상 서버 환경의 개념

아래 그림과 같이 여러 물리 서버로 구성된 가상 서버 환경을 고려해 보세요. 라이브 마이그레이션 등에 사용할 수 있으므로 상업 환경에서 가장 일반적인 사용 방법일 것입니다.

이런 환경에서는 클러스터를 구성하는 모든 물리 서버가 오라클 라이선스 청구 대상입니다. 이는 라이브 마이그레이션을 사용할 때 가상 머신이 다른 서버에서도 실행될 수 있기 때문입니다.

즉, 오라클 제품이 설치된 서버뿐만 아니라 오라클 제품이 실행 중이거나 실행될 수 있는 서버도 포함됩니다.

이전과 동일한 사양의 서버에 대해 필요한 라이선스는 다음과 같습니다:

(8코어 CPU x 2) x 2대 = 32코어
32코어 x 코어 수 0.5 = 16

오라클 데이터베이스 엔터프라이즈 에디션의 경우 16 프로세서 라이선스가 필요합니다.

가상화 기술의 진화는 상황을 더욱 복잡하게 만듭니다. 예를 들어, VMware vSphere 6.0 이상에서는 클러스터 간 라이브 마이그레이션이 가능합니다. 즉, 다른 vCenter가 관리하는 호스트 물리 서버로 라이브 마이그레이션이 가능해졌습니다.

라이선스는 “오라클 제품을 실행하거나 실행할 수 있는 서버”에 대한 것입니다. 따라서 라이브 마이그레이션뿐만 아니라 가상 머신을 일시적으로 중지하고 마이그레이션하는 콜드 마이그레이션도 포함됩니다. 결과적으로 VMware 등이 설치된 네트워크에서 서로 연결된 모든 호스트 물리 서버가 라이선스 대상이 됩니다. 이는 많은 오라클 라이선스가 필요하게 만듭니다.

따라서 오라클 라이선스를 특정 서버로 제한하려면 아래와 같이 물리 네트워크를 분할하여 라이브/콜드 마이그레이션을 방지할 수 있습니다. 이 경우 하나의 물리 서버만 라이선스 대상이 됩니다.

가상 서버 환경에서의 오라클 라이선스 요약

  • 가상 서버 환경에서는 기본 물리 서버가 라이선스 청구 대상임
  • 여러 물리 서버로 구성된 가상 서버 환경에서는 라이브/콜드 마이그레이션이 가능한 모든 서버가 라이선스 청구 대상임

파티셔닝 정책 이해

이제 가상화 환경에서 중요한 파티셔닝 정책을 설명하겠습니다. “파티셔닝”은 하나의 물리 서버의 CPU를 분할하여 여러 독립적인 서버로 사용하는 기술입니다. 원래 메인프레임에서 등장한 기술로, 이후 유닉스 서버로 확산되었으며, 현재는 VMware 등에 사용됩니다. 테이블을 여러 부분으로 나누는 파티셔닝 옵션과는 관련이 없습니다.

소프트 파티셔닝과 하드 파티셔닝

오라클은 파티셔닝 정책에 대해 다음 문서를 게시했습니다. 2022년 12월 기준으로 영어 버전이 약간 더 최신이며, 컨테이너와 Kubernetes가 추가되었습니다.

위 문서에서는 다음 세 가지 파티셔닝 유형을 소개합니다. 오라클 트러스티드 파티션은 오라클 엑사데이터 및 오라클 프라이빗 클라우드 어플라이언스와 같은 엔지니어드 시스템(어플라이언스 제품)과 관련이 있습니다. 따라서 소프트 파티셔닝과 하드 파티셔닝을 설명하겠습니다.

  • 소프트 파티셔닝
  • 하드 파티셔닝
  • 오라클 트러스티드 파티션

오라클 파티셔닝 정책 문서는 매우 중요합니다. 이는 가상화 기술을 소프트와 하드로 분류하여 오라클 라이선스 수를 제한하는 수단으로 인정하거나 명확히 하기 때문입니다. 오라클은 파티셔닝 기술을 다음과 같이 정의합니다. 하드 파티셔닝만이 라이선스를 제한하는 인정된 수단입니다.

소프트 파티셔닝
Solaris 9 리소스 컨테이너, AIX 워크로드 매니저, HP 프로세스 리소스 매니저, 어피니티 관리, 오라클 VM, VMware 등

하드 파티셔닝
물리 도메인, Solaris 존, IBM LPAR, IBM 마이크로-파티션, vPar, nPar, 인테그리티 가상 머신, 보안 리소스 파티션, Fujitsu PPAR 등

하드 파티셔닝으로 인정된 기술을 사용할 때, 아래 그림과 같이 물리 서버가 아닌 분할된 환경에 할당된 CPU 코어 수만 계산할 수 있습니다. 그러나 하드 파티셔닝 목록에서 볼 수 있듯이 과거의 고급 유닉스 서버 기술이 많으며, 현재는 대부분 소수 기술로 남아 있습니다.

라이브/콜드 마이그레이션이 금지되어도 모든 서버가 계산되는 이유

앞서 다음과 같이 언급했습니다:

여러 물리 서버로 구성된 가상 서버 환경에서는 라이브/콜드 마이그레이션이 가능한 모든 서버가 라이선스 청구 대상임

VMware와 같이 라이브/콜드 마이그레이션을 금지하는 기능이 있습니다. 이러한 기능을 사용해 하드 파티셔닝처럼 라이선스를 제한할 수는 없을까요? 이러한 기능으로는 라이선스를 제한할 수 없습니다.

이는 x86 서버에서 사용되는 대부분의 가상화 기술(예: VMware, Hyper-V)이 소프트 파티셔닝으로 인증되었기 때문입니다. 라이선싱을 제한하려면 하드 파티셔닝으로 인증된 기술이 필요합니다.

따라서 여러 물리 서버로 구성된 가상 서버 환경에서 라이선싱을 제한하려면 네트워크 상에서 서버와 스토리지를 분리하여 오라클 제품이 실행되거나 실행될 수 있는 서버를 제한해야 합니다.

하드 파티셔닝의 예외

이제 현재 주류인 소프트 파티셔닝 기술로는 오라클 라이선스를 제한할 수 없다는 것을 알게 되었습니다. 그렇다면 물리 서버의 CPU 코어 수를 제한하고 오라클 라이선싱을 줄일 방법이 있을까요? 다음과 같은 방법으로 가능합니다:

  • 오라클 리눅스 KVM과 같이 하드 파티셔닝으로 인정된 기술 사용
  • 오라클 엑사데이터 및 오라클 프라이빗 클라우드 어플라이언스와 같이 오라클 트러스티드 파티션으로 인정된 엔지니어드 시스템 사용
  • 오라클 엑사데이터 또는 오라클 데이터베이스 어플라이언스와 함께 온디맨드 용량(CoD) 사용

여기서 보여드리고자 하는 것은 오라클 리눅스 KVM을 사용하는 방법입니다. 오라클 파티셔닝 정책은 다음을 예외로 명시합니다. 오라클 VM 서버는 지원 종료(프리미어 지원 종료: 2021년 3월, 확장 지원 종료: 2024년 6월)가 가까워졌으므로 추천하지 않습니다.

중요한 점은 “아래 문서에서 특정 코어가 지정된 경우”라는 문구입니다. 하드 파티셔닝으로 인정받으려면 다음 두 조건을 모두 충족해야 합니다. 오라클 리눅스 KVM만으로는 요구 사항을 충족할 수 없습니다.

  • 오라클 리눅스 KVM 사용
  • 문서에 설명된 방식으로 사용된 코어 제한

팁: Kubernetes와 같은 컨테이너 개념

오늘날 도커 컨테이너와 Kubernetes도 흔히 사용됩니다. 오라클 파티셔닝 정책은 Kubernetes와 같은 컨테이너도 언급합니다. 기본적으로 이는 소프트 파티셔닝의 한 형태입니다. 따라서 Kubernetes 클러스터를 구성하는 모든 노드의 CPU가 오라클 라이선스 대상이 됩니다.

그러나 노드 셀렉터를 사용하면 특정 노드로 라이선스를 제한할 수 있습니다. 자세한 지침은 다음 문서를 참조하세요:

컨테이너 및 Kubernetes에서 오라클 프로그램 실행 및 라이선싱

오라클 리눅스 KVM과 코어 지정

오라클 리눅스 KVM이란?

오라클 리눅스 KVM은 오라클 리눅스 커널에 내장된 KVM을 하이퍼바이저로 사용하는 가상화 방법입니다. RHCK와 UEK 모두에 내장되어 있습니다. 오라클 리눅스 KVM이라는 별도의 제품은 없으며, 오라클 리눅스 7, 오라클 리눅스 8, 오라클 리눅스 9에 가상화를 지원하는 패키지를 통합하여 구현됩니다.

자세한 설정 지침은 다음 매뉴얼을 참조하세요. VMware vCenter에 해당하는 관리 도구인 오라클 리눅스 가상화 관리자도 있습니다.

가상 머신에 코어 지정

오라클 리눅스 KVM만으로는 하드 파티셔닝 요구 사항을 충족할 수 없습니다. 요구 사항을 충족하려면 핀(pin)이라는 기술을 사용해 대상 가상 머신에 특정 코어를 지정해야 합니다. 특정 코어를 지정하려면 olvm-vmcontrol 명령어나 오라클 리눅스 가상화 관리자를 사용합니다.

그러나 가상 머신에 특정 코어를 지정할 때의 제약으로, 해당 가상 머신은 라이브/콜드 마이그레이션 대상이 될 수 없습니다. 이는 중요하니 기억해 두세요.

결론

다음은 이 기사의 요약입니다. 다음 기사에서는 특정 코어를 지정하는 방법을 설명하겠습니다. 또한 오라클 리눅스 KVM을 사용한 하드 파티셔닝 지침도 제공할 예정입니다. 그러나 약간 불친절할 수 있어 그대로 잘 작동하지 않을 수도 있습니다.

가상 서버 환경에서의 오 Sami클 라이선스 개념

  • 가상 서버 환경에서는 기본 물리 서버가 라이선스 청구 대상임
  • 여러 물리 서버로 구성된 가상 서버 환경에서는 원칙적으로 라이브/콜드 마이그레이션이 가능한 모든 서버가 라이선스 청구 대상임
  • 오라클이 인증한 가상화 기술에는 소프트 파티셔닝과 하드 파티셔닝이 있으며, 오라클 라이선스는 하드 파티셔닝 기술로만 제한 가능
  • VMware, Hyper-V, 리눅스 KVM과 같은 x86 서버에서 사용되는 가상화 기술은 소프트 파티셔닝으로 분류됨

오라클 리눅스 KVM의 예외

  • 오라클 리눅스 KVM에서는 정해진 절차에 따라 특정 코어가 지정된 경우에만 하드 파티셔닝으로 인정됨
  • 오라클 리눅스 KVM에서 특정 코어가 지정된 경우, 해당 가상 머신은 라이브/콜드 마이그레이션을 사용할 수 없음