กลับ

2025/03/31

5. ใบอนุญาต Oracle และ Oracle Linux KVM ในสภาพแวดล้อมเซิร์ฟเวอร์เสมือน

มีปัญหาที่น่ารำคาญเมื่อใช้ผลิตภัณฑ์ Oracle ในสภาพแวดล้อมเซิร์ฟเวอร์เสมือน นั่นคือ จำนวนแกน CPU บนเซิร์ฟเวอร์物理พื้นฐานถูกใช้ในการนับใบอนุญาต แทนที่จะเป็นจำนวนแกน CPU ที่จัดสรรให้กับเซิร์ฟเวอร์เสมือน นอกจากนี้ การพัฒนาเทคโนโลยี virtualization เช่น vMotion ยังทำให้สถานการณ์ซับซ้อนยิ่งขึ้น

ดังนั้น ในบทความนี้ เราจะอธิบาย “แนวคิดใบอนุญาต Oracle ในสภาพแวดล้อมเซิร์ฟเวอร์เสมือน” และ “Oracle Linux KVM ที่สามารถลดใบอนุญาตได้แม้ในสภาพแวดล้อมเซิร์ฟเวอร์เสมือน” นอกจากนี้ เนื้อหานี้มีไว้สำหรับในสถานที่ (on-premises) และเซิร์ฟเวอร์เสมือนในคลาวด์สาธารณะไม่สามารถใช้ได้

แนวคิดใบอนุญาต Oracle ในสภาพแวดล้อมเซิร์ฟเวอร์เสมือน

พื้นฐานการออกใบอนุญาตสำหรับสภาพแวดล้อมเซิร์ฟเวอร์เสมือน

ขั้นแรก เราจะครอบคลุมพื้นฐานของการออกใบอนุญาต Oracle ในสภาพแวดล้อมเซิร์ฟเวอร์เสมือน มาดูคำถามที่พบบ่อย (FAQs) ที่โพสต์บนหน้าเว็บ Oracle Japan กัน

การนับใบอนุญาตเมื่อใช้ซอฟต์แวร์ virtualization เซิร์ฟเวอร์ (Oracle VM, VMware, Hyper-V ฯลฯ) เป็นอย่างไร?

VMware, Hyper-V ฯลฯ ถูกจัดประเภทเป็น Soft Partitioning และโปรเซสเซอร์物理ทั้งหมดที่ติดตั้งบนเซิร์ฟเวอร์物理ที่ติดตั้ง (หรือรัน) ผลิตภัณฑ์ Oracle จะถูกรวมในการนับใบอนุญาต

* จำนวนเครื่องเสมือน (VMs) ที่ติดตั้ง (หรือรัน) ผลิตภัณฑ์ Oracle ไม่เกี่ยวข้องกับจำนวนใบอนุญาตที่ต้องการ

คำว่า Soft Partitioning ปรากฏขึ้นมา แต่เราจะละเลยมันและอธิบายในภายหลัง พูดง่าย ๆ เมื่อใช้ผลิตภัณฑ์ Oracle ในเครื่องเสมือน (VM) ตามที่แสดงในภาพต่อไปนี้ โปรเซสเซอร์บนเซิร์ฟเวอร์物理คือสิ่งที่ต้องมีใบอนุญาต

ตัวอย่างเช่น สมมติว่ามีเซิร์ฟเวอร์ x86 ที่มี CPU 8 คอร์สองตัว จัดสรรสองคอร์ให้กับเครื่องเสมือน (VM) และใช้ Oracle Database ในขณะนี้ การเรียกเก็บเงินจะเป็นสำหรับเซิร์ฟเวอร์物理 x86 ใบอนุญาตที่ต้องการมีดังนี้:

CPU 8 คอร์ x 2 = 16 คอร์
16 คอร์ x จำนวนคอร์ 0.5 = 8

สำหรับ Oracle Database Enterprise Edition ต้องใช้ใบอนุญาต 8 Processor
Oracle Database Standard Edition 2 ไม่คำนึงถึงจำนวนคอร์ ดังนั้นต้องใช้ใบอนุญาต 2 Processor

เคล็ดลับ: ความแตกต่างระหว่างการออกใบอนุญาต Oracle EE และ Oracle SE2

ถึงแม้ว่านี่จะไม่ใช่หัวข้อหลักและจะไม่ถูกอธิบายในรายละเอียด ตารางต่อไปนี้อธิบายความแตกต่างระหว่างใบอนุญาตของ Oracle Database สองรุ่น “EE” และ “SE2” ความแตกต่างที่ใหญ่ที่สุดคือ EE นับใบอนุญาตตามจำนวนคอร์ ในขณะที่ SE2 นับตามจำนวนโปรเซสเซอร์ เฉพาะ EE เท่านั้นที่จะถูกครอบคลุมในส่วนที่เหลือของบทความนี้

