Proxmox. Создание и настройка виртуальных машин

Proxmox. Создание и настройка виртуальных машин Хостинг

В этом статье мы покажем, как развернуть виртуальную машину и устанавливать на нее Windows 10/11 на гипервизоре Proxmox Virtual Environment.

Сначала вам нужно:

Загрузите оба iso файла в хранилище PVE.

загрузить установочный ISO образ Windows в хранилище ProxMox

Теперь нужно создать новую виртуальную машину Proxmox для развертывания гостевой Windows.

На этом настройка виртуальной машины Windows 10 на Proxmox закончена. Вы можете продолжить настройку параметров Windows в гостевой ОС (имя компьютера, параметры сетевого подключения, установить необходимые программы, добавить в домен Active Directory и т.д.)

Содержание
  1. Тормоза при установке гостя
  2. Зависает при виртуальные машины при конвертировании или при других операции
  3. proxmox-ve_3.0-0428106c зависает на мертво.
  4. Re: proxmox-ve_3.0-0428106c зависает на мертво.
  5. Re: proxmox-ve_3.0-0428106c зависает на мертво.
  6. Re: proxmox-ve_3.0-0428106c зависает на мертво.
  7. Re: proxmox-ve_3.0-0428106c зависает на мертво.
  8. Миграция виртуальной машины
  9. Хранилище ISO образов
  10. Создание виртуальной машины
  11. Автозапуск виртуальной машины
  12. Backup виртуальных машин
  13. Восстановление виртуальных машин из Backup
  14. Базовая настройка Proxmox после установки
  15. Убираем всплывающее окно о подписке
  16. Настройка репозитория для обновлений
  17. Delete Virtual machine from Proxmox web interface
  18. Delete Virtual machine from the command line
  19. Common error faced when deleting virtual machine in Proxmox
  20. Proxmox Virtual machine locked
  21. Cannot delete due to missing storage
  22. Conclusion
  23. PREVENT YOUR SERVER FROM CRASHING!
  24. 1. Create Proxmox virtual machine in VirtualBox.
  25. 2. Create a virtual hard disk for the Proxmox server in VirtualBox.
  26. 3. Configure CPU and Enable Nested VT-X/AMD-V on Proxmox VM.
  27. Configure the Proxmox CPU.
  28. Enable nested VT-X /AMD in the GUI.
  29. Enable nested VT-X /AMD in the CLI.
  30. 4. Attach the Proxmox ISO image.
  31. 5. Configure the Proxmox network in VirtualBox.
  32. 6. Install the Proxmox server in VirtualBox.
  33. 7. Access the Proxmox virtual machine Web GUI.
  34. Conclusion
  35. Stop VM in Proxmox from the web interface
  36. Stop VM in Proxmox from CLI
  37. How we fix Proxmox cannot stop VM
  38. VM locked
  39. Timeout error
  40. Stop from CLI
  41. Conclusion
  42. PREVENT YOUR SERVER FROM CRASHING!
  43. Введение
  44. Установка proxmox на mdadm raid 1 в debian 10
  45. Базовая настройка proxmox
  46. Настройка сети
  47. Как создать bridge в proxmox
  48. Настройка NAT для виртуальных машин
  49. Routed режим сети
  50. Пример организации сети для виртуальных машин

Тормоза при установке гостя

Proxmox. Создание и настройка виртуальных машин

Присоединился: 6 лет назад

Коллеги, подскажите, что делаю не так, поставил проксмокс с официального сайта, поднял на нем убунту, поставил постгрес и 1с, все работает, но понадобилось поставить еще пару машин рядом и начались проблемы,  при установке винды получил жуткие тормоза и вся установка заканчивалась на кнопке установить, начал ставить линуксовые ядра, все что декстопное вообще не встало, так же заканчивается все на выборе параметров установки и все, а сегодня попробовал серверную версию центоса, даже до выбора параметров не дошел. зафризело.  Сервер 10 ядер, памяти 64г.  Может кто сталкивался с такой проблемой? 

Proxmox. Создание и настройка виртуальных машин

Присоединился: 9 лет назад

А по дискам что на сервере? Может по дискам все сильно нагружено постгресом и 1С, поэтому тормозит? Сами эти приложения не тормозят?

Proxmox. Создание и настройка виртуальных машин

Присоединился: 9 лет назад

Проблем никаких не будет. Ядра можно спокойно менять — добавлять, убирать. Единственное, нужно выключать (не перезагружать) виртуальную машину и стартовать заново, чтобы изменения применились. 

Получается, реально в этом проблема. Вы навыдавали очень много ядер и сокетов виртуалкам. Я всегда ставлю 1 сокет на VM. Ядер выдаю больше, чем есть реально, но обычно в сумме не превышаю реальные на 50%. Proxmox нормально распределяет нагрузку между виртуалками в таком случае, если все ядра не загружены на 100%. 

STALKER_SLX

Присоединился: 4 года назад

Это сообщение было изменено 4 года назад 2 раз от STALKER_SLX

Proxmox. Создание и настройка виртуальных машин

Присоединился: 6 лет назад

Сделал распределение ядер и сокетов и попробовал создать новую виртуалку, завелась без проблем, спасибо мужчины. С 1с снял 2 из 6 ядер, понедельник покажет как она будет работать в бою, но вот ночью по крону началась выгрузка бэкапов и начались проблемы.  12 баз постгреса выгружались с 3х до 7ми утра, заббикс пищал и сыпал в телеграм ошибками с превышением нагрузок и тд, даже пинг пропадал. На шести ядрах Pigz успевал упаковать все за 30 минут. 

Зависает при виртуальные машины при конвертировании или при других операции

Proxmox. Создание и настройка виртуальных машин

Присоединился: 3 года назад

У меня в PROXMOX запущены три ZABBIX для мониторинга больших сетей. Но когда я импортирую образы из VirtualBox в  PROXMOX у меня все  запущенные виртуальные машины — ZABBIXы зависают пока не закончится конвертирование  vmdk на qcow2. при этом на целевой машине ни CPU ни RAM на загружены

 Даже при других операции  целевой машине виртуальные машины зависают пока не закончится операции.

Proxmox. Создание и настройка виртуальных машин

Присоединился: 3 года назад

Может быть это связаны с потоками жестких дисков. Ну типа очереди ждут. Прогуглил ничего не нашел

Proxmox. Создание и настройка виртуальных машин

Присоединился: 3 года назад

Спасибо большое, я сам новичок в proxmox. В VirtualBox такая проблема нету. Странно, что это не предусмотрели разработчики.

Я там нашел опцию IO thread в закладке Закладке Hard Disk (VM 101 — Hardware — Hard Disk — )

включил по умолчанию а там такое  по умолчанию iothread=1   

в источниках пишут что,  позволяет каждому образу диска иметь свои собственные потоки вместо ожидания в очереди с кем- нибудь ещё. 

если это решение тогда iothread=1   один что озночает

Модератор: Модераторы разделов

Аватара пользователя

Voler

Сообщения: 498
ОС: Fedora

proxmox-ve_3.0-0428106c зависает на мертво.

Установил proxmox-ve_3.0-0428106c. По началу не было претензий, но уже раза три встает колом. Помогает только перезагрузка.
По железу:
1. AMD FX™-8150 Eight-Core Processor
2. 6gb памяти
3. Два диска по 500гб

