TÌM HIỂU VỀ CÔNG NGHỆ ẢO HÓA – HYPERVISOR TRONG ĐIỆN TOÁN ĐÁM MÂY

1: TỔNG QUAN VỀ ẢO HÓA

1.1. Ảo hóa là gì

Ảo hóa (Virtualization) : là một thuật ngữ trong ngành công nghiệp máy tính ra đời từ những năm 60. Ban đầu thuật ngữ này được dùng để chỉ các phương pháp để thực hiện chạy nhiều dịch vụ trên cùng một máy tính lớn. Sau này nó được dùng để chỉ các phương pháp tạo ra một phiên bản ảo của một cái gì đó như máy ảo (virtual machine -VM ), ổ đĩa ảo (virtual disk ), mạng ảo ( virtul network). Nói chung là khi tạo ra cái gì không phải thật mà dùng như thật thì chúng ta kêu là ảo hóa.

1.2. Lợi ích của ảo hóa

Ảo hóa đóng vai trò quan trọng đối với doanh nghiệp, tổ chức bởi vì công nghệ này cho phép tương tác linh hoạt hơn với tài nguyên phần cứng. Thay vì phụ thuộc vào máy chủ vật lý tốn kém về điện năng, không gian lưu trữ và công sức bảo trì, ảo hóa chuyển đổi phần cứng thành hình thức phần mềm. Việc quản trị cơ sở hạ tầng trở nên đơn giản hơn, tương tự như sử dụng một ứng dụng trực tuyến.

Ảo hóa mang lại nhiều lợi ích cho cả trung tâm dữ liệu tại chỗ (on-premises) và trên nền tảng đám mây (Cloud) trong việc hỗ trợ hoạt động CNTT :

  • Hiệu quả sử dụng tài nguyên
  • Quản lý dễ dàng hơn
  • Nhanh chóng phục hồi sau sự cố
  • Hiệu quả về chi phí

1.2.1. Hiệu quả sử dụng tài nguyên

Ảo hóa giúp tận dụng tối đa tài nguyên,cải thiện hiệu xuất sử dụng tài nguyên phần cứng tại trung tâm dữ liệu. Thay vì mỗi máy chủ chạy trên một hệ thống máy tính riêng, nhiều máy chủ ảo có thể hoạt động trên cùng một hệ thống. Việc này cho phép phân bổ tài nguyên linh hoạt theo nhu cầu, giảm số lượng máy chủ vật lý, tiết kiệm không gian trung tâm dữ liệu, điện năng, chi phí máy phát điện và làm mát.

1.2.2. Quản lý dễ dàng hơn

Công nghệ ảo hóa giúp đơn giản hóa quản lý hệ thống, cho phép quản lý tập trung và tự động hóa các tác vụ CNTT thông qua phần mềm. Quản trị viên có thể dễ dàng triên khai , cấu hình, và sao chép máy ảo theo mẫu chuẩn, loại bỏ các thao tác thủ công dễ gây lỗi và tiết kiệm thời gian.

1.2.3. Nhanh chóng phục hồi sau sự cố

khi máy chủ vật lý gặp sự cố, máy chủ sao lưu không phải lúc nào cũng sẵn sàng hoặc đã được cập nhật. Tuy nhiên nếu trung tâm dữ liệu được ảo hóa, thì quá trình diễn ra nhanh chóng, đơn giản. Cũng có các công cụ sao lưu ảo giúp đẩy nhanh quá trình này chỉ mất vài phút . Ảo hóa còn cho phép quản trị viên chạy nhiều máy ảo dự phòng cùng lúc và chuyển đổi dự phòng giữa chúng khi có sự cố ( tìm hiểu thêm về HA, tính sẵn sàng của hệ thống ) và khôi phục hệ thống về trạng thái hoạt động nhanh hơn và hiệu quả hơn so với máy chủ vật lý truyền thống và giúp giảm thời gian chết tối thiểu.

1.2.4. Hiệu quả về chi phí

Ảo hóa giúp giảm chi phí mua sắm phần cứng, bảo trì và tiêu thụ năng lượng. Việc hợp nhất các máy chủ vật lý thành máy ảo giúp giảm số lượng máy chủ cần thiết trong công ty và trung tâm dữ liệu, tiết kiệm cả chi phí vốn và vận hành.

