Proxmox принудительно выключить виртуальную машину
Start and stop KVM VM from command line
steno
New Member
Like vmctl stop/start, but for KVM VMs.
Proxmox Staff Member
Like vmctl stop/start, but for KVM VMs.
and you will see the options:
steno
New Member
For problem with Windows 2003 server, i’m not a windows guy but on local policy you must allow shutdown without logon.
mlanner
Active Member
. but it doesn’t seem to shutdown my VMs.
. it works just fine, though.
But I’d rather not need to kill my machines that way. Any ideas/suggestions?
Proxmox Staff Member
. but it doesn’t seem to shutdown my VMs.
. it works just fine, though.
But I’d rather not need to kill my machines that way. Any ideas/suggestions?
mlanner
Active Member
Proxmox Staff Member
mlanner
Active Member
Thanks Tom. Works beautifully.
Out of curiosity, would:
dietmar
Proxmox Staff Member
Best regards,
Dietmar
mlanner
Active Member
Thanks. I tried your suggestion and it works fine.
mlanner
Active Member
dietmar
Proxmox Staff Member
# service pve-manager stop
This stops all VMs and all Containers (we have start/stop ordering now).
Best regards,
Dietmar
Ovidiu
Active Member
I know this is a very old thread but as I can’t find a better one, here comes my question:
I manually executed duply from the command line as root and it successfully stopped all VMs but failed to start them. When I re-connected to my screen session, the command service pve-manager start was just displayed on the display without any apparent result. Any ideas?
My next try will be to insert «/etc/init.d/pve-manager start» into post and see if that makes any difference.
# service pve-manager stop
This stops all VMs and all Containers (we have start/stop ordering now).
ProxMox + APC или как выключить сервер посла того как пропало электричество.
Всем здравствуйте. Подскажите пожалуйста как можно выключить виртуальные машины и после сам сервер на proxMox. кто то может уже настраивал и знает последовательность действий и какие ПО использовать? на виндовые машины можно наверное поставить «Start System Protect Service» а вот как сам ProxMox погасить?
все сделал поставил в proxMox apcupsd, далее прописал в конфиге клиентском как у вас ip и порт сетевой карты SNMP что вставлена в UPS, в итоге не поднялось подключение
при запуске cat /var/log/apcupsd.events
2017-09-23 1930 +0300 apcupsd 3.14.14 (31 May 2016) debian startup succeeded
2017-09-23 1940 +0300 Communications with UPS lost.
2017-09-23 1940 +0300 Communications with UPS lost.
2017-09-23 2040 +0300 Communications with UPS lost.
2017-09-23 2040 +0300 Communications with UPS lost.
2017-09-23 2040 +0300 Communications with UPS lost.
а при запуске cat: /var/log/apcupsd.status: No such file or directory
пишет cat: /var/log/apcupsd.status: No such file or directory
Причем есть прога «Start System Protect Service» которая на винде цепляются к этой SNMP карте, так у нее проблем нет все работает, я брал те же ip и порт что в этой проге прописаны.
Удаляем виртуальную машину в Proxmox.
Сегодня давайте обсудим, как можно удалить виртуальную машину в Proxmox.
Вы хотите удалить виртуальную машину в Proxmox? Мы можем помочь вам сделать это. И так начнем:
Удаление виртуальной машины из веб-интерфейса Proxmox
Один из самых простых способов удалить виртуальную машину — это сделать это из веб-интерфейса.
Сначала мы входим в веб-интерфейс Proxmox.
Затем мы нажимаем на виртуальную машину в левой панели и выключаем нашу виртуалку.
Затем мы нажимаем на вкладку Дополнительно. В раскрывающемся списке мы выбираем пункт Удалить.
Таким образом, мы удаляем виртуальную машину.
Удалить виртуальную машину из командной строки
Чтобы удалить виртуальную машину из командной строки, сначала нам нужно найти VMID.
Как только мы войдем в узел. Мы используем приведенную ниже команду, чтобы найти ids — номер нашей виртуальной машины.
Данная команда выдаст нам примерно следующее:
Как только мы получим идентификатор, мы используем приведенную ниже команду, чтобы удалить его.
Таким образом, мы удаляем виртуальную машину в Proxmox.
Распространенные ошибки, возникающие при удалении виртуальной машины в Proxmox
Недавно столкнулся с невозможностью удалить виртуальную машину в Proxmox. И как оказалось существует несколько распространенных случаев невозможности удаления виртуальных машин из Proxmox. Давайте рассмотрим их.
Виртуальная машина Proxmox заблокирована
При анализе узла мы обнаружили, что виртуальная машина находится в состоянии блокировки. Итак, сначала мы найдем VMID — номер нашей виртуальной машины.
Затем мы используем команду, чтобы разблокировать виртуальную машину.
Как только мы разблокируем виртуальную машину, мы сможем удалить ее без каких-либо ошибок.
Не удается удалить из-за отсутствия хранилища
Другой случай с ошибкой: «не удается удалить из-за отсутствия хранилища» при попытке удалить виртуальную машину. Давайте обсудим, как устранит эту ошибку.
Файл конфигурации виртуальной машины находится в директории /etc/pve/qemu-server.
Мы находим нужный нам файл, например 100.conf и удаляем его.
Таким образом, при обновлении веб-интерфейса виртуальная машина присутствовать не будет.
Также может помочь и удаление конфига виртуальной машины из директории /etc/pve/nodes/pve/lxc или /etc/pve/lxc — симлинка на предыдущую директорию.
Вывод
Мы обсудили, как удалить виртуальную машину из веб-интерфейса и CLI. Кроме того, мы обсудили распространенную ошибку и то, как её исправить.
Если есть вопросы, то пишем в комментариях.
Также можете вступить в Телеграм канал, ВК или подписаться на Twitter. Ссылки в шапки страницы.
Заранее всем спасибо.
Proxmox API. Введение
Всем привет!
Сегодня я бы хотел немного рассказать об использовании API небезызвестной системы виртуализации — Proxmox.
Предыстория…
С проксмоксом я столкнулся несколько лет назад, когда мне в руки попала неплохая машина, расположенная в одном из дата центров пресловутого Хетзнера. На тот момент у нас встал вопрос о поднятии виртуализации под свои нужды. Мы рассматривали несколько вариантов, а именно: VMWare, OpenStack и конечно же Proxmox. Не буду говорить, что он лучше 2-ух других кандидатов, просто на тот момент он вполне удовлетворял нашим потребностям. Через некоторое время, появилась необходимость создать своего рода панель управления для сторонних пользователей, которые могли бы просто отслеживать статус своей виртуальной машины, запускать/останавливать ВМ, делать ребут, а так же управлять несколькими настройками. Конечно же, проксмокс позволяет добавлять пользователей, а так же группы пользователей и назначать им свои права. Но нам такой вариант не подходил. Не знаю как сейчас, но на тот момент нормальной документации API Proxmox на русском языке не было. Меня, конечно же, это не остановило и я вполне обошелся англоязычной версией, в которой кстати все очень хорошо и наглядно описано. Однако, всегда есть люди, которые не очень ладят с английским. Так вот, эта статья для Вас.
Сразу оговорюсь, что все VM (виртуальные машины) у нас были на базе KVM. Следовательно и API которое мы рассмотрим в этой статье будет для машин на базе KVM с использованием PhP.
Для работы с их API нам понадобиться PhP класс, который можно забрать с репозитория github.
Типы запросов к серверу API делятся всего на 3 вида: GET, POST и PUT. А ответы мы будем получать в формате JSON.
Создаем файл index.php в которой инклудим скаченный нами апи класс и создаем объект.
где в качестве параметров указываем IP нашего сервера, логин и пароль.
По умолчанию, proxmox ставиться на 8006 порт. Однако, если Вы изменили его, то Вам так же придется изменить порт и в API классе proxmox’a. Для этого нам необходимо найти строки наподобие этой: (Таких всего 3)
curl_setopt($prox_ch, CURLOPT_URL, «https://».$this->pve_hostname.»:8006/api2/json/access/ticket»);
У меня это 93 строка. (На момент скачивания класса. Может быть сейчас там какие-то изменения. Я не проверял) и заменить 8006 на необходимое значение.
Для того, чтобы проверить успешно ли прошла авторизация на нашем сервере нужно использовать следующий метод:
Теперь попытаемся выполнить наш первый запрос, который выдаст нам информацию об интересующей нас VM. У каждой виртуальной машины есть свой уникальный идентификационный номер, по которому мы и будем получать информацию. Так же каждая VM может размещаться в своей «ноде» (node), которая так же участвует в запросе.
где: node2 — это название используемой мною ноды, а 100 — это id VM.
В результате мы получим примерно следующее:
В большей степени здесь все понятно, поэтому комментировать я не стану и мы пойдем дальше.
В предыдущем примере, где мы получали статус нашей VM мы использовали GET запрос. Как правило, GET используются для получения информации, POST и PUT для выполнения каких-то действий или изменения настроек.
Теперь попробуем остановить нашу виртуальную машину. Для этого отправим POST запрос с vmid (идентификатором виртуальной машины и нодой):
Как видите, все довольно просто. Первым параметром POST запроса выступает инфа о нашей VM, а вторым некоторые не всегда необязательные параметры. В данном случае для наглядности я использовал параметр forceStop, который говорит сам за себя. Иногда бывают случаи, когда VM по каким причинам не может завершить свою работу «добровольно». Это может произойти по разным причинам, ошибка системы, повисший процесс и т.д. Так вот параметр forceStop говорит proxmox’u о том, что машина должна завершить свою работу в любом случае. Полный список параметров можно посмотреть в приведенной документации.
Теперь запустим обратно нашу VM.
Все доступные команды для статусов VM:
Перейдем к настройкам…
Получаем настройки конкретной VM, как обычно:
Если все ок, ты мы получим следующий результат:
Для того, чтобы установить VM конфигурацию, необходимо использовать PUT запрос:
где в массиве нужно указать необходимые параметры и их значение. Все параметры я не стану приводить, т.к их много и они есть и описаны в официальной документации. Обратите внимание, что для вступления некоторых надстроек в силу необходим ребут VM.
Теперь немного интересней. Иногда появляется необходимость автоматизировать процесс создания виртуальных машин. Об этом мне хотелось бы рассказать более подробно в следующей статье, но для самых нетерпеливых, небольшой пример сейчас:
На этом пока все. В следующей части я бы хотел углубиться в методы, которые описал выше, а так же рассказать о некоторых тонкостях, которые на тот момент в API я не нашел.
P.S Вместо того, чтобы просто минусовать статью, уделите немного своего времени и опишите что в ней не так, что Вам не понравилось и чтобы Вы хотели видеть еще. Это позволит мне понять мои ошибки и в дальнейшем не совершать их.
Магия виртуализации: вводный курс в Proxmox VE
Сегодня речь пойдет о том, как быстро и достаточно просто на одном физическом сервере развернуть несколько виртуальных серверов с разными операционными системами. Любому системному администратору это позволит централизованно управлять всей IT-инфраструктурой компании и экономить огромное количество ресурсов. Использование виртуализации помогает максимально абстрагироваться от физического серверного оборудования, защитить критичные сервисы и легко восстановить их работу даже в случае очень серьезных сбоев.
Без всякого сомнения, большинству системных администраторов знакомы приемы работы с виртуальной средой и для них эта статья не станет каким-либо открытием. Несмотря на это, есть компании, которые не используют гибкость и скорость работы виртуальных решений из-за недостатка точной информации о них. Мы надеемся, что наша статья поможет на примере понять, что гораздо проще один раз начать использовать виртуализацию, чем испытывать неудобства и недостатки физической инфраструктуры.
К счастью, попробовать как работает виртуализация достаточно просто. Мы покажем, как создать сервер в виртуальной среде, например, для переноса CRM-системы, используемой в компании. Практически любой физический сервер можно превратить в виртуальный, но вначале необходимо освоить базовые приемы работы. Об этом и пойдет речь ниже.
Как это устроено
Когда речь идет о виртуализации, многим начинающим специалистам сложно разобраться в терминологии, поэтому поясним несколько базовых понятий:
Ключевой особенностью является то, что любые действия виртуальных машин исполняются напрямую на уровне оборудования. При этом они друг от друга изолированы, что достаточно легко позволяет управлять ими по отдельности. Сам же гипервизор играет роль контролирующего органа, распределяя ресурсы, роли и приоритеты между ними. Также гипервизор занимается эмуляцией той части аппаратного обеспечения, которая необходима для корректной работы операционной системы.
Внедрение виртуализации дает возможность иметь в наличии несколько запущенных копий одного сервера. Критический сбой или ошибка, в процессе внесения изменений в такую копию, никак не повлияет на работу текущего сервиса или приложения. При этом также снимаются две основные проблемы – масштабирование и возможность держать «зоопарк» разных операционных систем на одном оборудовании. Это идеальная возможность совмещения самых разных сервисов без необходимости приобретения отдельного оборудования для каждого из них.
Виртуализация повышает отказоустойчивость сервисов и развернутых приложений. Даже если физический сервер вышел из строя и его необходимо заменить на другой, то вся виртуальная инфраструктура останется полностью работоспособной, при условии сохранности дисковых носителей. При этом физический сервер может быть вообще другого производителя. Это особенно актуально для компаний, которые используют серверы, производство которых прекращено и потребуется осуществить переход на другие модели.
Теперь перечислим самые популярные гипервизоры, существующие на текущий день:
KVM же напротив, полностью бесплатен и достаточно прост в работе, особенно в составе готового решения на базе Debian Linux под названием Proxmox Virtual Environment. Именно эту систему мы можем порекомендовать для первоначального знакомства с миром виртуальной инфраструктуры.
Как быстро развернуть гипервизор Proxmox VE
Установка чаще всего не вызывает никаких вопросов. Скачиваем актуальную версию образа с официального сайта и записываем его на любой внешний носитель с помощью утилиты Win32DiskImager (в Linux используется команда dd), после чего загружаем сервер непосредственно с этого носителя. Наши клиенты, арендующие у нас выделенные серверы, могут воспользоваться двумя еще более простыми путями – просто смонтировав нужный образ непосредственно из KVM-консоли, либо используя наш PXE-сервер.
Программа установки имеет графический интерфейс и задаст всего лишь несколько вопросов.
Веб-интерфейс управления станет доступен по адресу
Что нужно сделать после установки
Есть несколько важных вещей, которые следует выполнить после установки Proxmox. Расскажем о каждой из них подробнее.
Обновить систему до актуальной версии
Для этого зайдем в консоль нашего сервера и отключим платный репозиторий (доступен только тем, кто купил платную поддержку). Если этого не сделать — apt сообщит об ошибке при обновлении источников пакетов.
Позаботиться о безопасности
Исходя из практического опыта, за неделю работы сервера с открытым ssh-портом 22 и внешним статическим IPv4-адресом, было более 5000 попыток подобрать пароль. И около 1500 адресов утилита успешно заблокировала.
Для выполнения установки приводим небольшую инструкцию:
Проверить статус работы утилиты, например, снять статистику блокировок заблокированных IP-адресов с которых были попытки перебора паролей SSH, можно одной простой командой:
Ответ утилиты будет выглядеть примерно так:
Аналогичным способом можно закрыть от подобных атак Web-интерфейс, создав соответствующее правило. Пример такого правила для Fail2Ban можно найти в официальном руководстве.
Начало работы
Хочется обратить внимание на то, что Proxmox готов к созданию новых машин сразу после установки. Тем не менее, рекомендуем выполнить предварительные настройки, чтобы в дальнейшем системой было легко управлять. Практика показывает, что гипервизор и виртуальные машины стоит разнести по разным физическим носителям. О том, как это сделать и пойдет речь ниже.
Настроить дисковые накопители
ВНИМАНИЕ! Приведенный ниже пример дисковой разметки можно использовать только для тестовых целей. Для эксплуатации в реальных условиях мы настоятельно рекомендуем использовать программный или аппаратный RAID-массив, чтобы исключить потерю данных при выходе дисков из строя. О том, как правильно приготовить дисковый массив к работе и как действовать в случае аварийной ситуации мы расскажем в одной из следующих статей
Предположим, что физический сервер имеет два диска — /dev/sda, на который установлен гипервизор и пустой диск /dev/sdb, который планируется использовать для хранения данных виртуальных машин. Чтобы система смогла увидеть новое хранилище, можно воспользоваться самым простым и эффективным методом — подключить его как обычную директорию. Но перед этим следует выполнить некоторые подготовительные действия. В качестве примера посмотрим, как подключить новый диск /dev/sdb, любого размера, отформатировав его в файловую систему ext4.
Вывод команды должен показать, что /dev/sdb1 смонтирован в директорию /mnt/storage. Это значит, что наш накопитель готов к работе.
Добавить новое хранилище в Proxmox
Авторизуемся в панели управления и заходим в разделы Датацентр ➝ Хранилище ➝ Добавить ➝ Директория.
В открывшемся окне заполняем следующие поля:
После этого нажимаем кнопку Добавить. На этом настройка завершена.
Создать виртуальную машину
Для создания виртуальной машины выполняем следующую последовательность действий:
Создаем нашу первую виртуальную машину:
Настроить автозапуск
По умолчанию Proxmox автоматически не запускает машины, но это легко решается буквально двумя щелчками мыши:
Для продвинутых администраторов имеется еще и возможность указать дополнительные параметры запуска в разделе Start/Shutdown order. Можно явным образом указать в каком порядке следует запускать машины. Также можно указать время, которое должно пройти до старта следующей VM и время задержки выключения (если операционная система не успеет завершить работу, гипервизор принудительно ее выключит через определенное количество секунд).
Заключение
В этой статье были изложены основы того, как можно начать работать с Proxmox VE и мы надеемся, что она поможет начинающим специалистам сделать первый шаг и попробовать виртуализацию в действии.
Proxmox VE — это действительно очень мощный и удобный инструмент для любого системного администратора; главное не бояться экспериментировать и понять, как это действительно работает.
Если у вас появились вопросы, добро пожаловать в комментарии.