Настройки виртуальной машины:
2gb
2socet*2core
драйвер диска virtio.

Что может приводить к полному зависанию?

Аватара пользователя

Aliech

Сообщения: 813
Статус: дилетант широкого профиля
ОС: Gentoo arm64 musl hardened
Контактная информация:

Re: proxmox-ve_3.0-0428106c зависает на мертво.


29.08.2013 08:08

dduh

Сообщения: 386

Re: proxmox-ve_3.0-0428106c зависает на мертво.


03.09.2013 22:00

Изображение

Аватара пользователя

Kataklysm

Сообщения: 280
ОС: Linux Suse 10.2-10.3 Sles-10.1

Re: proxmox-ve_3.0-0428106c зависает на мертво.


05.09.2013 20:01

Voler писал(а):

Добрый день.

Установил proxmox-ve_3.0-0428106c. По началу не было претензий, но уже раза три встает колом. Помогает только перезагрузка.
По железу:
1. AMD FX™-8150 Eight-Core Processor
2. 6gb памяти
3. Два диска по 500гб

Настройки виртуальной машины:
2gb
2socet*2core
драйвер диска virtio.

Что может приводить к полному зависанию?

В вашем случае только дисковая подсистема.
Вывод smartctl -A /dev/XXX в студию.

Аватара пользователя

Voler

Сообщения: 498
ОС: Fedora

Re: proxmox-ve_3.0-0428106c зависает на мертво.


06.09.2013 14:00

=== START OF READ SMART DATA SECTION ===
SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x002f 200 200 051 Pre-fail Always — 0
3 Spin_Up_Time 0x0027 143 141 021 Pre-fail Always — 3841
4 Start_Stop_Count 0x0032 100 100 000 Old_age Always — 43
5 Reallocated_Sector_Ct 0x0033 200 200 140 Pre-fail Always — 0
7 Seek_Error_Rate 0x002e 100 253 000 Old_age Always — 0
9 Power_On_Hours 0x0032 096 096 000 Old_age Always — 3261
10 Spin_Retry_Count 0x0032 100 253 000 Old_age Always — 0
11 Calibration_Retry_Count 0x0032 100 253 000 Old_age Always — 0
12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always — 41
192 Power-Off_Retract_Count 0x0032 200 200 000 Old_age Always — 27
193 Load_Cycle_Count 0x0032 200 200 000 Old_age Always — 15
194 Temperature_Celsius 0x0022 118 100 000 Old_age Always — 25
196 Reallocated_Event_Count 0x0032 200 200 000 Old_age Always — 0
197 Current_Pending_Sector 0x0032 200 200 000 Old_age Always — 0
198 Offline_Uncorrectable 0x0030 200 200 000 Old_age Offline — 0
199 UDMA_CRC_Error_Count 0x0032 200 200 000 Old_age Always — 0
200 Multi_Zone_Error_Rate 0x0008 200 200 000 Old_age Offline — 0

Здравия всем! После установки Proxmox 7 возникла задача перенести виртуальную машину с ОС Windows 10 из Hyper-V. В этой заметке расскажу как это сделать.

Для переноса нам понадобится StarWind V2V Converter, который мы скачиваем с официального сайта компании StarWind. Устанавливаем его и запускаем. Выбираем Local file

Proxmox. Создание и настройка виртуальных машин

Нам нужно определить, где находится файл нашей виртуальной машины, который надо перенести. Для этого открываем Диспечеп Hyper-V, выбираем ВМ и идем в её параметры. Выбираем Жесткий диск и справа видим путь, где он находится.

Proxmox. Создание и настройка виртуальных машин

ВМ должна быть выключена, иначе можем получить ошибку чтения диска. Открывает этот диск в программе StarWind V2V Converter.

Жмем кнопку Convert и ждем пока диск с конвертируется. Процесс этот не быстрый, зависит от размера диск.

Proxmox. Создание и настройка виртуальных машин

Миграция виртуальной машины

Исходная виртуальная машина работала у меня по ОС Windows 10. Создадим для нее виртуальную машину в Proxmox с похожими параметрами. Как это сделать по шагам я писал в этой заметке. Обращу внимания на этап создания диска. Нужно выбрать в пункте Шина/Устройство либо SATA диск, либо IDE. Объем диска нужно поставить, такой же как в исходной ВМ

Proxmox. Создание и настройка виртуальных машин

Также хранилище, где создается ВМ должно быть файловым. Это NFS или Каталог

Виртуальная машина создана. Теперь нужно загрузить наш образ на сервер Proxmox. Это можно сделать различными способами, в зависимости от типа хранилища.

Если это NFS хранилище, то заливаем через файловый менеджер в общую папку NFS \images\»ID VM»\

Если хранилище локальное и файловое, то заливаем через программу WinSCP. Чтобы определить в какую папку на сервере Proxmox лить, откроем настройки хранилища и определим точку монтирования

Proxmox. Создание и настройка виртуальных машин

К этому пути добавим папку, где хранятся образы дисков images + «ID VM», в моем случае ID VM 102

Proxmox. Создание и настройка виртуальных машин

В этой папке уже есть файл, созданный мастером создания ВМ. Чтобы не лазить по конфигурационным файлам Proxmox, сделаем ход конем. Запишем имя существующего файла, а сам файл удалим. При загрузке файла, поменяем ему сразу имя, на то которое мы записали

Proxmox. Создание и настройка виртуальных машин

Ждем пока файл зальется. После этого идем в настройки ВМ и включаем её. При первом запуске, Windows найдет новые устройства. Также слетит активация, и придется её активировать заново. После установки, нужно поставить гостевое приложение . Подключим специальный ISO образ.

Proxmox. Создание и настройка виртуальных машин

Запустим файл на подключенном CD virtio-win-guest-tools.exe и установим

Proxmox. Создание и настройка виртуальных машин

После установки всех драйверов перезагрузим Windows.

Как видим, в переносе виртуальной машины Windows 10 из Hypey-V в Proxmox 7 нет ничего сложного. Для системы данный перенос будет выглядеть, как перенос жесткого диска на новый компьютер со всеми вытекающими от сюда последствиями, будь то установка драйверов или настройка сетевого соединения. Так же придется активировать Windows 10 заново.

Здравия всем! Заметка о том, как создать и настроить виртуальные машины в proxmox 7.

Хранилище ISO образов

Чтобы установить виртуальную машину вначале нужно загрузить установочный iso образ. Для этого откроем хранилище local, выберем ISO Images и щелкнем кнопку Загрузить

Proxmox. Создание и настройка виртуальных машин

Создание виртуальной машины

В создании виртуальных машин в Proxmox нет ничего сложного и необычного. Щелкаем по кнопке Создать VM в правом верхнем углу

Proxmox. Создание и настройка виртуальных машин

Запускается небольшой мастер создания ВМ

После щелкаем по кнопке Готово, наша виртуальная машина создается. Запустим её. Зайдем в консоль

Proxmox. Создание и настройка виртуальных машин

Мы увидим процесс загрузки ВМ.

Автозапуск виртуальной машины

После создания, виртуальная машина не запускается со стартом гипервизора, это нужно делать в ручную. Настроим автозапуск. Откроем Параметры виртуальной машины.

