Quay lại

2025/03/27

5. Giấy phép Oracle và Oracle Linux KVM trong môi trường máy chủ ảo

Có một vấn đề phiền hà khi sử dụng các sản phẩm Oracle trong môi trường máy chủ ảo. Đó là, số lượng lõi CPU trên máy chủ vật lý cơ sở được sử dụng để tính số lượng giấy phép thay vì số lượng lõi CPU được cấp phát cho máy chủ ảo. Ngoài ra, sự phát triển của các công nghệ ảo hóa như vMotion đã làm cho tình hình càng thêm phức tạp.

Do đó, trong bài viết này, chúng tôi sẽ giải thích “Khái niệm giấy phép Oracle trong môi trường máy chủ ảo” và “Oracle Linux KVM có thể giảm số lượng giấy phép ngay cả trong môi trường máy chủ ảo”. Ngoài ra, nội dung này dành cho môi trường tại chỗ (on-premises), và các máy chủ ảo trong đám mây công cộng không áp dụng.

Khái niệm giấy phép Oracle trong môi trường máy chủ ảo

Cơ bản về cấp phép trong môi trường máy chủ ảo

Đầu tiên, chúng tôi sẽ đề cập đến những điều cơ bản về cấp phép Oracle trong môi trường máy chủ ảo. Hãy xem qua các FAQ sau được đăng trên trang web Oracle Japan.

Số lượng giấy phép được tính như thế nào khi sử dụng phần mềm ảo hóa máy chủ (Oracle VM, VMware, Hyper-V, v.v.)?

VMware, Hyper-V, v.v. được phân loại là Phân vùng Mềm (Soft Partitioning), và tất cả các bộ xử lý vật lý được cài đặt trên máy chủ vật lý nơi sản phẩm Oracle được cài đặt (hoặc đang chạy) đều được tính vào số lượng giấy phép.

* Số lượng máy ảo (VM) nơi sản phẩm Oracle được cài đặt (hoặc đang chạy) không liên quan đến số lượng giấy phép yêu cầu.

Thuật ngữ Phân vùng Mềm đã xuất hiện, nhưng chúng tôi sẽ bỏ qua và giải thích sau. Nói một cách đơn giản, khi sử dụng sản phẩm Oracle trong máy ảo (VM), như hiển thị trong hình dưới đây, bộ xử lý trên máy chủ vật lý là đối tượng phải cấp phép.

Ví dụ, giả sử có các máy chủ x86 với hai CPU 8 lõi. Gán hai lõi cho máy ảo (VM) và sử dụng Oracle Database. Lúc này, việc thanh toán là cho các máy chủ vật lý x86. Số lượng giấy phép yêu cầu như sau:

CPU 8 lõi x 2 = 16 lõi
16 lõi x hệ số lõi 0.5 = 8

Đối với Oracle Database Enterprise Edition, cần giấy phép 8 Processor.
Oracle Database Standard Edition 2 không tính đến số lượng lõi, vì vậy cần giấy phép 2 Processor.

Mẹo: Sự khác biệt giữa cấp phép Oracle EE và Oracle SE2

Mặc dù đây không phải là chủ đề chính và sẽ không được giải thích chi tiết, bảng sau giải thích sự khác biệt giữa giấy phép của hai phiên bản Oracle Database “EE” và “SE2”. Sự khác biệt lớn nhất là EE đếm giấy phép theo số lượng lõi, trong khi SE2 đếm theo số lượng bộ xử lý. Chỉ EE sẽ được đề cập trong phần còn lại của bài viết này.

Sản phẩm Loại giấy phép Đơn vị đếm giấy phép
Oracle Database Enterprise Edition (EE) Processor, Named User Plus Số lượng lõi
Oracle Database Standard Edition 2 (SE2) Processor, Named User Plus Số lượng bộ xử lý (tối đa 2)

Mẹo: Lõi CPU và luồng

Lõi trong giấy phép Oracle指的是“lõi vật lý”. Nó không phải là “luồng (=lõi logic)” khiến một lõi CPU đơn lẻ trông như nhiều lõi bằng công nghệ Đa luồng Đồng thời (SMT) như Hyper-Threading của Intel.

