Trong bài này, chúng ta sẽ xem xét các đặc điểm cấp phép của hệ điều hành Windows Server 2019, 2016 và 2012 R2 từ góc độ mô hình cấp phép mới của Microsoft. Cũng sẽ nói về quy tắc và thủ tục cấp phép khi dùng Windows Server làm guest OS trong máy ảo, bao gồm cụm HA với khả năng di chuyển máy ảo giữa các hypervisor (VMWare VMotion, Hyper-V Live Migration, v.v).
Bắt đầu từ Windows Server 2012, Microsoft đã thay đổi và đơn giản hóa mô hình cấp phép nền tảng server của mình. Bây giờ nó đáp ứng xu hướng hiện đại sử dụng rộng rãi công nghệ ảo hóa.
Các phiên bản Windows Server
Trong hầu hết các trường hợp, khi xem xét mô hình cấp phép Windows Server, nên cân nhắc hai phiên bản Standard và Datacenter của Windows Server.
Tính năng của phiên bản Standard và Datacenter của Windows Server 2012 R2 gần như giống hệt nhau trừ quyền license chạy máy ảo. Điều đó có nghĩa là bạn chọn phiên bản tùy thuộc chỉ vào số lượng máy ảo trên host vật lý thay vì tính năng cần thiết.
- Windows Server 2012 R2 Standard – license cho phép chạy tối đa hai máy ảo;
- Trong Windows Server 2012 R2 Datacenter – bạn có thể chạy số lượng không giới hạn máy ảo trên một host vật lý đơn (nhắc lại rằng các máy ảo như vậy có thể dễ dàng kích hoạt dùng AVMA – Automatic Virtual Machine Activation).
Thực tế, khi chọn phiên bản Windows Server 2012 R2 bạn cần quyết định có dùng ảo hóa hay không.
License Windows Server 2016/2019 Standard cũng cho phép chạy tối đa 2 VM với Windows Server trên cùng host vật lý.
Windows Server 2016 và 2019 Datacenter hỗ trợ một số công nghệ mới hữu ích trong ảo hóa và môi trường Azure cloud. Ví dụ, Windows Server 2016 Datacenter hỗ trợ:
- Storage Spaces Direct
- Storage Replica
- Shielded Virtual Machines
- Host Guardian Service
- Network Fabric
- Microsoft Azure Stack
Lưu ý. Chúng tôi không xem xét phiên bản Essentials và Foundation Windows Server, vì chúng dành cho doanh nghiệp nhỏ. Các OS này có một số giới hạn cụ thể và không có quyền ảo hóa. Cần lưu ý phiên bản Web Server đã bị loại bỏ hoàn toàn.
Cấp phép theo Socket (Per-Socket) trong Windows Server 2012 R2
Một license Windows Server 2012 R2 cho phép chạy OS trên một server một hoặc hai bộ xử lý (single- or dual-processor). Tức là một license bao phủ lên đến hai processor (socket) nằm trong một server vật lý (core không phải processor!). Bạn không thể chia một license cho hai server single-processor (trong trường hợp này bạn phải mua hai license Windows Server). Nếu server vật lý có hơn hai processor, bạn phải mua một license cho mỗi cặp processor. Ví dụ, cho server 4 processor bạn cần 2 license Windows Server 2012 R2.

Windows Server 2016 và 2019: Cấp phép theo Core (Per-Core Licensing)
Microsoft chuyển từ mô hình cấp phép processor vật lý sang mô hình cấp phép core (Core-based) trong Windows Server 2016 và Windows Server 2019. Điều này do xu hướng của nhà sản xuất CPU và server tăng không phải số processor, mà số core trên một socket (Microsoft không muốn mất lợi nhuận khi khách hàng bắt đầu dùng rộng rãi server multi-core). Mô hình cấp phép Windows Server 2016 và 2019 được thảo luận chi tiết trong bài này. Chú ý điểm chính:
- 1 license Windows Server 2016 cho phép cấp phép 2 core vật lý trên một server (tức Microsoft cung cấp 2 license core);
- Chi phí một license 2-core giảm 8 lần so với một license single processor cho Windows Server 2012 R2. Tuy nhiên, bạn phải mua ít nhất 8 license như vậy (cho 16 core) – đây là gói tối thiểu cho 1 host vật lý. Do đó, quy tắc cấp phép sau đúng: 1 * Windows Server 2012 R2 (2 CPU) = 8 * Windows Server 2019 (2 Core);
- Giờ cũng có license 16-core WinSvr, cho phép nhanh chóng cấp phép 1 host vật lý tiêu chuẩn (ví dụ, WinSvrSTDCore 2019 SNGL OLP 16Lic NL CoreLic);
- Tất cả core được bật trên server vật lý phải được cấp phép.
Hiểu cấp phép máy ảo Windows Server
Nếu bạn dự định dùng server vật lý làm hypervisor chạy một vài VM với Windows Server, bạn cần chọn phiên bản OS tùy thuộc vào số VM sẽ chạy trên server của bạn.
Ví dụ, bạn có server dual-processor tổng 16 core. Nếu bạn mua 8 license Windows Server 2019 Standard và cấp phép tất cả core vật lý, bạn được phép chạy tối đa 2 VM với Windows Server trên host vật lý đã cấp phép. License Datacenter cho phép chạy số lượng không giới hạn OS ảo trên host đã cấp phép.
Bạn không cần xem xét license cho máy ảo với hệ điều hành không phải Microsoft.
Điều gì xảy ra nếu bạn cần chạy hơn hai máy ảo trên server với license Standard? Bạn sẽ phải mua số license cần thiết dựa trên cân nhắc sau: một license Standard cho phép chạy 2 máy ảo.
Ví dụ, bạn muốn cấp phép server dual-processor (8 core mỗi CPU) với bốn máy ảo. Theo mô hình cấp phép Windows Server 2016 Standard, bạn cần mua 16 license dual-core Window Server Standard (2 bộ license bao phủ tất cả core vật lý) hoặc 8 license dual-core Datacenter (bạn có thể nâng cấp phiên bản Windows Server 2016 mà không cài lại).

