Home » Linux » Debian » Установка Proxmox в Debian на raid 1

Установка Proxmox в Debian на raid 1

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

Если у вас есть желание научиться работать с роутерами микротик и стать специалистом в этой области, рекомендую по программе, основанной на информации из официального курса MikroTik Certified Network Associate. Курс стоящий, все подробности читайте по ссылке. Есть бесплатные курсы.

Введение

Некоторое время назад я узнал про систему виртуализации 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. Начинайте стандартную установку и доходите до пункта настройки жесткого диска. Я буду использовать консольное отображение, не графическое. Мне так удобнее. Принципиальных отличий нет, можете делать по аналогии, если начали установку в графическом режиме. Когда дело дойдет до настройки диска, выбирайте вариант ручной разметки.

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

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

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

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

/bootЗагрузочный раздел 500 мб
/Корневой раздел будущей системы, 10 гб выделяю в тесте, в реальной работе рекомендую сделать 30-50 гб на всякий случай
Свободное местоВсе остальное пространство диска оставляю неразмеченным. Как его разделить и использовать будет зависеть от ваших потребностей. Позже покажу как его все задействовать под различные хранилища (виртуальных машин, образов или бэкапов)

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

Разбивка диска под 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 сервер и системные утилиты.

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

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

После установки рекомендую выполнить базовую настройку Debian. Это не обязательно, посмотрите на мои рекомендации и делайте то, что посчитаете нужным. Если гипервизор будет внутри локальной сети, то фаервол можно выключить, порт ssh не трогать, а логин под root разрешить. Обновиться, настроить сеть, время и полезные утилиты. Так же на всякий случай создайте swap раздел хотя бы на 2-4 гигабайта.

Теперь установим 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
proxmox6Имя сервера, указанное во время установки
localДомен, указанный во время установки
192.168.155.104IP адрес сервера

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

# 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

Заходим через браузер по указанному адресу. В окне логина вводите системный root и пароль от него. Нас сразу же встречает предупреждение:

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 интерфейсе перейдите в раздел Network и нажмите 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 более удобно, делитесь соображениями.

Хранилище для виртуальных машин

После чистой установки proxmox на debian, автоматически создается хранилище local, которое располагается на одном разделе с самой операционной системой по адресу /var/lib/vz. Оно уже предназначено для хранения образов дисков, виртуальных машин и контейнеров.

Локальное хранилище proxmox

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

Мы создадим еще один raid 1 mdadm из незанятого места на дисках. Для этого нам нужно будет там создать разделы и объединить их в программный рейд с помощью mdadm.

Обращаю сразу внимание, что это тестовая среда, в реальности так диски разбивать не надо. Оптимально сделать raid 1 из двух отдельных под систему, заняв 30-50 гигов, остальное место на этом рейде отдать под iso образы и возможно бэкапы. Для виртуальных машин подключить отдельные диски и собрать из них рейд. Его уровень будет зависеть от количества дисков. Оптимально 4 штуки для raid 10

Смотрим имена дисков в нашей системе:

# ls -l /dev | grep sd

brw-rw----  1 root disk      8,   0 Aug  9 15:26 sda
brw-rw----  1 root disk      8,   1 Aug  9 15:26 sda1
brw-rw----  1 root disk      8,   2 Aug  9 15:26 sda2
brw-rw----  1 root disk      8,  16 Aug  9 15:26 sdb
brw-rw----  1 root disk      8,  17 Aug  9 15:26 sdb1
brw-rw----  1 root disk      8,  18 Aug  9 15:26 sdb2

У меня 2 диска sda и sdb. На них уже есть по 2 раздела, которые мы сделали во время установки системы. Создадим на каждом из них еще по одному разделу из всего оставшегося свободного места.

# cfdisk /dev/sda

Разметка свободного места диска

Выбираем свободное пространство, создаем на нем раздел и указываем тип — Linux raid autodetect.

Создаем раздел под raid

То же самое делаем со вторым диском. После этих действий у вас должны появиться новые разделы /dev/sda3 и /dev/sdb3. Чтобы это произошло, нужно либо перезагрузить сервер, либо перечитать таблицу разделов командой:

# partprobe -s

Если команда не найдена, установите parted:

# apt install parted

Проверим новые разделы:

# ls -l /dev | grep sd

brw-rw----  1 root disk      8,   0 Aug  9 15:40 sda
brw-rw----  1 root disk      8,   1 Aug  9 15:40 sda1
brw-rw----  1 root disk      8,   2 Aug  9 15:40 sda2
brw-rw----  1 root disk      8,   3 Aug  9 15:40 sda3
brw-rw----  1 root disk      8,  16 Aug  9 15:40 sdb
brw-rw----  1 root disk      8,  17 Aug  9 15:40 sdb1
brw-rw----  1 root disk      8,  18 Aug  9 15:40 sdb2
brw-rw----  1 root disk      8,  19 Aug  9 15:40 sdb3

Теперь объединим только что созданные разделы в raid1:

# mdadm --create /dev/md2 --level=1 --raid-disks=2 /dev/sda3 /dev/sdb3
mdadm: Note: this array has metadata at the start and
may not be suitable as a boot device. If you plan to
store '/boot' on this device please ensure that
your boot-loader understands md/v1.x metadata, or use
--metadata=0.90
Continue creating array? y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md2 started.

Проверим информацию о mdadm:

# cat /proc/mdstat

Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10] 
md2 : active raid1 sdb3[1] sda3[0]
      42140672 blocks super 1.2 [2/2] [UU]
      [=>...................]  resync =  9.4% (4001792/42140672) finish=3.0min speed=210620K/sec
      
md0 : active raid1 sdb1[1] sda1[0]
      486400 blocks super 1.2 [2/2] [UU]
      
md1 : active raid1 sdb2[1] sda2[0]
      9756672 blocks super 1.2 [2/2] [UU]

Все в порядке, массив синхронизируется. Дождитесь окончания синхронизации и продолжайте. Хотя это не обязательно, массив и сейчас уже готов к работе, он он будет сильно тормозить во время ребилда. Добавим информацию о новом массиве в конфигурационный файл /etc/mdadm/mdadm.conf, иначе после перезагрузки массив не будет виден в системе:

# mdadm --examine --scan | grep 'md/2' >> /etc/mdadm/mdadm.conf

Конфигурационный файл примет такой вид:

# cat /etc/mdadm/mdadm.conf
# mdadm.conf
# mdadm.conf
#
# !NB! Run update-initramfs -u after updating this file.
# !NB! This will ensure that initramfs has an uptodate copy.
#
# Please refer to mdadm.conf(5) for information about this file.
#

# by default (built-in), scan all partitions (/proc/partitions) and all
# containers for MD superblocks. alternatively, specify devices to scan, using
# wildcards if desired.
#DEVICE partitions containers

# automatically tag new arrays as belonging to the local system
HOMEHOST 

# instruct the monitoring daemon where to send mail alerts
MAILADDR root

# definitions of existing MD arrays
ARRAY /dev/md/0  metadata=1.2 UUID=a214eb8b:c3ff0ab2:13197140:25a25924 name=proxmox6:0
ARRAY /dev/md/1  metadata=1.2 UUID=1d5a52f3:7caa923c:b8f13836:8a7bcf54 name=proxmox6:1

# This configuration was auto-generated on Fri, 09 Aug 2019 13:59:40 +0300 by mkconf
ARRAY /dev/md/2  metadata=1.2 UUID=30be9c4e:6a351eca:6d66228d:ee695c19 name=proxmox6:2

Дальше у нас 2 пути:

  1. Создать файловую систему на md2, смонтировать раздел в систему и создать storage в виде обычной директории, такой же, как по-умолчанию.
  2. Создать том LVM и на его основе storage.

Традиционно используют второй способ, так как он позволяет потом использовать в качестве дисков виртуальных машин lvm разделы. С ними удобно работать, плюс, теоретически, блочное устройство типа lvm должно работать чуть быстрее. Так что пойдем по второму пути. Выполним инициализацию раздела для работы с LVM:

# pvcreate /dev/md2
File descriptor 7 (pipe:[31619]) leaked on pvcreate invocation. Parent PID 2856: bash
  Physical volume "/dev/md2" successfully created.

Создадим группу томов:

# vgcreate raid1-md2 /dev/md2
File descriptor 7 (pipe:[31619]) leaked on vgcreate invocation. Parent PID 2856: bash
  Volume group "raid1-md2" successfully created

Теперь идем в web интерфейс, выбираем Datacenter, вкладку Storage, жмем Add и выбираем LVM:

Добавление lvm storage в proxmox

Указываем параметры только что созданной группы томов.

Параметры lvm хранилища

IDЛюбое название нового сторейджа. Я обычно называю так, чтобы потом можно было легко сопоставить с именем системного раздела. Так удобно.
Volume groupИмя группы томов LVM, которое вы указали при создании командой vgcreate

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

Добавление и подключение диска

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

Я подключил новый жесткий диск, проверим его имя в системе:

# ls -l /dev | grep sd
brw-rw---- 1 root disk 8, 0 Aug  9 15:40 sda
brw-rw---- 1 root disk 8, 1 Aug  9 15:40 sda1
brw-rw---- 1 root disk 8, 2 Aug  9 15:40 sda2
brw-rw---- 1 root disk 8, 3 Aug  9 15:40 sda3
brw-rw---- 1 root disk 8, 16 Aug  9 15:40 sdb
brw-rw---- 1 root disk 8, 17 Aug  9 15:40 sdb1
brw-rw---- 1 root disk 8, 18 Aug  9 15:40 sdb2
brw-rw---- 1 root disk 8, 19 Aug  9 15:40 sdb3
brw-rw---- 1 root disk 8, 32 Aug  9 15:40 sdc