ผลิตภัณฑ์ ประเภทใบอนุญาต หน่วยนับใบอนุญาต
Oracle Database Enterprise Edition (EE) Processor, Named User Plus จำนวนคอร์
Oracle Database Standard Edition 2 (SE2) Processor, Named User Plus จำนวนโปรเซสเซอร์ (สูงสุด 2)

เคล็ดลับ: คอร์ CPU และเธรด

คอร์ในใบอนุญาต Oracle หมายถึง “คอร์物理” ไม่ใช่ “เธรด (=คอร์เชิงตรรกะ)” ที่ทำให้คอร์ CPU เดียวดูเหมือนมีหลายคอร์โดยใช้เทคโนโลยี Simultaneous Multi-Threading (SMT) เช่น Hyper-Threading ของ Intel

ตัวอย่างเช่น Intel Xeon Platinum 8362 มี 32 คอร์ การเปิดใช้งาน Hyper-Threading ส่งผลให้มี 64 เธรด เมื่อมองจากระบบปฏิบัติการ ดูเหมือนมี 64 CPU อย่างไรก็ตาม เป็นคอร์ ไม่ใช่เธรด ที่ถูกนับสำหรับใบอนุญาต Oracle ดังนั้นคือ 32

32 คอร์ x จำนวนคอร์ 0.5 = ต้องใช้ใบอนุญาต 16 Processor

แนวคิดของสภาพแวดล้อมเซิร์ฟเวอร์เสมือนที่มีการกำหนดค่าหลายเซิร์ฟเวอร์

พิจารณาสภาพแวดล้อมเซิร์ฟเวอร์เสมือนที่ประกอบด้วยเซิร์ฟเวอร์物理หลายตัวตามที่แสดงในภาพด้านล่าง สามารถใช้สำหรับการย้ายแบบสด (live migration) ฯลฯ ดังนั้นน่าจะเป็นวิธีการใช้งานที่พบบ่อยที่สุดในสภาพแวดล้อมเชิงพาณิชย์

ในสภาพแวดล้อมเช่นนี้ เซิร์ฟเวอร์物理ทั้งหมดที่ประกอบเป็นคลัสเตอร์จะถูกเรียกเก็บเงินสำหรับใบอนุญาต Oracle เนื่องจากเมื่อใช้การย้ายแบบสด เครื่องเสมือนสามารถทำงานบนเซิร์ฟเวอร์อื่นได้เช่นกัน

กล่าวอีกนัยหนึ่ง มันครอบคลุมไม่เพียงแต่เซิร์ฟเวอร์ที่ติดตั้งผลิตภัณฑ์ Oracle เท่านั้น แต่ยังรวมถึงเซิร์ฟเวอร์ที่ผลิตภัณฑ์ Oracle กำลังทำงานหรืออาจทำงานได้ด้วย

สำหรับเซิร์ฟเวอร์ที่มีสเปคเดียวกับก่อนหน้านี้ ใบอนุญาตที่ต้องการมีดังนี้:

(CPU 8 คอร์ x 2) x 2 เครื่อง = 32 คอร์
32 คอร์ x จำนวนคอร์ 0.5 = 16

สำหรับ Oracle Database Enterprise Edition ต้องใช้ใบอนุญาต 16 Processor

การพัฒนาเทคโนโลยี virtualization ทำให้สถานการณ์ซับซ้อนยิ่งขึ้น ตัวอย่างเช่น VMware vSphere 6.0 และใหม่กว่าสามารถทำการย้ายแบบสดข้ามคลัสเตอร์ได้ กล่าวอีกนัยหนึ่ง ตอนนี้สามารถย้ายแบบสดไปยังเซิร์ฟเวอร์物理โฮสต์ที่จัดการโดย vCenter อื่นได้

ใบอนุญาตสำหรับ “เซิร์ฟเวอร์ที่รันหรืออาจรันผลิตภัณฑ์ Oracle” ดังนั้น มันรวมถึงไม่เพียงแต่การย้ายแบบสดเท่านั้น แต่ยังรวมถึงการย้ายแบบเย็น (cold migration) ซึ่งหยุดเครื่องเสมือนชั่วคราวเพื่อย้ายด้วย ผลลัพธ์คือ เซิร์ฟเวอร์物理โฮสต์ทั้งหมดที่เชื่อมต่อกันบนเครือข่ายด้วย VMware หรือสิ่งที่คล้ายกันที่ติดตั้งไว้จะต้องมีใบอนุญาต ซึ่งต้องใช้ใบอนุญาต Oracle จำนวนมาก