1.3. Các thành phần chính của ảo hóa

Ảo hóa dựa trên một số thành phần chính để tạo và quản lý môi trường ảo. Mỗi thành phần đóng vai trò quan trọng trong việc đảm bảo phân bổ tài nguyên hiệu quả để nhiều máy ảo (VM) có thể chạy đồng thời mà không bị gián đoạn.

  • Máy vật lý ( physical machine )
  • Máy ảo ( virtual machine – VM )
  • Hypervisor

1.3.1. Máy vật lý ( physical machine )

Máy vật lý, hay còn gọi là máy chủ ( server ), là phần cứng cung cấp tài nguyên CPU, bộ nhớ, lưu trữ và mạng cho các máy ảo.

1.3.2. Máy ảo ( virtual machine – VM )

Máy ảo ( VM ) là một môi trường ảo mô phỏng máy tính vật lý dưới dạng phần mềm. Có một hoặc nhiều VM chạy trên máy chủ.

Máy ảo thường bao gồm nhiều tệp, bao gồm cấu hình, dung lượng lưu trữ cho ổ cứng ảo và các thành phần phụ thuộc khác. Bằng cách chia sẻ tài nguyên hệ thống giữa các máy ảo, ảo háo mang lại khả năng mở rộng theo nhu cầu, hiệu quả và tiết kiệm chi phí.

1.3.3. Hypervisor

Hypervisor hay còn gọi là Virtual machine monitor (VMM) là từ dùng để chỉ các phần mềm, firmware hoặc thậm chí là phần cứng chuyên dụng dùng để tạo ra các máy ảo (VM) . Chúng ta sẽ đi sâu vào nó ở chương 2.

1.4. Các loại ảo hóa

Ngoài ảo hóa máy chủ, nhiều loại cơ sở hạ tầng CNTT khác nhau có thể được ảo hóa để mang lại những lợi ích đáng kể cho các nhà quản lý CNTT nói riêng và toàn doanh nghiệp nói chung. Các loại ảo hóa bao gồm:

  • Desktop virtualization
  • Network virtualization
  • Storage virtualization
  • Data virtualization
  • Application virtualization
  • Data center virtualization
  • CPU virtualization
  • GPU virtualization
  • Linux virtualization
  • Cloud virtualization

 

1.4.1. Desktop virtualization 

Desktop virtualization cho phép bạn chạy nhiều hệ điều hành desktop , mỗi hệ điều hành trong một VM riêng trên cùng một máy tính.

Có hai loại desktop virtualization:

Virtual desktop infrastructureVirtual desktop infrastructure (VDI) chạy nhiều máy tính desktop trong các máy ảo (VM) trên một máy chủ trung tâm và truyền phát chúng đến người dùng đăng nhập trên các thiết bị máy khách mỏng. Bằng cách này, VDI cho phép một tổ chức cung cấp cho người dùng quyền truy cập vào nhiều hệ điều hành khác nhau từ bất kỳ thiết bị nào (ví dụ: máy tính xách tay, máy tính để bàn), mà không cần cài đặt hệ điều hành cục bộ trên từng thiết bị.

Local desktop virtualization: chạy một chương trình quản lý ảo trên máy tính cục bộ, cho phép người dùng chạy một hoặc nhiều hệ điều hành bổ sung trên máy tính đó và chuyển đổi từ hệ điều hành này sang hệ điều hành khác khi cần mà không cần thay đổi bất cứ điều gì về hệ điều hành chính.

 

1.4.2. Network virtualization

Ảo hóa mạng sử dụng phần mềm để tạo ra một “khung nhìn” về mạng mà quản trị viên có thể sử dụng để quản lý mạng từ một bảng điều khiển duy nhất. Nó trừu tượng hóa các thành phần và chức năng phần cứng (ví dụ: kết nối, bộ chuyển mạch, bộ định tuyến) và trừu tượng hóa chúng thành phần mềm chạy trên trình quản lý ảo. Quản trị viên mạng ảo có thể sửa đổi và điều khiển các thành phần này mà không cần chạm vào các thành phần vật lý bên dưới, giúp đơn giản hóa đáng kể việc quản lý mạng .

