Ảo hóa

Hypervisor là gì?

Định nghĩa

A hypervisor is the software layer that creates and runs virtual machines, allocating physical CPU, memory and IO between them. A type-1 hypervisor runs directly on the hardware; KVM is unusual in being a type-1 hypervisor implemented as a Linux kernel module, which lets it use the whole Linux driver ecosystem.

Tại sao Hypervisor quan trọng

Hypervisor loại 1 chạy trực tiếp trên phần cứng; KVM khác thường khi là hypervisor loại 1 được triển khai như một mô-đun nhân Linux, cho phép nó sử dụng toàn bộ hệ sinh thái trình điều khiển Linux.

Hypervisor trong thực tế

Khi bạn chạy một máy chủ trên hypervisor KVM, bạn nhìn vào phân bổ phần cứng thực tế: vCPU, RAM, I/O đĩa. Bạn điều chỉnh chúng từ bảng điều khiển, thường là thêm bộ nhớ nóng mà không cần khởi động lại. Nếu bạn cấu hình sai bằng cách overcommit máy chủ vật lý, các khối lượng công việc ồn ào của hàng xóm sẽ bỏ đói CPU hoặc IO của instance bạn, biến một guest được cấu hình hoàn hảo thành một guest chậm chạp. Ảo hóa lồng nhau có nghĩa là bạn có thể chạy một hypervisor bên trong hypervisor của mình, tiện cho việc thử nghiệm, nhưng nó tốn hiệu suất và có thể làm rối loạn việc đếm tài nguyên của chính bạn.

Điều mọi người hiểu sai về Hypervisor

Lỗi phổ biến là coi hypervisor như một ranh giới container. Không phải vậy. Hypervisor cung cấp cho bạn một máy ảo hoàn chỉnh, kernel riêng, /proc riêng, không có namespace dùng chung. Người ta cho rằng các tiến trình của hàng xóm là vô hình hoặc kernel tùy chỉnh của họ là không thể, rồi gặp giới hạn. Sửa lại: với KVM, bạn có sự cô lập và kiểm soát thực sự, vì vậy bạn có thể khởi động một image tự dựng hoặc chạy ảo hóa lồng nhau, những việc container không làm được.

Hypervisor — các câu hỏi thường gặp

Hypervisor loại 1 nghĩa là gì?

Hypervisor loại 1 chạy trực tiếp trên phần cứng máy chủ, không phải trên hệ điều hành. KVM đặc biệt vì nó là hypervisor loại 1 được triển khai như một mô-đun kernel Linux, vì vậy nó có thể dùng toàn bộ hệ sinh thái driver Linux để quản lý phần cứng. Điều đó mang lại hiệu suất của ảo hóa bare-metal với sự linh hoạt của Linux.

KVM khác gì với container như OpenVZ?

KVM cung cấp ảo hóa thực sự: mỗi guest có kernel riêng, /proc riêng và không có namespace dùng chung, vì vậy bạn có toàn quyền root và có thể chạy kernel tùy chỉnh. Container dùng chung kernel và namespace của máy chủ, điều này giới hạn những gì bạn có thể làm. Với KVM, bạn có sự cô lập và kiểm soát, bao gồm khả năng chạy ảo hóa lồng nhau hoặc khởi động ISO tùy chỉnh.

Nơi Hypervisor xuất hiện

Thêm từ ảo hóa

KVM
KVM là ảo hóa phần cứng đầy đủ được tích hợp trong nhân Linux, cho mỗi máy khách nhân riêng và cô lập được bảo đảm bằng phần cứng khỏi các người thuê khác.
OpenVZ
OpenVZ là ảo hóa dựa trên container trong đó mọi phiên bản chia sẻ nhân máy chủ, vì vậy máy khách không thể nạp mô-đun nhân hoặc chạy hệ điều hành khác.
LXC
LXC là container hóa gốc Linux cô lập các tiến trình với namespace và cgroups trong khi chia sẻ nhân máy chủ.
Ảo hóa lồng nhau
Ảo hóa lồng nhau cho phép một máy ảo tự chạy các máy ảo, bằng cách hiển thị các phần mở rộng ảo hóa của bộ xử lý cho khách.
vCPU
vCPU là bộ xử lý ảo được cung cấp cho máy khách, được hỗ trợ bởi thời gian lập lịch trên một lõi hoặc luồng vật lý.
cloud-init
cloud-init là cơ chế tiêu chuẩn để cấu hình máy ảo trong lần khởi động đầu tiên, sử dụng siêu dữ liệu do nền tảng cung cấp.