Установка KVM
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
cat /proc/cpuinfo | grep -E '(vmx|svm)' -m 1 - проверить что процессор поддерживает Виртуализацию apt install qemu-kvm libvirt-daemon-system ovmf virtinst - установка на debian apt install qemu-kvm libvirt-bin ovmf virtinst - установка на ubuntu (до 20) yum -y install kvm libvirt qemu-kvm virtinst - установка на CentOS apt install virt-manager - установка virt-manager qemu-kvm - гипервизор libvirt-bin - по для управления гипервизором(virsh) virt-manager - графическая утилита для управления гипервизором (не обязательная программа, для установки требуется x-windows) ovmf - по для поддержки загрузки uefi для гостей virtinst - программа для создания виртуальных машин в консоли ip -a - посмотреть адаптеры iptables -vnL - показать правила firewall sudo iptables -nvL - показать правила firewall virt-host-validate - проверка установленных компонентов libvirtd - основной демон управления виртуализацией systemctl status libvirtd - проверяем состояние демона systemctl start libvirtd - запускаем демон systemctl enable libvirtd - добавляем в автозагрузку |
Установка OVS и настройка OVS
1 2 3 4 5 6 |
apt install openvswitch-switch - устанавливаем ovs ovs-vsctl show - смотрим что у нас с сетью ovs-vsctl add-br ovsbr0 - создаем свитч с именем ovsbr0 ovs-vsctl add-port ovsbr0 eno1 - добавляем в свитч с именем ovsbr0 интерфейс eno0 ovs-vsctl show - проверяем настройки |
Настройка интерфейса хоста static:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
nano /etc/network/interfaces ---------------------------------------- auto lo iface lo inet loopback auto eno1 iface eno1 inet manual dns-nameservers 192.168.15.1 dns-nameservers 8.8.8.8 auto ovsbr0 iface br0 inet static address 192.168.15.253/24 gateway 192.168.15.1 ------------------------------------- |
Настройка сети dhcp:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
nano /etc/network/interfaces ---------------------------------------- auto lo iface lo inet loopback auto eno1 iface eno1 inet manual dns-nameservers 192.168.15.1 dns-nameservers 8.8.8.8 auto ovsbr0 iface ovsbr0 inet dhcp ------------------------------------- |
Применить настройки сети без перезагрузки:
1 2 3 4 |
/etc/init.d/networking restart - перезагрузка сети (пере читается конфигурация сети) systemctl stop NetworkManager.service - остановить сеть systemctl start NetworkManager.service - запустить (пере читается конфигурация сети) systemctl restart networking - перезагрузка сети (пере читается конфигурация сети) |
Настройка сети KVM и OVS
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
!!! можно просто отредактировать сеть по умолчанию default !!! virsh net-edit default 0. Выполняем выгрузку сети по умолчанию virsh net-list --all - показать все сети virsh net-dumpxml default > /root/1.xml - этой командой мы можем сохранить настройки сети default 1. Редактируем файл 1.xml 1.1 пример простой сети (ovs) для добавления в KVM ------------- <network> <name>ovsbr0</name> <forward mode='bridge'/> <bridge name='ovsbr0'/> <virtualport type='openvswitch'/> </network> ------------- 1.2 пример сложной сети с vlan (ovs) для добавления в KVM ------------------- <network> <name>ovs-network</name> <forward mode='bridge'/> <bridge name='ovsbr0'/> <virtualport type='openvswitch'/> <portgroup name='vlan-10'> <vlan> <tag id='10'/> </vlan> </portgroup> <portgroup name='vlan-20'> <vlan> <tag id='20'/> </vlan> </portgroup> <portgroup name='vlan-1010'> <vlan> <tag id='1010'/> </vlan> </portgroup> <portgroup name='vlan-1020'> <vlan> <tag id='1020'/> </vlan> </portgroup> <portgroup name='trunkPortGroup'> <vlan trunk='yes'> <tag id='30'/> <tag id='1030'/> </vlan> </portgroup> </network> ------------------- 2. Добавляем сеть ovsbr0 из файла 1.xml virsh net-define --file /root/1.xml - этой командой мы можем создать сеть из файла (/root/1.xml) virsh net-start --network ovsbr0 - запуск сети virsh net-autostart --network ovsbr0 - включение автозапуска для сети |
Пример настройки интерфейса ВМ
1 2 3 4 5 6 7 8 9 10 |
0. virsh list --all - показать доступные ВМ 1. virsh edit VM_name - редактируем файл настроек VM_name ---------------- <interface type='network'> <mac address='52:54:00:a3:16:07'/> <source network='ovsbr0'/> <model type='virtio'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> </interface> ---------------- |
Редактирование сети default на живую:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
Добавление нового vlan: virsh net-update default add portgroup "<portgroup name='vlan-4080'> <vlan trunk='yes'> <tag id='4080' nativeMode='untagged'/> </vlan> </portgroup>" --live --config irsh net-update default add portgroup "<portgroup name='vlan-60-2500'> <vlan trunk='yes'> <tag id='60' nativeMode='untagged'/> <tag id='2500'/> </vlan> </portgroup>" --live --config Изменение существующего vlan: virsh net-update default modify portgroup "<portgroup name='vlan-4080'> <vlan trunk='yes'> <tag id='4080'/> </vlan> </portgroup>" --live --config |