Các loại ảo hóa mạng bao gồm:

Software-defined networking (SDN):  Phương pháp tiếp cận kiến trúc mạng , mạng được định nghĩa bằng phần mềm , ảo hóa phần cứng điều khiển định tuyến lưu lượng mạng. Nó thực hiện điều này thông qua một nền tảng tập trung gọi là mặt phẳng điều khiển (control plane), giúp quản lý cơ sở hạ tầng CNTT và định hướng lưu lượng mạng.

Network function virtualization: Network function virtualization ảo hóa một hoặc nhiều thiết bị phần cứng cung cấp chức năng  mạng cụ thể (ví dụ: tường lửa,  bộ cân bằng tải , bộ phân tích lưu lượng), giúp các thành phần đó dễ cấu hình, cung cấp và quản lý hơn.

1.4.3. Storage virtualization

Ảo hóa lưu trữ cho phép tất cả các thiết bị lưu trữ trên mạng, dù được cài đặt trên máy chủ riêng lẻ hay thiết bị lưu trữ độc lập, đều có thể được truy cập và quản lý như một thiết bị lưu trữ duy nhất. Cụ thể, ảo hóa lưu trữ hợp nhất tất cả các khối lưu trữ thành một nhóm dùng chung duy nhất, từ đó chúng có thể được gán cho bất kỳ máy ảo (VM) nào trên mạng khi cần. Ảo hóa lưu trữ giúp việc cung cấp lưu trữ cho VM dễ dàng hơn và tận dụng tối đa tất cả dung lượng lưu trữ khả dụng trên mạng.

Các nhà cung cấp dịch vụ đám mây dựa vào công nghệ ảo hóa lưu trữ để cung cấp các dịch vụ lưu trữ đám mây , bao gồm lưu trữ khối , lưu trữ đối tượng và lưu trữ tệp .

 

1.4.4. Data virtualization

Các doanh nghiệp hiện đại lưu trữ dữ liệu từ nhiều ứng dụng bằng cách sử dụng nhiều định dạng tệp ở nhiều vị trí khác nhau, từ đám mây đến hệ thống phần cứng và phần mềm tại chỗ. Ảo hóa dữ liệu cho phép bất kỳ ứng dụng nào truy cập tất cả dữ liệu đó, bất kể nguồn, định dạng hay vị trí.

Các công cụ ảo hóa dữ liệu tạo ra một lớp phần mềm giữa các ứng dụng truy cập dữ liệu và các hệ thống lưu trữ dữ liệu. Lớp này sẽ dịch yêu cầu hoặc truy vấn dữ liệu của ứng dụng khi cần và trả về kết quả có thể trải rộng trên nhiều hệ thống. Ảo hóa dữ liệu có thể giúp phá vỡ các rào cản dữ liệu khi các loại tích hợp khác không khả thi, không mong muốn hoặc không đủ chi phí.

1.4.5. Application virtualization

Ảo hóa ứng dụng chạy phần mềm ứng dụng mà không cần cài đặt trực tiếp trên hệ điều hành của người dùng. Công nghệ này khác với ảo hóa máy tính để bàn hoàn chỉnh vì chỉ có ứng dụng chạy trong môi trường ảo, còn hệ điều hành trên thiết bị của người dùng cuối vẫn chạy bình thường.

Có ba loại ảo hóa ứng dụng:

  • Ảo hóa ứng dụng cục bộ:  Trong trường hợp này, toàn bộ ứng dụng chạy trên thiết bị đầu cuối, tuy nhiên nó chạy trong môi trường thời gian chạy thay vì trên phần cứng gốc.
  • Phát trực tuyến ứng dụng:  Với phát trực tuyến ứng dụng, ứng dụng sẽ nằm trên một máy chủ gửi các thành phần phần mềm nhỏ để chạy trên thiết bị của người dùng cuối khi cần.
  • Ảo hóa ứng dụng dựa trên máy chủ:  Trong trường hợp này, ứng dụng chạy hoàn toàn trên máy chủ chỉ gửi giao diện người dùng đến thiết bị khách.

1.4.6. Data center virtualization