Proxmox. Создание и настройка виртуальных машин

Нас интересует первые два пункта Запуск при загрузке и Порядок запуска и выключения. С первым пунктом все понятно, там просто Да/Нет. Про второй расскажу по подробнее

Proxmox. Создание и настройка виртуальных машин

Порядок запуска и выключения, принимает целые цифровые значения. Система за ними не следит. Это должен делать пользователь

Задержка запуска остальных ВМ после запуска этой, принимает значения в секундах.

Задержка выключения ВМ. Сначала будет отдана команда на завершение работы. Если ВМ не завершит работу корректно, ей будет послан сигнал на принудительное выключение.

Backup виртуальных машин

Чем мне нравится proxmox, так это тем, что вместе с ним идет хорошая система бэкапа и не нужно ставить дополнительное ПО для этого. Настраивается backup так же просто, как и все остальное в proxmox. Идем в раздел Backup и создаем задание:

Proxmox. Создание и настройка виртуальных машин

Выставляем необходимые параметры, например такие:

Proxmox. Создание и настройка виртуальных машин

Обязательно поменяйте хранилище на внешнее, иначе бэкап очень быстро забьет системный раздел.

В proxmox 7 добавили из коробки возможность автоматической ротации быкапов. Делается это на вкладке Retention, к примеру данная настройка позволяет хранить 5 последних дневных быэкапов, 4 недельных и 3 месячных:

Proxmox. Создание и настройка виртуальных машин

Создаем наше заданием и ждем назначенного часа и проверяем исполнение.

Если нам нужно сделать разовый бэкап конкретной виртуальной машины, достаточно открыть виртуальную машины, выбрать в ней раздел Резервная копия

Proxmox. Создание и настройка виртуальных машин

Дальше указываем необходимые параметры и дожидаемся завершения бэкапа. Обращаю внимание, что бэкап будет выполняться при работающей виртуальной машине. Останавливать ее не требуется.

Proxmox. Создание и настройка виртуальных машин

Восстановление виртуальных машин из Backup

После создания бэкапа рекомендую сразу убедиться, что из него можно восстановить виртуальную машину. Для этого откроем обзор Хранилища, куда у мы делали резервную копию, выберем вкладку Backups, выберем нашу резервную копию и нажмем восстановить.

Proxmox. Создание и настройка виртуальных машин

Откроется окно восстановления. По умолчанию proxmox восстанавливает, создавая новую машину. Что нам и нужно для проверки. Нажмем Восстановить.

Proxmox. Создание и настройка виртуальных машин

Если мы хотим проверить и запустить нашу ВМ, то обязательно в настройка новой машины поменяйте mac адрес сетевого адаптера!

Proxmox. Создание и настройка виртуальных машин

Также, если используются статические ip адреса, назначим ей внутренний бридж, в моем случае это vmbr222

Proxmox. Создание и настройка виртуальных машин

После этого можно стартовать нашу ВМ и проверять.

Как видим, создание и настройка виртуальных машин в proxmox 7 очень легкая задача. Интерфейс proxmox 7 интуитивно понятен. Как я уже говорил, proxmox хорош тем, что у него из коробки работает резервное копирование и восстановление прямо из web панели сервера. Не надо никуда лезть в скрипты, как это делатеся на бесплатном ESXi или ставить дополнительное ПО.

Здравия всем! Оставлю здесь заметку о установке и настройке Proxmox 7, чтобы в дальнейшем снова не искать информацию в различных источниках. Proxmox 7 это дистрибутив основанный на Debian GNU/Linux и использующий технологии KVM и LXC для виртуализации основных ОС.

В своей домашней лаборатории я использую виртуализацию Hyper-V на Windows 10. Но вот появилась возможность перенести лабораторию на отдельную машину и решил посмотреть в сторону Proxmox. У Hyper-V есть главный недостаток, он не умеет пробрасывать USB внутрь виртуалок. А KVM это умеет делать из коробки. Также Proxmox просто устанавливается и имеет удобную панель управления через браузер.

В операционной системе Windows 10 воспользуемся программой Rufus и запишем образ в режиме DD-образ.

Вставим готовую загрузочную флэшку в наш компьютер и загрузимся с нее.

Proxmox. Создание и настройка виртуальных машин

Соглашаемся с соглашением

Настраиваем место установки. Я сделаю зеркало из двух дисков. Доступен либо zfs raidz-1, либо btrfs raid1. По скольку это тестовая лаборатория, я решил попробовать btrfs raid1

Proxmox. Создание и настройка виртуальных машин
Proxmox. Создание и настройка виртуальных машин
На этом установка Proxmox закончена и система нам предлагает зайти на web страницу

Базовая настройка Proxmox после установки

Заходим через браузер на указанный при адрес. Браузер сразу скажет, что данный сайт не имеет валидного сертификата. Мы соглашаемся с этим и попадаем на страницу приветствия

Proxmox. Создание и настройка виртуальных машин
Выбираем в списке русский язык и логинимся в систему.

Убираем всплывающее окно о подписке

Proxmox. Создание и настройка виртуальных машин

Это окно будет появляться при каждом входе в систему. Если оно вас раздражает, его можно отключить. Делаем резервную копию файла:

cp /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js.bak
sed -i "s/getNoSubKeyHtml:/getNoSubKeyHtml_:/" /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js

Команда заменяет нужную переменную getNoSubKeyHtml:, на ошибочную getNoSubKeyHtml_: и окно более нам не мешает. Для применения настроек перезагрузим сервер

reboot

Настройка репозитория для обновлений

У нас нет платной подписки, поэтому удалим платный репозиторий из списка. Для этого открываем консоль сервера.

Proxmox. Создание и настройка виртуальных машин

Мы попадаем в классическую командную строку Linux. Настроим систему поставив mc

apt install mc

После чего отредактируем и удалим платный репозиторий

mcedit /etc/apt/sources.list.d/pve-enterprise.list

и комментируем текущую строку

#deb https://enterprise.proxmox.com/debian/pve bullseye pve-enterprise

Откроем файл со списком репозиториев

mcedit /etc/apt/sources.list

Добавим в в конец репозиторий без подписки

# PVE pve-no-subscription repository provided by proxmox.com,
deb http://download.proxmox.com/debian/pve bullseye pve-no-subscription
apt update


root@pve1:~# apt update
Hit:1 http://ftp.ru.debian.org/debian bullseye InRelease
Hit:2 http://ftp.ru.debian.org/debian bullseye-updates InRelease
Hit:3 http://security.debian.org bullseye-security InRelease
Hit:4 http://download.proxmox.com/debian/pve bullseye InRelease
Reading package lists... Done          
Building dependency tree... Done
Reading state information... Done
40 packages can be upgraded. Run 'apt list --upgradable' to see them.
root@pve1:~# 

Видим, что можно обновить пакеты. Обновляемся

apt upgrade -y

Если обновилось ядро или firmware, рекомендую перезагрузить сервер.

reboot

В данной заметке я старался максимально просто показать базовую установку и настройку Proxmox 7.2. Чтобы заметка была компактной, решил разбить её на несколько частей

Do you want to delete a virtual machine in Proxmox? We can help you do it.

We can delete the VM from the web interface as well from the CLI.

At Bobcares, we often get requests regarding Proxmox as a part of our Server Management Services.