Ví dụ, Intel Xeon Platinum 8362 có 32 lõi. Kích hoạt Hyper-Threading dẫn đến 64 luồng. Khi nhìn từ hệ điều hành, trông như có 64 CPU. Tuy nhiên, giấy phép Oracle đếm lõi, không phải luồng, nên là 32.

32 lõi x hệ số lõi 0.5 = 16 giấy phép processor yêu cầu

Khái niệm môi trường máy chủ ảo với cấu hình nhiều máy chủ

Hãy xem xét một môi trường máy chủ ảo bao gồm nhiều máy chủ vật lý, như hiển thị trong hình dưới đây. Nó có thể được sử dụng cho di chuyển trực tiếp (live migration), v.v., nên có lẽ đây là cách sử dụng phổ biến nhất trong môi trường thương mại.

Trong môi trường như vậy, tất cả các máy chủ vật lý tạo nên cụm đều phải chịu phí giấy phép Oracle. Điều này là do, khi sử dụng di chuyển trực tiếp, máy ảo cũng có thể chạy trên các máy chủ khác.

Nói cách khác, nó bao gồm không chỉ máy chủ mà sản phẩm Oracle được cài đặt, mà còn các máy chủ mà sản phẩm Oracle đang chạy hoặc có thể chạy.

Đối với các máy chủ có cùng thông số như trước, số lượng giấy phép yêu cầu như sau:

(CPU 8 lõi x 2) x 2 máy = 32 lõi
32 lõi x hệ số lõi 0.5 = 16

Đối với Oracle Database Enterprise Edition, cần giấy phép 16 Processor.

Sự phát triển của công nghệ ảo hóa càng làm phức tạp tình hình. Ví dụ, VMware vSphere 6.0 trở lên cho phép di chuyển trực tiếp giữa các cụm. Nói cách khác, giờ đây có thể di chuyển trực tiếp đến một máy chủ vật lý chủ được quản lý bởi một vCenter khác.

Giấy phép là cho “Các máy chủ chạy hoặc có thể chạy sản phẩm Oracle”. Do đó, nó không chỉ bao gồm di chuyển trực tiếp, mà còn di chuyển lạnh (cold migration), tạm thời dừng máy ảo để di chuyển. Kết quả là, tất cả các máy chủ vật lý chủ được kết nối với nhau trên mạng với VMware hoặc tương tự được cài đặt đều phải chịu giấy phép. Điều này yêu cầu một số lượng lớn giấy phép Oracle.

Vì vậy, nếu bạn muốn giới hạn giấy phép Oracle cho một máy chủ cụ thể, bạn có thể tách mạng vật lý như hiển thị dưới đây để ngăn di chuyển trực tiếp/lạnh. Trong trường hợp này, chỉ một máy chủ vật lý được cấp phép.

Tóm tắt giấy phép Oracle trong môi trường máy chủ ảo

  • Trong môi trường máy chủ ảo, máy chủ vật lý cơ sở phải chịu phí cấp phép
  • Trong môi trường máy chủ ảo bao gồm nhiều máy chủ vật lý, tất cả các máy chủ có thể di chuyển trực tiếp/lạnh đều phải chịu phí cấp phép

Hiểu về Chính sách Phân vùng

Bây giờ chúng tôi sẽ mô tả Chính sách Phân vùng quan trọng trong môi trường ảo hóa. “Phân vùng” là công nghệ chia CPU của một máy chủ vật lý và sử dụng nó như nhiều máy chủ độc lập. Ban đầu, đây là công nghệ xuất hiện trong các máy chủ lớn (mainframe). Sau đó, nó lan sang các máy chủ UNIX, và giờ đây được sử dụng trong VMware và các công nghệ tương tự. Lưu ý rằng nó không liên quan gì đến Tùy chọn Phân vùng (Partitioning Option), chia một bảng thành nhiều phần.

Phân vùng Mềm và Phân vùng Cứng

Oracle đã công bố các tài liệu sau về Chính sách Phân vùng. Tính đến tháng 12 năm 2022, phiên bản tiếng Anh mới hơn một chút, với việc bổ sung container và Kubernetes.