Lưu ý thủ tục cấp phép như sau: trước tiên core vật lý được bao phủ, sau đó mới đến instance máy ảo.
Theo giá Microsoft hiện tại, đáng mua Windows Server Datacenter nếu bạn dự định chạy 14 hoặc nhiều hơn máy ảo trên một host vật lý. Nếu số VM ít hơn, tốt hơn mua vài license Standard phù hợp với core và nhu cầu VM của bạn.
Nếu bạn dùng ảo hóa trên server vật lý với Windows Server 2019, bạn chỉ có thể dùng host OS để duy trì và quản lý vai trò Hyper-V và máy ảo. Bạn không thể cài Windows Server 2019 trên server vật lý, chạy 2 VM trên nó và có ba instance Windows server đầy đủ cho tác vụ của bạn. Theo thuật ngữ Microsoft, instance OS vật lý gọi là POSE (physical operating system environment), và ảo gọi là VOSE (virtual operating system environment).
Cấp phép Windows Server và di chuyển VM giữa Host vật lý
Tiếp theo chúng ta xem xét đặc thù cấp phép nếu máy ảo Windows Server có thể di chuyển giữa các server vật lý trong farm ảo hóa (dùng VMotion, Live Migration, v.v.).
Lưu ý. Theo chính sách cấp phép Microsoft, máy ảo có thể chạy không chỉ trên Hyper-V, mà cũng trên bất kỳ nền tảng nào bạn chọn, như VMWare, XEN, v.v. Vì vậy nếu bạn cấp phép server vật lý (8x WS-Standard dual-core license) và cài VMWare ESXi / Free Hypervisor, bạn có thể chạy 2 máy ảo chạy guest Windows Server 2019.
Software Assurance (SA) cung cấp quyền chuyển license sản phẩm giữa host vật lý cho hầu hết sản phẩm server Microsoft. Nhưng Windows Server là ngoại lệ. Theo thỏa thuận cấp phép, license có thể di chuyển giữa các host một lần trong 90 ngày.
Làm thế nào để cấp phép farm ảo hóa, trong đó VM có thể di chuyển giữa hypervisor (host OS)? Trong kịch bản này, bạn sẽ phải mua số license cho mỗi server vật lý bao phủ số lượng tối đa máy ảo có thể chạy trên nó tại bất kỳ thời điểm nào (bao gồm kịch bản high availability khi tất cả máy ảo của farm được di chuyển sang một trong các host). Tức là, license máy ảo gắn liền với host vật lý và không di chuyển giữa các host cùng với VM.
Ví dụ, cho hai server vật lý single-processor riêng biệt với hai máy ảo trên mỗi cái, chúng ta cần 2×8 license Windows Server Standard.

Tuy nhiên, nếu máy ảo có thể di chuyển giữa các server này, chúng ta sẽ cần thêm một bộ 2×8 license (cung cấp rằng 4 VM có thể chạy đồng thời trên mỗi server).

Trong trường hợp phiên bản Datacenter, một bộ license sẽ đủ cho mỗi host vật lý, bao phủ tất cả core (trong cấu hình tối thiểu, 8 license Datacenter dual-core). Vì license này cho phép chạy số lượng không giới hạn VM.
Do đó, bạn nên chọn license Windows Server tùy thuộc vào số lượng tối đa VM trên một host đơn lẻ.
Tính toán license Windows Server cho ảo hóa
Dưới đây là một vài ví dụ tính license Windows Server cho host vật lý khi dùng ảo hóa.
Ví dụ 1. Có cụm Hyper-V 5 host. Mỗi server có 2 processor với 20 core. Mỗi cái sẽ chạy 10 máy ảo.
Vì 5 server gộp thành cụm Hyper-V HA, nghĩa là tiềm năng lên đến 50 máy ảo có thể chạy trên mỗi host khi di chuyển VM (failover). Theo đó, có lợi hơn mua license Datacenter.
Số license cho 1 host:
- Tổng số core – 40
- Số license 2-core (WinSvrDCCore 2019 SNGL OLP 2Lic NL CoreLic) – 20
Tổng số license 2-core (WinSvrDCCore) cho 5 server – 100.
Ví dụ 2. Chi nhánh có 1 server với 2 socket 4 core mỗi cái, trên đó chạy 4 máy ảo. Cần mua bao nhiêu license Windows Server?
Server có 8 core. Theo điều khoản cấp phép – bạn cần bao phủ ít nhất 16 core. Vì vậy, bạn cần mua 8 license Windows Server 2016 (WinSvrSTDCore 2 Core). Điều này cho phép chạy 2 VM. Để chạy thêm 2 VM, bạn cần mua thêm một bộ license core.
Vì vậy, để cấp phép server như vậy bạn cần 16 license 2-core Windows Server (WinSvrSTDCore 2019 SNGL OLP 2Lic NL CoreLic) hoặc 2 license 16-core (WinSvrSTDCore 2019 SNGL OLP 16Lic NL CoreLic).