Можно не создавать на диске раздел, а сразу его инициализировать для работы в lvm и создать группу томов:

# pvcreate /dev/sdc
# vgcreate disk-sdc /dev/sdc

Идем в веб интерфейс и создаем новый storage:

Добавление нового жесткого диска в proxmox

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

 Хранилище по NFS

Приведу простой пример подключения хранилища по NFS. Мне оно в будущем понадобится для организации бэкапа виртуальных машин. Об этом я расскажу позже. Сейчас только добавим новое хранилище. Сделать это очень просто. У меня уже есть настроенный сервер NFS. Описание его настройки выходит за рамки материала, поэтому будем считать, что сервер у вас есть. Идем в раздел Storage и добавляем новое хранилище NFS:

Я это хранилище буду использовать только для iso образов и backup’ов, поэтому выставляю соответствующие настройки.

Параметры backup storage

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

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

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

Чтобы установить виртуальную машину, нужно использовать iso образ. Его надо как-то загрузить на proxmox. Сделать это не сложно, нужно только понимать, что загрузить образ можно только на тот storage, который поддерживает такую возможность. Сторейджи LVM не позволяют загружать образы, для этого нужно использовать, например, storage в виде локальной директории. По умолчанию, один такой есть в системе. В него и загрузим образ виртуальной машины. Для этого открываем нужный storage и выбираем вкладку Content. Жмем на Upload и выбираем нужный образ.

Загрузка iso образа

На этапе загрузки iso образа я иногда сталкиваюсь с проблемой. Образ больше 4Гб не загружается. Проверял несколько раз, в том числе в различных инсталляциях на разное железо. Ошибка время от времени проявляется. Если у вас образы больше, чем 4 Гб, ищите альтернативные способы загрузки в хранилище, благо это не составляет большого труда.

Альтернативный способ загрузки iso образа в proxmox — использовать scp или напрямую через wget качать образ из интернета. Положить его нужно в директорию /var/lib/vz/template/iso, если используете дефолтный storage, добавленный по-умолчанию после установки.

Дожидаемся окончания загрузки. Теперь этот образ можно использовать для установки ОС на виртуальную машину. Создание виртуальной машины выглядит следующим образом. Нажимаем на кнопку Create VM

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

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

Лог событий

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

Консоль виртуальной машины

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

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

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

Start at bootПринимает значение Yes или No, соответственно, загружаемся автоматически или нет.
Start/Shutdown orderПорядок загрузки и выключения виртуальных машин, принимает целые цифровые значения (1, 2, и т.д.).
Startup delayЗадержка запуска остальных ВМ после запуска этой, принимает значения в секундах.
Shutdown timeoutЗадержка в выключении ВМ. Сначала будет отдана команда на завершение работы. Если ВМ не завершит работу корректно, ей будет послан сигнал на принудительное выключение.

Рассмотрим простой пример. У нас есть виртуальная машина, к примеру Windows Server с ролью Active Directory на борту. Все остальные серверы завязаны на корректную работу службы каталогов. Нам надо сначала запустить контроллер домена, а затем все остальные серверы за ним. Установите параметр Start at boot в положение Yes для всех виртуальных машин, которые хотите запускать автоматически. Укажите Start/Shutdown order на контроллере домена 1, Startup delay 240, Shutdown timeout 120. С такими настройками при запуске гипервизора первой стартует виртуальная машина с КД, через 240 секунд все остальные в соответствии с их настройками.

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

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

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

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

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

Параметры бэкапа

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

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

Бэкап виртуальной машины

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

Лог создания резервной копии

Тут сразу встает следующий вопрос — как автоматически удалять старые бэкапы? Однозначно ответить не получится, все будет зависеть от того, где будут храниться бэкапы. Если это обычный linux сервер с доступом к консоли, то можно воспользоваться программой find:

# /usr/bin/find /mnt/backups-vm -type f -mtime +30 -exec rm {} \;

После выполнения этой команды, все файлы в папке /mnt/backups-vm старше 30 дней будут удалены. Для автоматизации процесса команду можно поместить в cron. С помощью zabbix вы можете мониторить актуальность бэкапов и следить за их размерами.

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

Не забудьте у восстановленной копии виртуальной машины, если восстановите на том же гипервизоре, поменять mac адрес и сетевые настройки. Если не поменять мак, то будете потом долго ловить и разбираться с непонятными сетевыми проблемами.

Заключение

Не понравилась статья и хочешь научить меня администрировать? Пожалуйста, я люблю учиться. Комментарии в твоем распоряжении. Расскажи, как сделать правильно!

Подведем итог тому, что сделали:

  • Установили гипервизор proxmox на сервер под управлением Debian на программный raid1, обеспечив отказоустойчивость системы на уровне дисков.
  • Настроили виртуальную сеть для виртуальных машин.
  • Подключили различные storage для выполнения задач размещения и бэкапа виртуальных машин.
  • Добавили и настроили виртуальные машины.
  • Организовали автоматический бэкап всех ВМ.

Я постарался выбрать наиболее востребованные функции и описать их, чтобы систему можно было использовать в реальной работе и не бояться за надежность решения. Собрал необходимый минимум, но статься все равно получилась очень большая, объемная. Я не стал ее разделять на части, чтобы была целостная картина всего того, что сделали. Тут есть еще над чем поработать, особенно актуален вопрос бэкапа. Без инкрементного бэкапа неудобно хранить резервные копии на удаленном сервере, очень большой объем передаваемых данных получается. Мне не известен способ инкрементного бэкапа виртуальных машин в proxmox, буду рад, если кто-то посоветует хорошее решение для KVM. Снэпшоты zfs не в счет.

Онлайн курсы по Mikrotik

Если у вас есть желание научиться работать с роутерами микротик и стать специалистом в этой области, рекомендую пройти курсы по программе, основанной на информации из официального курса MikroTik Certified Network Associate. Помимо официальной программы, в курсах будут лабораторные работы, в которых вы на практике сможете проверить и закрепить полученные знания. Все подробности на сайте . Стоимость обучения весьма демократична, хорошая возможность получить новые знания в актуальной на сегодняшний день предметной области. Особенности курсов:
  • Знания, ориентированные на практику;
  • Реальные ситуации и задачи;
  • Лучшее из международных программ.

Помогла статья? Есть возможность отблагодарить автора

Автор Zerox

Zerox
Владимир, системный администратор, автор сайта. Люблю настраивать сервера, изучать что-то новое, делиться знаниями, писать интересные и полезные статьи. Открыт к диалогу и сотрудничеству.

