Установка среды виртуализации
Подготовка.
Все команды, приведенные ниже необходимо выполнять от имени учетной записи root или с использованием sudo (см. Утилита SUDO).
Проверяем наличие поддержки со стороны процессора:
#cat /proc/cpuinfo | egrep "(vmx|svm)"
Если команда ничего не вернет, на ПК отсутствует поддержка виртуализации или она отключена в настройках БИОС. Сам KVM поставить на такой ПК можно, но при попытке ввести команду управления гипервизором мы получим ошибку «WARNING KVM acceleration not available, using 'qemu'». В таком случае необходимо перезагрузить ПК, войти в БИОС, найти поддержку технологии виртуализации (Intel VT или AMD-V) и включить ее.
Создадим каталоги, в которых будем хранить все, что касается виртуализации (предлагаемые по умолчанию не удобные):
#mkdir -p /kvm/{images,iso}
*каталог /kvm/images для виртуальных дисков; /kvm/iso — для iso-образов.
Установка и запуск
Установка выполняется из репозитория следующей командой:
# yum install qemu-kvm libvirt virt-install virt-manager
*где qemu-kvm — сам гипервизор; libvirt — библиотека управления виртуализацией; virt-install — утилита для управления виртуальными машинами; virt-manager - графический итерфейс управления виртуальными машинами.
Разрешаем автозапуск:
#systemctl enable libvirtd
Запускаем KVM:
#systemctl start libvirtd
Настройка сети
В данной инструкции рассмотрим использование сетевого моста.
Настраивая сетевой мост через удаленное подключение, внимательно проверяйте вводимые данные. В случае ошибки соединение будет прервано.
Устанавливаем пакет для работы с bridge:
#yum install bridge-utils
Смотрим список сетевых интерфейсов и их настроек:
#ip a
В нашем примере были следующие данные:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: enp4s0f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 00:16:76:04:26:c6 brd ff:ff:ff:ff:ff:ff inet 192.168.1.24/24 brd 192.168.1.255 scope global enp4s0f0 valid_lft forever preferred_lft forever inet6 fe80::216:76ff:fe04:26c6/64 scope link valid_lft forever preferred_lft forever 3: enp5s5: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN qlen 1000 link/ether 00:16:76:04:26:c7 brd ff:ff:ff:ff:ff:ff 4: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN qlen 1000 link/ether 52:54:00:cd:86:98 brd ff:ff:ff:ff:ff:ff inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0 valid_lft forever preferred_lft forever 5: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN qlen 1000 link/ether 52:54:00:cd:86:98 brd ff:ff:ff:ff:ff:ff
*из этого для нас важны enp4s0f0 — реальный сетевой интерфейс с настроенным IP-адресом 192.168.1.24, через который идет подключение сервера к локальной сети (из него мы будем делать мост); 00:16:76:04:26:c6 — mac-адрес реального ethernet адаптера; virbr0 — виртуальный сетевой адаптер.
Редактируем настройки реального адаптера:
#vi /etc/sysconfig/network-scripts/ifcfg-enp4s0f0
Приводим его к виду:
ONBOOT=yes BRIDGE=br0 TYPE=Ethernet DEVICE=enp4s0f0 BOOTPROTO=none
Создаем интерфейс для сетевого моста:
#vi /etc/sysconfig/network-scripts/ifcfg-br0
DEVICE=br0 TYPE=Bridge ONBOOT=yes BOOTPROTO=static IPADDR=192.168.1.24 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 DNS1=8.8.8.8 DNS2=77.88.8.8
Перезапускаем сетевую службу:
#systemctl restart network
Сетевые настройки должны измениться — в нашем случае:
2: enp4s0f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master br0 state UP qlen 1000 link/ether 00:16:76:04:26:c6 brd ff:ff:ff:ff:ff:ff 3: enp5s5: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN qlen 1000 link/ether 00:16:76:04:26:c7 brd ff:ff:ff:ff:ff:ff 4: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN qlen 1000 link/ether 52:54:00:cd:86:98 brd ff:ff:ff:ff:ff:ff inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0 valid_lft forever preferred_lft forever 5: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN qlen 1000 link/ether 52:54:00:cd:86:98 brd ff:ff:ff:ff:ff:ff 6: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP qlen 1000 link/ether 00:16:76:04:26:c6 brd ff:ff:ff:ff:ff:ff inet 192.168.1.24/24 brd 192.168.1.255 scope global br0 valid_lft forever preferred_lft forever inet6 fe80::216:76ff:fe04:26c6/64 scope link valid_lft forever preferred_lft forever
Настаиваем перенаправления сетевого трафика:
#vi /etc/sysctl.conf
net.ipv4.ip_forward=1
Применяем настройки:
#sysctl -p /etc/sysctl.conf
Перезапускаем libvirtd:
#systemctl restart libvirtd
Для создания и управления виртуальными машинами можно использовать графическую утилиту "Менеджер виртуальных машин" (Меню->Администрирование->Менеджер виртуальных машин).