kvm centos7

Thank you for reading this post, don't forget to subscribe!

KVM — это модуль ядра Linux, и для рабо­ты с KVM модуль дол­жен быть уста­нов­лен и загру­жен в ядро Linux.

Модуль обыч­но назы­ва­ет­ся kvm, но для про­цес­со­ров Intel он назы­ва­ет­ся kvm_intel, а для про­цес­со­ров AMD — kvm_amd.

Ядро Linux будет изо­ли­ро­вать создан­ную вир­ту­аль­ную маши­ну памя­ти и про­цес­со­ра в про­цесс, как отдель­ную систему.

Особенности KVM

Вир­ту­а­ли­за­ция KVM предо­став­ля­ет сле­ду­ю­щие функ­ции в про­цес­се виртуализации.

  • Без­опас­ность: KVM исполь­зу­ет ком­би­на­цию SELinux и sVirt для защи­ты и изо­ля­ции вир­ту­аль­ных машин.
  • Хра­не­ние: KVM может исполь­зо­вать локаль­ные или свя­зан­ные с NAS тех­но­ло­гии хра­не­ния с раз­лич­ны­ми фай­ло­вы­ми систе­ма­ми. На дис­ке ВМ хра­нит­ся один или несколь­ко фай­лов со сним­ка­ми, резерв­ны­ми копиями.
  • Аппа­рат­ное обес­пе­че­ние: KVM может исполь­зо­вать самые раз­ные аппа­рат­ные сред­ства, под­дер­жи­ва­е­мые Linux, такие как USB, прин­тер, PCI-устрой­ства и т. Д.
  • Память: KVM насле­ду­ет функ­ции управ­ле­ния памя­тью в Linux, вклю­чая нерав­но­мер­ный доступ к памя­ти и сли­я­ние стра­ниц на одном ядре.
  • Живая мигра­ция: KVM под­дер­жи­ва­ет живую мигра­цию с одно­го хоста вир­ту­а­ли­за­ции на дру­гой хост без пре­ры­ва­ния обслуживания.

Про­ве­рим что про­цес­сор под­дер­жи­ва­ет квм

[root@kvm ~]# lsmod | grep kvm
kvm_intel 188688 0
kvm 636931 1 kvm_intel
irqbypass 13503 1 kvm

Отключите и остановите NetworkManager

Извест­но, что NetworkManager вызы­ва­ет про­бле­мы при рабо­те с Linux Bridge, поэто­му для нас луч­ше отклю­чить его:

Установите пакеты, связанные с KVM

Запустите и включите демон libvirtd

Установите общесистемные привилегии для KVM

Нам нуж­но доба­вить наше­го обыч­но­го поль­зо­ва­те­ля mid в груп­пу kvm, что­бы он мог запу­стить virt-manager

Нам так­же необ­хо­ди­мо уста­но­вить пра­ви­ла polkit (policy kit) для KVM.
Редак­ти­ру­ем файл 49-polkit-pkla-compat.rules:

и добавь­те следующее:

[codesyntax lang="php"]

[/codesyntax]

 

Создайте мост KVM Linux Bridge (модемный сетевой интерфейс гипервизора KVM с сетевыми интерфейсами VM)

В этом при­ме­ре необ­хо­ди­мо что­бы вир­ту­аль­ные маши­ны полу­ча­ли свои IP-адре­са из той же сети, где под­клю­чен хост KVM Hypervisor, поэто­му мы под­клю­чим его основ­ной сете­вой интер­фейс (enp0s3) к сете­вым интер­фей­сам VM.

Для это­го нам нуж­но создать Linux Bridge из интер­фей­са enp0s3 на хосте KVM Hypervisor.

Теку­щая кон­фи­гу­ра­ция сети Hypervisor (сра­зу после уста­нов­ки KVM):

[codesyntax lang="php"]

[/codesyntax]

Интер­фейс virbr0 был создан авто­ма­ти­че­ски вме­сте с уста­нов­кой KVM и пред­став­ля­ет вир­ту­аль­ную сеть, суще­ству­ю­щую «внут­ри» сре­ды KVM с NAT (транс­ля­ция сете­вых адресов).

Посколь­ку мы не нуж­да­ем­ся в NAT в сре­де KVM (мы хотим скрыть интер­фейс Hypervisor), мы можем уда­лить суще­ству­ю­щую вир­ту­аль­ную сеть KVM на осно­ве интер­фей­са virbr0.

Для настрой­ки сети KVM мы будем исполь­зо­вать при­ло­же­ние virt-manager, кото­рое явля­ет­ся удоб­ным интер­фей­сом GUI для интер­фей­са команд­ной стро­ки KVM.

для это­го ста­вим на вин­де xming

Xming-6-9-0-31-setup

а в putty пра­вим настройки:

Запу­сти­те virt-manager от поль­зо­ва­те­ля root:

… долж­но появить­ся окно virt-manager:

Пра­вый щел­чок на QEMU/KVM -> Details -> Virtual Networks -> Disable network: “default” -> Delete network: “default” based on virbr0

Теперь мы можем под­клю­чить интер­фейс Hypervisor KVM (em1):

Щелк­ни­те пра­вой кноп­кой мыши:QEMU/KVM -> Details -> Network Interfaces -> Add Interface:

  • Interface type: Bridge
  • Interface name: br-em1
  • Start mode: on boot
  • Activate now: enabled
  • IP settings: copy configuration from ’em1′
  • Bridge settings: STP on, delay 0.00 sec

… нажми­те Finish, что­бы пере­опре­де­лить суще­ству­ю­щую кон­фи­гу­ра­цию и создать KVM Linux Bridge.

Теперь мы можем про­ве­рить вновь создан­ный Linux Bridge (br-em1):

теперь IP назна­ча­ет­ся br-em1, а em1 дей­ству­ет теперь толь­ко как интерфейс):

[codesyntax lang="php"]

[/codesyntax]

 

Про­верь­те настрой­ку моста:

Теперь KVM Linux мост настроен

 

Создаём новую виртуальную машину:

копи­ру­ем на наш сер­вер образ системы:

[root@kvm ~]# ls -l /var/CentOS-7-x86_64-Minimal-1511.iso
-rw-r--r-- 1 root root 632291328 Dec 9 2016 /var/CentOS-7-x86_64-Minimal-1511.iso

всё даль­ше ста­вим как обыч­ную систему