В настоящее время виртуализация становится все более распространенной. Возможность использовать существующую машину и выделить несколько виртуальных машин чрезвычайно помогает в таких вопросах, как обучение, тестирование и экспериментирование, а также повышение производительности. Linux, несмотря на свою популярность и мощь, является отличным местом для начала создания сервера виртуализации или рабочей станции для личного использования. Здесь описано, как создать рабочую станцию виртуализации Linux с нуля.
Читайте также: Что такое виртуализация и почему ее следует использовать?
Совместимость оборудования виртуализации
Прежде чем приступить к установке каких-либо пакетов, убедитесь, что ваш процессор поддерживает аппаратную виртуализацию. Многие современные процессоры для ноутбуков и настольных компьютеров так и делают, но это полезно проверить. Приведенные ниже команды проверят ваш файл «/proc/cpuinfo» на наличие необходимой технологии. Если вы не уверены, что у вас в системе, попробуйте оба варианта – это ничему не повредит.
grep vmx /proc/cpuinfContents
Совместимость оборудования виртуализации
an> svm /proc/cpuinfo # for AMD CPUs
Моя система оснащена процессором Intel, поэтому мои выходные данные выглядят так, как показано на следующем изображении.
Если вы не получили никакого вывода ни по одной из этих команд, вы также можете просто посмотреть вывод lscpu
и найти раздел «Виртуализация». Мое выглядит как следующее изображение.
Мы знаем, что моя система настроена для поддержки виртуализации. Я также рекомендовал бы иметь как минимум 8 ГБ оперативной памяти в вашей системе. Для наилучшего результата я бы рекомендовал 16, 32 или даже 64 ГБ ОЗУ. Это даст вам достаточно места для настройки и запуска нескольких виртуальных машин, не беспокоясь о нехватке оперативной памяти, и вы сможете создавать полные клиент-серверные сети или парки рабочих станций в одной системе.
Установка KVM
КВМ означает виртуальную машину на основе ядра, и это лучший гипервизор для Linux. Производительность отличная, и есть несколько способов управления виртуальными машинами KVM. КЕМУ часто используется вместе с KVM как способ эмуляции оборудования.
Чтобы установить все необходимое для вашего сервера, выполните следующие команды:
Для Fedora:
sudo dnf -y groupinstall "Virtualization Host"; sudo dnf -y install virt-install
Для дистрибутива на базе Ubuntu/Ubuntu:
sudo apt -y install qemu-kvm libvirt-daemon-system libvirt-daemon virtinst bridge-utils libosinfo-bin libguestfs-tools virt-top
После установки KVM убедитесь, что модуль ядра загружен с помощью этой команды:
lsmod | grep kvm
И что вы запускаете и включаете демон для KVM с помощью следующей команды:
sudo systemctl start libvirtd sudo systemctl enable libvirtd sudo systemctl status libvirtd
Ваш результат должен выглядеть следующим образом.
Во многих других руководствах вам теперь предложат настроить мост для доступа всех ваших виртуальных машин к внешней сети. Я не буду рассказывать об этом здесь, но вот это ссылка на Arch Wiki, которая научит вас множеству различных способов сделать это. Это будет полезно, если вы хотите, чтобы ваши виртуальные машины предоставляли услуги вашей более широкой сети, но если вы используете их просто для тестирования и изолированной программной среды, параметры сети по умолчанию вполне подойдут.
Установка и управление виртуальными машинами KVM с графическим интерфейсом
Существует несколько способов управления виртуальными машинами KVM. Если вы используете графический рабочий стол для своей рабочей станции или сервера Linux, вы можете использовать Менеджер виртуальных машин или GNOME-ящики *, или если вы используете сервер только с интерфейсом командной строки и ища для него графический интерфейс, вы можете использовать Кокпит и управлять своей VMS, установив приложение «Машины» в меню «Приложения» интерфейса. Все эти инструменты с графическим интерфейсом также позволят вам устанавливать виртуальные машины KVM.
*GNOME Boxes — это, пожалуй, самый простой способ работы с виртуальными машинами KVM, но вы не получаете и близкого к такому же контролю, который вы получаете с другими предложениями, с точки зрения сети, хранилища и конфигурации оборудования.
Установка виртуальных машин KVM из терминала
Вы также можете использовать инструменты CLI, входящие в состав пакетов, установленных приведенными выше командами. virt-install
— отличный инструмент для установки виртуальных машин KVM без необходимости возиться с определениями XML. С virt-install
доступно множество различных опций. Однако наибольший успех у меня получился со следующим шаблоном:
sudo virt-install \ --connect qemu:///system \ --name <NAME> \ --memory <MEMORY_IN_MB> \ --vcpus <CPUs> \ --disk size=<SIZE> \ --cdrom /PATH/TO/ISO/FILE
Это должно определить все аспекты, которые вам понадобятся для системы. Вы также можете выполнить установку по сети, импортировать образы и указать расположение диска, указав «path=/PATH/TO/DIR/DISKNAME.qcow2» после параметра size
, разделенного запятой. Вот ссылка на документ
Установка и управление виртуальными машинами KVM с графическим интерфейсом
(также называемаяvirt-viewer
), которая позволит вам пройти процесс установки ОС в обычном режиме. Вам понадобится доступ к графическому интерфейсу, поэтому, если ваш сервер безголовый, я бы рекомендовал использовать Cockpit, как упоминалось выше. Вы также можете использовать файлы кикстарта для установки дистрибутивов на основе RHEL с помощью virt-install
.
Управление виртуальными машинами KVM из терминала
Основная команда, которую вы будете использовать для управления виртуальными машинами KVM, — virsh
. Он доступен как в виде команды, так и в виде интерактивной оболочки, поэтому ввести его так же просто, как ввести sudo virsh
и нажать Enter.
Приведу несколько примеров: теперь вы можете перечислить все свои домены с помощью list --all
, запускать домены с помощью start
и закрывать домены с помощью shutdown
..
Существует огромное количество опций virsh
, поэтому я советую вам просмотреть страницы man
и изучить все замечательные возможности, которыми вы можете управлять с терминала. ваши машины.
Вы также можете подключиться к своим виртуальным машинам по SSH, используя их IP-адрес. Они получают IP-адреса от интерфейса virbr0
, а интерфейсы виртуальных машин по умолчанию открыты для доступа по SSH.
Теперь, когда в вашей системе Linux есть рабочая станция виртуализации, обязательно изучите Установка виртуальных машин KVM из терминалаботу виртуальных машин и доступ к вашим виртуальным машинам Linux с помощью VNC .