Ảo hóa trung tâm dữ liệu tóm tắt hầu hết phần cứng của trung tâm dữ liệu thành phần mềm, cho phép quản trị viên chia một trung tâm dữ liệu vật lý thành nhiều trung tâm dữ liệu ảo cho các máy khách khác nhau.

Mỗi khách hàng có thể truy cập cơ sở hạ tầng riêng dưới dạng dịch vụ (IaaS) của mình, chạy trên cùng một phần cứng vật lý cơ bản. Trung tâm dữ liệu ảo cung cấp một lối vào dễ dàng cho điện toán đám mây, cho phép công ty nhanh chóng thiết lập một môi trường trung tâm dữ liệu hoàn chỉnh mà không cần mua phần cứng cơ sở hạ tầng.

1.4.7. CPU virtualization

Ảo hóa bộ xử lý trung tâm (CPU) là công nghệ nền tảng cho phép triển khai các chương trình quản lý siêu giám sát, máy ảo và nhiều hệ điều hành khác nhau. Công nghệ này cho phép chia một CPU thành nhiều CPU ảo để nhiều máy ảo (VM) sử dụng.

Lúc đầu, ảo hóa CPU hoàn toàn được xác định bằng phần mềm, nhưng nhiều bộ xử lý hiện nay bao gồm các bộ lệnh mở rộng hỗ trợ ảo hóa CPU, giúp cải thiện hiệu suất VM.

1.4.8. GPU virtualization

Bộ xử lý đồ họa (GPU) là bộ xử lý đa lõi đặc biệt giúp cải thiện hiệu suất tính toán tổng thể bằng cách đảm nhiệm các tác vụ xử lý đồ họa hoặc toán học nặng. Ảo hóa GPU cho phép nhiều máy ảo (VM) sử dụng toàn bộ hoặc một phần sức mạnh xử lý của một GPU duy nhất để xử lý video, AI và các ứng dụng đồ họa hoặc toán học chuyên sâu khác nhanh hơn.

Hai loại GPU chính trong môi trường ảo hóa là:

  • GPU truyền qua:  Các GPU này cho phép toàn bộ GPU có sẵn cho một hệ điều hành khách duy nhất.
  • VGPU chia sẻ:  VGPU chia sẻ phân chia các lõi GPU vật lý thành nhiều GPU ảo (vGPU) để các máy ảo (VM) trên máy chủ sử dụng.

1.4.9. Linux virtualization

Linux có trình quản lý siêu máy ảo riêng,  kernel-based virtual machine (KVM), hỗ trợ các phần mở rộng bộ xử lý ảo hóa của Intel và AMD để tạo VM dựa trên x86 từ bên trong hệ điều hành máy chủ Linux.

Là một hệ điều hành mã nguồn mở , Linux có khả năng tùy chỉnh cao. Bạn có thể tạo các máy ảo (VM) chạy các phiên bản Linux được thiết kế riêng cho khối lượng công việc cụ thể hoặc các phiên bản bảo mật cao hơn cho các ứng dụng nhạy cảm hơn.

1.4.10. Cloud virtualization

Bằng cách ảo hóa máy chủ, bộ lưu trữ và các tài nguyên trung tâm dữ liệu vật lý khác, các nhà cung cấp điện toán đám mây có thể cung cấp  nhiều dịch vụ cho khách hàng, bao gồm:

  • Cơ sở hạ tầng dưới dạng dịch vụ (IaaS):  Mô hình phân phối IaaScung cấp máy chủ, bộ lưu trữ và tài nguyên mạng ảo hóa mà bạn có thể cấu hình dựa trên yêu cầu của chúng.
  • Nền tảng dưới dạng dịch vụ (PaaS):  Mô hình dịch vụ PaaScung cấp các công cụ phát triển ảo hóa, cơ sở dữ liệu và các dịch vụ đám mây khác mà bạn có thể sử dụng để xây dựng các ứng dụng và giải pháp đám mây của riêng mình.
  • Phần mềm dưới dạng dịch vụ (SaaS):  Phần mềm dưới dạng dịch vụđề cập đến các ứng dụng được lưu trữ trên đám mây. SaaS là dịch vụ đám mây được sử dụng rộng rãi nhất.

