Quay lại
2025/03/27
12. So Sánh Phần Mềm Ảo Hóa Máy Chủ
Đã khoảng 25 năm kể từ khi phần mềm ảo hóa máy chủ xuất hiện lần đầu tiên trên các hệ thống x86. Ban đầu, VMware chiếm lĩnh thị trường một cách áp đảo, nhưng hiện nay Linux KVM cũng được sử dụng rộng rãi. Các dịch vụ dựa trên Linux KVM đặc biệt phổ biến trong số các dịch vụ máy ảo do các nhà cung cấp đám mây công cộng cung cấp (như Amazon EC2 và OCI Compute).
Trong chuyên mục này, chúng tôi đã đề cập đến Oracle Linux KVM như một phần mềm ảo hóa máy chủ nhiều lần. Chúng tôi sẽ nhìn lại lịch sử của phần mềm ảo hóa máy chủ và giải thích các lựa chọn hiện tại cũng như các điểm cần xem xét khi chọn một phần mềm.
Sự Xuất Hiện và Phát Triển của Phần Mềm Ảo Hóa Máy Chủ
Phần mềm ảo hóa máy chủ đầu tiên cho hệ thống x86, VMware Workstation, được phát hành vào năm 1999. Đến năm 2001, VMware ESX Server, phiên bản đầu tiên của VMware vSphere ESXi hiện tại, được ra mắt.
Ngay cả trước khi VMware xuất hiện, công nghệ ảo hóa đã tồn tại cho các máy tính đa năng và máy chủ UNIX cao cấp để chia một máy chủ duy nhất thành nhiều máy chủ, nhưng việc nó trở nên khả dụng trên các hệ thống x86 giá rẻ là một cú sốc.
Kể từ đó, ảo hóa máy chủ đã trở nên phổ biến nhờ vào sự cải thiện đáng kể về hiệu suất phần cứng và sự phát triển của phần mềm ảo hóa máy chủ. Ở đây, chúng tôi sẽ đề cập ngắn gọn đến sự cải thiện về hiệu suất phần cứng và nhìn lại lịch sử của phần mềm ảo hóa máy chủ.
Cải Thiện Hiệu Suất Phần Cứng
Ảnh hưởng lớn nhất đến sự phổ biến của ảo hóa máy chủ là sự cải thiện về hiệu suất phần cứng. Hiện nay, ngay cả các máy chủ cấp thấp cũng được trang bị CPU với khoảng bốn lõi, và không hiếm khi thấy CPU có hơn 50 lõi. Ảo hóa máy chủ đã trở thành một công nghệ không thể thiếu để sử dụng hiệu quả các máy chủ này.
Ngoài ra, hiệu suất phần cứng đã được cải thiện đáng kể giữa 20 năm trước và bây giờ.
- CPU đa lõi và nhiều lõi
- Số lượng luồng CPU tăng với Hyper-Threading và Đồng Thời Đa Luồng (SMT)
- Công nghệ hỗ trợ ảo hóa CPU như Intel VT và AMD-V (AMD SVM)
- Sự phổ biến của bộ nhớ dung lượng lớn trong phạm vi hàng trăm gigabyte đến terabyte
- Tăng tốc truy cập đĩa với SSD/NVMe
Sự Phát Triển của Phần Mềm Ảo Hóa Máy Chủ
Có nhiều phần mềm ảo hóa máy chủ hiện có cho đến nay. Ở đây chúng tôi sẽ giới thiệu các phần mềm chính đã được phát hành từ trước đến nay.
Kể từ khi VMware xuất hiện
Với VMware ESX (nay là VMware ESXi), ảo hóa hiệu quả bằng hypervisor đã trở nên khả thi. Ngoài ra, nó hiện có nhiều chức năng, như di chuyển trực tiếp bằng vMotion và sự xuất hiện của công cụ quản lý mạnh mẽ, vCenter Server.
Nếu bạn xem trang web của VMware, bạn có thể thấy rằng chỉ riêng VMware vSphere đã có nhiều phiên bản với hàng loạt chức năng đa dạng. Ngoài ra, nhiều sản phẩm liên quan như vSAN và NSX cũng đã được phát hành.
Xen
Xen là hypervisor đầu tiên xuất hiện trong Linux. Phiên bản đầu tiên được phát hành vào năm 2003, và kể từ đó, Citrix Systems, Oracle và các công ty khác đã phát hành các hypervisor dựa trên Xen.
Sản phẩm do Oracle phát hành vào thời điểm này là Oracle VM Server cho x86. Oracle VM Server cho phép phân vùng cứng, điều mà trước đây không được phép trong các môi trường ảo hóa như VMware.
Oracle VM Server vẫn đang được sử dụng, nhưng Hỗ trợ Cao cấp đã kết thúc, và đã được thông báo rằng Hỗ trợ Mở rộng sẽ kết thúc vào tháng 6 năm 2024. Sản phẩm kế thừa là Oracle Linux KVM, sẽ được mô tả sau.
Linux KVM
KVM (Máy Ảo Dựa trên Kernel) được hợp nhất vào kernel chính của Linux vào năm 2007. Ban đầu, nó kém hơn vì Xen vượt trội (Amazon EC2 ban đầu cũng dựa trên Xen). Tuy nhiên, kể từ khi được tích hợp vào kernel chính, nó dần chiếm ưu thế, và hiện nay KVM là hypervisor chủ đạo của Linux.
Ngoài ra, nhiều đám mây công cộng, như Amazon Web Services, Oracle Cloud Infrastructure và Google Cloud, sử dụng các hệ thống dựa trên Linux KVM.
KVM được bao gồm trong kernel Linux và do đó có sẵn trong hầu hết các bản phân phối Linux hiện được phát hành.
Oracle Linux là một trong số đó, và không có sản phẩm nào gọi là Oracle Linux KVM. Bạn có thể sử dụng KVM với Oracle Linux thông thường. Ngoài ra, bằng cách kết hợp với Oracle Linux Virtualization Manager được phát hành vào năm 2019, bạn không chỉ có thể đạt được quản lý tích hợp mà còn có thể thực hiện phân vùng cứng tương tự như Oracle VM Server.
Một ví dụ về sản phẩm chuyên biệt cho ảo hóa là Red Hat Virtualization (trước đây gọi là Red Hat Enterprise Virtualization), được Red Hat phát hành vào năm 2009.
Sản phẩm này được tối ưu hóa cho môi trường ảo và đi kèm với các công cụ quản lý, nhưng đã được thông báo rằng thời gian hỗ trợ bảo trì sẽ kết thúc vào năm 2022, và giai đoạn hỗ trợ vòng đời mở rộng dài nhất sẽ kết thúc vào tháng 8 năm 2026.
Red Hat Virtualization hiện được tích hợp vào nền tảng container Red Hat OpenShift và tồn tại dưới dạng tính năng gọi là Red Hat OpenShift Virtualization.
Microsoft Hyper-V
Hyper-V được giới thiệu vào năm 2008 như một trong những tính năng của Windows Server. Ban đầu, nó gặp khó khăn với hiệu suất không đủ và số lượng hệ điều hành khách được hỗ trợ ít, nhưng hiện nay nó đã được áp dụng làm nền tảng cho Azure. Một số phiên bản của Windows 8 trở lên cũng có Hyper-V client, nhưng bài viết này tập trung vào Hyper-V của Windows Server.
Các Lựa Chọn Khác
Cho đến nay chúng tôi đã giới thiệu các hypervisor chính, nhưng trong những năm gần đây, các công nghệ ảo hóa máy chủ khác cũng được sử dụng. Chúng tôi sẽ giới thiệu một vài trong số đó ở đây. Tuy nhiên, vì chúng được định vị khác với các hypervisor mà chúng tôi đã giải thích cho đến nay, chúng sẽ không được đưa vào so sánh trong chương tiếp theo.
Sản phẩm này được phân loại là Nutanix
Cơ Sở Hạ Tầng Siêu Hội Tụ (HCI). Đây là sản phẩm kết hợp các chức năng cần thiết cho ảo hóa máy chủ thành một, bao gồm tất cả các thành phần của máy chủ, lưu trữ, mạng và phần mềm. Nó được cài đặt sẵn, vì vậy có thể xây dựng trong thời gian ngắn, và tất cả được cung cấp bởi một nhà cung cấp duy nhất, giúp giảm độ phức tạp và chi phí vận hành.
Là một hypervisor, Nutanix AVH dựa trên Linux KVM có thể được sử dụng mặc định, và các hypervisor bên ngoài như ESXi cũng có thể được sử dụng.
Nhược điểm là khó xây dựng với số lượng lõi CPU mong muốn vì cấu hình máy chủ bị giới hạn, và có giới hạn về hiệu suất I/O vì đây là lưu trữ dựa trên phần mềm. Tuy nhiên, Nutanix cũng có thể sử dụng lưu trữ bên ngoài.
OpenStack
OpenStack là phần mềm để xây dựng môi trường điện toán đám mây. Nó chủ yếu được sử dụng trong môi trường đám mây riêng và bao gồm máy ảo, lưu trữ, mạng, công cụ quản lý, v.v. Nó hỗ trợ các hypervisor như KVM, ESXi và Hyper-V.
Ban đầu, nó được kỳ vọng là một môi trường ảo giá rẻ, nhưng do cấu trúc phức tạp, khó xây dựng và vận hành, chu kỳ phát hành ngắn sáu tháng và thời gian bảo trì hạn chế, hiện nay nó được sử dụng làm cơ sở hạ tầng của một số công ty công nghệ và nhà cung cấp đám mây công cộng.
OpenStack cũng được phát hành dưới dạng bản phân phối, như Red Hat OpenStack Platform.
Bảng 01: Bảng tương thích thành phần OpenStack và đám mây công cộng
OpenStack | AWS | OCI | |
---|---|---|---|
Tính toán | Nova | EC2 | Compute |
Mạng | Neutron | VPC | VCN |
Lưu trữ khối | Cinder | EBS | Block Volume |
Lưu trữ đối tượng | Swift | S3 | Object Storage |
Công cụ quản lý vận hành | Horizon | Management Console | OCI Console |
Container
Bắt đầu với Docker xuất hiện vào năm 2013, Kubernetes đã trở thành tiêu chuẩn như một bộ điều phối cơ sở hạ tầng container vào khoảng năm 2018. Ảo hóa máy chủ sử dụng container có khả năng hợp nhất cao hơn, nhanh hơn và nhẹ hơn so với hypervisor. Nó cũng tương thích với DevOps, vì vậy được các kỹ sư ứng dụng tiên tiến đón nhận.
Tuy nhiên, việc sử dụng nó trong môi trường sản xuất tại chỗ bị hạn chế vì các lý do sau, đặc biệt khi có các ứng dụng hiện có.
- Chu kỳ phát hành Kubernetes nhanh (một phiên bản được hỗ trợ trong chín tháng), và bản thân Kubernetes cùng hệ sinh thái phát triển với tốc độ chóng mặt, khiến khó theo kịp.
- Khắc phục sự cố khó hơn so với máy ảo
- Các ứng dụng hiện có cần được sửa đổi vì cơ chế khác với máy ảo.
Vấn đề 1 có thể được giảm thiểu bằng cách sử dụng dịch vụ quản lý trong đám mây công cộng, nhưng điều này không khả dụng tại chỗ.
So Sánh Phần Mềm Ảo Hóa Máy Chủ
Cho đến nay, chúng tôi đã giới thiệu một số phương pháp ảo hóa máy chủ. Lần này, chúng tôi sẽ so sánh ba sản phẩm sau như các hypervisor tại chỗ.
- VMware vSphere
- Microsoft Hyper-V
- Oracle Linux KVM
Thực tế, 10 năm trước, VMware vượt trội một cách áp đảo. Tuy nhiên, kể từ đó, sự phổ biến của đám mây công cộng và việc nhiều nhà cung cấp đám mây công cộng sử dụng Linux KVM đã cải thiện đáng kể, và hiện nay không có sự khác biệt về các chức năng cơ bản như tính năng, hiệu suất và độ ổn định (Azure sử dụng Hyper-V). Một số kết quả khảo sát thậm chí cho thấy KVM vượt trội về khả năng mở rộng.
Ví dụ, Hệ thống AWS Nitro, hình thành cơ sở của Amazon EC2, bao gồm phần cứng sử dụng SoC (Hệ thống trên Chip) chuyên dụng và hypervisor dựa trên KVM.
Trong so sánh phần mềm này, chúng tôi sẽ nhìn lại và so sánh tổng quan cũng như các khía cạnh chi phí và vận hành nơi xuất hiện sự khác biệt.
So Sánh Tổng Quan
Bảng sau cho thấy tổng quan cơ bản và các tính năng chính của từng hypervisor. Có các bảng so sánh chi tiết hơn ngoài kia, nhưng không có nhiều khác biệt giữa chúng, vì vậy chúng tôi sẽ để ở mức này. Vui lòng chỉ xem bảng này để có cái nhìn tổng quan về từng cái.
Bảng 02: So Sánh Hypervisor (Cơ Bản)
*1: Điều này chỉ cho biết hypervisor có chức năng đó, nhưng nó có thể không hoạt động tùy thuộc vào cài đặt máy chủ và khách.
So Sánh Chi Phí
Sự khác biệt lớn nhất là chi phí giấy phép và hỗ trợ. VMware và Hyper-V có định giá phức tạp và một số phần không được công khai, vì vậy tôi sẽ không đưa ra giá cụ thể, nhưng nếu bạn từng nhận báo giá cho từng cái, bạn sẽ biết rằng Oracle Linux KVM rẻ hơn đáng kể. Ngoài ra, nếu bạn sử dụng sản phẩm Oracle, nó được chứng nhận là phân vùng cứng, vì vậy bạn có thể giảm đáng kể chi phí giấy phép Oracle của mình.
Bảng 03: So Sánh Hypervisor (Chi Phí)
So Sánh Khía Cạnh Vận Hành
Ngược lại với khía cạnh chi phí, Oracle Linux KVM kém hơn về mặt vận hành. Ngay cả khi máy chủ của nhà cung cấp yêu thích của bạn không được hỗ trợ chính thức, bạn có thể giải quyết vấn đề hỗ trợ bằng cách sử dụng Oracle x86 Server của Oracle. Vấn đề là thiếu các công cụ bên thứ ba như sao lưu và các kỹ sư có kiến thức chuyên môn.
Bảng 04: So Sánh Hypervisor (Vận Hành)
Tóm Tắt
Bây giờ khi sự khác biệt về chức năng cơ bản, hiệu suất và độ ổn định đã thu hẹp, các điểm quan trọng để so sánh là “chi phí” và “vận hành.” Nếu bạn có ngân sách lớn và muốn vận hành an toàn, VMware là một lựa chọn mạnh mẽ. Ngoài ra, nếu bạn sử dụng nhiều Windows Server, Hyper-V sẽ có độ tương thích cao.
Oracle Linux KVM hấp dẫn đối với những người quan tâm đến chi phí. Nó miễn phí giấy phép và hỗ trợ rẻ. Đặc biệt khi sử dụng sản phẩm Oracle, sự khác biệt về giá với các công ty khác trở nên rõ rệt hơn vì bạn có thể sử dụng phân vùng cứng. Mối quan ngại còn lại là khía cạnh vận hành. Việc này được giải quyết bằng cách đào tạo kỹ sư nội bộ hay bởi một đối tác tốt có thể được quyết định bởi chính sách và sự gặp gỡ của từng công ty.
Để tham khảo, Oracle đã công bố một tài liệu so sánh giữa KVM và VMware vSphere, mà tôi muốn giới thiệu.