208 комментариев

  1. Аватар
    Александр

    Добрый день, подскажите плз, есть основной внешний ip, купил еще 5 белых айпи, мне нужно поднять в proxmox 5 виртуалок, каждая со своим белым ip, как это правильно сделать?

    • Zerox

      Делается бридж на внешнем интерфейсе, куда приходят 5 IP. Этот бридж выдается виртуалкам как сетевой интерфейс. В виртуалках натсраивается внешний ip. Проблем никаких быть не должно, это обычный кейс, я так часто настраиваю.

      • Аватар
        Александр

        Я так и делаю, не получается, вам можно прислать скрины ?

      • Аватар
        Александр

        Один внешний интерфейс На самом проксмокс eno1, создаю просто бридж без настроек пустой vmbr0, создаю виртуалку добавляю vmbr0 и вбиваю другой внешний айпишник и шлюз айпи интерфейса eno1. Так я правильно делаю или нет?

      • Аватар
        Александр

        Когда делаешь бридж в нем нужно указывать внешний айпи или нет?

  2. Аватар

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

    Мне кажется в этом пункте можно выбрать «Указать вручную» И прописать ручками диски, на которые ставить загрузчик, например /dev/sda /dev/sdb /dev/sdc /dev/sdd пример для 10 raid’а.

  3. Аватар

    Спасибо большое за статью. Всё доходчиво и понятно.
    У меня один вопрос?
    1. Я создал R10 на mdadm и создал поверх этого массива LVM (всё как по статье), Далее подключил эту LG через вебморду Proxmox’a.
    Создал ВМ и указал место хранения диска данную LVM группу. Вопрос, а диски пощупать получается нельзя от ВМ?
    Ну если бы я ещё создал на этой LVM группе LV (логический том) и примантировал допустим к директории /VMdisk, то тут бы я мог видеть эти диски, перемещать как и куда хочу.
    А по логической группе виртуальные диски искал, и не нашел, где они хранятся.

  4. Аватар
    Евгений

    Здравствуйте, отличная статья, спасибо за проделанную работу, но у меня есть вопрос, есть БП CyberPower, умеет по расписанию отключатся и включатся, под вин есть ПО которое отвечает за его настройку, а так же засылает команду на выключение, даже не выключение а гибернацию, можно ли как то настроить данный гипервизор на такое же корректное отключение по времени, остановки виртуальных машин и далее остановке самого гипервизора и выключение ПК

  5. Аватар

    Спасибо за подробную статью. В данном случае zabbix устанавливать лучше перед установкой proxmox? Еще можно было бы в статье пару строк написать что нужно будет сконфигурировать postfix, т.к. при установке это требуется. Еще вопрос по мониторингу mdadm, зачем этот огород с zabbix, если mdadm поддерживает уведомления на мыло из коробки? http://adminunix.ru/nastrojka-uvedomleniya-o-sostoyanii-raid-m/

    • Zerox

      Zabbix можно ставить в любой момент, не принципиально. Мониторинг mdadm нужен, чтобы было все в одном месте, в единой системе мониторинга. Я всегда все замыкаю на нее. Это удобно. Postfix конфигурировать не обязательно. Я обычно не делаю, если не собираюсь настраивать отправку локальной почты на реальные ящики.

      • Аватар

        Добрый день,
        а нам поможете настроить Proxmox очень старой версии proxmox-ve-2.6.32 на последнюю?

        • Zerox

          Поставьте новую версию и перенесите на нее виртуальные машины. Это будет быстрее и надежнее, нежели обновление такой древности.

  6. Аватар
    Александр

    Хорошая статья! Спасибо!
    Настроил, все работает.
    Но почему-то окошко с предупреждением всеравно вылазит.

    • Аватар

      Чтобы убрать окно с предупреждением введите в консоле
      sed -i.bak «s/data.status !== ‘Active’/false/g» /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js && systemctl restart pveproxy.service

  7. Аватар
    Николай

    Zerox как с вами можно связаться?

  8. Аватар

    Добрый день. Если можно, подскажите пожалуйста. Несколько раз читал статью. Делал разные варианты. Не получается дать доступ виртуалкам и контейнерам наружу. Пробовал дать NAT через гипервизор, не сработало. Сделал отдельный контейнер с двумя мостами. не пошло. заказал еще один IP, сделал еще один мост и добавил в контейнер с двумя мостами. Наружу не идет. Внутри сеть бегает, наружу нет. Явно не хватает какой-то мелочи, потратил полдня, но так и не нашел куда копать.

    Конфиг Proxmox. Конфиг Контейнера, одна сетевуха с мостом с белым ip, вторая со вторым мостом с серым.

    auto lo
    iface lo inet loopback

    iface enp5s0 inet manual

    auto vmbr0
    iface vmbr0 inet static
    address White_ip 1
    netmask 255.255.255.192
    gateway Gateway
    bridge-ports enp5s0
    bridge-stp off
    bridge-fd 0

    auto vmbr1
    iface vmbr1 inet static
    address 10.10.10.1
    netmask 24
    bridge-ports none
    bridge-stp off
    bridge-fd 0

    auto vmbr2
    iface vmbr2 inet static
    address Whiteip_2
    netmask 26
    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

    • Zerox

      Для начала я бы убедился, что параметр /proc/sys/net/ipv4/ip_forward реально применился и работает. Без него NAT не будет работать. А так в целом не знаю, что посоветовать. Вы где-то ошибаетесь просто. Я регулярно настраиваю гипервизоры по такому принципу и все работает сразу, без нюансов. Сделайте отдельно тему на форуме и выложите все сетевые конфиги — гипервизора и виртуалки, будем смотреть, что там не так.

  9. Аватар

    Друзья, есть ли особенности установки zabbix-agent на 6 версию проксмокса? Были 4 и 5 версии, ставилось без проблем. На 6 упорно zabbix сервер не видит агента. Проверка телнетом порта от сервера до агента как то непонятно проходит — не то чтобы он не может подключится по таймауту на порт 10050, а коннект проходит, но агент/проксмокс почти сразу его закрывает. Файерволл в проксмоксе в веб-интерфейсе отключен.

    • Zerox

      Никаких особенностей я не видел. Это почти обычный Debian 10, zabbix-agent работает как обычно. Это у вас какая-то локальная проблема.

  10. Аватар

    Доброго времени суток. Всю голову сломал, не могу понять — где мой косяк.
    Хецнер, Дебиан 10.1, Проксмокс 6.0-7.

    /eta/network/interfaces

    auto enp2s0
    iface enp2s0 inet manual

    auto vmbr0
    iface vmbr0 inet static
    address 95.95.0.95
    netmask 29
    gateway 95.95.0.1
    bridge-ports enp2s0
    bridge-stp off
    bridge-fd 0

    Сеть снаружи есть, веб-морда работает, но мост не активен и при создании LXC отвал с ошибкой.

    Вывод ifconfig выдает:
    enp2s0: flags=4163 mtu 1500
    inet 95.95.0.95 netmask 255.255.255.255 broadcast 0.0.0.0

    ifconfig vmbr0
    vmbr0: error fetching interface information: Device not found

    Куда оно «съедает» мост то??

    • Zerox

      Ничего не понимаю. То есть по ip адресу 95.95.0.95 сервер доступен, но в списке сетевых интерфейсов vmbr0, на котором настроен этот адрес, отсутствует? А если смотреть через команду:

      # ip a

      Я полно подобных серверов настроил и ни разу такого не видел. Где-то вы явно накосячили. Сетевой конфиг верный, ошибки нет. Попробуйте ребутнуть сервер.

      • Аватар

        Сам спросил, сам отвечу ))
        При изменении через веб-морду Проксмокс добавляет новые записи в конец файла /etc/network/interfaces
        А так как перед этим я его предварительно правил, и мост у меня был «посередине» с прописыванием адресов из подсети «up route add ….» — вся конструкция «поплыла» и мост отказался стартовать. Всякие «up route add ….» должны быть «внутри» секции/конструкции своего интерфейса. А еще лучше (мне уже подсказали) — вынести их в /etc/network/if-up.d/script, например вот так:
        #!/bin/bash
        # Check for specific interface if desired
        [ «$IFACE» != «eth0» ] || exit 0
        # Adding additional routes on connection
        route add -net 31.135.208.0/21 gw 192.168.2.1 dev eth0
        route add …
        route add …

  11. Аватар

    Добрый вечер.
    Вот вы пишите «У меня есть отдельная статья по установке Debian. Там подробно описан процесс установки системы на софтовый рейд mdadm» (https://serveradmin.ru/kak-skachat-i-ustanovit-debian-10-buster/)
    Однако в данной статье делаете без LVM
    Я изучаю вопрос, у меня 4 диска по 2Тб, хочу поставить proxmox на raid10
    Сейчас сделал аналогично вышеуказанной статье, только raid10, что касается разбивки дисков
    Так как всё таки лучше, с LVM Или без?

    • Zerox

      Это вам решать, как лучше. Подумайте, поизучайте lvm. Я и так, и так делаю. Последнее время больше с lvm, так как с ним удобнее, но нужно понимать, что это лишний слой. Если в нем нет надобности, использовать не обязательно.

  12. Аватар

    Создаю виртуалку на debian, добавляю второй сетевой интерфейс (vmbr1), пытаюсь запустить, но выдаёт ошибку:

    bridge ‘vmbr1’ does not exist
    kvm: network script /var/lib/qemu-server/pve-bridge failed with status 512
    TASK ERROR: start failed: command ‘/usr/bin/kvm -id 100 -name router -chardev ‘socket,id=qmp,path=/var/run/qemu-server/100.qmp,server,nowait’ -mon ‘chardev=qmp,mode=control’ -chardev ‘socket,id=qmp-event,path=/var/run/qmeventd.sock,reconnect=5’ -mon ‘chardev=qmp-event,mode=control’ -pidfile /var/run/qemu-server/100.pid -daemonize -smbios ‘type=1,uuid=924cd842-42e5-41b9-9252-5c6f153f2ee3’ -smp ‘1,sockets=1,cores=1,maxcpus=1’ -nodefaults -boot ‘menu=on,strict=on,reboot-timeout=1000,splash=/usr/share/qemu-server/bootsplash.jpg’ -vnc unix:/var/run/qemu-server/100.vnc,password -cpu kvm64,+lahf_lm,+sep,+kvm_pv_unhalt,+kvm_pv_eoi,enforce -m 512 -device ‘pci-bridge,id=pci.2,chassis_nr=2,bus=pci.0,addr=0x1f’ -device ‘pci-bridge,id=pci.1,chassis_nr=1,bus=pci.0,addr=0x1e’ -device ‘vmgenid,guid=b92e0341-e5b5-41d1-9d1e-8fd248c42588’ -device ‘piix3-usb-uhci,id=uhci,bus=pci.0,addr=0x1.0x2’ -device ‘usb-tablet,id=tablet,bus=uhci.0,port=1’ -device ‘VGA,id=vga,bus=pci.0,addr=0x2’ -device ‘virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3’ -iscsi ‘initiator-name=iqn.1993-08.org.debian:01:7cbebb43444e’ -drive ‘file=/var/lib/vz/template/iso/debian-10.1.0-amd64-netinst.iso,if=none,id=drive-ide2,media=cdrom,aio=threads’ -device ‘ide-cd,bus=ide.1,unit=0,drive=drive-ide2,id=ide2,bootindex=200’ -device ‘virtio-scsi-pci,id=scsihw0,bus=pci.0,addr=0x5’ -drive ‘file=/var/lib/vz/images/100/vm-100-disk-0.qcow2,if=none,id=drive-scsi0,format=qcow2,cache=none,aio=native,detect-zeroes=on’ -device ‘scsi-hd,bus=scsihw0.0,channel=0,scsi-id=0,lun=0,drive=drive-scsi0,id=scsi0,bootindex=100’ -netdev ‘type=tap,id=net0,ifname=tap100i0,script=/var/lib/qemu-server/pve-bridge,downscript=/var/lib/qemu-server/pve-bridgedown,vhost=on’ -device ‘virtio-net-pci,mac=16:36:5C:CA:EE:5B,netdev=net0,bus=pci.0,addr=0x12,id=net0,bootindex=300’ -netdev ‘type=tap,id=net1,ifname=tap100i1,script=/var/lib/qemu-server/pve-bridge,downscript=/var/lib/qemu-server/pve-bridgedown,vhost=on’ -device ‘virtio-net-pci,mac=6A:59:34:27:31:E2,netdev=net1,bus=pci.0,addr=0x13,id=net1,bootindex=301’ -machine ‘type=pc» failed: exit code 1

    • Zerox

      После создания vmbr1 гипервизор перезагружал?

      • Аватар

        Да, выяснилось, что дело было в перезагрузке. Спасибо большое.

        Ещё такой к вам вопрос. Почему при создании моста vmbr1 вы пишите, что указываете сеть 10.10.10.1/24 (которая, как я понимаю, частная, и будет для внутреннего транспорта виртуалок, вроде так правильно и по канону), но далее по тексту вы указываете править файл с настройками сети по ssh и прописываете IP-адрес 192.168.5.211

        auto vmbr1
        iface vmbr1 inet static
        address 192.168.5.211
        netmask 255.255.255.0

        Я из-за этого запутался. Получается, что всё же внутренняя виртуальная локалка будет в 5-й подсети? Или нет? Но далее по тексту вы опять упоминаете сеть 10.10.10.0/24. Заранее, спасибо за ответ.

        • Zerox

          Все верно. Сеть у виртуалок должна быть 10.10.10.1/24. В статье ошибка. Скопировал 192.168.5.211 с какого-то работающего сервера для примера и забыл изменить адрес.

  13. Аватар
    Николай

    столкнулся с тем что в Debian10 не работает команда dpkg-reconfigure . Лечится export PATH=$PATH:/usr/sbin

  14. Аватар
    Константин

    Статья хорошая и полезная. Не раз ставил по ней и всё было хорошо.
    Недавно столкнулся с небольшой проблемой. Сервер супермикро, два винта с разметкой GPT. И тут началось… Ну если кратко, всё упёрлось в установку загрузчика. EFI не ставится загрузчик поверх raid. Причём я проверил как софтовый райд, так и два аппаратных, которые имелись на борту сервера.
    Были перепробованы все варианты. Гугл помог, нашёл информацию, что в таком случае нужен либо шаманский бубен, который помогает на очень небольшом количестве материнских плат, либо так делать просто нельзя и точка, подытожил автор той статьи.
    Решил сделать чуть хитрее, разделы для загрузчика не стал объединять в raid, а оставил на каждом диске без изменений. На один диск загрузчик поставил штатным способом при установке debian. Понимаю, что если вынуть первый диск, на котором есть загрузчик — система со второго не стартанёт.
    Если можно, осветите в статье такой вариант установки и может дадите какие то рекомендации, как лучше сделать если диск не MBR а GPT.

    • Zerox

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

  15. Аватар
    Александр

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

    «На ens19 настроен внешний ip и шлюз провайдера» ? Может быть на ens18 ?

  16. Аватар
    LESHIY_ODESSA

    Вы пишете — Если оставить оба интерфейса, то ваш proxmox будет доступен по двум разным ip адресам.

    Но каким образом он будет доступен если в /etc/hosts одна единственная запись — 10.1.2.101 server.lan server pvelocalhost

    У меня следующая ситуация. Ваш вариант с роутером из Микротик очень хорош, но всё же я столкнулся с ситуацией когда мне нужен доступ снаружи. А снаружи у меня домашний роутер.

    В общем опишите как предоставить доступ с внешнего IP. ТО есть по двум IP сразу.

    • Zerox

      /etc/hosts к ip адресам и доступу не имеет никакого отношения. По сути это статическая dns запись и больше ничего. С внешнего ip нужно пробрасывать порты к ресурсам proxmox, если нужен к ним доступ.

      • Аватар
        LESHIY_ODESSA

        Я нашел у себя ошибку и всё заработало. Я не подумал что если eno1 не включен, то есть он не auto eno1, то vmbr0 тоже отключен.

        auto eno1
        iface eno1 inet manual

        auto vmbr0
        iface vmbr0 inet dhcp
        bridge-ports eno1
        bridge-stp off
        bridge-fd 0

  17. Аватар

    ZFS policy-driven snapshot management and replication tools — github.com/jimsalterjrs/sanoid/
    Умеет incremental

    Зы. Короче, с mdadm + LVM вы пока что в пролете с incremental (

  18. Аватар

    «От zfs в любой момент можно получить сюрприз. Я его использовал еще лет 10 назад на freebsd.»
    10 лет в IT — это как от каменного топора да АЭС.

    Тормоза с ZFS? Настройте L2ARC на ZFS, включите Zswap с z3fold + lz4-компрессией , задайте vm.swappiness=10 (внезапно)
    Подумайте, разберитесь.

    ЗЫ. CRC на современных CPU вычисляется почти мгновенно.

    ЗЫ2. Не думаю, что автор сего сайта опытнее целой КОМАНДЫ разрабов PVE, к-ые софт-рейд с mdadm не завезли.

    • Zerox

      Причем тут мой опыт? Я говорю, что zfs это нишевый продукт, который нужно выбирать осмысленно под конкретные задачи. Он требует отдельных конфигураций, знаний и опыта работы, чего не нужно для mdadm. Он без проблем предсказуемо работает из коробки и не требует настроек, поэтому больше подходит для общего случая.

      Mdadm много куда не завезли, причем не из-за проблем с удобством и эксплуатацией. Думать надо своей головой, а не надеяться на разработчиков, считая, что они уже все сделали за тебя. Их цели и ваши скорее всего не совпадают. Если уже так рассуждать, то zfs еще больше куда не завезли. О чем это должно говорить?

  19. Аватар

    Fast & frequent incremental ZFS backups with zrep — grendelman.net/wp/fast-frequent-incremental-zfs-backups-with-zrep , github.com/bolthole/zrep

  20. Аватар

    ZFS incremental backup пока не завезли, но есть differential — github.com/ayufan/pve-patches
    Минус один — после обновления ядра PVE нужно ждать новый пачт от автора (

  21. Аватар

    И это. Не надо linux bridge. Пользуйте open vswitch. Гораздо гибче.

  22. Аватар

    github.com/extremeshok/xshok-proxmox
    Пользовать думаючи.

  23. Аватар

    Добрый.

    Сколько можно велосипедить с PVE? Если уж сами разрабы zfs из коробки предлагают? Смогете copy-on-write, мгновенные снэпы и т.д. на mdadm соорудить?

    «… я не работал, у меня нет опыта c zfs» . У-у-у-у, Так вы раньше и с никсами не работали, а теперь вот пользуете вовсю.
    Не надо других на ложный путь наводить.

    Внимание, граждане! Пользуйте ZFS с PVE! Не любите себе моСк.

    • Zerox

      Ниже я уже написал, почему не zfs. Вот свежий пример из практики от знакомого. Гипервизор стал сильно тормозить, он начал разбираться, из-за чего это. Мне просто не нужен такой головняк на ровном месте.

      «Вычислил. Смотри что было. Решил я поставить с образа на zfs. Сразу после установки пошли жуткие тормоза и я убавил память на некоторых виртуальных машинах. Результат не улучшился.

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

      Не думал что виртуалка может давать такие проблемы на весь гипервизор.»

      От zfs в любой момент можно получить сюрприз. Я его использовал еще лет 10 назад на freebsd. И нужно понимать, что zfs это copy-on-write с проверкой CRC, она работает заметно медленнее обычной ext4. За все ее плюшки приходится платить скоростью и оперативной памятью, которую до трети всего объема придется отдать под zfs. При нехватки памяти начнутся больше проблемы — фризы, непонятные тормоза.

      В общем, я считаю, что zfs нишевая тема и в общем случае, лучше использовать mdadm.

      • Аватар

        В Proxmox для оценки производительности есть специальная команда — pveperf. Если параметр FSYNC\SECOND имеет значение меньше 200 — на лицо будут фризы и непонятные тормоза. В документации на Proxmox все описано. Проблема решается установкой SSD диска под логи zfs.

        • Zerox

          Да, я знаю про этот мониторинг. Об этом вот здесь отдельно рассказано — https://sevo44.ru/zfs-monitoring-v-zabbix/

          • Аватар

            pveperf — это не про мониторинг. Еще раз — это программа оценки производительности машины на которой установлен Proxmox. Вне зависимости от типа файловой системы. С NVMe или SSD проблем обычно нет. Но в случае установки Proxmox на zfs на обычные, даже быстрые HDD, очень часто производительность I/O падает катастрофически. Чтобы исправить ситуацию необходимо перенести логи zfs на SSD. Диска на 64Gb вполне достаточно.

  24. Аватар

    Ротацию бекапов с давних времен можно настроить через web- интерфейс. Datacenter -> Storage -> выбираем место хранения — > Edit -> Max Backups. Ставим, к примеру, 30 и все!

  25. Аватар

    А почему не ZFS? Там и рейд из коробки и не надо столько танцев с бубном для настройки mdadm. Это нисколько не критика. Интересна ваша аргументация в пользу вашего решения. Заранее спасибо.

    • Zerox

      Отвечаю как есть. У меня нет опыта работы с zfs. Плюс, я не хочу тратить память сервера на файловую систему. Вариант с mdadm мне не кажется сложным. Это дефолтный рейд в линуксе с незапамятных времен. Он работает надежно и предсказуемо. Его не надо настраивать и искать какие-то оптимальные параметры. Поставил и забыл — работает на уровне возможностей жестких дисков. Мне для прода такой вариант подходит. Я его постоянно использую, он мне понятен, там нет подводных камней. С zfs я видел кучу статей с оптимизацией, подбором параметров, исправлением ошибок и т.д. Мне все это не нужно.

    • Аватар
      Николай

      Я года три назад попытался использовать ZFS для гипервизора Proxmox и гостевых виртуальных машин. Благо, инсталлятор Proxmox сам предлагает использовать ZFS и сам находит диски. В итоге, переустанавливал потом Proxmox на другой раздел FS и переносил виртуальные машины. Проблема всплыла при создании снапшотов (снимков) виртуальных машин. Нерегулярно, примерно 1 раз из 5 создание снимка завершалось ошибкой, при этом в процессе создания снимка отваливался ZFS-раздел, на котором размещались диски виртуальных машин, и все виртуальные машины в связи с отсутствием виртуальных дисков одновременно останавливались.

  26. Аватар

    На этапе загрузки iso образа я столкнулся с проблемой. Образ больше 4Гб не загружался. Проверял несколько раз, в том числе в различных инсталляциях на разное железо. Ошибка повторялась везде. Я не смог загрузить образ. Если у вас образы больше, чем 4 Гб, ищите альтернативные способы загрузки в хранилище, благо это не составляет большого труда.

    Я сколкнулся с такой же проблемой. Из теста, я понял, что просто диск маленький. На корневом разделе стоит система, туда пиштся образ, но еще фишка такая, что при загрузке образа на локальные хранилища, он сначала пишется кешем в корневой раздел и поэтому нужно удвоенное пространство. У меня тоже было 20 Гб и образ 3.5 Гб забивал диск при загрузке, потом ошибка и удалялся.

    • Zerox

      Хм, надо будет проверить. Я обычно корневые разделы делаю достаточного размера. Вряд ли дело было в этом. Я давно не проверял, так как загружаю образы через wget в консоли сразу в хранилище.

  27. Аватар
    Алексей

    Сейчас стоит версия 4.4. Появилась надпись, что прекращена поддержка. Реально обновить до 5.3 или легче все снести и установить 5.3? Если все ставить заново, виртуальные машины, сохраненные в 4.4 восстановятся в 5.3?

    • Zerox

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

      В любом случае, prod сервер я бы не стал наобум обновлять со старой версии на новую. Шанс, что не заведется после обновления, не нулевой.

      И еще момент. Что вы хотите получить от поддержки? Если у вас до сих пор 4.4, то скорее всего вы все это время не обновлялись и спокойно жили. С чего вдруг сейчас решили, что вам надо обновиться? Думаю, если все устраивает, то можно остаться на этой версии.

  28. Аватар
    Александр

    А установить proxmox сразу без debian возможно? или обязательно ос иметь?

    • Zerox

      Можно. Установка на Debian затеяна для использования рейда mdadm. Установщик proxmox не позволяет установить систему на mdadm. Он ставит либо на одиночные диски, либо на zfs.

  29. Аватар

    «А в KVM без проблем получилось пробросить USB в виртуалку и воткнуть туда HASP ключ от 1С»
    Подскажите, а есть шанс увеличить количество «прокинутых» usb ? Оказалось из можно только usb0-usb4 подключить к 1 VM
    А франчам 1С надо штук 18 — все чуть разные

    На железе (2CPU 64GB RAM) WinServ2016 работает нестабильно, повисает постоянно (убираю 2*4Гб планки — полет нормальный) — пришлось на железо Proxmox, а под ним уже WinServ с ресурсами по максимуму — вроде стабильно. Но вот с количеством usb косяк… и главное нигде не встречал упоминания про ограничение количества

  30. Аватар

    Большое СПАСИБО и РЕСПЕКТ автору за хороший материал, изложенный в простой и доступной для понимания форме!
    Прошу автора немного дополнить текст данной статьи, т.к. для отключения надоедливого окошка при входе в последних версиях (начиная с 5.1) будет совсем другая команда:
    # sed -i «s/getNoSubKeyHtml:/getNoSubKeyHtml_:/» /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js

    После чего нужно очистить куки в браузере и перезапустить его! Далее нужно перелогиниться.
    И сообщение уже не будет Вас беспокоить :)

    • Zerox

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

  31. Аватар
    Dmitry Nadein

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

    Для ветки proxmox 5.х и debian 9.6.x

    /etc/hosts надо привести к виду:

    127.0.0.1 localhost.localdomain localhost
    «IP» «hostname».local «hostname» pvelocalhost

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

    Раздел с точкой монтирования /boot строго болле 100mb имперически выяснилось, что 500mb с большим запасом.

    Автору в любом случае низкий поклон и спасибо за проделанную работу. Статьи для народа а не пафосный хабр однако :)

  32. Аватар
    LESHIY_ODESSA

    Так как в гугле эта инструкция на первых местах, позволю себе добавить как сделать всё тоже самое, но для дисков более 2ТБ (GPT).

    Для этого при разметке диска понадобится создать раздел(ы) biosgrub — 1MB.
    https://i.imgur.com/dgfH4nW.jpg
    И только уже после них разделы для /boot и root /
    Само собою biosgrub в raid раздел не добавляется.

    Вот общая картинка — https://i.imgur.com/OBNVyLc.jpg

    Если автор статьи посчитает нужным, то пусть вставить данную инструкцию в свою (и debian 9 тоже), чтобы люди не мучались. Гугл приводит сюда и в принципе больше никуда.

    Так же мне показалось, что при установке Proxmox он ставить свой GRUB. Поэтому копирование GRUB на второй диск я бы начал после его установки. А то непонятно, что получится когда GRUB DEBIAN в двух разделах, а потом накатывается GRUB2 от Promox. Устанавливается ли он на второй диск???

    • Аватар
      LESHIY_ODESSA

      На вором скриншоте ошибка. Внимательный читатель заметит, что на втором диске sdb раздел под biosgrub (#1) не определен как biosgrub. ЭТО ОШИБКА.

  33. Аватар
    Евгений

    Дебиан 9.4. На чистую систему ставил с raid1
    Проблема такая. Все поставилось, но при перезагрузке загружается дебиан.
    root@srv /etc/apt # apt-get install proxmox-ve ntp ssh postfix ksm-control-daemon open-iscsi systemd-sysv
    Reading package lists… Done
    Building dependency tree
    Reading state information… Done
    ntp is already the newest version (1:4.2.8p10+dfsg-3+deb9u2).
    open-iscsi is already the newest version (2.0.874-3~deb9u1).
    ssh is already the newest version (1:7.4p1-10+deb9u3).
    postfix is already the newest version (3.1.8-0+deb9u1).
    systemd-sysv is already the newest version (232-25+deb9u3).
    proxmox-ve is already the newest version (5.1-42).
    ksm-control-daemon is already the newest version (1.2-2).
    The following package was automatically installed and is no longer required:
    libpng12-0
    Use ‘apt autoremove’ to remove it.
    0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

  34. Аватар

    Добрый день.
    Все сделал как описано в Routed режим сети. Сетевая одна. Шлюз прекрасно работает. А как теперь подключиться к proxmox если его iP занят шлюзом?
    Спасибо.

    • Zerox

      На шлюзе нужно делать проброс портов на сам proxmox, если нужен доступ из вне. Гипервизор должен иметь какой-то локальный адрес.

      • Аватар

        Изменить на стройки eth0 на локальные?

        • Zerox

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

  35. Аватар
    Виталий

    Подскажите, может есть конфиг, как сделать мост на проксмоксе между сетевыми картами двух виртуальных машин, спасибо. Такое вообще возможно?

    • Zerox

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

      • Аватар
        Виталий

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

  36. Аватар

    А если создать в начале сразу 3 раздела с редом, и не оставлять свободного места, чтото поменяется в дальнейшем при установке?

  37. Аватар
    Алексей

    После установки на чистый debian 810 jessie minimal 64
    apt-get install proxmox-ve ntp ssh postfix ksm-control-daemon open-iscsi systemd-sysv
    и перезагрузки похоже не стартует новое ядро, не запускается proxmox, окно приветствия такое же как и раньше. в чем проблема ?

  38. Аватар

    ДОшел до установки
    apt-get install proxmox-ve ntp ssh postfix ksm-control-daemon open-iscsi systemd-sysv

    ответ:
    Пакеты, имеющие неудовлетворённые зависимости:
    proxmox-ve : Зависит: pve-manager но он не будет установлен
    Зависит: qemu-server но он не будет установлен
    E: Невозможно исправить ошибки, у вас отложены (held) битые пакеты.

    Как исправить? Спасибо.

  39. Аватар

    Доброго времени суток, люди добрые подскажите пожалуйста, на proxmox (ставили ее давно) висит win srv 08, и последнее время начались жуткие лаги на серваке (вин срв 8), и отвалился RPD, через вебку вм нельзя отключить или отправить в ребут, консоль тож выдает ошибку, даже ребутнуть не могу, приходится питание отключать. Как залезть на сервак?

    • Zerox

      Как минимум надо зайти по ssh на гиперивизор и посмотреть, что на нем происходит.

  40. Аватар

    В статье ошибок много, а так ничо, сгодится.

    • Zerox

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

  41. Аватар

    Спасибо за отклик!

    >>Только VDS это уже виртуальная машина.

    Имелся ввиду HP Proliant сервер отсюда http://zomro.com/dedicated.html

    с Intel E3-1240v3 32 GB RAM.

    Первый блин с настройкой как всегда комом,
    но общую идею понял.

  42. Аватар

    Т.е. интерфейс «железного» сервера и интерфейс ВМ-шлюза мы объединяем в мост.
    Это первое.

    Второе — на один из мостов внутри ВМ-шлюза мы прописываем параметры того интерфейса, на который приходит Интернет на «железном» сервере. Второй же мост внутри ВМ-шлюза смотрит в локальную сеть виртуальных машин.

    Я правильно понял или что-то упустил? Имеется ввиду случай с арендованным VDS у которого 1 IP на интерфейсе смотрит в Мир.

    • Zerox

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

      Только VDS это уже виртуальная машина. Плохая идея в ней настраивать гипервизор. Если и заработает, то производительность наверняка будет плохой. Виртуализация внутри виртуальной машины, насколько я знаю, не продакш вариант. Только для тестов.

  43. Аватар

    Хотя думаю, что разберусь.
    Сижу вникаю, отвечать необязательно :-)

  44. Аватар

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

    Добрый день!

    Можете поделиться конфигом ВМ-шлюза для случая выше?

    На почту Twissell@fex.net

    Заранее спасибо!

  45. Аватар

    Доброго времени суток.
    ребята я тут выше видел вопросы по проблеме что и у меня при установке пакета.
    но ответа не увидел. если кто решил, можете дать мануал

    устанавливаю на debian9.1. Установил с графикой.
    сделал полное обновление.
    добавил репы и ключи.
    единственный нюанс — на сетевые интерфейсы поданы vLAN

    дошел до

    apt-get install proxmox-ve ntp ssh postfix ksm-control-daemon open-iscsi systemd-sysv

    получаю ошибки

    Пакеты, имеющие неудовлетворённые зависимости:
    proxmox-ve : Зависит: pve-manager но он не будет установлен
    Зависит: qemu-server но он не будет установлен
    Зависит: pve-qemu-kvm но он не будет установлен
    Зависит: spiceterm но он не будет установлен
    E: Невозможно исправить ошибки, у вас отложены (held) битые пакеты.

    видел что надо править файл etc/hosts
    правил как по мануалу один в один
    ошибка остается.

  46. Аватар

    Добрый день. Возникла ситуация, когда нужно перенести(экспортировать) виртуальную машину из под windows server 2012(hyper-v) в centos(kvm proxmox). Это вообще возможно что пройдёт отлично и без проблем? Экспортирую linux’овую виртуалку с большим количеством надстроек и данных.

    • Zerox

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

  47. Аватар

    Есть выделенный сервер, на него установлен Proxmox. Свой статик IP.
    На нём крутится несколько виртуалок с IP из совершенно разных сетей с маской 32. Эти сети с ip Proxmox не пересекаются.
    В качестве шлюза для виртуалок указывается шлюз для самого Proxmox. Винда ругается на то, что шлюз принадлежит другой сети, но сеть работает, инет есть. Появилась задача поднять виртуалкой микротик для организации туннелей, дабы не гонять трафик между офисом и сервером в открытом виде. И вот на микротике при такой схеме инет не взлетает никак.
    Для примера
    IP Proxmox 154.56.67.43/24
    GW Proxmox 154.56.67.254

    IP Mikrorik 217.12.13.78
    GW Mikrotik 154.56.67.254

    Ещё раз повторюсь, что при аналогичной настройке винда ругается, но работает. На Mikrotik дальше 154.56.67.254 ничего не пингуется и не трассируется. Все виртуалки включены в vmbr0 на Proxmox, на котором висит внешний IP.
    В чём может быть проблема?

  48. Аватар

    А есть инструкция как установить proxmox на mdadm+LVM, что бы можно было использовать снапшоты?

    • Zerox

      Использование lvm для дисков виртуальных машин никак не связано с процессом установки самого proxmox. Установив по этой статье, без проблем можно создать хранилище виртуальных машин на lvm томе и пользоваться снапшотами.

      • Аватар

        Это понятно, просто как накатить LVM, я так сказать только начинаю этот путь))

  49. Аватар

    Лечение описанной проблемы:
    https://forum.proxmox.com/threads/solved-pve-4-0-dns-settings-disapearing.24007/

    # apt-get remove rdnssd resolvconf network-manager
    # echo «nameserver 8.8.4.4» > /etc/resolv.conf

    или
    # nano /etc/resolv.conf
    nameserver 8.8.4.4
    Сохранить.

  50. Аватар

    Замечательная статья, но после установки
    Но на хосте не видит dns
    # echo «nameserver 8.8.4.4» > /etc/resolv.conf
    или
    # nano /etc/resolv.conf
    nameserver 8.8.4.4
    работает
    только до перезагрузки
    Как все таки настроить?

  51. Аватар

    Скажите pls в promox в контейнер lxc hasp пробрасывается?

  52. Аватар
    Алексей

    >> Последнее время стараюсь под шлюз использовать Mikrotik там, где это возможно и оправданно.
    Используете RouterOS или Cloud Hosted Router (CHR)? Для использования вне RouterBOARD ос от Mikrotik вроде как требуют лицензии. Интересно какой лицензии хватает для такого шлюза.
    Спасибо.

    • Zerox

      Я железные решения использую. Имел ввиду именно это. Отдельно на виртуалках не пробовал использовать RouterOS.

  53. Аватар

    Все сделал по статье, замечательно написано, спасибо!
    Но столкнулся с проблемой ЖЕСТОЧАЙШИХ тормозов гостевой машины с Windows 2016 Server при работе с жесткими дисками!
    У меня одного такая проблема или это Proxmox так с дисками работает?

    • Аватар
      Николай

      Антологичная проблема. Если запустить 2 vm начинаются дичайшие тормоза. 2 машина запускается час. НА SSD.
      Кто нибудь решил эту проблему ? Машины ставились по данной статье : https://forum.proxmox.com/threads/install-windows-2016-server-on-proxmox-ve-video-tutorial.31344/

      • Zerox

        Странно, что возникают такие проблемы с Winsrv2016. Конкретно на proxmox я его не ставил, а вот на обычном kvm практически с самого выхода системы крутятся пару серверов. Каких-то особых тормозов там не увидел.

        • Аватар
          Николай

          Пока что вопрос снят. Система перезапустилась стала вести себя стабильно. Что было непонятно. Пока переставлю гипервизор и буду наблюдать .

  54. Аватар

    Спасибо за быстрый ответ! А если в теории будет 2 интерфейса на физической машине, с двумя внешними IP адресами. Тогда один можно будет оставить для доступа к гипервизору, а второй привязать к ВМ с nginx и настроить проксирование. В этом случаи шлюз использовать не нужно?

    • Zerox

      В этом случае можно обойтись без шлюза. Один внешний ip будет для управления гипервизором, второй ip прокинуть в виртуалку с nginx. Все виртуальные машины будут объединены в единую локальную сеть в виде виртуальной сети гипервизора. Но нужно будет на самом proxmox настраивать NAT, чтобы виртульные машины, которые будут без внешнего ip имели доступ в интернет, например, для установки и обновления пакетов.

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

  55. Аватар

    Здравствуйте не подскажете, как можно реализовать следующую схему:
    Есть выделенный сервер с одним сетевым интерфейсом и выделенным IP адресом.
    Нужно под ProxMox поднять несколько виртуальных машин на которых должны работать веб-сервисы под nginx на разных доменных именах + к самому web интерфейсу proxmox должен быть доступ из вне.

    Возможно ли выделить одну из виртуальных машин с nginx во внешнюю сеть и затем настроить проксирование? Удачный ли это вариант или есть решение проще?

    Заранее спасибо!

    • Zerox

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

      • Аватар

        Да, шлюзовая виртуалка решает в таком случае.
        В качестве шлюза что кому привычнее, но по опыту очень удобно сделать Микротик, т.е. виртуалку с RouterOS.
        У нас есть реализованные много схем с этим. Например, два физических сервера с гипервизорами. На каждом трафик завернут через виртуальный микротик. А между микротиками тунель построен.
        Так виртуалки между физическими серверами ходят по внутренней локалке.

  56. Аватар

    Подскажите где нужно прописать репозиторий с turnkey шаблонами для контейнеров?

  57. Аватар

    Я все хотел спросить, вот вы добавили раздел LVM, но как вы будете снапшоты делать у виртуальных машин? Ведь на LVM только RAW контейнеры создаются, а с них снапшоты делать нельзя

    • Zerox

      Не понял, при чем здесь raw? Если диск виртуальной машины хранится в формате lvm, то снепшот делается на уровне lvm. Если raw контейнер просто лежит на диске с lvm, то это совсем другая история.

      • Аватар

        Если виртуалки создаются поверх LVM то снапшоты из панели управления прокса не работают.

  58. Аватар

    Для всех. Рекомендую заменить gzip на https://memo-linux.com/proxmox-booster-vzdump-avec-pigz/
    Он многопоточен в отличие от gzip.

  59. Аватар

    Доброе время суток.
    Образумились, смотрю, в плане использования KVM. А то все xen да xen :)
    Только велосипедить не надо. Не зря его разрабы добавили возможность использовать zfs из коробки. А это и snapshot-ы мгновенные и copy-on-write.
    Поднимайте Proxmox на zfs software raid. И лучше на 4-ех дисках (zfs raid 10).

    • Zerox

      Какой уж тут велосипед. Mdadm проверенный временем и практически незаменимый софтовый рейд на линуксе. Мне искренне не понятно, почему разработчики proxmox или xen не дают возможности штатно установить на него систему. Приходится потом после установки изворачиваться.

  60. Аватар

    Почему-то при создании VM файл образа создается не в LVM разделе а в Locla на 50GB который. И не дает нигде выбрать.

  61. Аватар

    Что бы сконвертировать файл esxi (vmdk) в формат kvm. Может не так надо?

  62. Аватар

    Коллеги, помогите перенести данные с ESXI на RroxMox. Последний установлен. Подключаю 1 из дисков аппаратного Raid 1 (на нем работал esxi) к системе. Вижу его как /dev/sda . Делаю:
    #mount /dev/sda /mnt/
    mount: unknown filesystem type ‘isw_raid_member’
    #blkid
    /dev/sda: TYPE=»isw_raid_member»
    Т.е. Intel Software Raid. Как достучаться до ФС на этом диске что бы перенести с него виртуальные машины?

    • Zerox

      А зачем подключать диск от ESXI к proxmox? Какой ожидается результат? Необходимо использовать средства экспорта-импорта виртуальных машин в гипервизорах.

  63. Аватар
    Николай

    После удаление ноды не могу удалить папку удалённой ноды
    root@pve:/etc/pve/nodes# rm -rf pve2
    rm: cannot remove ‘pve2/lrm_status’: Permission denied
    rm: cannot remove ‘pve2/openvz’: Permission denied
    rm: cannot remove ‘pve2/pve-ssl.pem’: Permission denied
    rm: cannot remove ‘pve2/qemu-server’: Permission denied
    rm: cannot remove ‘pve2/lxc’: Permission denied
    rm: cannot remove ‘pve2/priv’: Permission denied
    Не подскажете причину?

  64. Аватар
    Николай

    Теперь убираем окно с предупреждением:
    # sed -i.bak «s/data.status !== ‘Active’/false/g» /usr/share/pve-manager/ext6/pvemanagerlib.js
    При входе больше не будет выскакивать безполезное предупреждение.
    Не проходит команда. Прошёлся по пути /usr/share/pve-manager/ext6/pvemanagerlib.js — папки ext6 там просто нет

    • Аватар

      В последней версии видимо исправили. Попробуй эту команду:
      sed -i.bak «s/data.status !== ‘Active’/false/g» /usr/share/pve-manager/js/pvemanagerlib.js

      • Аватар
        Николай

        Тоже не проходит. В папке js есть файл pvemanagerlib.js, но думаю это другой. В его тексте нет ничего похожего, что всплывает при входе в Proxmox

    • Zerox

      Похоже, изменился путь в новой версии. Надо будет проверить и исправить статью.

  65. Аватар

    Мои диски 2 по 3Тб! Чего только с ними не делал — не помогало. Взял старенькие 2 по 500Гб — и все как по маслу! Получается Debian не поддерживает установку Grub на диски большых объемов?

  66. Аватар

    А кто-нибудь сталкивался с ситуацией когда при установке debian не ставится grub: unable to install grub in /dev/sda. Executing ‘grub-install /dev/sda’ failed. This is a gatal error.
    И все. В чем дело — непонятно и негде посмотреть

    • Zerox

      Бывало такое. Каждый раз начинаю бубном трясти. Скорее всего поможет полное форматирование диска с самого первого сектора. Там есть какая-то информация, которая не дает установиться загрузчику.

      Если не ошибаюсь, у меня как-то раз никак не устанавливался загрузчик на один из дисков. Сразу не заметил, а потом выяснил, что один диск был размечен как gpt, второй mbr. Разметил второй gpt — загрузчик встал.

      Можно еще попробовать ключ —force использовать.

  67. Аватар
    Константин

    Здравствуйте! При добавлении диска как указано в пункте «Добавление и подключение диска» при старте и проверки # cat /proc/mdstat
    выдает что изменился порядок — рейд масcив стал sda+sdc, а новый винт получил имя sdb.
    Где и как нужно изменить чтобы не нарушался порядок? Заранее спасибо

    • Zerox

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

  68. Аватар

    Не получается установить proxmox. Дошел до этапа:
    apt-get install proxmox-ve ntp ssh postfix ksm-control-daemon open-iscsi systemd-sysv
    и получаю ошибку:
    proxmox-ve : Depends: pve-manager but it is not going to be installed
    Depends: qemu-server but it is not going to be installed
    Depends: pve-qemu-kvm but it is not going to be installed
    Depends: spiceterm but it is not going to be installed
    Если меняю репозитарии на другие, то вообще выдает:
    Unable to locate package proxmox-ve
    содержимое /etc/apt/sources.list:
    deb http://ftp.debian.org/debian jessie main contrib
    # PVE pve-no-subscription repository provided by proxmox.com,
    # NOT recommended for production use
    deb http://download.proxmox.com/debian jessie pve-no-subscription
    # security updates
    deb http://security.debian.org jessie/updates main contrib

    • Аватар

      Вообщем все проблемы при установке с такими засадами типа:
      E: unable to locate package proxmox-ve
      или
      Package ssh is not available, but is referred to by another package.
      Делаем так:
      В репозитарии (/etc/apt/sources.list) добавляем:
      deb http://mirror2.corbina.ru/debian/ jessie main
      deb-src http://mirror2.corbina.ru/debian/ jessie main
      deb http://mirror2.corbina.ru/debian/ jessie-updates main
      deb-src http://mirror2.corbina.ru/debian/ jessie-updates main
      Добавляем цифровую подпись proxmox репозитория:
      # wget -O- «http://download.proxmox.com/debian/key.asc» | apt-key add —
      и обновляем порты и систему:
      # apt-get update && apt-get dist-upgrade
      # reboot
      Далее:
      # echo «deb http://download.proxmox.com/debian jessie pve-no-subscription» > /etc/apt/sources.list.d/pve-install-repo.list
      снова:
      apt-get update && apt-get dist-upgrade
      И только после этого ставим proxmox:
      #apt-get install proxmox-ve ntp ssh postfix ksm-control-daemon open-iscsi systemd-sysv

  69. Аватар

    После обновлений, перестали автоматом стартовать виртуальные машины, где рыть? автозагрузка их стоит, если сервак ребутишь, то proxmox стартует, виртуалки нет(

  70. Аватар
    Николай

    На этапе загрузки iso образа я столкнулся с проблемой. Образ больше 4Гб не загружался. Проверял несколько раз, в том числе в различных инсталляциях на разное железо. Ошибка повторялась везде. Я не смог загрузить образ. Если у вас образы больше, чем 4 Гб, ищите альтернативные способы загрузки в хранилище, благо это не составляет большого труда.

    Как для меня это тупик. Подскажите, хотя бы 1 альтернативный понятный способ, как это сделать?

    • Аватар
      Николай

      Нашёл самый простой способ: WinSCP

      • Zerox

        Сразу не заметил первый коммент. Я тоже чаще всего гружу через WinSCP. Удобно.

        • Аватар

          Да вы изысканные извращенцы господа!
          Что мешает вам зайти в каталог /var/lib/vz/template/iso/ и выполнить wget http(s)://link_to_image.com/blabla.iso
          Зачем вы выполняете лишние действия, скачивая локально образ, а лишь потом загружая на сервер?

          • Zerox

            Часто бывает, что локально они уже где-то лежат. Так что тут вопрос удобства. У меня чаще всего sftp подключения к серверам уже настроены для различных действий. Так что бывает проще зайти так, чем консоль открывать.

  71. Аватар

    выделить под /boot — 100 Мб на данный момент не достаточно, текущее ядро весит 47 Мб. при обновлении будут сложности.. после того как размер ядра перевалит за 50 Мб, новые ядра перестанут устанавливаться за нехваткой свободно места в разделе

    • Zerox

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

  72. Аватар

    Автор — МОЛОДЕЦ!
    Но моя практика показала следующее:
    1. Обязательно настройте статический IP адрес через:
    # iface eth0 inet static
    # address 192.168.1.35
    # gateway 192.168.1.1
    # netmask 255.255.255.0
    иначе просто proxmox не установится!
    2. Только после закомментирования протокола IPv6 в файле и всех записей кроме
    # 192.168.1.113 proxmox.local proxmox
    в файле hosts, удалась установка proxmox
    3. В случае неоднократных фейлов при установке proxmox, boot раздел забивается и установить не представляется возможным, выход — или чистить boot раздел или (что проще) начать с 0.
    4. В моём случае, удалить предупреждение удалось не через
    # sed -i.bak «s/data.status !== ‘Active’/false/g» /usr/share/pve-manager/ext6/pvemanagerlib.js
    а через
    # # sed -i.bak «s/data.status !== ‘Active’/false/g» /usr/share/pve-manager/js/pvemanagerlib.js

  73. Аватар

    Здравствуйте! Возможно ли из одного веб-интерфейса управлять несколькими хостами proxmox ?Или же у каждого хоста свой веб-интерфейс ?

    • Zerox

      По-моему там можно подключить любой другой сервер. Но точно не могу сказать, не пробовал, а сейчас проверить негде.

      • Аватар

        А вы каким основным гипервизором пользуетесь ?

        • Zerox

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

  74. Аватар

    Здравствуйте! А если я к компьютеру с установленным Proxmox добавлю пару hdd в зеркале, подключу как здесь написано LVM и отрежу на нем виртуальной машине диск для хранения данных, то, если я сниму один из hdd, то на нем будут не читаемые с другого компьютера данные? Я к тому, что если что-то случится с виртуальной машиной и она хранила на том разделе данные, то их уже не восстановить?

  75. Аватар

    Как корректно настроить сеть?

    У ноды сеть настроена так: http://polariton.ad-l.ink/private/6WjvwqfL2/ed4037ca651bcfdce3416a04d654e12c/

    По аналогии планирую реализовать для виртуальных машин, которые на коммутаторе буду натить.

    p.s. Настройки сети в ВМ выглядят так:

    http://meson.ad-l.ink/7jMpJT77N/thumb.png

    Увы, но в работе с сетью нет должного опыта.

    1) У нас нет DHCP, всё прописывается вручную. В «моём видении» сеть в вирутальных машинах должна иметь аналогичные настройки, как на этом скриншоте и прописываться так же вручную http://polariton.ad-l.ink/8S7vxTbts/thumb.png

    2) Судя по тому, что мне нужно, это должен быть Routed. Верно ли? Пример конфигруации нашёл тут https://serveradmin.ru/ustanovka-i-nastroyka-proxmox

  76. Аватар

    Здравствуйте!
    Есть физический интерфейс eth0 с адресом 192.168.1.10, создаю виртуальный интерфейс vmbr0 с адресом 192.168.1.11, в котором Bridge Ports указан eth0. После этого не пингуется ни 10 ни 11, сервер отваливается от сети. Если очиcтить BridgePorts или прописать второй физический интерфейс eth1, то все ок. Подскажите, пожалуйста, что здесь может быть не так?

    • Zerox

      Не знаю даже, вроде все верно. Где-то ошибка. Сделать бридж в линуксе очень просто, в инете куча примеров. Можно проверить на всякий случай.

      • Аватар

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

        • Zerox

          Что-то конкретное мне трудно подсказать, не видя всей картины. Но я просто скажу, что в данном случае настройка бриджа прямого отношения к proxmox не имеет. Нужно настроить стандартный bridge в debian. Можно использовать любой материал из интернета для этого. Проксмокс просто использует готовый системный бридж, если он уже есть.

          • Аватар

            В моем случае источником проблемы были кривые руки — в сети была машина, которой сто лет назад был назначен статический адрес =))
            Инструкция 100% рабочая.

  77. Аватар

    Добрый день!
    Подскажите, если домен не используется, он есть но для теста заводить нет желания.
    Файл /etc/host/ — выглядит следующим образом

    127.0.0.1 localhost
    192.168.1.110 kvm

    Получаю ошибки:
    Пакеты, имеющие неудовлетворённые зависимости:
    proxmox-ve : Зависит: pve-manager но он не будет установлен
    Зависит: qemu-server но он не будет установлен
    Зависит: pve-qemu-kvm но он не будет установлен
    Зависит: vncterm но он не будет установлен
    Зависит: spiceterm но он не будет установлен
    E: Невозможно исправить ошибки, у вас отложены (held) битые пакеты.

    хост Ubuntu 16.04

    Вопросы, чтобы разъяснить для себя:

    1) локальный домен(тестовый) можно использовать, если есть работающий ? И можно ли вообще без домена ?
    2) В чем может быть ошибка ? Куда копать ?

    • Zerox

      О каком домене идет речь, я не совсем понимаю. Самому proxmox фиолетово, какой будет домен.
      Ошибки могут быть где угодно, надо смотреть логи, что конкретно и почему не запускается/устанавливается.

    • Аватар

      Верно ли понятие, что proxmox работает на Debian ? Вся документация для debian.

      • Zerox

        Я не знаю, не проверял на других ОС. Вроде бы видел, что его и на centos ставят. Но я не люблю такие эксперименты. Если разработчики выпускают образ на основе debian, лучше использовать его. Так надежнее и проще.

  78. Аватар

    На счет ошибки при установке. nano /etc/hosts
    Было так:
    127.0.0.1 localhost
    127.0.1.1 proxmox

    Стало так:
    127.0.0.1 localhost
    192.168.100.101 proxmox

  79. Аватар

    3. Что даёт поддержка аппаратного рейд контроллера?

    Судя по вики — mdadm proxmox не умеет http://pve.proxmox.com/wiki/Raid_controller.

    4. Как корректно добавить ещё одну ноду? Что для этого требуется?

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

    В документации предлагают добавить ноду в кластер (https://pve.proxmox.com/wiki/Proxmox_VE_4.x_Cluster) — отсюда вопрос: каковы перспективы кластера?

    • Аватар

      p.s. Вопрос под пунктом 2 остаётся актуальным:

      2. Есть ли смысл в enterprise репозитории?

      Вопрос основывается на ошибке во время выполнения apt-get update && apt-get -y dist-upgrade:

      W: Failed to fetch https://enterprise.proxmox.com/debian/dists/jessie/pve-enterprise/binary-amd6… HttpError401

      E: Some index files failed to download. They have been ignored, or old ones used instead.

    • Zerox

      Как это не умеет, если у меня в статье наглядно показано, как установить proxmox на массив mdadm?

      • Аватар

        «Завести», «заведётся», но не просто же так указана информация о том, что поддерживается только hw raid.
        Вероятно smart просмотреть не получится или ещё что-то.

    • Аватар

      > Как корректно добавить ещё одну ноду? Что для этого требуется?
      По пункту 4 есть некоторые разъяснения, https://www.youtube.com/watch?v=tTy9axM1jT0.

      А теперь дополнительный вопрос — на каждой физической машине нужен proxmox?

      • Аватар

        Перефразирую вопрос…

        > Как корректно добавить ещё одну ноду? Что для этого требуется?

        По пункту 4 есть некоторые разъяснения, https://www.youtube.com/watch?v=tTy9axM1jT0.

        А теперь дополнительный вопрос — раз на каждой физической машине нужен proxmox, то есть ли минимальное решение (чтобы не тащить кучу мусора в подарок)?

  80. Аватар

    Некоторые вопросы…
    Хост: debian 8.6, proxmox 4.4.

    1) LVM по инструкции не настроено. Вместо LVM всё в одном каталоге. Не вижу смысла в LVM на хостовой системе, когда ноды планируются удалённые (располагаться на другой машине, на которой proxmox будет отсутствовать).

    2) Postfix не установлен, тк планируется отдельная виртуалка под postfix, который будет гонять почту между всеми сервисами.

    [quote]1. Как лечить?[/quote]

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

    update failed — see /var/log/pveam.log for details

    > Лог:

    Jan 14 00:43:42 start download [url]https://releases.turnkeylinux.org/pve/aplinfo.dat.asc[/url]

    Jan 14 00:43:42 download failed: 500 SSL_ca_file /etc/ssl/certs/ca-certificates.crt does not exist

    Jan 14 00:43:42 update failed — no signature file ‘/var/lib/pve-manager/apl-info/pveam-releases.turnkeylinux.org.tmp.21775.asc’

    > Выхлоп с pveversion: pve-manager/4.4-5/c43015a5 (running kernel: 4.4.35-2-pve)

    > Скриншот: [url]http://polariton.ad-l.ink/8NHSqncHN/image.png[/url]

    С сервисом в целом понятно, фиксится ребутом.

    > Как выполнялась установка (по инструкции [url]https://pve.proxmox.com/wiki/Install_Proxmox_VE_on_Debian_Jessie):[/url]

    в hosts 192.168.1.2 TestDay pvelocalhost (айпи, имя сервера, что-то проксовское — домен во время установки системы не был указан).

    echo «deb [url]http://download.proxmox.com/debian[/url] jessie pve-no-subscription» > /etc/apt/sources.list.d/pve-install-repo.list

    wget -O- «[url]http://download.proxmox.com/debian/key.asc[/url]» | apt-key add —

    apt-get update && apt-get -y dist-upgrade

    apt-get -y install proxmox-ve ksm-control-daemon open-iscsi systemd-sysv

    apt-get remove os-prober

    reboot

    apt-get -y remove linux-image-amd64 linux-image-3.16.0-4-amd64 linux-base

    update-grub

    [quote]2. Есть ли смысл в enterprise репозитории?[/quote]

    Вопрос основывается на ошибке во время выполнения apt-get update && apt-get -y dist-upgrade:

    W: Failed to fetch [url]https://enterprise.proxmox.com/debian/dists/jessie/pve-enterprise/binary-amd6…[/url] HttpError401

    E: Some index files failed to download. They have been ignored, or old ones used instead.

  81. Аватар

    Здравствуйте!
    Попробовал все это провернуть на машине с серверной материнкой с UEFI, с той разницей, что вместо раздела /boot — EFI. Установка проходит успешно, но после перезагрузки или нет устройства для загрузки или grub выдает ошибку «disk ‘lvmid/тут какой-то идентификатор’ not found».
    Вы бы не могли подсказать особенности установки на UEFI? Такое впечатление, что в загрузчике неправильно прописывается идентификатор раздела для загрузки. Уже третий вечер бьюсь, но найти решение ума не хватает.

    • Аватар

      P.S. При отключенном UEFI, то есть в LEGACY, по описанному выше сценарию установка прекращается ошибкой при установке GRUB в MBR, пишет, что unable to install.

      • Zerox

        Попробуй в GPT разметить диски. У меня по-моему такая же ошибка была на одном из дисков, пока я не заметил, что все диски были gpt, кроме одного mbr.

        • Аватар

          Разметил оба диска в GPT. Если устанавливать систему на один диск без рэйда, то все отлично. Разметка: 100 МБ fat32 с меткой boot esp и раздел ext4 /. В boot-меню в списке устройств появлется новый пункт UEFI:P0xxxxxx. Система загружается, все ок.
          Когда пробую собрать такую же схему с рэйдом, то есть первый md — 100 МБ uefi file system, второй md 50 ГБ с рут-разделом, то установка проходит без проблем, но после перезагрузки система не загружается. В итоге объединил в рэйд только рутовый раздел, а EFI оставил самостоятельными разделами на каждом из дисков. В таком варианте система встала и загружается. Возможен ли такой вариант? Только после попытки установить GRUB на оба диска система перестала грузиться =)

          • Аватар

            P.S. Нашел описание какую-надо устроить свистопляску, чтобы в рейде прописать загрузочный раздел под UEFI и решил оставить эту затею пока не появится лишнее свободное время для экспериментов. Перебил диски в MBR и сделал как у Вас еаписано, только добавил swap для красоты.
            Спасибо! Материал отличный!

            • Аватар

              из 100 мб раздела не нужно делать md , и все будет хорошо!
              так должно быть:

              выбираем gpt
              создаем 1 мб пустой — не использовать
              создаем 100 мб — сис. раздел EFI
              остальное под рэйды / LVM

  82. Аватар

    Подскажите насчет момента лицензирования. У нас муниципальная больница и можем ли мы пользоваться данным гипервизором? Спасибо.

  83. Аватар
    Алексей

    Все. Проблему решил. Все элементарно. Выходит конфликт переключения раскладки ОС, в которой вы работаете и web-интерфейсом Proxmox.
    Нельзя использовать одни и те же сочетания клавиш.

  84. Аватар
    Алексей

    Есть проблема.
    Установил все по этой статье.
    Если работать с сервером через ssh или физический на нем — переключение раскладки работает. Печатает и на русском и на англ.
    Но если я работаю через браузер (пробовал firefox, opera, ie), то при переключении раскладки текст вообще не печатается. Можете подсказать, в каком месте искать глюк?

    • Zerox

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

    • Аватар

      Просто при переключении раскладки необходимо на хосте, т.е на самом ПК вручную изменить язык. Такое бывает и не только в данном гипервизоре.

  85. Аватар

    Отличное описание, большое спасибо.

  86. Аватар

    Годная статья!

Добавить комментарий

Ваш e-mail не будет опубликован.

Нажимая кнопку "Отправить комментарий" Я даю согласие на обработку персональных данных.