I. Ảo hoá là gì?
Ảo hóa (Virtualization) là tiến trình tạo ra một phiên bản ảo từ tài nguyên của máy chủ vật lý. Tài nguyên có thể là không gian lưu trữ (storage), mạng (network) hay máy chủ (server).
Công nghệ ảo hóa giúp tạo ra nhiều máy ảo (Virtual Machine) từ một máy chủ vật lý (Bare Metal), mỗi máy ảo được cấp phát tài nguyên phần cứng ảo như máy vật lý: CPU, RAM, Storage, Network. Mỗi máy ảo chạy một hệ điều hành và các ứng dụng độc lập với nhau.
Hiện tại đang có 2 loại ảo hoá phổ biến trong công nghệ máy chủ ảo:
- Ảo hoá phần cứng: Full Virtualization là công nghệ ảo hoả giúp tạo ra các máy chủ ảo hoạt động với tài nguyên vật lý độc lập. Các máy ảo cùng chia sẻ tài nguyên phần cứng của máy chủ vật lý và được quản lý bởi lớp ảo hoá trung gian – được gọi là Hypervisor.
- Ảo hoá hệ điều hành: OS-level virtualization là công nghệ ảo hóa trực tiếp trên hệ điều hành, mỗi máy ảo sẽ chạy trên một ‘trạng thái’ hệ điều hành riêng và chia sẻ với nhau toàn bộ tài nguyên vật lý của máy chủ.
Trong bài viết [Phần 1] này mình sẽ giới thiệu về công nghệ ảo hoá phần cứng trước. Bài viết [Phần 2] sẽ giới thiệu về công nghệ ảo hoá hệ điều hành sau
II. Ảo hoá nền phần cứng là gì?
Ảo hoá phần cứng cho phép tạo ra các máy chủ ảo có tài nguyên và hệ điều hành hoạt động độc lập.Các máy ảo cùng chia sẻ tài nguyên phần cứng của máy chủ vật lý và được quản lý bởi lớp ảo hoá trung gian – được gọi là Hypervisor.
Có hai loại Hypervisor trong ảo hoá phần cứng:
- Type 1: máy ảo chạy trực tiếp trên phần cứng vật lý, không bị quản lý bởi Host OS. Ví dụ: Hyper-V, Xen, vSphere, KVM
- Type 2: máy ảo chạy trên nền một phần mềm hypervisor được cài đặt trên Host OS. Ví dụ: VirtualBox, Parallels Desktop, VMware Workstation,…
Bài viết này mình chỉ tập trung giới thiệu các công nghệ ảo hoá Hypervisor Type-1 – công nghệ đang được sử dụng trong ngành điện toán đám mây Cloud Computing.
III. Công nghệ ảo hoá Hypervisor Type 1
Cuộc chơi ảo hoá Hypervisor Type-1 hiện nay gồm có 4 nhân vật chính:
- Hyper-V (hậu thuẫn bởi Microsoft)
- KVM (hậu thuẫn bởi Red Hat)
- Xen (hậu thuẫn bởi Linux Foundation)
- vSphere (hậu thuẫn bởi VMware).
Dưới đây là giới thiệu sơ lược về 4 anh tài này
1. Hyper-V
Ra mắt năm 2008, Hyper-V là công nghệ ảo hoá của Microsoft trên các phiên bản Windows Server. Hyper-V là lựa chọn ảo hoá tốt nhất dành cho các máy ảo chạy Windows. Tuy nhiên bạn vẫn có thể cài đặt nhiều hệ điều hành khác trên nền tảng ảo hoá này.
Hyper-V được tích hợp sẵn trong Windows 10. Bạn chỉ cần kich hoạt thêm tính năng Hyper-V Role để biến máy tính thành một máy chủ Hyper-V. Xem hướng dẫn:
Ngoài ra, bạn còn có thể sử dụng Hyper-V miễn phí bằng cách cài đặt Windows Hyper-V Server 2019.
Hyper-V là nền tảng ảo hoá cốt lõi của dịch vụ Azure Cloud của Microsoft.
Xem chi tiết về Hyper-V: Hyper-V Technology Overview
2. KVM
KVM (Kernel-based Virtual Machine) là một công nghệ ảo hoá mã nguồn mở được phát triển bởi Red Hat. Nó được tích hợp vào Linux kernel 2.6.20 từ năm 2007, và nhanh chóng phát triển thành nền tảng ảo hoá mã nguồn mở được sử dụng phổ biến nhất hiện nay.
Do được tích hợp sẵn vào nhân Linux, nên bạn có thể sử dụng KVM trên mọi hệ điều hành Linux phổ biến: Ubuntu, Debian, CentOS,… Tuy nhiên, để tiện việc thiết lập và quản lý máy ảo, đa số mọi người sẽ sử dụng Proxmox – hệ điều hành dựa trên trên nền Debian được tối ưu cho ảo hoá.
KVM là sự lựa chọn của các công ty cung cấp dịch vụ Cloud VPS lớn như Google Compute Engine, Vultr, Linode, DigitalOcean, OVH…
Xem chi tiết: What is KVM?
3. Xen
Xen là công nghệ ảo hoá hypervisor type-1 được phát triển từ năm 2003 bởi Computer Laboratory của đại học Cambridge University. Từ 2013, XEN được phát triển bởi Linux Foundation với sự hỗ trợ từ Amazon, AMD, Bromium, CA Technologies, Calxeda, Cisco, Citrix, Google, Intel, Oracle, Samsung, and Verizon.
Hiện tại, Xen được chia thành hai phân nhánh:
- Citrix Hypervisor: phát triển bởi Citrix – công ty đã mua Xen Source từ năm 2007, và ra mắt Xen Server. Tháng 12/2017, Citrix thay đổi chính sách bản quyền, loại bỏ các tính năng cao cấp ra khỏi bản miễn phí của Xen Server, đồng thời không mở mã nguồn cho các tính năng mới.
- XCP-ng: (Xen Cloud Platform – New Generation) là dự án mã nguồn mở miễn phí được phát triển bởi Vates (một công ty khởi nghiệp của Pháp) dựa trên mã nguồn của Xen Server 7.3. XCP-NG mang đến những tính năng mà Citrix đã loại bỏ khỏi bản miễn phí, mang đến giải pháp ảo hoá Xen mã nguồn mở không bị giới hạn bởi bản quyền và tính năng cho cộng đồng.
So sánh tính năng giữa XCP-NG và Citrix Hypervisor (Free): PDF
Hai tên tuổi lớn đang sử dụng công nghệ ảo hoá Xen là AWS (Amazon Web Services) và Alibaba Cloud.
4. VMware vSphere
vSphere là nền tảng ảo hoá của VMware – công ty lớn nhất và nổi tiếng nhất trong thế giới ảo hoá. vSphere là một bộ sản phẩm gồm nhiều tính năng giúp xây dựng và quản lý hạ tầng ảo hoá dành cho doanh nghiệp: ESXi hypervisor, vCompute, vCenter, vStorage, vNetwork,… Nó là nền tảng ảo hoá được sử dụng phổ biến nhất thế giới.
Thành phần cốt lõi của vSphere là ESXi hypervisor – được cài đặt trực tiếp lên máy chủ vật lý để thiết lập máy ảo.
VMware vSphere là sự lựa chọn hàng đầu của các doanh nghiệp nhờ vào khả năng triển khai nhanh chóng, sự ổn định, tên tuổi của VMware và đội ngũ hỗ trợ chuyên nghiệp.
IV. So sánh tính năng
Dưới đây là bảng so sánh tính năng của các công nghệ ảo hoá phần cứng Hypervisor Type-1
V. Lựa chọn công nghệ nào?
Trong môi trường doanh nghiệp, việc lựa chọn công nghệ ảo hoá cho hạ tầng IT phụ thuộc vào nhiều yếu tố: tính năng, chi phí, sự ổn định, tính tương thích,… Các công ty cugn cấp dịch vụ Cloud Computing thường chọn lựa KVM hoặc Xen nhờ ưu điểm mã nguồn mở. Trong khi đó các doanh nghiệp thường chọn giải pháp Hyper-V của Microsoft hoặc vSphere của VMware bởi sự ổn định và giải pháp hỗ trợ kỹ thuật.
Tong môi trường homelab, cả 4 công nghệ ảo hoá mình đã giới thiệu trên đây đều phù hợp để bạn cài đặt và thiết lập máy ảo. Mình chia sẻ thêm một số gợi ý:
- Nếu bạn đang có sẵn 1 máy tính chạy Windows 10 giống mình, thiết lập nền tảng ảo hoá Hyper-V sẽ đơn giản và nhanh chóng nhất: xem hướng dẫn.
- Nếu có sẵn 1 máy tính không sử dụng, bạn có thể lựa chọn cài đặt giữa NCP-ng (Xen) hoặc Proxmox (KVM) để phát huy tối đa các tính năng ảo hoá mà không bị rào cản chi phí.
- Nếu bạn muốn nghiên cứu về các giải pháp của VMware nhằm phục vụ cho công việc, ESXi Free thẳng tiến! Tuy nhiên cần chú ý đến danh sách phần cứng tương thích, không phải máy nào cũng có thể cài đặt được ESXi.
Ngoài ra, nhờ có công nghệ Nested Virtualization (ảo hoá lồng nhau) bạn có thể cài đặt Proxmox, XCP-ng hay ESXi lên máy ảo của Hyper-V (hoặc ngược lại) để vọc vạch nghiên cứu thêm mà không cần phải đầu tư thêm phần cứng mới. Mình sẽ chia sẻ cách cài đặt lần lượt ESXi, Proxmox và NCP-ng lên máy ảo Hyper-V trong thời gian tới.
Trong bài viết Công nghệ ảo hoá [Phần 2] mình sẽ giới thiệu tiếp về các công nghệ ảo hoá trên nền hệ điều hành (OS-level virtualization): OpenVZ, LXC, Docker.