KVM là gì?

What Is Kvm



Ảo hóa đề cập đến việc tạo ra một tài nguyên máy tính mô phỏng bắt chước hành vi của tài nguyên thực hoặc tài nguyên vật lý tương ứng. Nhiều loại tài nguyên có thể được ảo hóa, từ phần mềm đến các thiết bị phần cứng riêng lẻ đến các nền tảng phần cứng hoàn chỉnh. Bài đăng này tập trung vào các máy ảo bao gồm các thiết bị như CPU, bộ nhớ, card mạng, đĩa, bộ điều hợp đồ họa và hệ điều hành. Phần mềm tạo và chạy các máy ảo được gọi là hypervisor. Dưới đây, chúng tôi sẽ thảo luận về các tính năng của một siêu giám sát có tên KVM .

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

Trong quá khứ, đồng nhất là phương thức hoạt động trong các trung tâm dữ liệu, nhà phát triển và tại nhà. Trên thực tế, tất cả các máy sẽ chạy cùng một phiên bản của một hệ điều hành duy nhất, cho dù đó là Linux, Windows hay FreeBSD. Thời gian đã thay đổi.







Ngày nay, chúng tôi mong đợi các hệ điều hành khác nhau như Linux và Windows, và thậm chí các phiên bản khác nhau của một hệ điều hành (ví dụ: Windows XP và 10) cùng định vị trong cùng một môi trường máy tính. Không có máy ảo, nhiều máy vật lý phải được triển khai và duy trì để chạy các ứng dụng trên nhiều nền tảng điều hành. Ảo hóa hỗ trợ việc chạy nhiều máy ảo, mỗi máy có khả năng có một hệ điều hành khác nhau, trên một máy vật lý duy nhất.



Ưu điểm của máy ảo so với máy vật lý bao gồm:



  1. Sử dụng tài nguyên máy tính hiệu quả hơn.
    Giá của phần cứng tiếp tục có xu hướng giảm trong khi sức mạnh xử lý của chúng tiếp tục tăng. Trong thực tế này, nhiều máy mạnh mẽ ngày nay có xu hướng được sử dụng kém hơn, được đo bằng chu kỳ CPU nhàn rỗi, bộ nhớ không sử dụng, v.v. Việc hợp nhất máy ảo vào ít máy vật lý hơn dẫn đến ít tài nguyên vật lý hơn và do đó hiệu quả tốt hơn.
  1. Cải tiến I.T. khả năng đáp ứng và năng suất.
    Việc cung cấp phần cứng vật lý mới đòi hỏi một khoảng thời gian chờ mua lại lâu, sau đó là thời gian cài đặt và triển khai kéo dài sau khi xuất hiện. Ngược lại, việc cung cấp máy ảo có thể được tự động hóa và có sẵn trong vài phút thay vì vài ngày hoặc thậm chí vài tuần mà việc mua lại máy truyền thống đôi khi phải mất.
  1. Tiết kiệm chi phí.
    Các trung tâm dữ liệu lớn sẽ tiết kiệm tiền do chi phí vận hành thấp hơn. Việc tiết kiệm được dưới dạng giảm hóa đơn năng lượng do yêu cầu về điện năng và làm mát thấp hơn.

Giới thiệu KVM

Máy ảo dựa trên hạt nhân, hoặc KVM trong ngắn hạn, là một giải pháp hypervisor mã nguồn mở và miễn phí. Nó cạnh tranh trong một ngành công nghiệp trưởng thành với các lựa chọn thay thế nguồn mở như Xen , VirtualBox , cũng như các sản phẩm độc quyền như VMware vSphere , Citrix XenServer , Microsoft Hyper-V .





Trước năm 2005, các giải pháp hypervisor vào thời điểm đó, chẳng hạn như Xen và VirtualBox, đều dựa trên phần mềm. Kiến trúc x86 đơn giản là không có quy định hỗ trợ ảo hóa. Năm 2005, sự ra đời của phần mở rộng tập lệnh Intel VT và AMD-V đã thay đổi vĩnh viễn bối cảnh ảo hóa. KVM phát hành phiên bản đầu tiên vào năm 2006, và là một trong những người giám sát đầu tiên tận dụng lợi thế của việc cung cấp phần cứng mới để tối ưu hóa hiệu suất ảo hóa.