Tài liệu trên giới thiệu ba loại Phân vùng sau. Oracle Trusted Partition liên quan đến các hệ thống được thiết kế sẵn (sản phẩm thiết bị) như Oracle Exadata và Oracle Private Cloud Appliance. Do đó, chúng tôi sẽ giải thích Phân vùng Mềm và Phân vùng Cứng.

  • Phân vùng Mềm
  • Phân vùng Cứng
  • Oracle Trusted Partition

Tài liệu Chính sách Phân vùng Oracle rất quan trọng. Điều này là do nó phân loại công nghệ ảo hóa thành Mềm và Cứng, qua đó công nhận hoặc làm rõ nó như một phương tiện để giới hạn số lượng giấy phép Oracle. Oracle định nghĩa Công nghệ Phân vùng như sau. Phân vùng Cứng là phương tiện duy nhất được công nhận để giới hạn giấy phép.

Phân vùng Mềm
Solaris 9 Resource Containers, AIX Workload Manager, HP Process Resource Manager, Affinity Management, Oracle VM, VMware, v.v.

Phân vùng Cứng
Physical Domains, Solaris Zones, IBM LPAR, IBM Micro-Partitions, vPar, nPar, Integrity Virtual Machine, Secure Resource Partitions, Fujitsu PPAR, v.v.

Khi sử dụng công nghệ được công nhận là Phân vùng Cứng, bạn chỉ có thể đếm số lượng lõi CPU được cấp phát cho môi trường phân chia, không phải máy chủ vật lý, như hiển thị trong hình dưới đây. Tuy nhiên, như bạn có thể thấy từ danh sách Phân vùng Cứng, có rất nhiều công nghệ máy chủ UNIX cao cấp từ quá khứ, và hiện nay chúng phần lớn là các công nghệ ít phổ biến.

Lý do tại sao tất cả máy chủ đều được tính ngay cả khi cấm di chuyển trực tiếp/lạnh

Phần sau đã được nêu trước đó:

Trong môi trường máy chủ ảo bao gồm nhiều máy chủ vật lý, tất cả các máy chủ có thể di chuyển trực tiếp/lạnh đều phải chịu phí cấp phép

Một số tính năng cấm di chuyển trực tiếp/lạnh, như VMware. Liệu các tính năng đó không thể được sử dụng để giới hạn giấy phép như Phân vùng Cứng sao? Các tính năng này không thể được sử dụng để giới hạn giấy phép.

Điều này là do hầu hết các công nghệ ảo hóa trên máy chủ x86, như VMware và Hyper-V, được chứng nhận là Phân vùng Mềm. Để giới hạn cấp phép, bạn cần một công nghệ được chứng nhận là Phân vùng Cứng.

Do đó, để giới hạn cấp phép trong môi trường máy chủ ảo bao gồm nhiều máy chủ vật lý, bạn cần tách biệt các máy chủ và lưu trữ trên mạng để giới hạn các máy chủ mà sản phẩm Oracle chạy hoặc có thể chạy.

Ngoại lệ trong Phân vùng Cứng

Bây giờ bạn biết rằng các công nghệ Phân vùng Mềm hiện tại không thể được sử dụng để giới hạn giấy phép Oracle. Vậy, có cách nào để giới hạn số lượng lõi CPU trên máy chủ vật lý và giảm cấp phép Oracle không? Bạn có thể làm điều này bằng các cách sau:

  • Sử dụng các công nghệ được công nhận là Phân vùng Cứng, như Oracle Linux KVM
  • Sử dụng các hệ thống được thiết kế sẵn như Oracle Exadata và Oracle Private Cloud Appliance, được công nhận là Oracle Trusted Partitions
  • Sử dụng Capacity-on-Demand (CoD) với Oracle Exadata hoặc Oracle Database Appliance

Điều chúng tôi muốn chỉ cho bạn ở đây là cách sử dụng Oracle Linux KVM. Chính sách Phân vùng Oracle nêu rõ như sau như một ngoại lệ. Lưu ý rằng Oracle VM Server không được khuyến nghị vì nó đang gần đến cuối vòng đời hỗ trợ (Kết thúc Hỗ trợ Premier: tháng 3 năm 2021, Kết thúc Hỗ trợ Mở rộng: tháng 6 năm 2024).

