VPS

Hypervisor là gì? Phân biệt hai loại

Thanh Nguyễn Đăng 11 phút đọc 1 khối lệnh

Hypervisor là gì? Phân biệt hai loại
Mục lục bài viết
  1. Nó nằm ở đâu và làm gì
  2. Hai loại và chọn loại nào
  3. Vì sao máy ảo chạy nhanh gần bằng máy thật
  4. Phần thật sự chậm và cách khắc phục
  5. Cách ly tới đâu và không tới đâu
  6. Chọn loại nào cho việc gì
  7. Vào ra ổ đĩa mới là chỗ chậm
  8. Cách ly chống sự cố phần mềm, không chống phần cứng
  9. Câu hỏi thường gặp
  10. Bài viết liên quan

Trả lời nhanh: Hypervisor là lớp phần mềm nằm giữa phần cứng và các hệ điều hành khách, chia CPU, RAM, đĩa và mạng của một máy vật lý thành nhiều máy ảo độc lập. Có hai loại: loại chạy thẳng trên phần cứng dùng cho máy chủ, và loại chạy như một ứng dụng trong hệ điều hành, dùng trên máy cá nhân.

Mọi thứ trong ảo hóa đều dựa trên một khái niệm duy nhất, và hiểu nó là hiểu được vì sao máy ảo có thể chạy gần nhanh bằng máy thật, vì sao chúng cách ly được với nhau, và vì sao có những việc máy ảo làm chậm hơn hẳn máy vật lý.

Nó nằm ở đâu và làm gì

Trên một máy tính thông thường, hệ điều hành nắm toàn quyền phần cứng. Hypervisor chèn thêm một lớp bên dưới, và từ đó hệ điều hành không còn nói chuyện trực tiếp với phần cứng nữa.

Lớp này lo bốn việc.

  • Chia CPU. Cấp cho mỗi máy ảo một số lõi ảo, rồi xếp lịch cho các lõi ảo đó chạy trên lõi vật lý thật.
  • Chia bộ nhớ. Cấp cho mỗi máy ảo một vùng nhớ riêng và đảm bảo máy ảo này không đọc được vùng nhớ của máy ảo kia.
  • Giả lập thiết bị. Máy ảo nhìn thấy ổ cứng, card mạng, card màn hình như thật, trong khi thực tế chúng do hypervisor tạo ra.
  • Cách ly. Một máy ảo treo hoặc bị chiếm quyền không lan sang máy ảo bên cạnh.

Hai loại và chọn loại nào

Loại chạy thẳng trên phần cứng. Cài lên máy trần như một hệ điều hành, không có hệ điều hành nào bên dưới nó. Đây là loại dùng cho máy chủ vì hiệu năng cao và bề mặt tấn công nhỏ. Các nền tảng ảo hóa doanh nghiệp phổ biến đều thuộc nhóm này.

Loại chạy như một ứng dụng. Cài lên Windows hoặc macOS như một phần mềm bình thường, rồi tạo máy ảo bên trong. Tiện cho lập trình viên và cho việc thử phần mềm, nhưng chậm hơn vì mọi thứ phải đi qua thêm một tầng hệ điều hành.

Quy tắc chọn rất đơn giản: máy chủ chạy dịch vụ thật thì dùng loại thứ nhất, máy cá nhân để thử nghiệm thì dùng loại thứ hai.

Ranh giới giữa hai loại không tuyệt đối. Một số sản phẩm cài lên hệ điều hành nhưng khi bật lên lại đẩy hệ điều hành đó xuống thành một máy khách đặc quyền, nên xét về cơ chế thì gần với loại thứ nhất hơn.

Vì sao máy ảo chạy nhanh gần bằng máy thật

Câu trả lời nằm ở phần cứng chứ không phải ở phần mềm.

Trước khoảng năm 2006, ảo hóa phải dịch từng chỉ lệnh nhạy cảm của máy khách sang chỉ lệnh an toàn, và điều này rất chậm. Sau đó Intel và AMD đưa vào CPU một chế độ chạy riêng dành cho ảo hóa, kèm cơ chế dịch địa chỉ bộ nhớ ngay trong phần cứng.