Bạn có thể cài đặt KVM trên bất kỳ máy tính x86 32 bit hoặc 64 bit nào, 'máy chủ' trong biệt ngữ tư vấn, hỗ trợ tiện ích mở rộng Intel VT hoặc AMD-V. Ngày nay, các siêu giám sát hiện đại thường hỗ trợ ảo hóa hỗn hợp: hỗ trợ phần cứng khi có thể và chuyển đổi dự phòng sang phần mềm chỉ dành cho các chipset cũ.



KVM được phân loại là siêu giám sát kiểu 2, có nghĩa là nó chạy trong hệ điều hành chủ. Đúng như tên gọi của nó, KVM dựa trên kernel và nói chính xác hơn, nó là kernel của Linux. Vì vậy, không có gì ngạc nhiên khi KVM chỉ hỗ trợ Linux làm hệ điều hành chủ của nó. (KVM sau đó đã được chuyển sang FreeBSD.) Nếu bạn muốn một hypervisor loại 2 đa nền tảng mã nguồn mở, VirtualBox là một ứng cử viên sáng giá. VirtualBox có thể chạy nguyên bản trên Windows, Linux, Mac OS X và Solaris.

Ngược lại, Xen là một hypervisor loại 1, còn được gọi là bare-metal hypervisor, chạy trực tiếp dưới dạng phần mềm cơ sở trên máy chủ. Ưu điểm của kiểu 1 so với kiểu 2 là hiệu quả đạt được do bộ siêu giám sát chạy trực tiếp trên phần cứng bên dưới. Điểm bất lợi là một siêu giám sát kiểu 1 có thể không hỗ trợ nhiều loại thiết bị chủ như hệ điều hành chủ của siêu giám sát kiểu 2.

Mặc dù các hypervisor có thể khác nhau về việc chúng có yêu cầu hệ điều hành chủ hay hệ điều hành nào, chúng rất giống nhau về hệ điều hành khách mà chúng hỗ trợ, tức là hệ điều hành mà máy ảo có thể chạy. KVM hỗ trợ ảo hóa các hệ điều hành khách sau:

  • Các bản phân phối Linux bao gồm Debian, Ubuntu, Centos, Fedora, RedHat Enterprise Linux
  • BSD như OpenBSD, FreeBSD, NetBSD
  • Solaris
  • các cửa sổ

KVM có thể chạy hình ảnh hệ điều hành khách không sửa đổi. Tính năng này được gọi là ảo hóa hoàn toàn, trái ngược với ảo hóa para trong đó hệ điều hành khách được sửa đổi để xử lý đặc biệt các hoạt động về cơ bản khó chạy trên máy ảo hơn là trên máy chủ.


Cách KVM hoạt động

KVM bao gồm 2 thành phần công nghệ: nhân và không gian người dùng. Thành phần nhân bao gồm 2 mô-đun nhân có thể tải: kvm.ko và kvm-intel.ko hoặc kvm-amd.ko. Mô-đun kvm.ko cung cấp xử lý ảo hóa độc lập với kiến ​​trúc lõi. Các mô-đun kvm-intel.ko và kvm-amd.ko tương ứng với các mô-đun dành riêng cho bộ xử lý Intel và AMD. Các mô-đun này đã được hợp nhất vào hạt nhân Linux kể từ phiên bản hạt nhân 2.6.20.

Việc tích hợp chặt chẽ KVM với nhân Linux có những ưu điểm của nó. KVM có thể ủy quyền cho Linux để thực hiện công việc khó khăn của hệ thống, trong khi nó tập trung vào việc xử lý các hướng dẫn ảo hóa mới được hiển thị bởi phần cứng. KVM cũng được hưởng lợi bằng cách kế thừa từ bất kỳ cải tiến hệ thống liên tục nào từ thượng nguồn trong cộng đồng Linux lớn hơn.

Điều quan trọng là các mô-đun hạt nhân, chúng không mô phỏng phần cứng máy ảo mà hệ điều hành khách chạy trên đó. Công việc đó thuộc về không gian người dùng. KVM sử dụng QEMU , chạy trong không gian người dùng, để xây dựng các máy ảo tương tác với hệ điều hành khách. Mỗi máy ảo chỉ đơn giản là một tiến trình Linux thông thường. Một lợi ích lớn là bạn có thể sử dụng các lệnh quen thuộc của Linux như top và kill để theo dõi và quản lý các máy ảo.


Kết luận tóm tắt

KVM là một giải pháp mã nguồn mở tuyệt vời để ảo hóa hoàn toàn trên nền tảng máy chủ Linux. Sau hơn 10 năm phát triển tích cực, KVM đã trở thành công cụ ảo hóa cấp độ máy tiêu chuẩn trên thực tế trong nhiều bản phân phối Linux.