BẠN BIẾT GÌ VỀ MÁY ẢO (Virtual Machine - VM)? (Phần 2)

Feb 07th 2023 | Kiến thức cơ bản | By TPCOMS


2 loại VM hiện nay:


VMs thường được phân loại bởi các giám sát viên quản lí hoặc bởi tính chất công việc mà VM được sử dụng để hỗ trợ. Ngoài ra, nó còn được phân thành 2 loại như sau:

  1. Máy ảo quy trình (Process VMs): Máy ảo quy trình là một môi trường lập trình tạm thời, độc lập với nền tảng để thực hiện một quy trình duy nhất như một ứng dụng. Môi trường cung cấp sự trừu tượng ở mức cao, giúp che đi phần cứng hoặc hệ điều hành bên dưới. Một máy ảo quy trình được tạo ra khi quy trình bắt đầu và bị hủy khi quy trình kết thúc. Hai ví dụ phổ biến về máy ảo quy trình là Máy ảo Java, là một phần của nền tảng Java và Common Language Runtime, được sử dụng cho .NET Framework.


  2. Máy ảo hệ thống (System VMs): Máy ảo hệ thống là một môi trường được ảo hóa hoàn toàn được lưu trữ trên một máy chủ vật lý và chạy hệ điều hành riêng của nó. VM chia sẻ tài nguyên vật lý của máy chủ lưu trữ nhưng cung cấp một môi trường hoàn chỉnh để chạy các ứng dụng và dịch vụ, giống như một máy vật lý, nhưng không có chi phí chung. Máy ảo hệ thống dựa vào một siêu giám sát để ảo hóa tài nguyên phần cứng và cung cấp cho môi trường máy ảo. Các ví dụ phổ biến về máy ảo hệ thống bao gồm những máy ảo được hỗ trợ bởi các nền tảng ảo hóa như VMware vSphere và Microsoft Hyper-V.

VM so với vùng chứa, có gì khác nhau?


Vùng chứa giống như máy ảo, ngoại trừ chúng chỉ ảo hóa hệ điều hành chứ không phải phần cứng cơ bản còn lại. Các vùng chứa bao gồm mã, công cụ hệ thống, thời gian chạy, thư viện hệ thống và các cài đặt cần thiết để chạy các ứng dụng được chứa trong vùng chứa. Đó là lý do tại sao vùng chứa thường được sử dụng cho nhiều ứng dụng chạy trên cùng một hệ điều hành. Các vùng chứa cũng được sử dụng cho các ứng dụng gốc, phân tán trên đám mây và để đóng gói các ứng dụng kế thừa để tăng tính di động và đơn giản triển khai. Docker, tham gia thị trường vào năm 2013 với tư cách là một nền tảng container dựa trên Linux, là một trong những nhà phát triển container hàng đầu.


Mặc dù các vùng chứa có chi phí thấp hơn VM và nhẹ hơn nhiều, Chúng cũng khởi động nhanh hơn, sử dụng ít tài nguyên máy chủ hơn và dễ di động hơn, làm cho chúng rất phù hợp với các công nghệ ứng dụng hiện đại như microservices, nhưng tất cả các vùng chứa chạy trên cùng một máy chủ hoặc được chuyển sang một máy chủ khác phải hỗ trợ cùng một hệ điều hành. Ngược lại, Máy ảo có thể chạy các hệ điều hành khác nhau và chúng cung cấp mức độ cô lập cao hơn; mặc dù, chúng có thể được cấu hình để giao tiếp với nhau khi cần thiết. Vì vậy, Máy ảo phù hợp hơn với các ứng dụng nguyên khối hoặc để chạy nhiều ứng dụng cùng nhau. Chúng cũng tiện dụng cho các ứng dụng cũ yêu cầu môi trường biệt lập.

VM vs. container architecture

Máy ảo chiếm nhiều dung lượng hơn vùng chứa vì chúng cần hệ điều hành khách để chạy. Mỗi vùng chứa chia sẻ hệ điều hành của máy chủ. Một số người dùng triển khai vùng chứa trong máy ảo để cải thiện bảo mật vùng chứa.

Vùng chứa và máy ảo có thể được sử dụng cùng nhau để bổ trợ cho nhau và tạo nên một môi trường tối ưu nhất cho người dùng. Mặc dù điều này làm gia tăng chi phí, nhưng lại cung cấp một lớp bảo mật bổ sung mà riêng các vùng chứa bị thiếu. Sự kết hợp này cũng giúp triển khai cơ sở hạ tầng có thể hỗ trợ khối lượng công việc hiện đại và truyền thống.

Thiết lập máy ảo 

Quá trình được sử dụng để thiết lập một máy ảo phụ thuộc vào nền tảng ảo hóa. Nhiều nền tảng cung cấp trình hướng dẫn và các tính năng khác giúp dễ dàng tạo và triển khai máy ảo. Ví dụ, trong VMware vSphere, quản trị viên có thể tạo một máy ảo từ một mẫu hoặc bản sao hoặc tạo một máy ảo duy nhất từ đầu. Đi kèm với vSphere là trình hướng dẫn Máy ảo Mới, hướng dẫn người dùng qua quá trình tạo máy ảo, cho dù là máy ảo mới hay máy ảo dựa trên mẫu hoặc bản sao. Ngược lại, Red Hat Virtualization lại có một cách tiếp cận khác để thiết lập một máy ảo. Ví dụ, để cài đặt một máy ảo Linux, người dùng sẽ thực hiện các bước sau:

  1. Tạo một máy ảo trống.

  2. Thêm một đĩa ảo để lưu trữ.

  3. Thêm giao diện mạng để kết nối máy ảo với mạng.

  4. Cài đặt hệ điều hành khách.

  5. Đăng ký VM với Mạng phân phối nội dung và đính kèm các đăng ký cần thiết.

  6. Cài đặt bất kỳ đại lý hoặc trình điều khiển khách được yêu cầu nào.

Quản lý máy ảo

Sử dụng máy ảo đi kèm với một số lưu ý về quản lý quan trọng, nhiều vấn đề có thể được giải quyết thông qua các phương pháp hay nhất về quản trị hệ thống chung và các công cụ được thiết kế để quản lý máy ảo.

Có một số rủi ro đối với việc hợp nhất, bao gồm vượt quá tài nguyên hoặc có khả năng gặp sự cố trên nhiều máy ảo do lỗi phần cứng vật lý. Mặc dù doanh nghiệp có thể tiết kiệm chi phí nhiều hơn khi máy ảo chia sẻ cùng một nền tảng phần cứng, rủi ro cũng tăng lên tương tự như vậy. Người dùng có thể đặt hàng trăm máy ảo trên cùng một phần cứng, nhưng nếu nền tảng phần cứng bị lỗi, nó có thể lấy đi hàng chục hoặc hàng trăm máy ảo. Tuy nhiên, việc sử dụng các bản sao lưu máy ảo hoặc ảnh chụp nhanh có thể giúp giảm thiểu những rủi ro đó.

Bài viết liên quan