2: TÌM HIỂU VỀ HYPERVISOR

2.1. Hypervisor là gì ?

Như đã nói đến ở chương 1. Hypervisor là một phần mềm hoặc phần cứng giúp tạo và quản lý các máy ảo ( VM ). Nó cho phép nhiều hệ điều hành chạy đồng thời trên cùng một máy vật lý bằng cách chia sẻ tài nguyên phần cứng. Nói đơn giản thì muốn ảo hóa máy tính thì cài hypervisor vào nó.

2.2. Phân loại Hypervisor

Hipervisor có 2 loại chính :

Type 1: Bare-Meta Hypervisor ( Hypervisor cấp 1)

– Chạy trực tiếp trên phần cứng ( không cần hệ điều hành host).

– Hiệu suất cao, thường dùng trong môi trường doanh nghiệp.

Ví dụ:

  • VMware ESXi
  • Microsoft Hyper-V (Standalone)
  • KVM (Linux Kernel-based Virtual Machine)
  • Nutanix
  • Oracle VM Server

Ví dụ thực tế:

  • Data Center, Cloud (AWS, Google Cloud, Azure) sử dụng KVM hoặc VMware ESXiđể quản lý hàng nghìn máy ảo.

 

Type 2: Hosted Hypervisor (Hypervisor cấp 2)

– Chạy trên hệ điều hành host (Windows, Linux, macOS).

– Dễ sử dụng, phù hợp để chạy máy ảo trên laptop/PC cá nhân.

Ví dụ:

  • VMware Workstation
  • Oracle VirtualBox
  • Microsoft Hyper-V (trên Windows 10, 11)
  • QEMU

Ví dụ thực tế

  • Chạy Ubuntu trên Windows bằng VirtualBox để thử nghiệm Linux.
  • Tạo máy ảo Windows 10 trên Windows bằng VMware Workstation.

2.3. Hypervisor hoạt động như thế nào?

Hypervisor tạo ra một lớp ảo hóa giữa phần cứng và hệ điều hành, giúp mỗi máy ảo (Guest OS) có thể sử dụng tài nguyên như CPU, RAM, Disk, Network mà không ảnh hưởng đến nhau.

Quy trình hoạt động:

  1. Hypervisor kiểm soát phần cứng (CPU, RAM, Disk, Network).
  2. Hypervisor tạo máy ảo (VM) với tài nguyên giới hạn.
  3. Guest OS chạy trên máy ảo như một hệ điều hành độc lập.
  4. Hypervisor quản lý và phân phối tài nguyên theo nhu cầu.

Ví dụ:

  • Trên một server vật lý có 64GB RAM, bạn có thể tạo:
  • VM1: Ubuntu (16GB RAM, 4 vCPU)
  • VM2: Windows Server (32GB RAM, 8 vCPU)
  • VM3: CentOS (8GB RAM, 2 vCPU)

Hypervisor đảm bảo rằng các máy ảo này chạy độc lập mà không ảnh hưởng đến nhau.

2.4. Cách Hypervisor chia sẻ mạng với các máy ảo (VM)

Hypervisor ảo hóa mạng bằng cách tạo ra các mạng ảo (Virtual Network) để kết nối giữa máy ảo (VM) và máy host. Trên VMware Workstation, có 3 chế độ mạng chính là Bridger, NAT và Host-only

2.4.1. Bridged Network (Cầu nối – VM sử dụng mạng như máy thật)

  • VM có IP riêng, giống như một máy vật lý trong mạng LAN.
  • VM có thể truy cập internet và các máy khác trong mạng.
  • Các thiết bị khác trong mạng cũng có thể truy cập vào VM.

Khi nào dùng Bridged Network?

  • Khi muốn máy ảo hoạt động như một máy thật trong mạng LAN.
  • Khi cần cung cấp dịch vụ từ máy ảo (Web Server, Database, SSH, v.v.).

2.4.2. NAT (Network Address Translation – VM có mạng nhưng không thể truy cập từ bên ngoài)

  • VM có thể truy cập internet, nhưng không thể truy cập trực tiếp từ mạng bên ngoài.
  • VM sử dụng địa chỉ IP nội bộ riêng (168.xxx.xxx) do VMware cấp.
  • Host đóng vai trò NAT (chuyển đổi địa chỉ mạng) để giúp VM ra internet.