Kết quả là phần lớn mã của máy ảo chạy trực tiếp trên CPU thật với tốc độ gần như nguyên bản. Hypervisor chỉ can thiệp khi máy khách làm những việc đặc quyền, chẳng hạn truy cập thiết bị.

Đây cũng là lý do bạn phải bật ảo hóa phần cứng trong BIOS trước khi cài bất cứ nền tảng ảo hóa nào. Không bật thì hoặc là không chạy, hoặc là chạy ở chế độ chậm hơn nhiều lần.

Phần thật sự chậm và cách khắc phục

CPU và bộ nhớ gần như không mất mát. Nơi mất hiệu năng là vào ra đĩa và mạng, vì mỗi thao tác phải đi qua lớp giả lập thiết bị.

Cách giải quyết chuẩn là dùng trình điều khiển bán ảo hóa. Thay vì giả lập một card mạng đời cũ để máy khách nhận ra, hypervisor cung cấp một thiết bị được thiết kế riêng cho môi trường ảo, và máy khách cài trình điều khiển tương ứng. Hai bên nói chuyện trực tiếp, bỏ qua phần giả lập.

Trong thực tế đây là việc bắt buộc phải làm. Một máy ảo Windows chạy với card mạng và ổ đĩa giả lập mặc định có thể chậm hơn nhiều lần so với cùng máy đó dùng trình điều khiển bán ảo hóa. Rất nhiều lời than máy ảo chạy chậm truy về đúng nguyên nhân này.

Với nhu cầu cao hơn nữa, có cơ chế chuyển tiếp hẳn một thiết bị vật lý cho máy ảo dùng độc quyền, thường dùng cho card đồ họa hoặc card mạng tốc độ cao.

Cách ly tới đâu và không tới đâu

Cần hiểu đúng giới hạn để không kỳ vọng sai.

Cách ly tốt về bộ nhớ và trạng thái. Máy ảo không đọc được bộ nhớ của máy ảo khác. Một máy ảo bị chiếm quyền thì kẻ tấn công chưa vào được các máy ảo bên cạnh.

Không cách ly về hiệu năng. Các máy ảo dùng chung CPU, đĩa và mạng. Một máy ảo chạy tác vụ nặng làm chậm cả những máy còn lại. Đây gọi là hiện tượng hàng xóm ồn ào, và cách xử là đặt giới hạn tài nguyên cho từng máy ảo.

Vẫn có rủi ro ở tầng hypervisor. Lỗ hổng cho phép thoát khỏi máy ảo là hiếm nhưng có thật, và tác động rất lớn. Vì vậy phải vá hypervisor đều đặn, và không nên đặt hệ thống nhạy cảm cùng máy chủ với môi trường chạy mã không tin cậy.

Chọn loại nào cho việc gì

Nhu cầuLoại phù hợpLý do
Máy chủ chạy nhiều máy ảo phục vụ công việc thậtLoại chạy thẳng trên phần cứngÍt lớp trung gian nên nhanh hơn và ổn định hơn
Thử một hệ điều hành khác trên máy tính cá nhânLoại chạy trên hệ điều hành sẵn cóCài trong vài phút, không đụng tới ổ đĩa đang dùng
Dựng môi trường phát triển giống máy chạy thậtCả hai đều đượcChọn theo việc bạn có máy chủ riêng hay chỉ có máy cá nhân
Chạy nhiều dịch vụ nhỏ, khởi động nhanhCân nhắc dùng vùng chứa thay vì máy ảoNhẹ hơn nhiều, nhưng mức cách ly thấp hơn

Vào ra ổ đĩa mới là chỗ chậm

  • Vào ra ổ đĩa là chỗ chậm rõ nhất, không phải phần tính toán. Dùng trình điều khiển ổ đĩa dành riêng cho máy ảo thay vì trình điều khiển giả lập phần cứng cũ, khác biệt rất lớn.
  • Mạng cũng vậy, trình điều khiển mạng dành riêng cho máy ảo cho thông lượng cao hơn nhiều.
  • Cấp thừa nhân xử lý làm chậm chứ không làm nhanh. Máy ảo phải đợi đủ số nhân rảnh cùng lúc mới chạy được, cấp bốn nhân cho việc chỉ cần một là tự làm khó mình.