Today let us discuss how our Support Engineers delete the virtual machine for our customers.

Delete Virtual machine from Proxmox web interface

One of the simplest methods to delete the virtual machine is to do it from the web interface. Let’s discuss how our Support Engineers delete the virtual machine in Proxmox.

First we login to the Proxmox web interface.

Then we click on the virtual machine in the left pane.

We Shutdown the virtual machine first.

proxmox delete virtual machine

Then we click on more tab. From the drop-down list, we select remove.

Thus, we remove the virtual machine.

Delete Virtual machine from the command line

To delete the virtual machine from the command line first we need to find the VMID.

Once we login to the node. We use the below command to find the VMID.

cat /etc/pve/.vmlist

Once we get the ID we use the below command to delete it.

qm destroy 

This way we remove the virtual machine in Proxmox.

Common error faced when deleting virtual machine in Proxmox

Recently one of our customers approached us saying he is unable to delete the virtual machine. Let’s discuss how our Support Engineers help him out.

Proxmox Virtual machine locked

On analyzing the node we found that the Virtual machine was in a lock state. So first, we find the VMID.

Then we use the command to unlock the VM.

qm unlock 

Once we unlock the virtual machine we were able to delete it without any error.

Cannot delete due to missing storage

Another customer contacted us with the error Cannot delete due to missing storage when trying to delete the virtual machine. Let’s discuss how our Support Engineers resolve the error for our customers.

The configuration file of the virtual machine is present at the location /etc/pve/qemu-server.

We find the file VMID.conf file from the location.

Then we delete the file or we move the file.

Thus, on refreshing the web interface the Virtual machine will not be present.

Conclusion

In short, we’ve discussed how we delete the VM from the web interface and CLI. Also, we’ve discussed the common error and how our Support Engineers fix it for our customers.

PREVENT YOUR SERVER FROM CRASHING!

Never again lose customers to poor server speed! Let us help you.

Our server experts will monitor & maintain your server 24/7 so that it remains lightning fast and secure.

var google_conversion_label = «owonCMyG5nEQ0aD71QM»;

The Proxmox VE is one of the popular open-source hypervisors. You can see that the enterprise setup also uses the Proxmox server. So if you are new to Proxmox, what is the best way to learn about the hypervisor quickly?

You can turn an old laptop or PC into Proxmox by installing the Proxmox server in it however when you install the Proxmox server, it will utilize the entire hard disk on the machine and end up removing the existing operating system, and you cannot do anything really on the host machine. It will show you a black screen with the URL to access the Proxmox server web GUI. A workaround would be to use Proxmox and windows11 in the same machine as dual boot, which we covered extensively here.

But what if you don’t want to mess with the host operating system or dual boot and want to install the Proxmox server as a Virtual machine?

In that case, you can install Proxmox ve on a VirtualBox hypervisor. You are installing a hypervisor on top of another hypervisor.

And when you run a virtual machine on top of Proxmox using this setup, you are doing nested virtualization so that you won’t get good performance with this setup, the virtual machine will run a little slow, however, it can run most of the operating systems. This setup is only recommended for home lab or some testing.

The cool thing about VirtualBox is that it is open-source again and free for anyone to use it, and it supports most of the operating systems out there.

In this blog article, we will install a Proxmox server on an oracle VirtualBox hypervisor. After the installation, we will spin up a small VM in Proxmox and test the setup.

Before you begin, you need to have;

1. Create Proxmox virtual machine in VirtualBox.

Open VirtualBox and click on Machine and New or press CTRL+N to create a new virtual machine.

Proxmox. Создание и настройка виртуальных машин

A new virtual machine creation wizard will now open up. Ensure you have chosen expert mode in the wizard, which provides more control on the Proxmox virtual machine that we are about to create.

Name: Provide a name for the virtual machine.
Machine folder:  By default, it will pick up a location where the virtual machine is going to be installed. You can change the location if you would like to.
Type: Linux
Version: Debian (64bit) – As the Proxmox is based on Debian Linux, we choose Debian as the version.
Memory: As you will be running virtual machines or containers in the Proxmox server, it is recommended to have more memory. Hence I chose 8GB of memory.

Hard disk: Choose Create a virtual hard disk now and click on Create.

Proxmox. Создание и настройка виртуальных машин

2. Create a virtual hard disk for the Proxmox server in VirtualBox.

We will now create the Proxmox server’s storage in the virtual hard disk creation wizard.

File size: The more storage you provide, the more VMs you can store. I am giving 100GB of storage. Based on your setup, you can provide the storage size depending on the requirement.

Hard disk file type: By default, it will choose VDI, which is good in most installations, however, if you plan to move/copy this virtual machine to some other hypervisors, it is best to choose VMDK.

Storage on physical hard disk: Choose Dynamically allocated and click on Create.

Proxmox. Создание и настройка виртуальных машин

3. Configure CPU and Enable Nested VT-X/AMD-V on Proxmox VM.

You will see the Proxmox VE virtual machine created in the VirtualBox. Right-click on the virtual machine and click on settings.

Proxmox. Создание и настройка виртуальных машин

Configure the Proxmox CPU.

When we created the VirtualBox, we didn’t get any options to specify the CPU. Hence under the system, you can change the CPU from the default value ‘1’ to whatever you like.

Since I have enough CPU cores, I am giving 6 Cores, depends on your requirement, you may add the CPU.

Proxmox. Создание и настройка виртуальных машин

Enable nested VT-X /AMD in the GUI.

Before you proceed with the next steps, It is assumed that you already have intel VT-x/AMD-V enabled in your bios settings in your host machine. You can enable nested virtualization with a passthrough of hardware virtualization functions to the guest VM. So it is important that you enable intel VT-x/AMD-V on the bios settings.

I the same Processor configuration tab, you will see Enable Nested VT-X/AMD-V is grayed out for me.

If you are using a machine with AMD CPU, you may have this option enabled to check, so you may do so here.

If those who use intel-based machines will require this step to be performed using VirtualBox CLI.

Proxmox. Создание и настройка виртуальных машин

Enable nested VT-X /AMD in the CLI.

Open windows explorer-> Goto VirtualBox installation directory (C:\Program Files\Oracle\VirtualBox)

And type cmd in the address bar and hit enter.

Proxmox. Создание и настройка виртуальных машин
Proxmox. Создание и настройка виртуальных машин

Enter the below command on the CMD to enable nested VT-X/AMD-V in VirtualBox.

VBoxManage modifyvm Proxmox-VE-01 --nested-hw-virt on

You can now see that nested vt-x/amd-v is enabled on the VirtualBox.

Proxmox. Создание и настройка виртуальных машин

4. Attach the Proxmox ISO image.

To install the Proxmox virtual machine in VirtualBox, you need to point to the Proxmox iso file that we downloaded in the virtual CDROM in VirtualBox.

Click on Storage-> Under Empty disk -> Browse for the Proxmox iso image.

Proxmox. Создание и настройка виртуальных машин

5. Configure the Proxmox network in VirtualBox.

By default, the VirtualBox would assing NAT for any virtual machine you install. It will provide internet access to the virtual machine using the host machine’s IP address; however, it will not give inbound access to the Proxmox virtual machine, unless you configure the VirtualBox port forwarding.

