返回
2025/03/25
5. 虛擬伺服器環境中的 Oracle 許可證與 Oracle Linux KVM
在虛擬伺服器環境中使用 Oracle 產品時,存在一個棘手的問題。即,許可證計數使用的是基礎物理伺服器的 CPU 核心數,而不是分配給虛擬伺服器的 CPU 核心數。此外,像 vMotion 這樣的虛擬化技術的發展進一步使情況變得複雜。
因此,本文將解釋「虛擬伺服器環境中的 Oracle 許可證概念」以及「即使在虛擬伺服器環境中也能減少許可證數量的 Oracle Linux KVM」。另外,本內容針對本地部署,公共雲中的虛擬伺服器不適用。
虛擬伺服器環境中的 Oracle 許可證概念
虛擬伺服器環境的許可證基礎
首先,我們將介紹虛擬伺服器環境中 Oracle 許可證的基礎知識。讓我們看看 Oracle 日本網頁上發布的以下常見問題解答。
使用伺服器虛擬化軟體(Oracle VM、VMware、Hyper-V 等)時的許可證計數如何計算?
VMware、Hyper-V 等被分類為軟分割,所有安裝(或運行)Oracle 產品的物理伺服器上的物理處理器都包含在許可證計數中。
* 安裝(或運行)Oracle 產品的虛擬機器(VM)數量與所需許可證數量無關。
這裡出現了「軟分割」一詞,但我們先忽略它,稍後再解釋。簡單來說,在虛擬機器(VM)中使用 Oracle 產品時,如下圖所示,需許可證的是物理伺服器上的處理器。
例如,假設有配備兩個 8 核心 CPU 的 x86 伺服器。將兩個核心分配給虛擬機器(VM)並使用 Oracle 資料庫。此時,計費針對的是 x86 物理伺服器。所需的許可證如下:
8 核心 CPU x 2 = 16 核心
16 核心 x 核心計數 0.5 = 8
對於 Oracle Database Enterprise Edition,需要 8 個處理器許可證。
Oracle Database Standard Edition 2 不考慮核心數,因此需要 2 個處理器許可證。
提示:Oracle EE 和 Oracle SE2 許可證的差異
雖然這不是主要話題,不會詳細解釋,但下表解釋了 Oracle 資料庫「EE」和「SE2」兩個版本許可證的差異。最大的區別在於 EE 按核心數計算許可證,而 SE2 按處理器數計算。本文的其餘部分僅涵蓋 EE。
產品 | 許可證類型 | 許可證計數單位 |
---|---|---|
Oracle Database Enterprise Edition (EE) | 處理器,指定使用者 Plus | 核心數 |
Oracle Database Standard Edition 2 (SE2) | 處理器,指定使用者 Plus | 處理器數(最多 2 個) |
提示:CPU 核心與線程
Oracle 許可證中的「核心」指的是「物理核心」。它不是使用像英特爾超執行緒(Hyper-Threading)這樣的同步多執行緒(SMT)技術,使單個 CPU 核心看起來像是多個的「線程(=邏輯核心)」。
例如,Intel Xeon Platinum 8362 有 32 個核心。啟用超執行緒後有 64 個線程。從作業系統看來,似乎有 64 個 CPU。然而,Oracle 許可證計數的是核心而非線程,因此是 32。
32 核心 x 核心計數 0.5 = 需要 16 個處理器許可證
多伺服器配置的虛擬伺服器環境概念
考慮由多台物理伺服器組成的虛擬伺服器環境,如下圖所示。它可以用於即時遷移等,因此可能是商業環境中最常見的使用方式。
在這樣的環境中,構成集群的所有物理伺服器都需要計費 Oracle 許可證。這是因為使用即時遷移時,虛擬機器也可以在其他伺服器上運行。
換句話說,它不僅涵蓋安裝 Oracle 產品的伺服器,還包括運行或可能運行 Oracle 產品的伺服器。
對於規格與之前相同的伺服器,所需許可證如下:
(8 核心 CPU x 2) x 2 台 = 32 核心
32 核心 x 核心計數 0.5 = 16
對於 Oracle Database Enterprise Edition,需要 16 個處理器許可證。
虛擬化技術的發展進一步使情況複雜化。例如,VMware vSphere 6.0 及更高版本允許跨集群進行即時遷移。換句話說,現在可以即時遷移到由另一個 vCenter 管理的物理主機伺服器上。
許可證適用於「運行或可能運行 Oracle 產品的伺服器」。因此,不僅包括即時遷移,還包括暫時停止虛擬機器進行遷移的冷遷移。因此,所有安裝了 VMware 或類似技術並在網路上相互連接的主機物理伺服器都需要許可證。這需要大量的 Oracle 許可證。
因此,如果您想將 Oracle 許可證限制在特定伺服器上,可以如下圖所示分割物理網路以防止即時/冷遷移。在這種情況下,只有一台物理伺服器需要許可證。
虛擬伺服器環境中的 Oracle 許可證總結
- 在虛擬伺服器環境中,基礎物理伺服器需要計費許可證
- 在由多台物理伺服器組成的虛擬伺服器環境中,所有可即時/冷遷移的伺服器都需要計費許可證
理解分割策略
我們現在將描述在虛擬化環境中重要的分割策略。「分割」是一種技術,將一台物理伺服器的 CPU 分割並作為多台獨立伺服器使用。它最初出現在大型主機中,隨後擴展到 UNIX 伺服器,現在用於 VMware 等技術。請注意,它與將表格分成多部分的 Partitioning Option 無關。
軟分割與硬分割
Oracle 發布了以下關於分割策略的文件。截至 2022 年 12 月,英文版略新,增加了容器和 Kubernetes 的內容。
上述文件介紹了以下三種類型的分割。Oracle Trusted Partition 涉及工程系統(應用產品),如 Oracle Exadata 和 Oracle Private Cloud Appliance。因此,我們將解釋軟分割和硬分割。
- 軟分割
- 硬分割
- Oracle Trusted Partition
Oracle 分割策略文件非常重要。這是因為它將虛擬化技術分為軟分割和硬分割,從而確認或澄清其作為限制 Oracle 許可證數量的方法。Oracle 將分割技術定義如下。硬分割是唯一被認可的限制許可證的方法。
軟分割
Solaris 9 資源容器,AIX 工作負載管理器,HP 流程資源管理器,親和性管理,Oracle VM,VMware 等
硬分割
物理域,Solaris Zones,IBM LPAR,IBM 微分割,vPar,nPar,Integrity 虛擬機器,安全資源分割,Fujitsu PPAR 等
使用被認可為硬分割的技術時,您可以僅計算分配給分割環境的 CPU 核心數,而不是物理伺服器,如下圖所示。然而,從硬分割列表中可以看出,有許多過去的高端 UNIX 伺服器技術,現在大多數已成為次要技術。
即使禁止即時/冷遷移,所有伺服器仍被計數的原因
之前提到過以下內容:
在由多台物理伺服器組成的虛擬伺服器環境中,所有可即時/冷遷移的伺服器都需要計費許可證
某些功能禁止即時/冷遷移,例如 VMware。這些功能不能像硬分割一樣用來限制許可證嗎?這些功能無法用於限制許可證。
這是因為 x86 伺服器上的大多數虛擬化技術,如 VMware 和 Hyper-V,被認證為軟分割。要限制許可證,您需要使用被認證為硬分割的技術。
因此,為了在由多台物理伺服器組成的虛擬伺服器環境中限制許可證,您需要在網路上分離伺服器和儲存,以限制運行或可能運行 Oracle 產品的伺服器。
硬分割中的例外
您現在知道當前主流的軟分割技術無法用於限制 Oracle 許可證。那麼,有沒有方法限制物理伺服器上的 CPU 核心數並減少 Oracle 許可證數量呢?您可以通過以下方式實現:
- 使用被認可為硬分割的技術,如 Oracle Linux KVM
- 使用被認可為 Oracle Trusted Partition 的工程系統,如 Oracle Exadata 和 Oracle Private Cloud Appliance
- 在 Oracle Exadata 或 Oracle Database Appliance 上使用按需容量(CoD)
我們想在這裡向您展示的是如何使用 Oracle Linux KVM。Oracle 分割策略 將以下內容列為例外。請注意,Oracle VM Server 不推薦使用,因為其支援即將結束(Premier Support 結束:2021 年 3 月,Extended Support 結束:2024 年 6 月)。
- Oracle Linux KVM。如果在以下文件中指定了特定核心
http://www.oracle.com/a/ocom/docs/linux/ol-kvm-hard-partitioning.pdf - Oracle VM Server for x86。如果在以下文件中指定了特定核心
http://www.oracle.com/technetwork/server-storage/vm/ovm-hardpart-168217.pdf - Oracle VM Server for SPARC。如果在以下文件中指定了特定核心
http://www.oracle.com/technetwork/server-storage/vm/ovm-sparc-hard-partitioning-1403135.pdf
重要的是,文中寫道,「如果在以下文件中指定了特定核心」。要被認可為硬分割,必須滿足以下兩個條件。僅使用 Oracle Linux KVM 無法滿足要求。
- 使用 Oracle Linux KVM
- 以文件中描述的方式限制使用的核心
提示:Kubernetes 等容器的概念
如今,Docker 容器和 Kubernetes 也很常用。Oracle 分割策略 也提到了 Kubernetes 等容器。它們基本上是軟分割的一種形式。因此,構成 Kubernetes 集群的所有節點的 CPU 都需要 Oracle 許可證。
然而,您可以使用節點選擇器將許可證限制在特定節點上。有關詳細說明,請參閱以下文件:
在容器和 Kubernetes 中運行和許可 Oracle 程式
Oracle Linux KVM 和核心分配
什麼是 Oracle Linux KVM?
Oracle Linux KVM 是一種虛擬化方法,使用嵌入在 Oracle Linux 核心中的 KVM 作為 HyperVisor。它內建於 RHCK 和 UEK 中。沒有名為 Oracle Linux KVM 的產品,它是通過在 Oracle Linux 7、Oracle Linux 8 和 Oracle Linux 9 中整合支援虛擬化的套件實現的。
有關詳細設置說明,請參閱以下手冊。還有一個管理工具 Oracle Linux Virtualization Manager,相當於 VMware vCenter。
將核心分配給虛擬機器
僅使用 Oracle Linux KVM 無法滿足硬分割的要求。要滿足要求,必須使用一種稱為固定的技術將特定核心分配給目標虛擬機器。要分配特定核心,使用 olvm-vmcontrol 命令或 Oracle Linux Virtualization Manager。
然而,當您將特定核心分配給虛擬機器時,作為限制,該虛擬機器無法進行即時/冷遷移。這一點很重要,請記住。
結論
以下是本文的總結。在下一篇文章中,我們將解釋如何分配特定核心。我們還將提供使用 Oracle Linux KVM 進行硬分割的說明。然而,它有點不友好,因此可能無法按原樣很好地運作。
虛擬伺服器環境中的 Oracle 許可證概念
- 在虛擬伺服器環境中,基礎物理伺服器需要計費許可證
- 在由多台物理伺服器組成的虛擬伺服器環境中,所有原則上可即時/冷遷移的伺服器都需要計費許可證
- Oracle 認證的虛擬化技術包括軟分割和硬分割,只有硬分割技術可以限制 Oracle 許可證
- 在 x86 伺服器上使用的虛擬化技術,如 VMware、Hyper-V 和 Linux KVM,被分類為軟分割
Oracle Linux KVM 中的例外
- 在 Oracle Linux KVM 中,只有在指定程序中分配特定核心時,才被認可為硬分割技術
- 在 Oracle Linux KVM 中分配特定核心時,該虛擬機器無法進行即時/冷遷移