ดังนั้น หากคุณต้องการจำกัดใบอนุญาต Oracle ไว้ที่เซิร์ฟเวอร์เฉพาะ คุณสามารถแยกเครือข่าย物理ตามที่แสดงด้านล่างเพื่อป้องกันการย้ายแบบสด/เย็น ในกรณีนี้ เฉพาะเซิร์ฟเวอร์物理หนึ่งเครื่องเท่านั้นที่ต้องมีใบอนุญาต

สรุปใบอนุญาต Oracle สำหรับสภาพแวดล้อมเซิร์ฟเวอร์เสมือน

  • ในสภาพแวดล้อมเซิร์ฟเวอร์เสมือน เซิร์ฟเวอร์物理พื้นฐานจะต้องถูกเรียกเก็บเงินสำหรับใบอนุญาต
  • ในสภาพแวดล้อมเซิร์ฟเวอร์เสมือนที่ประกอบด้วยเซิร์ฟเวอร์物理หลายตัว เซิร์ฟเวอร์ทั้งหมดที่สามารถย้ายแบบสด/เย็นได้จะต้องถูกเรียกเก็บเงินสำหรับใบอนุญาต

การทำความเข้าใจนโยบายการแบ่งพาร์ติชัน

เราจะอธิบายนโยบายการแบ่งพาร์ติชันที่สำคัญในสภาพแวดล้อมเสมือน “การแบ่งพาร์ติชัน” เป็นเทคโนโลยีที่แบ่ง CPU ของเซิร์ฟเวอร์物理หนึ่งเครื่องและใช้เป็นเซิร์ฟเวอร์อิสระหลายตัว เดิมทีเป็นเทคโนโลยีที่ปรากฏในเมนเฟรม จากนั้นแพร่กระจายไปยังเซิร์ฟเวอร์ UNIX และตอนนี้ถูกใช้ใน VMware และเทคโนโลยีที่คล้ายกัน โปรดทราบว่ามันไม่เกี่ยวข้องกับ Partitioning Option ซึ่งแบ่งตารางออกเป็นหลายส่วน

Soft Partitioning และ Hard Partitioning

Oracle ได้เผยแพร่เอกสารต่อไปนี้เกี่ยวกับนโยบายการแบ่งพาร์ติชัน ณ เดือนธันวาคม 2022 รุ่นภาษาอังกฤษใหม่กว่าเล็กน้อย โดยมีการเพิ่มคอนเทนเนอร์และ Kubernetes

เอกสารข้างต้นแนะนำการแบ่งพาร์ติชันสามประเภทต่อไปนี้ Oracle Trusted Partition เกี่ยวข้องกับระบบที่ออกแบบมา (ผลิตภัณฑ์เครื่องใช้) เช่น Oracle Exadata และ Oracle Private Cloud Appliance ดังนั้นเราจะอธิบาย Soft Partitioning และ Hard Partitioning

  • Soft Partitioning
  • Hard Partitioning
  • Oracle Trusted Partition

เอกสารนโยบายการแบ่งพาร์ติชัน Oracle มีความสำคัญมาก เนื่องจากมันจัดประเภทเทคโนโลยี virtualization เป็น Soft และ Hard จึงยอมรับหรือชี้แจงว่าเป็นวิธีการจำกัดจำนวนใบอนุญาต Oracle Oracle กำหนดเทคโนโลยีการแบ่งพาร์ติชันดังนี้ Hard Partitioning เป็นวิธีเดียวที่ยอมรับในการจำกัดใบอนุญาต

Soft Partitioning
Solaris 9 Resource Containers, AIX Workload Manager, HP Process Resource Manager, Affinity Management, Oracle VM, VMware ฯลฯ

Hard Partitioning
Physical Domains, Solaris Zones, IBM LPAR, IBM Micro-Partitions, vPar, nPar, Integrity Virtual Machine, Secure Resource Partitions, Fujitsu PPAR ฯลฯ

เมื่อใช้เทคโนโลยีที่ได้รับการยอมรับว่าเป็น Hard Partitioning คุณสามารถนับเฉพาะจำนวนคอร์ CPU ที่จัดสรรให้กับสภาพแวดล้อมที่แบ่งออก ไม่ใช่เซิร์ฟเวอร์物理ตามที่แสดงในภาพด้านล่าง อย่างไรก็ตาม ตามที่คุณเห็นจากรายการ Hard Partitioning มีเทคโนโลยีเซิร์ฟเวอร์ UNIX ระดับสูงจากอดีตมากมาย และส่วนใหญ่ตอนนี้เป็นเทคโนโลยีรอง