After the Proxmox installation is complete, we will require to access the Proxmox management GUI from the host machine, and also, the virtual machine that we will install in the Proxmox should be able to go out to the internet. Hence we choose a bridged adapter and ensure that you choose the right adapter connected to the LAN network. In my case, it is the ethernet wired connection.

If you are using a laptop, in most cases, you will have a wifi adapter, so you may choose the network name depending on the connectivity.

Proxmox. Создание и настройка виртуальных машин

6. Install the Proxmox server in VirtualBox.

We have completed the virtual machine side of the configuration; let’s now go ahead and install the Proxmox VE on the VirtualBox.

Right-click on the virtual machine and click on start.

The installation wizard will now open. Choose install Proxmox VE.

Proxmox. Создание и настройка виртуальных машин

After a few seconds, you can see I have got an IP address automatically on my Proxmox virtual machine.

Proxmox. Создание и настройка виртуальных машин

Accept the license agreement by clicking I agree.

Proxmox. Создание и настройка виртуальных машин

You will see the 100GB of the virtual hard disk that we defined in the Proxmox VM. Click on next.

Proxmox. Создание и настройка виртуальных машин
  • Choose the location and the language of your choice and click on Next.
  • Enter the password and the email address.

You need to note this password as this will be required when you need to log in to the Proxmox server later on.

  • You already have the IP address defined because it was assigned via DHCP, if there is no DHCP, you may configure the IP address manually here and click on Next. If there is no hostname, you may enter that here.
Proxmox. Создание и настройка виртуальных машин

You will get the summary of the configuration, here, you need to make sure you uncheck the option that says Automatically reboot after successful installation and click on Install.

You must uncheck this option because we would need to remove the installation media before we go ahead and reboot.

Proxmox. Создание и настройка виртуальных машин

After a few moments, you will see the installation is now complete. Do not click on Reboot yet.

Proxmox. Создание и настройка виртуальных машин

In the Devices-> Optical Drives -> Uncheck the Proxmox iso image that was already checked.

Proxmox. Создание и настройка виртуальных машин

Click on Force Unmount on the prompt. After that, you may click on Reboot on the installation wizard.

Proxmox. Создание и настройка виртуальных машин

7. Access the Proxmox virtual machine Web GUI.

In a few seconds, you will see the Proxmox server will load and You will get the below screen, where it shows the URL to access the web GUI of the Proxmox server and the login prompt.

Proxmox. Создание и настройка виртуальных машин

To access the web GUI, you may type the URL that you see on the Proxmox CLI. You will get a security warning which is expected. You may ignore that and continue.

You will get the below Proxmox screen with the system information.

Proxmox. Создание и настройка виртуальных машин

Conclusion

The installation Proxmox server on VirtualBox is a straightforward step. However, you need to keep in mind that we are doing nested virtualization. It is expected to have performance lag when managing the virtual machine on Proxmox installed in VirtualBox. You cannot expect the same performance that you get from a bare-metal server.

Can’t stop the VM in Proxmox? We can help you do it.

We can stop a virtual machine in Proxmox from the web interface and CLI.

Here at Bobcares, we often receive requests regarding Proxmox as a part of our Server Management Services.

Today, let’s see how our Support Engineers stop a VM in Proxmox.

Stop VM in Proxmox from the web interface

To stop the virtual machine from the web interface, we login to the web GUI.

Then we click on the virtual machine.

After that, we click on Stop.

proxmox can't stop vm

Thus, we stop the Virtual machine in Proxmox.

Stop VM in Proxmox from CLI

To stop the VM from CLI we log in to the host node.

We first find the VMID using the command.

cat /etc/pve/.vmlist

Once we get the ID we use the below command to stop the virtual machine.

qm stop 

How we fix Proxmox cannot stop VM

Recently one of our customers contacted us saying they were not able to stop the VM. Now let’s discuss how our Support Engineers fix the error for our customers.

VM locked

One of the common reasons for ‘can’t stop a VM’ is that the virtual machine might have been locked. This usually happens when we try to stop a virtual machine when a backup is running.

So the VM locks itself to complete the backup process. Thus, we can wait for the backup process to delete the VM. Else we can unlock the virtual machine and stop the VM.

To unlock the VM we log in to the host node.

Then we find the VMID of the virtual machine using the command

cat /etc/pve/.vmlist

Once we get the VMID, we unlock the VM using the command

qm unlock 

After we unlock the virtual machine we can delete the virtual machine from the web interface or using CLI.

Thus, we fix the error.

Timeout error

The timeout error occurs when the virtual machine is locked or the process is still running in the background.

If the virtual machine is locked we unlock the VM and stop the VM.

Else we log in to the Host node.

Then we find the PID of the Machine process using the command.

ps aux | grep "/usr/bin/kvm -id VMID"

Once we find the PID we kill the process using the command.

kill -9 PID

Thus, the VM will stop.

Stop from CLI

We have come across many instances that stops the VM from the web interface to do the tasks.

Thus, we stop the virtual machine from the node. To stop the VM first we find the VMID.

Thus we use the below command to stop the virtual machine

qm stop 

Then on refreshing the web interface, we can see that the virtual machine is stopped.

Conclusion

In short, we have discussed how we stop the VM from the web interface and CLI. Also, we have discussed how our Support Engineers fix the error when stopping the virtual machine.

PREVENT YOUR SERVER FROM CRASHING!

Never again lose customers to poor server speed! Let us help you.

Our server experts will monitor & maintain your server 24/7 so that it remains lightning fast and secure.

var google_conversion_label = «owonCMyG5nEQ0aD71QM»;

На сегодняшний день существует несколько наиболее популярных гипервизоров для построения виртуальной информационной системы. В данной статье я рассмотрю установку и настройку бесплатной системы виртуализации proxmox 6 на базе ОС Debian 10, установленной на RAID 1. В качестве гипервизоров она использует опенсорсные KVM и LXC, позволяя виртуализировать наиболее популярные ОС.

Теоретический курс «Сетевые технологии для системных администраторов» позволит системным администраторам упорядочить и восполнить пробелы в знаниях. Цена очень доступная, есть ознакомительные уроки. Все подробности по ссылке. Можно пройти тест на знание сетей, бесплатно и без регистрации.

Введение

Некоторое время назад я узнал про систему виртуализации proxmox на базе KVM. Ранее с этим гипервизором я был знаком, но он мне не понравился из-за отсутствия удобных инструментов управления под windows. Это было давно, лет 5 назад. Мне пришлось администрировать уже настроенный гипервизор и мне это не понравилось, слишком много действий приходилось делать в консоли. Не скажу, что мне это прям не нравится, но я не вижу смысла в консоли делать то, что в других гипервизорах мышкой ты делаешь в 5 раз быстрее в gui. Свое время стараюсь экономить и использовать рационально.

Все изменилось, когда я решил посмотреть на Proxmox. Простая установка и удобная панель управления через браузер привлекли сразу. Попробовал, потестировал, вроде все неплохо работает, управление удобное и понятное. Особенно понравились бэкапы из коробки. Не решался использовать в реальной работе, потому что не имею опыта работы c zfs, а ставить гипервизор на одиночные диски плохая идея. Раньше я использовал XenServer, установленный на mdadm raid1, пока он не перестал поддерживать такой режим работы. Proxmox почему-то не поддерживает установку на простой и понятный mdadm, но при этом есть zfs. Этот момент мне искренне не понятен, если учитывать, что proxmox работает на базе системы Debian, которая без проблем устанавливается на программный рейд.

