Если вы посмотреть в словарь на слово virtualize, вы найдете, что оно означает “создавать виртуальную (а не реальную) версию чего-то”. В информатике термин виртуализация относится к возможности одновременного запуска нескольких операционных систем, которые изолированы друг от друга, на один и тот же физический ( Hardware) систему, известную в схеме виртуализации как 主机.

Через использование виртуального машинного монитора (также известного как гипервизор), виртуальные машины (известные как гости) получают виртуальные ресурсы (т.е. CPU, RAM, хранение, сетевые интерфейсы и многие другие) от нижнего оборудования.
С учетом этого, становится ясно, что одним из основных преимуществ виртуализации являются экономия затрат (на оборудование и сетевую инфраструктуру и в плане усилий по обслуживанию) и значительное уменьшение физического пространства, необходимого для размещения всего необходимого оборудования.
Поскольку этот короткий руководство не может охватить все методы виртуализации, я призываю вас обратиться к документации, приведенной в заключение, для получения более подробных сведений о данном вопросе.
Пожалуйста, учитывайте, что настоящийArticle is intended to be a starting point to learn the basics of virtualization in RHEL 7 using KVM (Kernel-based Virtual Machine) with command-line utilities, and not an in-depth discussion of the topic.
Verifying Hardware Requirements and Installing Packages
Для установки виртуализации вашу CPU должна поддерживать ее. Вы можете проверить, поддерживается ли ваша система эти требования следующим законом:
# grep -E 'svm|vmx' /proc/cpuinfo
На следующем снимке экрана видно, что текущая система (с AMD микропроцессором) поддерживает виртуализацию, как показано svm. Если бы у нас был процессор на базе Intel, в результатах вышеуказанного закона мы были бы видеть vmx вместо этого.

Кроме того, вам потребуется включить возможности для виртуализации в固件 вашего узла (BIOS или UEFI).
Теперь установите необходимые пакеты:
- qemu-kvm является открытым исходным виртуализатором, который обеспечивает эмуляцию оборудования для гипервизора KVM, в то время как qemu-img обеспечивает инструмент командной строки для манипуляции образами дисков.
- libvirt включает инструменты для взаимодействия с виртуализационными способностями операционной системы.
- libvirt-python содержит модуль, который позволяет приложениям, написанным на Python, использовать интерфейс, предоставляемый libvirt.
- libguestfs-tools: различные инструменты командной строки системного администратора для виртуальных машин.
- virt-install: другие утилиты командной строки для управления виртуальными машинами.
# yum update && yum install qemu-kvm qemu-img libvirt libvirt-python libguestfs-tools virt-install
Когда установка закончена, убедитесь, что вы запустите и включите услугу libvirtd:
# systemctl start libvirtd.service # systemctl enable libvirtd.service
По умолчанию каждая виртуальная машина сможет общаться только с остальными на том же физическом сервере и с самим хостом. Чтобы позволить гостям достигать других машин внутри нашей локальной сети и Интернета, нам необходимо настроить мостовой интерфейс на хосте (назовем его br0, например) путем:
1. добавления следующей строки в конфигурацию основного сетевого интерфейса (скорее всего /etc/sysconfig/network-scripts/ifcfg-enp0s3
):
BRIDGE=br0
2. создания файла конфигурации для br0 (/etc/sysconfig/network-scripts/ifcfg-br0
) со следующим содержимым (обратите внимание, что вам может потребоваться изменить IP-адрес, адрес шлюза и информацию о DNS):
DEVICE=br0 TYPE=Bridge BOOTPROTO=static IPADDR=192.168.0.18 NETMASK=255.255.255.0 GATEWAY=192.168.0.1 NM_CONTROLLED=no DEFROUTE=yes PEERDNS=yes PEERROUTES=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_PEERDNS=yes IPV6_PEERROUTES=yes IPV6_FAILURE_FATAL=no NAME=br0 ONBOOT=yes DNS1=8.8.8.8 DNS2=8.8.4.4
3. наконец, включение пересылки пакетов, изменив файл /etc/sysctl.conf
следующим образом:
net.ipv4.ip_forward = 1
и загрузка изменений в текущую конфигурацию ядра:
# sysctl -p
Обратите внимание, что вам также может потребоваться указать firewalld, что такой трафик должен быть разрешен. Помните, что вы можете обратиться к статье по этой теме в этой же серии (Часть 11: Управление сетевым трафиком с помощью FirewallD и Iptables), если вам нужна помощь в этом.
Source:
https://www.tecmint.com/kvm-virtualization-basics-and-guest-administration/