เหตุผลที่เซิร์ฟเวอร์ทั้งหมดถูกนับแม้ว่าจะห้ามการย้ายแบบสด/เย็น

ก่อนหน้านี้ระบุไว้ดังนี้:

ในสภาพแวดล้อมเซิร์ฟเวอร์เสมือนที่ประกอบด้วยเซิร์ฟเวอร์物理หลายตัว เซิร์ฟเวอร์ทั้งหมดที่สามารถย้ายแบบสด/เย็นได้จะต้องถูกเรียกเก็บเงินสำหรับใบอนุญาต

คุณสมบัติบางอย่างห้ามการย้ายแบบสด/เย็น เช่น VMware คุณสมบัติเหล่านั้นไม่สามารถใช้เพื่อจำกัดใบอนุญาตเหมือน Hard Partitioning ได้หรือไม่? คุณสมบัติเหล่านี้ไม่สามารถใช้เพื่อจำกัดใบอนุญาตได้

นี่เป็นเพราะเทคโนโลยี virtualization ส่วนใหญ่บนเซิร์ฟเวอร์ x86 เช่น VMware และ Hyper-V ถูกรับรองว่าเป็น Soft Partitioning เพื่อจำกัดการออกใบอนุญาต คุณต้องใช้เทคโนโลยีที่ได้รับการรับรองว่าเป็น Hard Partitioning

ดังนั้น เพื่อจำกัดการออกใบอนุญาตในสภาพแวดล้อมเซิร์ฟเวอร์เสมือนที่ประกอบด้วยเซิร์ฟเวอร์物理หลายตัว คุณต้องแยกเซิร์ฟเวอร์และที่เก็บข้อมูลบนเครือข่ายเพื่อจำกัดเซิร์ฟเวอร์ที่ผลิตภัณฑ์ Oracle รันหรืออาจรันได้

ข้อยกเว้นใน Hard Partitioning

ตอนนี้คุณรู้แล้วว่าเทคโนโลยี Soft Partitioning กระแสหลักในปัจจุบันไม่สามารถใช้เพื่อจำกัดใบอนุญาต Oracle ได้ แล้วมีวิธีใดที่จะจำกัดจำนวนคอร์ CPU บนเซิร์ฟเวอร์物理และลดการออกใบอนุญาต Oracle ได้หรือไม่? คุณสามารถทำได้ด้วยวิธีต่อไปนี้:

  • ใช้เทคโนโลยีที่ได้รับการยอมรับว่าเป็น Hard Partitioning เช่น Oracle Linux KVM
  • ใช้ระบบที่ออกแบบมา เช่น Oracle Exadata และ Oracle Private Cloud Appliance ซึ่งได้รับการยอมรับว่าเป็น Oracle Trusted Partitions
  • ใช้ Capacity-on-Demand (CoD) กับ Oracle Exadata หรือ Oracle Database Appliance

สิ่งที่เราต้องการแสดงให้คุณเห็นที่นี่คือวิธีใช้ Oracle Linux KVM นโยบายการแบ่งพาร์ติชัน Oracle ระบุข้อยกเว้นต่อไปนี้ โปรดทราบว่า Oracle VM Server ไม่แนะนำเพราะใกล้สิ้นสุดการสนับสนุน (สิ้นสุดการสนับสนุนหลัก: มีนาคม 2021, สิ้นสุดการสนับสนุนขยาย: มิถุนายน 2024)

ที่สำคัญ ข้อความระบุว่า “หากกำหนดคอร์เฉพาะในเอกสารด้านล่าง” เพื่อให้ได้รับการยอมรับว่าเป็น Hard Partitioning ต้องปฏิบัติตามเงื่อนไขทั้งสองข้อต่อไปนี้ Oracle Linux KVM เพียงอย่างเดียวไม่สามารถตอบสนองความต้องการได้

  • ใช้ Oracle Linux KVM
  • คอร์ที่ใช้ถูกจำกัดตามวิธีที่อธิบายในเอกสาร

เคล็ดลับ: แนวคิดสำหรับคอนเทนเนอร์ เช่น Kubernetes

คอนเทนเนอร์ Docker และ Kubernetes ยังถูกใช้กันทั่วไปในปัจจุบัน นโยบายการแบ่งพาร์ติชัน Oracle ยังกล่าวถึงคอนเทนเนอร์ เช่น Kubernetes พวกมัน基本上เป็นรูปแบบหนึ่งของ Soft Partitioning ดังนั้น CPU ของโหนดทั้งหมดที่ประกอบเป็นคลัสเตอร์ Kubernetes จะต้องมีใบอนุญาต Oracle