В итоге я решил установить, настроить и протестировать proxmox, установленный на программный raid 1 mdadm. Диски отключал, вынимал, вставлял обратно. Все прекрасно работает. Отказоустойчивость на уровне дисков обеспечена, значит можно использовать в реальной работе. Я и использую последние пару лет. Отдельно упомяну, что меня сразу привлекло в KVM — возможность пробрасывать USB. До сих пор Hyper-V и XenServer не умеют это делать. Первый совсем не умеет, второй вроде как-то пробрасывает, но без гарантий и не все устройства работают. А в KVM без проблем получилось пробросить USB в виртуалку и воткнуть туда HASP ключ от 1С. Для малых и средних офисов это актуальная потребность.

Для того, чтобы установить proxmox на raid 1 пойдем окольным путем. Стандартный инсталлятор не дает нам необходимой возможности установки на рейд. У нас есть 2 варианта решения проблемы:

  1. Установка сначала голой системы Debian 10 на raid1, а затем на нее устанавливается proxmox. Конечный результат не будет отличаться от инсталляции со стандартного диска.
  2. Установить систему proxmox на одиночный диск, а потом перенести ее на raid1.

Я пробовал оба способа, первый мне показался более простым и понятным, поэтому займемся его реализацией.

Установка proxmox на mdadm raid 1 в debian 10

Первым делом нам нужно установить чистую систему Debian. На данный момент это версия 10 Buster. У меня есть отдельная статья по установке Debian. Там подробно описан процесс установки системы на софтовый рейд mdadm. В конце я на примере показал, что делать, когда диск выходит из строя, как его менять. Я на практическом примере продемонстрировал отказоустойчивость такого решения, поэтому не буду здесь подробно на этом останавливаться.

Скачивайте дистрибутив последней версии Debian. Взять его можно, к примеру, на Yandex.Mirror, конкретно здесь. Для установки подойдет образ CD-1 либо netinst. Начинайте стандартную установку и доходите до пункта настройки жесткого диска. Я буду использовать консольное отображение, не графическое. Мне так удобнее. Принципиальных отличий нет, можете делать по аналогии, если начали установку в графическом режиме. Когда дело дойдет до настройки диска, выбирайте вариант ручной разметки.

Ручная разметка диска

Если вы делаете установку на чистые диски, то вас должна встретить такая картина состояния дисков:

Список дисков для установки

Если есть какие-то разделы, то удалите их все, чтобы были чистые диски. Для написания статьи я использую виртуальную тестовую среду, диски выделены небольшого объема. Для учебных целей этого достаточно. Я разобью диски следующим образом:

Создаем в инсталляторе указанные разделы на обоих дисках. Не буду расписывать по шагам как их сделать, надеюсь сами разберетесь, это не сложно. Должна получиться такая картина:

Разбивка диска под proxmox

Параметры первого раздела на 500 Мб:

/boot раздел

Параметры второго раздела на 10 Гб:

/ корневой раздел

Оба раздела должны быть Primary.

Теперь создадим 2 отдельных raid массива на 500 мб и 10 гб. Выбираем раздел Configure Software RAID, дальше Create MD device, потом RAID1, 2 диска в массиве, и в завершении выбираем 2 наших раздела по 500 мб:

Создание рейд массива под boot

То же самое делаем с разделами по 10гб — объединяем их в рейд:

Создание рейд массива под корень

Как закончите, жмете Finish. У вас должна получиться такая картина:

Разбивка диска для proxmox на mdadm

Теперь нужно создать файловую систему на рейд массивах. Сделаем на первом раздел /boot ext2, а на втором корень системы — / и файловую систему ext4. В итоге должно получиться вот так:

Создание файловых систем на разделах

Применяем изменения и продолжаем стандартную установку. У вас будет предупреждение о том, что не указан раздел для swap.

Пропускаем создание swap

Игнорируйте его, потом подключим swap отдельно в виде файла. В процессе установки вам будет предложено выбрать набор пакетов. Не ставьте ничего лишнего, только ssh сервер и системные утилиты.

Выбор пакетов для установки

В конце будет предложено установить загрузчик на один из дисков. Можете выбрать любой диск, позже мы установим загрузчик на второй диск и убедимся, что он будет установлен на обоих дисках. Это нужно для того, чтобы система могла загружаться с любого из дисков, в случае выхода одного из строя.

Теперь установим grub на оба жестких диска. Подключаемся к серверу по ssh и выполняем команду:

# dpkg-reconfigure grub-pc

На все вопросы оставляете дефолтные значения, в конце выбираете оба жестких диска для установки загрузчика:

Установка grub на оба жестких диска

На всякий случай проверим как встала система на жесткие диски:

# df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            3.9G     0  3.9G   0% /dev
tmpfs           798M   17M  782M   3% /run
/dev/md1        9.1G 1020M  7.7G  12% /
tmpfs           3.9G     0  3.9G   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           3.9G     0  3.9G   0% /sys/fs/cgroup
/dev/md0        460M   47M  390M  11% /boot
tmpfs           798M     0  798M   0% /run/user/0
# cat /proc/mdstat
Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10] 
md0 : active raid1 sdb1[1] sda1[0]
      486400 blocks super 1.2 [2/2] [UU]
      
md1 : active raid1 sda2[0] sdb2[1]
      9756672 blocks super 1.2 [2/2] [UU]

Все в порядке, получилось так, как и задумывали. На данном этапе можно повынимать жесткие диски и проверить как система работает без одного из них, научиться заменять сбойный диск. Команды и рекомендации не буду приводить, чтобы не раздувать статью. Мануалов по работе с mdadm в интернете полно. К тому же, я об этом рассказываю в статье про установку debian, ссылку на которую уже давал ранее. Рекомендую сразу настроить мониторинг mdadm в zabbix.

Переходим непосредственно к установке proxmox. Для этого редактируем файл /etc/hosts и приводим его строго к следующему виду. Если что-то будет не так, как указано у меня, получите ошибку установки с очень большой долей вероятности. Я на этом моменте прилично застрял, когда разбирался.

# mcedit /etc/hosts
127.0.0.1 localhost.localdomain localhost
192.168.155.104 proxmox6.local proxmox6 pvelocalhost

Проверить правильность настроек можно командой:

# hostname --ip-address
192.168.155.104

В ответ должны получить свой ip адрес.

Добавляем в список репозиториев репу proxmox и стандартные репозитории debian. Я буду использовать зеркало яндекса, все остальное можно закомментировать:

# mcedit /etc/apt/sources.list
deb http://mirror.yandex.ru/debian/ buster main non-free contrib
deb-src http://mirror.yandex.ru/debian/ buster main non-free contrib
deb http://download.proxmox.com/debian/pve buster pve-no-subscription

Если не подходит репозиторий яндекса (заблокирован), можно воспользоваться любым другим, например http://mirror.corbina.net/debian/

Добавляем цифровую подпись proxmox репозитория:

# wget http://download.proxmox.com/debian/proxmox-ve-release-6.x.gpg -O /etc/apt/trusted.gpg.d/proxmox-ve-release-6.x.gpg