Quan trọng là, văn bản ghi rằng, “Nếu một lõi cụ thể được gán trong tài liệu dưới đây.” Để được công nhận là Phân vùng Cứng, cả hai điều kiện sau phải được đáp ứng. Chỉ Oracle Linux KVM thôi thì không thể đáp ứng yêu cầu.

  • Sử dụng Oracle Linux KVM
  • Các lõi được sử dụng bị giới hạn theo cách được mô tả trong tài liệu

Mẹo: Khái niệm cho container như Kubernetes

Các container Docker và Kubernetes cũng được sử dụng phổ biến hiện nay. Chính sách Phân vùng Oracle cũng đề cập đến các container như Kubernetes. Về cơ bản, chúng là một dạng của Phân vùng Mềm. Do đó, CPU của tất cả các nút tạo nên cụm Kubernetes đều phải chịu giấy phép Oracle.

Tuy nhiên, bạn có thể giới hạn giấy phép cho các nút cụ thể bằng cách sử dụng bộ chọn nút (node selector). Để biết hướng dẫn chi tiết, vui lòng xem tài liệu sau:

Chạy và Cấp phép Chương trình Oracle trong Container và Kubernetes

Oracle Linux KVM và gán lõi

Oracle Linux KVM là gì?

Oracle Linux KVM là một phương pháp ảo hóa sử dụng KVM được nhúng trong nhân Oracle Linux làm HyperVisor. Nó được tích hợp trong cả RHCK và UEK. Không có sản phẩm nào gọi là Oracle Linux KVM, và nó được thực hiện bằng cách tích hợp các gói hỗ trợ ảo hóa trong Oracle Linux 7, Oracle Linux 8 và Oracle Linux 9.

Để biết hướng dẫn thiết lập chi tiết, hãy xem tài liệu sau. Ngoài ra còn có một công cụ quản lý, Oracle Linux Virtualization Manager, tương đương với VMware vCenter.

Gán lõi cho máy ảo

Yêu cầu Phân vùng Cứng không thể được đáp ứng chỉ bằng cách sử dụng Oracle Linux KVM. Để đáp ứng yêu cầu, một lõi cụ thể phải được gán cho máy ảo mục tiêu bằng kỹ thuật gọi là pinning. Để gán một lõi cụ thể, lệnh olvm-vmcontrol hoặc Oracle Linux Virtualization Manager được sử dụng.

Tuy nhiên, như một hạn chế khi bạn gán một lõi cụ thể cho máy ảo, máy ảo đó không đủ điều kiện cho di chuyển trực tiếp/lạnh. Điều này quan trọng nên hãy ghi nhớ.

Kết luận

Dưới đây là tóm tắt của bài viết này. Trong bài viết tiếp theo, chúng tôi sẽ giải thích cách gán các lõi cụ thể. Chúng tôi cũng sẽ đưa ra hướng dẫn về Phân vùng Cứng với Oracle Linux KVM. Tuy nhiên, nó hơi không thân thiện, nên có thể không hoạt động tốt như hiện tại.

Khái niệm giấy phép Oracle trong môi trường máy chủ ảo

  • Trong môi trường máy chủ ảo, máy chủ vật lý cơ sở phải chịu phí cấp phép
  • Trong môi trường máy chủ ảo bao gồm nhiều máy chủ vật lý, về nguyên tắc, tất cả các máy chủ có thể di chuyển trực tiếp/lạnh đều phải chịu phí cấp phép
  • Các công nghệ ảo hóa được Oracle chứng nhận bao gồm Phân vùng Mềm và Phân vùng Cứng, và giấy phép Oracle chỉ có thể được giới hạn với các công nghệ Phân vùng Cứng
  • Các công nghệ ảo hóa được sử dụng trên máy chủ x86 như VMware, Hyper-V và Linux KVM được phân loại là Phân vùng Mềm

Ngoại lệ trong Oracle Linux KVM

  • Trong Oracle Linux KVM, một công nghệ được công nhận là Phân vùng Cứng chỉ khi một lõi cụ thể được gán theo quy trình xác định
  • Khi một lõi cụ thể được gán trong Oracle Linux KVM, di chuyển trực tiếp/lạnh không khả dụng cho máy ảo đó