อย่างไรก็ตาม คุณสามารถจำกัดใบอนุญาตให้กับโหนดเฉพาะโดยใช้ตัวเลือกโหนด (node selector) สำหรับคำแนะนำโดยละเอียด โปรดดูเอกสารต่อไปนี้:

การรันและการออกใบอนุญาตโปรแกรม Oracle ในคอนเทนเนอร์และ Kubernetes

Oracle Linux KVM และการกำหนดคอร์

Oracle Linux KVM คืออะไร?

Oracle Linux KVM เป็นวิธี virtualization ที่ใช้ KVM ที่ฝังอยู่ในเคอร์เนล Oracle Linux เป็น HyperVisor มันถูกฝังอยู่ในทั้ง RHCK และ UEK ไม่มีผลิตภัณฑ์ที่เรียกว่า Oracle Linux KVM และมันถูกทำให้เกิดขึ้นโดยการรวมแพ็คเกจที่สนับสนุน virtualization ใน Oracle Linux 7, Oracle Linux 8 และ Oracle Linux 9

สำหรับคำแนะนำการตั้งค่าโดยละเอียด โปรดดูคู่มือต่อไปนี้ ยังมีเครื่องมือจัดการ Oracle Linux Virtualization Manager ซึ่งเทียบเท่ากับ VMware vCenter

การกำหนดคอร์ให้กับเครื่องเสมือน

ข้อกำหนด Hard Partitioning ไม่สามารถตอบสนองได้โดยใช้ Oracle Linux KVM เพียงอย่างเดียว เพื่อตอบสนองความต้องการ ต้องกำหนดคอร์เฉพาะให้กับเครื่องเสมือนเป้าหมายโดยใช้เทคนิคที่เรียกว่า pinning เพื่อกำหนดคอร์เฉพาะ คำสั่ง olvm-vmcontrol หรือ Oracle Linux Virtualization Manager ถูกใช้

อย่างไรก็ตาม เป็นข้อจำกัดเมื่อคุณกำหนดคอร์เฉพาะให้กับเครื่องเสมือน เครื่องเสมือนนั้นจะไม่มีสิทธิ์สำหรับการย้ายแบบสด/เย็น นี่เป็นสิ่งสำคัญ ดังนั้นโปรดจำไว้

สรุป

ต่อไปนี้คือสรุปของบทความนี้ ในบทความถัดไป เราจะอธิบายวิธีการกำหนดคอร์เฉพาะ เราจะให้คำแนะนำเกี่ยวกับ Hard Partitioning กับ Oracle Linux KVM ด้วย อย่างไรก็ตาม มันค่อนข้างไม่เป็นมิตร ดังนั้นอาจไม่ทำงานได้ดีตามที่เป็น

แนวคิดใบอนุญาต Oracle ในสภาพแวดล้อมเซิร์ฟเวอร์เสมือน

  • ในสภาพแวดล้อมเซิร์ฟเวอร์เสมือน เซิร์ฟเวอร์物理พื้นฐานจะต้องถูกเรียกเก็บเงินสำหรับใบอนุญาต
  • ในสภาพแวดล้อมเซิร์ฟเวอร์เสมือนที่ประกอบด้วยเซิร์ฟเวอร์物理หลายตัว เซิร์ฟเวอร์ทั้งหมดที่สามารถย้ายแบบสด/เย็นได้ ในหลักการจะต้องถูกเรียกเก็บเงินสำหรับใบอนุญาต
  • เทคโนโลยี virtualization ที่ได้รับการรับรองจาก Oracle รวมถึง Soft Partitioning และ Hard Partitioning และใบอนุญาต Oracle สามารถจำกัดได้เฉพาะกับเทคโนโลยี Hard Partitioning
  • เทคโนโลยี virtualization ที่ใช้บนเซิร์ฟเวอร์ x86 เช่น VMware, Hyper-V และ Linux KVM ถูกจัดประเภทเป็น Soft Partitioning

ข้อยกเว้นใน Oracle Linux KVM

  • ใน Oracle Linux KVM เทคโนโลยีได้รับการยอมรับว่าเป็น Hard Partitioning เฉพาะเมื่อกำหนดคอร์เฉพาะในขั้นตอนที่กำหนด
  • เมื่อกำหนดคอร์เฉพาะใน Oracle Linux KVM การย้ายแบบสด/เย็นจะไม่สามารถใช้ได้สำหรับเครื่องเสมือนนั้น