Если раньше не обновили систему, то обновитесь и на всякий случай перезагрузите сервер после этого:

# apt update && apt full-upgrade
# reboot

Теперь устанавливаем саму систему виртуализации proxmox:

# apt install proxmox-ve postfix open-iscsi

Если получите ошибку во время установки:

dpkg: error processing package proxmox-ve (--configure):
 dependency problems - leaving unconfigured
Errors were encountered while processing:
 pve-cluster
 libpve-access-control
 librados2-perl
 pve-firewall
 pve-ha-manager
 qemu-server
 pve-container
 pve-manager
 proxmox-ve
Ошибка установки proxmox

Проверяйте файл hosts. У меня там лишние строки были, кроме тех, что я указал ранее. Когда исправил, установка прошла без ошибок. После окончания установки перезагрузите сервер, чтобы загрузилось новое ядро. Если все в порядке, то увидите окно приветствия на мониторе сервера:

Стандартное приветствие в консоли proxmox

Открывайте браузер по указанному адресу и заходите в web интерфейс. Напоминаю, что web порт proxmox по-умолчанию — 8006. Не забывайте его указывать в строке адреса в браузере. Вы должны увидеть предупреждение браузера насчет сертификата. Так и должно быть, по-умолчанию используется самоподписанный сертификат.

Если у вас нет своего железа для установки proxmox, можно арендовать недорогой сервер у Selectel. Линейка выделенных севреров Chipcore стартует с абонентки в 1500 р. в месяц. Через панель управления во время заказа сервера можно сразу выбрать proxmox, установленный на софтовый рейд mdadm. Самим ничего делать не нужно будет. Сразу получите отказоустойчивый настроенный гипервизор.

Аренда сервера с гипервизором proxmox

Базовая настройка proxmox

You do not have a valid subscription for this server. Please visit www.proxmox.com to get a list of available options.
Предупреждение о платной подписке

У нас нет платной подписки, поэтому нужно удалить из списка репозиториев платный. Для этого открываем консоль сервера и закомментируем репозиторий:

# mcedit /etc/apt/sources.list.d/pve-enterprise.list
#deb https://enterprise.proxmox.com/debian/pve buster pve-enterprise

Дальше видим главную страницу управления гипервизором proxmox 6.

Главная страница web интерфейса proxmox

Настройка сети

Обычно для виртуальных машин достаточно 3 режима работы сети:

  1. Режим Bridge. В этом режиме виртуальные машины получают ip адрес из одной подсети с гипервизором и имеют в нее прямой доступ.
  2. Режим NAT. Виртуальные машины получают ip адреса в своей виртуальной подсети, во внешнюю сеть выходят через гипервизор и настроенный на нем NAT.
  3. Routed режим, когда шлюзом в интернет является одна из виртуальных машин.

Я использую все три режима работы сети, в зависимости от ситуации. Покажу это на примерах.

Как создать bridge в proxmox

Для создания сетевого интерфейса типа bridge в proxmox, в web интерфейсе перейдите в раздел и нажмите Create -> Linux Bridge.

Создание bridge в proxmox

Заполняете необходимые поля. Обязательными являются поле IP address, Gateway, Bridge Ports.

Настройки бриджа

С такими настройками вы сможете в качестве локального интерфейса оставить только vmbr0, а eth0 отключить. Это на ваше усмотрение. Если оставить оба интерфейса, то ваш proxmox будет доступен по двум разным ip адресам. Если получите ошибку:

Предупреждение о двух шлюзах

Удалите настройку шлюза на eth0, добавьте его на vmbr0.

Сразу обращаю внимание, что после создания бриджа, в системе создается новый файл с сетевыми настройками — /etc/network/interfaces.new. Там отражены сделанные нами изменения. Информация из него будет добавлена в основной файл interfaces после перезагрузки. Перезагрузите сервер и проверьте. Если все в порядке, то вы сможете подключаться и по ssh и по web доступу к обоим ip адресам — eth0 и vmbr0.

Очень внимательно отнеситесь к настройке сети в proxmox. Убедитесь, что у вас есть доступ к консоли гипервизора. Мне часто приходится настраивать выделенные серверы. Тем не менее, иногда теряю доступ к серверу из-за какой-то ошибки или невнимательности. Да и в самом proxmox могут быть проблемы.

У меня были ситуации, когда выполняешь описанные выше действия, перезагружаешь сервер — он недоступен. Захожу локально, открываю файл /etc/network/interfaces, и удаляю какую-то лишнюю закомментированную строку, из-за которой не поднималась сеть. Подробностей уже не помню, что именно было не так, но пару раз ловил такие ошибки.

Расскажу про еще один нюанс. Во время создания бриджа вас обязательно просят указать статические сетевые настройки. А иногда нужно использовать dhcp сервер. Через web интерфейс это сделать не получится, либо я не понял как. Поступаю другим образом. Пишу произвольные настройки через gui, а потом исправляю файл /etc/network/interfaces. Вот пример настройки сети, когда bridge получает сетевые настройки по dhcp.