Khi nào dùng NAT?

  • Khi cần máy ảo truy cập internet nhưng không cần truy cập từ mạng LAN.
  • Khi bảo vệ máy ảo khỏi mạng bên ngoài.

2.4.3. Host-Only Network (Chỉ kết nối với Host, không có internet)

  • VM chỉ có thể giao tiếp với máy Host, không có internet.
  • VMware tạo một mạng riêng biệt giữa máy Host và VM.
  • Không thể ping hoặc kết nối với các máy khác trong mạng LAN.

Khi nào dùng Host-Only

  • Khi muốn cô lập VM (thử nghiệm phần mềm, môi trường bảo mật).
  • Khi cần kết nối giữa Host và VM mà không ảnh hưởng đến mạng ngoài.
Chế độ mạng Máy ảo có internet Máy ảo có thể ping từ mạng ngoài Khi nào dùng
Bridged Khi muốn VM hoạt động như máy thật trong LAN
NAT Không Khi cần internet nhưng không cần truy cập từ ngoài.
Host-Only Không Không Khi muốn VM chỉ giao tiếp với máy host.

 

2.5. Ảo hóa so với Container hóa

Ảo hóa máy chủ tái tạo toàn bộ máy tính trên phần cứng, sau đó chạy toàn bộ hệ điều hành. Hệ điều hành này chỉ chạy một ứng dụng. Điều này hiệu quả hơn so với việc không ảo hóa, nhưng vẫn lặp lại mã và dịch vụ không cần thiết cho mỗi ứng dụng bạn muốn chạy.

Container sử dụng một phương pháp tiếp cận khác. Chúng chia sẻ một nhân hệ điều hành cơ bản, chỉ chạy ứng dụng và các phần phụ thuộc của nó, chẳng hạn như thư viện phần mềm và biến môi trường. Tính năng này giúp container nhỏ gọn hơn và triển khai nhanh hơn.

Hiện nay nhiều mô hình triển khai cũng hướng đến container với docker và k8s để khắc phụ những thiếu sót mà ảo hóa mang lại.

KẾT LUẬN

Bài viết đã trình bày toàn bộ tổng quan về ảo hóa và các thành phần cũng như cách hoạt động của công nghệ ảo hóa.

Đề tài cung cấp những góc nhìn, lý thuyết cốt cán nhất về ảo hóa và sự phát triển, ứng dụng của nó trong thời đại công nghệ hiện nay. Những lợi ích khi sử dụng ảo hóa và cách tối ưu hạ tầng mà nó mang lại.

Ảo hóa không phải là một công nghệ mới, nhưng nó chưa bao giờ là lỗi thời. Ảo hóa không chỉ đơn giản là “tạo nhiều máy ảo” mà nó bao gồm cả một hệ thống phức tạp và đòi hỏi rất nhiều hiểu biết về các thành phần cấu thành lên nó. Và đặc biệt là cách ứng dụng nó để mang lại lợi ích lớn nhất cho các doanh nghiệp và trung tâm dữ liệu.

Tổng thể, đề tài đã trình bày tổng quan về cái nhìn đối với thế giới ảo hóa. Cho đến hiện nay ảo hóa được tùy biến rất nhiều và nhiều công nghệ được sử dụng và nâng cấp khả năng ảo hóa và tận dụng cũng như khắc phục các vấn đề mà áo hóa còn thiếu sót. Tất cả đều cần lượng kiến thức rất rộng và kinh nghiệm triển khai, sử dụng để hòa mình vào thế giới ảo hóa hiện tại.

 

 

TÀI LIỆU THAM KHẢO

  1. https://www.ibm.com/think/topics/virtualization#Virtualization+marketplace+solutions
  2. https://viblo.asia/p/tan-man-ao-hoa-ai-cung-biet-nhung-cu-the-no-la-gi-Do754NV3ZM6#_cac-buoc-de-xay-dung-mot-may-chu-ao-hoa–5
  3. https://en.wikipedia.org/wiki/Virtualization#
  4. https://vietnix.vn/ao-hoa-la-gi/#ao-hoa-la-gi