Cách ly chống sự cố phần mềm, không chống phần cứng

TerminalCách ly chống sự cố phần mềm, không chống phần cứngbash
# Cach ly duoc:#  - Mot may ao sap khong keo theo may ao khac#  - He dieu hanh khac nhau chay canh nhau#  - Phan quyen mang tach bach neu ban cau hinh dung # KHONG cach ly duoc:#  - Phan cung hong la ca cum may ao tren do cung dung#  - Mot may ao an het bang thong dia se lam cham cac may khac#  - Loi bao mat o tang ao hoa co the anh huong toan may chu # Ket luan thuc dung:#  Cach ly la de chong su co PHAN MEM, khong chong su co PHAN CUNG.#  Muon chong su co phan cung thi can may chu thu hai,#  va can ban sao luu dat o noi khac.

Câu hỏi thường gặp

Máy ảo chậm hơn máy thật bao nhiêu

Với CPU và bộ nhớ, mức mất mát thường chỉ vài phần trăm. Với đĩa và mạng, nếu dùng trình điều khiển bán ảo hóa thì mất mát nhỏ, còn nếu dùng thiết bị giả lập mặc định thì có thể chậm hơn nhiều lần. Đây là chỗ cần kiểm tra đầu tiên khi máy ảo ì ạch.

Có thể cấp nhiều lõi ảo hơn số lõi vật lý không

Được, và đây là cách làm bình thường vì phần lớn máy ảo không dùng hết công suất cùng lúc. Nhưng đừng cấp quá tay cho máy ảo quan trọng, vì khi nhiều máy cùng cần CPU thì tất cả đều chờ. Tỉ lệ an toàn thông thường nằm trong khoảng ba tới bốn lõi ảo cho mỗi lõi vật lý với tải nhẹ.

Có nên cấp thật nhiều lõi cho một máy ảo không

Không nên cấp thừa. Máy ảo nhiều lõi cần hypervisor xếp lịch cho tất cả các lõi đó cùng lúc, nên máy ảo tám lõi đôi khi chờ lâu hơn máy ảo hai lõi trên cùng hệ thống bận. Hãy cấp đúng nhu cầu rồi tăng khi đo thấy thiếu.

Chạy máy ảo trong máy ảo được không

Được nếu hypervisor cho phép chuyển tiếp chỉ lệnh ảo hóa xuống máy khách. Việc này hữu ích cho phòng thí nghiệm và cho việc học, nhưng hiệu năng giảm đáng kể nên không dùng cho hệ thống thật.

Máy cá nhân dùng loại 1 được không

Được, và nhiều người dựng phòng thí nghiệm tại nhà theo cách này. Nhược điểm là máy đó chỉ còn làm mỗi việc chạy máy ảo, bạn không dùng nó như máy tính thường ngày được nữa. Nếu chỉ có một máy thì loại 2 hợp lý hơn.

Có thể chạy loại 2 bên trong máy ảo của loại 1 không

Được nếu lớp ảo hóa bên dưới cho phép chuyển tiếp chỉ lệnh ảo hóa xuống máy khách. Cách này dùng cho phòng thí nghiệm và đào tạo, nhưng hiệu năng giảm đáng kể nên không đặt hệ thống thật lên đó.

Vai trò ảo hóa của Windows Server thuộc loại nào

Xét theo cơ chế thì thuộc loại 1, vì sau khi bật thì lớp ảo hóa nắm phần cứng trước còn hệ điều hành trở thành máy khách đặc quyền. Dù vậy nó vẫn mang theo toàn bộ Windows nên bề mặt tấn công lớn hơn một nền tảng ảo hóa tối giản.

Chia sẻ:Facebook

Thanh Nguyễn

TND

Tư vấn bản quyền, VPS và máy chủ kèm hóa đơn VAT, hợp đồng đầy đủ cho doanh nghiệp.