source /etc/network/interfaces.d/*
auto lo
iface lo inet loopback
allow-hotplug eth0
#iface eth0 inet dhcp
auto vmbr0
iface vmbr0 inet dhcp
	bridge-ports eth0
	bridge-stp off
	bridge-fd 0

Перезагружаю сервер и убеждаюсь, что все работает как надо.

dhcp настройки на bridge

При этом в web интерфейсе будет вот так.

Пустые параметры vmbr в gui

Настройка NAT для виртуальных машин

Для того, чтобы настроить удобный способ сетевого подключения виртуальных машин с использованием NAT, когда все виртуалки вместе с гипервизором будут в единой виртуальной сети видеть друг друга, потребуется создать еще один bridge и настроить трансляцию адресов с помощью iptables на самом гипервизоре. Сделаем это.

Добавление бриджа для сети виртуальных машин

Заходим по ssh на гипервизор и добавляем в файл с новыми сетевыми настройками несколько строк:

# mcedit /etc/network/interfaces.new
auto vmbr1
iface vmbr1 inet static
address 10.10.10.1
netmask 255.255.255.0
bridge_ports none
bridge_stp off
bridge_fd 0
post-up echo 1 > /proc/sys/net/ipv4/ip_forward
post-up iptables -t nat -A POSTROUTING -s '10.10.10.0/24' -o vmbr0 -j MASQUERADE
post-down iptables -t nat -D POSTROUTING -s '10.10.10.0/24' -o vmbr0 -j MASQUERADE

Объясняю, что мы сделали:

  1. Разрешили форвард пакетов между сетевыми интерфейсами. Без этого гипервизор не сможет работать в роли шлюза.
  2. Добавили правила iptables для настройки NAT.

Сохраняем файл и перезагружаем сервер. В настройках сети виртуальных машин указываете интерфейс vmbr1, а в самой системе виртуалки вручную прописываете сетевые настройки, где адрес шлюза равен адресу интерфейса vmbr1 — 10.10.10.1, а ip адрес самой машины будет в подсети 10.10.10.0/24. Все виртуальные машины, у которых установлен бридж vmbr1 будут видеть друг друга.

Если вам не хочется на каждой ВМ вручную прописывать IP, можно настроить dhcp сервер либо на одной из виртуалок, либо на самом гипервизоре. Главное назначить ему нужный интерфейс — vmbr1. Настройка dhcp сервера выходит за рамки этой статьи, не буду на этом останавливаться. Для общего использования достаточно того, что я уже указал.

Routed режим сети

Последний вариант, который я иногда использую. В качестве шлюза в интернет для локальных машин, а если необходимо и офиса, выступает виртуальная машина. Этот режим ничем особо не отличается от режима NAT, кроме того, что сам нат на гипервизоре не нужен, так как натить трафик будет шлюз на виртуальной машине. Нам нужны будут 2 бриджа: один для передачи сети провайдера в виртуальную машину-шлюз, второй для сети виртуальных машин. Настройка может немного отличаться, в зависимости от того, что вы хотите получить. Тут могут быть 2 варианта:

  1. У вас гипервизор с 1 физической сетевой картой, в которую воткнут шнурок с интернетом от провайдера. Вся ваша инфраструктура виртуальная, доступ только через интернет. Например, вы арендуете выделенный сервер где-то и используете для различных целей.
  2. На вашем физическом сервере 2 и более сетевых карт. В первую приходит интернет от провайдера, вторая смотрит в локальную сеть. На гипервизоре виртуальные машины используются пользователями из локальной сети и находятся с ними в едином адресном пространстве.

В обоих случаях есть еще варианты настройки в зависимости от количества ip адресов, которые вам выдает провайдер. Если у вас только 1 внешний IP адрес, вы должны его пробросить в виртуальный шлюз. Только он будет иметь доступ в интернет. Для этого вы должны создать бридж вместе с сетевой картой, в которую приходит интернет, но при этом сам бридж не должен иметь IP адреса. Вот пример, как это должно выглядеть в первом варианте:

iface eth0 inet manual

auto vmbr0
iface vmbr0 inet manual
bridge_ports eth0
bridge_stp off
bridge_fd 0

auto vmbr1
iface vmbr1 inet static
address 10.0.0.1
netmask 255.255.255.0
gateway 10.0.0.2
bridge_ports none
bridge_stp off
bridge_fd 0

В eth0 входит провод от провайдера. Этот интерфейс включен в vmbr0 и ему не назначен ip адрес. Второй бридж vmbr1 имеет виртуальный ip адрес и создан для локальной сети виртуальных машин. Дальше вы создаете виртуальную машину для шлюза и добавляете ему оба бриджа — vmbr0 и vmbr1. На первом настраиваете ip в соответствии с настройками провайдера, на втором в данном случае указываете статический ip адрес 10.0.0.2, который будет являться шлюзом для всех виртуальных машин и самого гипервизора в том числе. Это отражено в параметре gateway в свойствах vmbr1. Потом настраиваете виртуальный шлюз и все будет работать.

Виртуальному шлюзу нужно не забыть поставить автозапуск при старте гипервизора, чтобы можно было перезагружать гипервизор удаленно и не терять доступ. Схема кажется немного запутанной, надо просто вникнуть и разобраться. На самом деле это удобно в том случае, если у вас один единственный сервер и на нем надо развернуть всю инфраструктуру. Шлюз замечательно живет на виртуальной машине, легко бэкапится и переносится. Настроить можно любой функционал. Единственный нюанс — настраивать нужно локально, тщательно проверить и только убедившись, что все корректно работает и перезагружается, ставить на постоянную работу.

Таким образом, у вас будет гипервизор, на нем шлюз в виде виртуальной машины. Все настройки сети выполняются на шлюзе, гипервизор трогать вообще не надо. Если у вас несколько гипервизоров в разных местах, вы их объединяете в единую сеть с помощью, к примеру, openvpn, который настраивается на самих шлюза. Виртуальные машины отдельно настраивать не надо. Они замечательно будут видеть друг друга через свои шлюзы на гипервизорах.

Если у вас две сетевые карты, то все то же самое. Первый бридж для интернета от провайдера без ip, второй бридж для виртуальных машин и локальной сети. Нужно только указать в нем bridge_ports eth1, если eth1 используется для физического подключения в локальную сеть.

Я часто использовал такую схему подключения, каких-то особых проблем и подводных камней тут нет. Если сервер под гипервизор надежный, то работает такое решение зачастую лучше, чем отдельный бюджетный роутер. А функционал в разы больше. Последнее время стараюсь под шлюз использовать Mikrotik там, где это возможно и оправданно.

Пример организации сети для виртуальных машин

Я сейчас покажу на конкретном примере как настроить сеть в proxmox по последнему описанному способу. Для доступа в интернет виртуальных машин будет использоваться шлюз в виде отдельной виртуальной машины. На гипервизоре ничего делать не нужно будет, кроме создания бриджа.

Итак, вот настройки сети на гипервизоре.

Проброс реального ip в виртуальную машину

eth0 смотрит в интернет, vmbr0 бридж, в который включен интерфейс eth0. На обоих интерфейсах настроены внешние ip адреса провайдера, но это не обязательно. Их может и не быть. Тут просто у сервера 8 внешних ip, хватает для всех. vmbr1 полностью виртуальный бридж для организации сети виртуальных машин.

Далее создаем виртуальную машину под шлюз. Добавляем ей оба бриджа.

Сетевые интерфейсы виртуальной машины

Диска, как видите, хватит и 10 гб для шлюза. Он уже пару лет так работает. Теперь смотрим на настройки сети у этой виртуалки.

auto ens18
iface ens18 inet static
	address 5.79.111.222
	netmask 255.255.255.224
	gateway 5.79.111.1
	dns-nameservers 1.1.1.1 8.8.4.4
	post-up iptables-restore < /etc/iptables.rules

auto ens19
iface ens19 inet static
	address 10.10.11.1
	netmask 255.255.255.0

Ens18 соответствует vmbr0, а ens19 — vmbr1. На ens18 настроен внешний ip и шлюз провайдера, который выделил этот ip адрес и выдал сетевые настройки. Настраиваем на этой виртуальной машине шлюз так, как нам надо — iptables, dns, dhcp и т.д. Далее этот шлюз указываем в качестве default gateway для остальных виртуальных машин гипервизора.

Вот пример настроек сети с одной из виртуальных машин этого гипервизора.

auto eth0
iface eth0 inet static
	address 10.10.11.17
	netmask 255.255.255.0
	gateway 10.10.11.1

В данном случае eth0 это бридж vmbr1 гипервизора. Виртуальная машина подключена только к виртуальной сети гипервизра и имеет выход в интернет через шлюза, настроенный выше. Все доступы к виртуальной машине, проброс портов и т.д. настраивается на шлюзе. Если таких гипервизоров много, то они через vpn на шлюзах объединяются.

Такой подход удобен тем, что не надо вообще трогать гипервизор. Все настройки сети (а они могут быть сложными и их может быть много) хранятся на маленьком шлюзе, который удобно бэкапить и разворачивать. В случае необходимости, из бэкапов быстро поднимается вся инфраструктура на чистом гипервизоре.

Если кому-то не понятна описанная схема, задавайте вопросы в комментариях. Я в таком режиме эксплуатирую гипервизоры уже давно. Мне это кажется удобным. Если у вас есть предложения, как можно организовать сеть виртуальных машин в proxmox более удобно, делитесь соображениями.

Читайте также:  Раскройте потенциал rsync: простое руководство по установке
Оцените статью
Хостинги