- Администрирование и не только
- Страницы
- понедельник, 16 декабря 2019 г.
- Руководство администратора Proxmox VE R 6.0 Глава 8.
- Хранилище Proxmox VE
- Типы хранилищ
- Тонкая Настройка
- Конфигурация хранилища
- Пулы Хранения
- Общие свойства хранилищ
- Владелец тома
- Использование интерфейса командной строки
- 🐹 Proxmox Virtual Environment: Установка, настройка, тюнинг, организация резервного копирования.
- Содержание:
- 1. Постановка задачи.
- 2. Описание программы.
- 3. Подготовка загрузочной флешки.
- 4. Подготовка сервера.
- 5. Загрузка образов ISO в web-интерфейсе.
- 6. Настройка системы хранения данных.
- 7. Создание виртуальной машины.
- 8. Настройка виртуальной машины.
- 9. Тюнинг сервера Proxmox VE.
- 10. Про бэкапы в Proxmox VE.
- 11. Выполнение процедуры резервирования.
- 12. Восстановление из резервной копии.
- 13. Клонирование виртуальной машины.
- 14. Работа с образами дисков.
- 15. Изменение размера виртуального диска.
- 16. Автоматизация создания резервных копий.
- 17. Управление гипервизором консольными командами.
- 18. Установка Proxmox VE на Ubuntu и CentOS.
- 19. Оригиналы источников информации.
- Заметки:
Администрирование и не только
Не вполне стандартные задачи, с которыми мне приходится сталкиваться по работе и способы их решения.
Страницы
понедельник, 16 декабря 2019 г.
Руководство администратора Proxmox VE R 6.0 Глава 8.
Хранилище Proxmox VE
Одним из основных преимуществ хранения виртуальных машин в общем хранилище является возможность оперативной миграции работающих машин без простоев, поскольку все узлы в кластере имеют прямой доступ к образам дисков виртуальных машин. Нет необходимости копировать данные образа виртуальной машины, поэтому динамическая миграция в этом случае выполняется очень быстро.
Библиотека хранения (пакет libpve-storage-perl) использует гибкую систему плагинов для обеспечения общего интерфейса для всех типов хранения. Она может быть адаптирована для включения дополнительных типов хранения в будущем.
Типы хранилищ
Существует в основном два различных класса типов хранилищ:
Хранилище файлового уровня Технологии хранения на уровне файлов позволяют получить доступ к полнофункциональной файловой системе (POSIX). Они в целом более гибкие, чем любое хранилище уровня блока (см. ниже), и позволяют хранить контент любого типа. ZFS, вероятно, самая продвинутая система, и она имеет полную поддержку снимков и клонов. Хранилище блочного уровня Позволяет хранить большие необработанные образы. Обычно невозможно хранить другие файлы (ISO, резервные копии, ..) на таком типе хранилища. Большинство современных реализаций блочных хранилищ поддерживают моментальные снимки и клоны. RADOS и GlusterFS с распределенной системой хранения, реплицируют данные на различные узлы. Таблица 8.1: Доступные типы хранения
Описание | PVE тип | Уровень | Shared | Создание снимков | Стабильный |
---|---|---|---|---|---|
ZFS (local) | zfspool | file | нет | да | да |
Directory | dir | file | нет | нет 1 | да |
NFS | nfs | file | да | нет 1 | да |
CIFS | cifs | file | да | нет 1 | да |
glusterfs | glusterfs | file | да | нет 1 | да |
cephfs | cephfs | file | да | да | да |
LVM | lvm | block | нет 2 | нет | да |
LVM-thin | lvmthin | block | нет | да | да |
iSCSI/kernel | iscsi | block | да | нет | да |
iSCSI/libiscsi | iscsidirect | block | да | нет | да |
Ceph/RBD | rbd | block | да | да | да |
ZFS over iSCSI | zfs | block | да | да | да |
1 : В файловых хранилищах моментальные снимки возможны в формате qcow2.
2 : Можно использовать LVM поверх хранилища iSCSI. Таким образом, вы получаете общее хранилище LVM.
Тонкая Настройка
Ряд хранилищ, и образы QEMU в формате qcow2 , поддерживает динамическое выделение памяти. При активированной тонкой настройке в хранилище будут записаны только те блоки, которые фактически используются гостевой системой.
Скажем, например, вы создаете виртуальную машину с жестким диском 32 ГБ, и после установки операционной системы гостевой системы корневая файловая система виртуальной машины содержит 3 ГБ данных. В этом случае только 3 ГБ записываются в хранилище, даже если гостевая виртуальная машина видит жесткий диск 32 ГБ. Таким образом, тонкая настройка позволяет создавать образы дисков, которые больше, чем доступные в настоящее время блоки хранения. Можно создавать большие образы дисков для виртуальных машин, а при необходимости добавлять дополнительные диски в хранилище без изменения размера файловых систем виртуальных машин.
Все типы хранилищ, которые имеют функцию “моментальные снимки”, также поддерживают тонкую настройку. Осторожно! Если хранилище заполнено, все гости, использующие Тома в этом хранилище, получают ошибки ввода-вывода. Это может привести к несогласованности файловой системы и повреждению данных. Поэтому рекомендуется избегать чрезмерного использования тонкой настройки ресурсов в вашем хранилище или внимательно следить за свободным пространством, чтобы избежать таких ситуаций.
Конфигурация хранилища
Все связанные с Proxmox VE конфигурации хранилища хранятся в одном текстовом файле по адресу /etc/pve/storage.cfg
Поскольку этот файл находится в папке /etc/pve/ , он автоматически распределяется по всем узлам кластера. Таким образом, все узлы имеют одинаковую конфигурацию хранилища. Совместное использование конфигурации хранилища имеет смысл для общего хранилища, поскольку одно и то же «общее» хранилище доступно со всех узлов. Но это также полезно для локальных типов хранения. В этом случае такое локальное хранилище доступно на всех узлах, но оно физически отличается и может иметь совершенно разное содержимое.
Пулы Хранения
Каждый пул хранения имеет и однозначно идентифицируется по его .
Конфигурация пула выглядит следующим образом: Строкой : начинается определение пула, затем следует список свойств. Большинство свойств требуют значения, но некоторые имеют разумные значения по умолчанию. В этом случае вы можете опустить значение.
Чтобы быть более конкретным, взгляните на конфигурацию хранилища по умолчанию после установки. Он содержит один специальный локальный пул хранения с именем local, который ссылается на каталог /var/lib/vz и всегда доступен. Программа установки Proxmox VE создает дополнительные записи хранилища в зависимости от типа хранилища, выбранного во время установки.
Конфигурация хранилища по умолчанию ( /etc/pve/storage.cfg )
Общие свойства хранилищ
Владелец тома
Существует отношение собственности для томов типа образ. Каждый такой Том принадлежит виртуальной машине или контейнеру. Например, том local:230/example-image.raw принадлежит VM 230. Большинство серверных систем хранения данных кодирует эту информацию о владельце в имя Тома.
При удалении виртуальной машины или контейнера система также удаляет все связанные Тома, принадлежащие этой виртуальной машине или контейнеру.
Использование интерфейса командной строки
Рекомендуется ознакомиться с концепцией пулов хранения и идентификаторов томов, но в реальной жизни вы не обязаны выполнять какие-либо из этих низкоуровневых операций в командной строке. Обычно выделение и удаление томов выполняется средствами управления виртуальными машинами и контейнерами.
Тем не менее, существует инструмент командной строки под названием pvesm (“Proxmox VE Storage Manager”), который способен выполнять общие задачи управления хранилищем.
🐹 Proxmox Virtual Environment: Установка, настройка, тюнинг, организация резервного копирования.
Опубликовано 2020-10-05 · Обновлено 2021-02-02
Содержание:
1. Постановка задачи.
Требуется организовать простой и надёжный гипервизор для сервера среднего и малого офиса:
- Чтобы на одном физическом сервере;
- Чтобы всё работало прямо из коробочки;
- Чтобы с web-интерфейсом и визуальными метриками;
- Чтобы на Linux.
2. Описание программы.
2.1. О программе.
В сегодняшней статье мы опишем процесс установки Proxmox Virtual Environment (Proxmox VE) — систему управления виртуализации с открытым кодом, которая базируется на QEMU/KVM и LXC. Данное решение позволяет вам управлять виртуальными машинами, контейнерами, отказоустойчивыми кластерами, СХД и прочие — все это с помощью web-интерфейса или CLI. Чтобы было понятнее — Proxmox VE — это альтернатива c открытым программным кодом таким продуктам как VMware vSphere, Microsoft Hyper-V или Citrix XenServer.
Важное уточнение — согласно лицензии GNU AGPL v3 данное программное обеспечение является бесплатным, но, есть возможность купить подписку. Подписка дает следующие преимущества — поддержка от вендора/коммьюнити (в зависимости от выбранного плана), доступ к репозиторию и так далее.
Proxmox Virtual Environment (Proxmox VE) — система виртуализации с открытым исходным кодом, основанная на Debian GNU/Linux. Разрабатывается австрийской фирмой Proxmox Server Solutions GmbH, спонсируемой Internet Foundation Austria.
В качестве гипервизоров использует KVM и LXC. Соответственно, способна выполнять любые поддерживаемые KVM операционные системы с минимальными потерями производительности и Linux без потерь.
Управление виртуальными машинами и администрирование самого сервера производятся через web-интерфейс либо через стандартный интерфейс командной строки Linux.
Для создаваемых виртуальных машин доступно множество опций: используемый гипервизор, тип хранилища (файл образа или LVM), тип эмулируемой дисковой подсистемы (IDE, SCSI или VirtIO), тип эмулируемой сетевой карты, количество доступных процессоров и другие.
Немного о системных требованиях — в идеале, требуется железный сервер, предпочтительно многопроцессорный и 8 Гб памяти для самого Proxmox и остальное — для гостевых машин + 2 сетевых карты, работает и на 1 сетевой карте (всё зависит от трафика вашего файлообмена).
Список поддерживаемых web-интерфейс Proxmox Virtual Environment (Proxmox VE) с браузеров включает Chrome, Mozilla Firefox, Safari и IE (актуальные версии).
2.2. Ключевые возможности.
- Простое управление через web-интерфейс;
- Мониторинг нагрузки в реальном времени;
- Статистика и информативные графики нагрузки сервера виртуализации и каждой виртуальной машины в отдельности — по оперативной памяти, CPU, HDD, сети в разрезе последний час/день/неделя/месяц/год;
- Библиотека установочных образов (в локальном или удаленном хранилище);
- Подключение к «физической» консоли гостевых систем непосредственно из браузера (по VNC и посредством SPICE-клиента);
- Объединение серверов в кластер с возможностью живой миграции виртуальных машин (без остановки гостевой системы);
- Быстрое развертывание гостевых систем из шаблонов;
- Сохранение образа состояния виртуальной машины (snapshot), формирование дерева состояний и возможность отката на любую из точек;
- Автоматическое резервное копирование виртуальных машин.
С сайта разработчиков можно загрузить готовые шаблоны (как дистрибутивы общего назначения, так и настроенные под конкретную задачу, например запуск MediaWiki, Drupal или WordPress). Также можно создавать собственные шаблоны, воспользовавшись инструментом Debian Appliance Builder.
2.3. С чего начать?
Есть два варианта установки Proxmox VE — использовать готовый образ или установка на Debian. Мы будем использовать готовый образ!
При установке среды виртуализации меняется ядро Linux. Это может привести к потери работоспособности уже установленных сервисов. Таким образом, установку Proxmox следует выполнять на чистый сервер, а не тот, который уже используется для каких-либо задач.
Для начала установки нужно скачать образ установочного диска с официального сайта разработчиков Proxmox: proxmox.com.
Для тех, кому интересно почитать подробнее, есть даже Proxmox VE Wiki — это справочная библиотека от разработчиков этого гипервизора: proxmox.com.
3. Подготовка загрузочной флешки.
Устанавливать Proxmox VE на сервер будем с помощью загрузочной флешки, которую следует предварительно подготовить с помощью специальной бесплатной утилиты — программы Rufus.
Rufus — Простое создание загрузочных USB-дисков.
Rufus — это утилита, которая помогает форматировать и создавать загрузочные Flash/Pen/Key диски, карты памяти и так далее.
Rufus будет особенно полезен в случаях, когда:
- необходимо создать загрузочный USB-диск из загрузочного ISO-образа (Windows, Linux, UEFI и других операционных систем);
- необходимо работать на системах, которые не имеют установленной операционных систем;
- необходимо прошить BIOS или другую прошивку из-под DOS;
- необходимо запустить низкоуровневую утилиту.
Несмотря на небольшой размер, Rufus умеет делать все, что вам нужно!
Скачиваем последнюю версию с сайта разработчиков Rufus: https://rufus.ie/ru_RU.html.
Подключаем флешку к компьютеру, выбираем ее в Rufus и выбираем файл-образ Proxmox VE, прожигаем его на флешку в режиме DD-образ.
После прожига флешки, можно её использовать для установки Proxmox VE.
4. Подготовка сервера.
4.1. Включение виртуализации на сервере.
Поддержка виртуализации Intel VT или AMD-V может быть отключена на материнской плате. Для проверки заходим в БИОС — находим раздел настройки процессора (как правило, в пункте меню Advanced) — проверяем, что технология виртуализации (Intel VT, AMD-V, Virtualization Technology, VMX) включена (Enabled).
4.2. Процесс установки.
Итак, вы скачали ISO-образ по ссылке выше, запустились с загрузочной флешки и должны увидеть следующее:
Кликаем на Install Proxmox VE. После этого появится окно с установкой и EULA:
Читаем, и соглашаемся с лицензионным соглашением и кликаем Agree:
Затем, нам предлагают выбрать диск для установки — выбираем и кликаем Next:
Выбираем страну и часовой пояс и кликаем Далее:
Затем придумываем сложный рутовый пароль и вводим действующий e-mail — на него в случае чего будут приходить письма с происшествиями на сервере:
- Management Interface: сетевой интерфейс для управления сервером виртуальных машин.
- Hostname (FQDN): имя хоста для сервера.
- IP Address: IP-адрес нашего сервера.
- Netmask: маска подсети для сервера.
- Gateway: шлюз по умолчанию.
- DNS Server: сервер DNS.
Указываем настройки сети — выбираем адаптер, указываем хостнейм и так далее. Кликаем Next:
Начинается процесс установки, который занимает не более 10 минут:
Установка заканчивается, и все, что нужно сделать — это нажать Reboot.
Внимание! Если после перезагрузки сразу извлечь установочную флешку из сервера, то по каким-то неясным причинам на сервере что-то пойдет не так! И прийдется вся монтировать руками и доделывать установку в ручном режиме. Чтобы этого не произошло, не вынимайте установочную флешку до тех пор, пока не войдете в web-интерфейс Proxmox VE.
После перезагрузки вы увидите адрес, по которому нужно зайти в браузере для завершения установки.
Внимание! Обратите особое внимание на адрес по которому работает web-интерфейс Proxmox VE! Как можно не сразу заметить используется защищенный протокол HTTPS вместо HTTP. Автоматического перенаправления в системе не предусмотрено! Будьте внимательны!
В данном случае это https://ваш-IP-адрес:8006 :
Нас поприветствует оно входа:
Появляется окно логина, с возможностью выбрать язык. Вводите логин root и пароль, который вы указывали при установке.
Выскочит надпись о том, что Proxmox VE хоть и бесплатный, но подписку на его регулярные обновления неплохо бы было прикупить… Жмём ОК… Потом настроим, чтобы и рыбку съесть и на люстре покачаться….
Далее должно открыться окно управления.
И, наконец, системой можно пользоваться! К примеру, можете кликнуть на вкладку Datacenter слева и увидеть сводку информации по системе:
5. Загрузка образов ISO в web-интерфейсе.
Чтобы начать использовать Proxmox и создать первую виртуальную машину, требуется загрузить на гипервизор ISO образ гостевой операционной системы, которую мы и установим в на виртуальную машину.
Кликаем по Datacenter — и дважды по storage:
Мы можем создать отдельное хранилище для образов ISO. Для этого переходим в раздел Datacenter —> Хранилище —> Создать —> Каталог.
Переходим в раздел Содержимое и кликаем по Загрузить:
В открывшемся окне выбираем ISO-образ системы, который будем устанавливать в качестве гостевой и кликаем по Загрузить. Ждем окончания копирования файла на сервер.
6. Настройка системы хранения данных.
Хочется обратить внимание на то, что Proxmox готов к созданию новых виртуальных машин сразу после установки. Тем не менее, рекомендуем выполнить предварительные настройки, чтобы в дальнейшем системой было легко управлять. Практика показывает, что гипервизор и виртуальные машины стоит разнести по разным физическим носителям. О том, как это сделать и пойдет речь ниже.
6.1. Настроить дисковые накопители.
Следующим этапом следует настроить хранилище, которое можно будет использовать для сохранения данных виртуальных машин и резервных копий.
Внимание! Приведенный ниже пример дисковой разметки можно использовать только для тестовых целей. Для эксплуатации в реальных условиях настоятельно рекомендуется использовать программный или аппаратный RAID-массив, чтобы исключить потерю данных при выходе дисков из строя.
Как подготовить и подключить диски можно прочитать в этих инструкциях:
6.2. Добавить новое хранилище в Proxmox.
Авторизуемся в панели управления и заходим в разделы Datacenter —> Хранилище —> Добавить —> Директория.
В открывшемся окне заполняем следующие поля:
- ID — название будущего хранилища;
- Директория — /mnt/storage ;
- Содержимое — выделяем все варианты (поочередно щелкая на каждом варианте).
После этого нажимаем кнопку Добавить. На этом настройка завершена.
7. Создание виртуальной машины.
Базовая настройка закончена — можно начать создавать виртуальные машины!
В правой верхней части панели управления кликаем по Создать VM:
В открывшемся окне снизу сразу ставим галочку Расширенный:
Задаем имя виртуальной машине и ставим галочку Запуск при загрузке (если хотим, чтобы виртуалка запускалась автоматически с сервером PVE):
В данном примере мы задали имя FS. При желании, также можно изменить VM ID, но он проставляется автоматически и имеет правильное значение.
Выбираем загруженный нами ISO-образ, с которого будем ставить операционную систему, задаем тип гостевой операционной системы и ее версию:
В данном примере мы будем устанавливать Linux Ubuntu. Среди списка операционных систем также доступны Microsoft Windows, Solaris и прочие.
На вкладке Система можно оставить все значения по умолчанию:
В некоторых случаях, необходимо выбрать другую видеокарту (при установке систем с GUI), а также особый вариант BIOS.
Задаем размер жесткого диска:
16 Гб для Ubuntu достаточно, однако, для наших задач расчет должен быть индивидуальным для каждой создаваемой виртуальной машины.
Подробнее об используемых в Proxmox форматах накопителей:
RAW. Самый понятный и простой формат. Это файл с данными жесткого диска «байт в байт» без сжатия или оптимизации. Это очень удобный формат, поскольку его легко смонтировать стандартной командой mount в любой linux-системе. Более того это самый быстрый «тип» накопителя, так как гипервизору не нужно его никак обрабатывать.
Серьезным недостатком этого формата является то, что сколько Вы выделили места для виртуальной машины, ровно столько места на жестком диске и будет занимать файл в формате RAW (вне зависимости от реально занятого места внутри виртуальной машины).
QEMU image format (qcow2). Пожалуй, самый универсальный формат для выполнения любых задач. Его преимущество в том, что файл с данными будет содержать только реально занятое место внутри виртуальной машины. Например, если было выделено 40 Гб места, а реально было занято только 2 Гб, то все остальное место будет доступно для других виртуальных машин. Это очень актуально в условиях экономии дискового пространства.
Небольшим минусом работы с этим форматом является следующее: чтобы примонтировать такой образ в любой другой системе, потребуется вначале загрузить особый драйвер nbd, а также использовать утилиту qemu-nbd, которая позволит операционной системе обращаться к файлу как к обычному блочному устройству. После этого образ станет доступен для монтирования, разбиения на разделы, осуществления проверки файловой системы и прочих операций.
Следует помнить, что все операции ввода-вывода при использовании этого формата программно обрабатываются, что влечет за собой замедление при активной работе с дисковой подсистемой. Если стоит задача развернуть на сервере базу данных, то лучше выбрать формат RAW.
VMware image format (vmdk). Этот формат является «родным» для гипервизора VMware vSphere и был включен в Proxmox для совместимости. Он позволяет выполнить миграцию виртуальной машины VMware в инфраструктуру Proxmox.
Использование vmdk на постоянной основе не рекомендуется, данный формат самый медленный в Proxmox, поэтому он годится лишь для выполнения миграции, не более. Вероятно в обозримом будущем этот недостаток будет устранен.
Продолжим создавать виртуальную машину.
Мы можем задать количество процессоров и ядер:
В данном примере мы создаем виртуалку с 2 процессорами, каждый из который с 2 ядрами, итого, 4. Для ненагруженных систем можно оставить значение по умолчанию.
Наша Ubuntu будет работать с 2 Гб оперативной памяти.
Выбираем созданный бридж — либо для получения прямого адреса из сети, либо для NAT:
Если виртуальная машина должна подключаться к интернету напряму, то отключите Брандмауэр. В данном примере, мы указали vmbr0 для подключения к сети напрямую.
Ставим галочку, чтобы виртуальная машина сразу запустилась после создания:
Нажимаем Готово. Ждем окончания процесса и переходим к консоли:
Мы должны увидеть загрузку с ISO-образа.
8. Настройка виртуальной машины.
После создания виртуальной машины нам может понадобиться ее изменить. Рассмотрим процесс настройки на примере изменения некоторых параметром, а также добавления диска и сетевого адаптера.
8.1. Полезные настройки.
Для начала, переходим к виртуальной машине — Параметры:
Чаще всего могут понадобиться следующие настройки:
- Имя — имя виртуальной машины.
- Запуск при загрузке — для серверов данный параметр должен быть активирован.
- Порядок загрузки — позволяет определить, с какого устройства должна запуститься виртуалка в первую очередь.
Для изменения параметра, просто кликаем по нему дважды, меняем значение и нажимаем OK.
8.2. Добавление дискового накопителя.
Переходим в подраздел Оборудование — кликаем по Добавить и выбираем Жесткий диск:
В открывшемся окне задаем размер диска и нажимаем OK.
Для увеличения размера имеющегося диска устанавливаем на него курсов и кликаем по Изменить размер диска:
В открывшемся окне задаем объем, на который нужно увеличить дисковое пространство.
8.3. Добавление сетевого адаптера.
Переходим в подраздел Оборудование — кликаем по Добавить и выбираем Сетевое устройство:
Как при создании виртуальной машины, выбираем тип сетевого адаптера (бридж или нат) и нажимаем Добавить.
8.4. Удаление виртуальной машины.
Для удаления виртуальной машины, сначала ее отключаем — это можно сделать из операционной системы или из панели управления, нажав на стрелку вниз рядом с Выключить — Остановка:
После кликаем по Дополнительно —> Удалить:
В открывшемся окне мы должны подтвердить свои намерения удалить виртуальную машину, вписав ее идентификатор:
Если поставить галочку Purge, то виртуальная машина будет удалена полностью вместе с виртуальным диском.
Кликаем по Удалить — готово.
9. Тюнинг сервера Proxmox VE.
Внесем несколько изменений, которые сделают работу с Proxmox VE удобнее.
9.1. Отключение предупреждения об отсутствии подписки.
Каждый раз при заходе в панель управления мы будем видеть такое предупреждение:
Оно говорит нам о том, что мы используем бесплатную версию программного продукта.
Внимание! К сожалению на версии Proxmox VE 6.2 многие способы отключения данного сообщения, представленные в интернете, перестали работать и я упростил данный раздел инструкции до получения 100% работающих способов отключения данного сообщения. Пока не форсировал эту тему, так как надпись меня не раздражает.
Алгоритм борьбы с окошком такой:
- Отключим платный репозиторий для получения пакетов Proxmox.
- Отредактируем файл js для отключения данного сообщения.
Для начала — удалим платный репозиторий.
И так, в SSH открываем на редактирование репозиторий Proxmox:
Чтобы выйти из nano, просто нажмите ^X (клавиши Ctrl + X). Если файл еще не был сохранен, вам будет предложено сохранить изменения с помощью Yes/No или отменить Выход.
Нажмите на клавиатуре Shift + Y и затем клавишу Enter.
Мы закомментировали репозиторий pve-enterprise и добавили pve-no-subscription .
При большом желании, можно удалить файл репозитория с именем pve-enterprise.list и создать новый — кому как будет удобнее.
# 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 upgrade -y
# apt-get dist-upgrade
9.2. Сертификаты.
Сервер Proxmox VE устанавливается с самоподписанным сертификатом. Это означает, что при подключении к панели управления мы будем видеть предупреждение от системы безопасности. Чтобы браузер принимал сертификат, он должен соответствовать следующим требованиям:
- Быть выдан доверенным центром сертификации или зарегистрированным в вашей локальной сети, например, локальный AD CS.
- Быть для доменного имени, по которому мы заходим в панель управления.
- Иметь актуальные даты начала действия и окончания.
При этом, мы не должны заходить в панель управления по IP-адресу — в противном случае, независимо от сертификата получим предупреждение.
И так, сам сертификат можно купить, запросить бесплатно у Let’s Encrypt или создать с использованием локального центра сертификации, например, по данной инструкции.
Получив сертификат, открываем панель управления Proxmox VE и переходим к серверу — Система —> Сертификаты — кликаем по Загрузить пользовательский сертификат:
В открывшемся окне заполняем поля для закрытого и открытого ключей:
Нажимаем Загрузить. Система предупредит, что загрузится с новым сертификатом — необходимо закрыть вкладку в браузере и открыть консоль управления снова. Если сертификат загружен правильный, мы не увидим предупреждения.
9.3. Создание нового пользователя.
При установке Proxmox VE создается пользователь root. Рассмотрим процесс добавления еще одного через командную строку.
Подключаемся по SSH или открываем консоль из панели управления.
Создаем пользователя в системе:
Где user — имя создаваемого пользователя.
После создаем нового пользователя в Proxmox:
# pveum useradd user@pam
В данном примере мы создали пользователя user в области pam.
# pveum passwd user@pam
Задаем роль для созданного пользователя, например, административную:
# pveum aclmod / -user user@pam -role Administrator
Весь список ролей можно посмотреть в панели администрирования в разделе Datacenter —> Разрешения —> Роли.
9.4. Удаление LVM-local-data.
Как реструктурировать LVM Volume \ root LVM раздел ?
Смотрим какая ситуация на сервере вообще?
Удалим раздел /dev/pve/data :
Дадим согласие на продолжение операции удаления — y.
Добавим всё освободившееся пространство к root разделу:
# lvresize -l +100%FREE /dev/pve/root
Итого: root раздел увеличился!
9.5. Проксирование Proxmox VE через Nginx.
Данная инструкция позволит вам получить доступ к Proxmox VE через 443 порт.
Как настроить Nginx и получить бесплатные сертификаты Let’s Encrypt на доменное имя описано в этой инструкции: «CentOS 7: Настройка бесплатного ssl-сертификата Let’s Encrypt.»
Создадим каталог для log-файлов:
# mkdir -p /web/proxmox_ve/log
Добавим на него права:
# chown -R nginx:nginx /web/proxmox_ve/log
# chmod -R 700 /web/proxmox_ve/log
Создадим новый конфигурационный файл для Nginx:
Ниже приведен пример конфигурации, которая работает для web-интерфейса, а также консоли noVNC:
Перезагрузим Nginx:
# systemctl restart nginx
Файлы, размещенные на веб-сервере Nginx, являются общедоступными по умолчанию. Если вы хотите защитить файлы от несанкционированного доступа, вы можете использовать базовую аутентификацию HTTP. Это простой метод аутентификации, при котором пользователям необходимо предоставить имя пользователя и пароль для доступа к файлам на вашем сервере.
9.6. Добавление физического диска в виртуальную машину Proxmox.
Чтобы «прокинуть» физический диск целиком в виртуальную машину, нужно в файл конфигурации виртуальной машины и добавить в него одну строку по аналогии с другими строками.
Открываем состав виртуальной машины:
Оно, конечно, будет работать в традиционном режиме, как обычный диск, и отображаться традиционным жестким диском в Диспетчере дисков гостевой операционной системы, но весь подвох в том, что если в Proxmox VE съедет буквенная нумерация дисков, то гостевая система потеряет конкретно этот проброшенный жесткий диск или его заменит его на совершенно другой, совершенно левый, жесткий диск, у которого появится данная буквенная нумерация путем досадного сдвига всех буквенных индексов.
Для того, чтобы не попасть в такую досадную ситуацию, гипервизору Proxmox VE требуется объяснить, что мы хотим использовать для наших целей конкретный жесткий диск с конкретным индексом в системе и никакой другой!
Посмотрим что у нас есть в системе вообще физически и найдем наше устройство:
Ага, вот оно! Строки с -part1 и так далее, обозначают разделы /dev/sdd1 и так далее. Они нам не интересны, так как мы будем пробрасывать физическое устройство целиком.
Выключаем виртуальную машину полностью.
Используем следующий синтаксис вида:
# qm set id_виртуальной_машины -virtio2 /dev/disk/by-id/ id_диска ,
- id_виртуальной_машины — ID вашей виртуальной машины;
- -virtio2 — тип устройства для гостевой операционной системы, замените -virtio2 на -virtio3 , -virtio4 и так далее для каждого отдельного диска;
- id_диска — ID желаемого для проброса жесткого диска.
В итоге образец команды будет выглядеть так:
# qm set 100 -virtio2 /dev/disk/by-id/ ata-WDC_WD7500BPVT-24HXZT1_WD-WX41AC0C5964
Открываем состав виртуальной машины:
Теперь виртуальная машина получила в свое распоряжение целый физический диск, управляемый виртуальным контроллером на основе технологии VirtIO. Если ваша гостевая операционная система умеет пользоваться подобным виртуальным устройством, то можно смело приступать к его использованию. Если не знает, как операционная система Windows, то потребуется дополнительная установка драйверов под контроллер такого типа.
9.6.1. Установка VirtIO драйвера в гостевой Windows.
Установка VirtIO драйвера весьма простая.
- Переходим pve.proxmox.com или по этой ссылке нас страницу с VirtIO ISO. Прокручиваем страничку до раздела Direct downloads и скачиваем Stable VirtIO ISO версию.
- Загружаем Stable VirtIO ISO образ в хранилище образов и монтируем его в CD-ROM виртуальной машины Windows.
- Включаем виртуальную машину и открываем Диспетчер устройств.
- В Диспетчере устройства появятся пару записей с новыми компонентами, на которые не установлены драйвера.
- Нажимаем обычную установку драйверов для неизвестных устройств и указываем Windows, что бы она сама искала то, что ей надо на нашем виртуальном CD-ROM‘е
- Соглашаемся с установкой драйверов от неизвестного издателя.
- Ждем короткую установку.
- Проходим в Менеджер дисков и обычным способом настраиваем жесткий диск или назначаем ему букву.
- PROFIT!
Диск можно использовать на свое усмотрение.
9.7. Проброс USB устройств в Proxmox.
Очень нужная вещь, когда в виртуальную машину Proxmox VE нужно пробросить какое-то USB устройство.
Прописываем в конфигурацию ID флешек:
Ещё один вариант:
# qm set 101 –usb0 host=XXXX:YYYY
где 101 — ID виртуальной машины куда будем пробрасывать порт. А XXXX:YYYY — ID USB устройства.
9.8. Установка полезных утилит и программ:
9.8.1. Установка Midnight Commander.
Один из файловых менеджеров с текстовым интерфейсом типа Norton Commander для UNIX-подобных операционных систем.
# apt-get install mc
9.8.2. Установка Parted.
Parted — известный инструмент командной строки, который позволяет вам легко управлять разделами жесткого диска. Это может помочь вам добавить, удалить, сжать и расширить разделы диска вместе с файловыми системами, расположенными на них.
# apt-get install parted
Данная утилита требуется для настройки устройств хранения информации по инструкции «CentOS 7: Как добавить новый диск».
9.8.3. Установка Crony.
Chrony — это гибкая реализация протокола сетевого времени — Network Time Protocol (NTP). Используется для синхронизации системных часов с различных NTP-серверов, эталонных часов или с помощью ручного ввода.
# apt-get install chrony
9.8.4. Установка Net-tools.
NetTOOLS — набор сетевых онлайн инструментов и утилит для оптимизации и диагностики сетевых ресурсов, круглосуточный мониторинг сетевых ресурсов, сетевые онлайн утилиты для работы в сети, сетевые утилиты, онлайн пинг, whois, nslookup, ping, traceroute.
# apt-get install net-tools
10. Про бэкапы в Proxmox VE.
Штатные инструменты Proxmox позволяют не только выполнять резервное копирование данных, но и создавать наборы предварительно настроенных образов операционных систем для быстрого развертывания. Это не только помогает при необходимости создать новый сервер для любого сервиса за несколько секунд, но также и уменьшает время простоя до минимального.
10.1. Алгоритмы резервного копирования.
Начнем с того, что Proxmox имеет неплохой штатный инструментарий для создания резервных копий виртуальных машин. Он позволяет легко сохранить все данные виртуальной машины и поддерживает два механизма сжатия, а также три метода создания этих копий.
Разберем вначале механизмы сжатия:
- Сжатие LZO. Алгоритм сжатия данных без потерь, придуманный еще в середине 90-х годов. Код был написан Маркусом Оберхеймером (реализуется в Proxmox утилитой lzop). Основной особенностью этого алгоритма является очень скоростная распаковка. Следовательно, любая резервная копия, созданная с помощью этого алгоритма, может при необходимости быть развернута за минимальное время.
- Сжатие GZIP. При использовании этого алгоритма резервная копия будет «на лету» сжиматься утилитой GNU Zip, использующей мощный алгоритм Deflate, созданный Филом Кацем. Основной упор делается на максимальное сжатие данных, что позволяет сократить место на диске, занимаемое резервными копиями. Главным отличием от LZO является то, что процедуры компрессии/декомпрессии занимают достаточно большое количество времени.
10.2. Режимы архивирования.
Proxmox предлагает на выбор системному администратору три метода резервного копирования. С помощью них можно решить требуемую задачу, определив приоритет между необходимостью простоя и надежностью сделанной резервной копии:
- Режим Snapshot (Снимок). Этот режим можно еще назвать как Live backup, поскольку для его использования не требуется останавливать работу виртуальной машины. Использование этого механизма не прерывает работу виртуальной машины, но имеет два очень серьезных недостатка — могут возникать проблемы из-за блокировок файлов операционной системой и самая низкая скорость создания. Резервные копии, созданные этим методом, надо всегда проверять в тестовой среде. В противном случае есть риск, что при необходимости экстренного восстановления, они могут дать сбой.
- Режим Suspend (Приостановка).Виртуальная машина временно «замораживает» свое состояние, до окончания процесса резервного копирования. Содержимое оперативной памяти не стирается, что позволяет продолжить работу ровно с той точки, на которой работа была приостановлена. Разумеется, это вызывает простой сервера на время копирования информации, зато нет необходимости выключения/включения виртуальной машины, что достаточно критично для некоторых сервисов. Особенно, если запуск части сервисов не является автоматическим. Тем не менее такие резервные копии также следует разворачивать в тестовой среде для проверки.
- Режим Stop (Остановка). Самый надежный способ резервного копирования, но требующий полного выключения виртуальной машины. Отправляется команда на штатное выключение, после остановки выполняется резервное копирование и затем отдается команда на включение виртуальной машины. Количество ошибок при таком подходе минимально и чаще всего сводится к нулю. Резервные копии, созданные таким способом, практически всегда разворачиваются корректно.
11. Выполнение процедуры резервирования.
Для создания резервной копии:
1. Переходим на нужную виртуальную машину.
2. Выбираем пункт Резервирование.
3. Нажимаем кнопку Резервировать сейчас. Откроется окно, в котором можно будет выбрать параметры будущей резервной копии.
4. В качестве хранилища указываем то, которое мы подключали выше по тексту инструкции.
5. После выбора параметров нажимаем кнопку Резервирование и ждем, пока резервная копия будет создана. Об этом будет говорить надпись TASK OK.
Теперь созданные архивы с резервными копиями виртуальных машин станут доступны для скачивания с сервера. Самым простым и банальным способом копирования является SFTP. Для этого воспользуйтесь популярным кроссплатформенным FTP-клиентом FileZilla, который умеет работать по SFTP-протоколу.
- В поле Хост вводим IP-адрес нашего сервера виртуализации, в поле Имя пользователя вводим root , в поле Пароль — тот, который был выбран при установке, а в поле Порт указываем «22» (либо любой другой порт, который был задан для SSH-подключений).
- Нажимаем кнопку Быстрое соединение и, если все данные были введены правильно, то в активной панели увидите все файлы, расположенные на сервере.
- Переходим в директорию /mnt/storage . Все создаваемые резервные копии будут лежать в поддиректории «dump» . Они будут иметь вид:
- vzdump-qemu-номер_машины-дата-время.vma.gz в случае выбора метода GZIP;
- vzdump-qemu-номер_машины-дата-время.vma.lzo в случае выбора метода LZO.
Резервные копии рекомендуется сразу скачивать с сервера и сохранять в надежном месте, например, в нашем облачном хранилище. Если распаковать файл с разрешением vma, одноименной утилитой, идущей в комплекте с Proxmox, то внутри будут файлы с расширениями raw, conf и fw.
В этих файлах содержится следующее:
- raw — образ диска;
- conf — конфигурация виртуальной машины;
- fw — настройки файервола.
12. Восстановление из резервной копии.
Рассмотрим ситуацию, когда виртуальную машину случайно удалили и требуется ее экстренное восстановление из резервной копии:
1. Открываем хранилище, на котором лежит резервная копия.
2. Переходим на вкладку Содержимое.
3. Выбираем нужную копию и нажимаем кнопку Восстановление.
4. Указываем целевое хранилище и ID, который будет присвоен виртуальной машине, после завершения процесса.
5. Нажимаем кнопку Восстановление. Как только восстановление завершится, виртуальная машина появится в списке доступных.
13. Клонирование виртуальной машины.
Для примера, предположим, что в компании требуется внести изменения в какой-либо критичный сервис. Такое изменение реализуется через внесение множества правок в конфигурационные файлы. Результат при этом непредсказуем и любая ошибка способна вызвать сбой сервиса. Чтобы подобный эксперимент не затронул работающий сервер, рекомендуется выполнить клонирование виртуальной машины.
Механизм клонирования создаст точную копию виртуального сервера, с которой допустимо проводить любые изменения, при этом не затрагивая работу основного сервиса. Затем, если изменения будут успешно применены, новая виртуальная машина запускается в работу, а старая выключается. В этом процессе есть особенность, о которой всегда следует помнить. На клонированной виртуальной машине IP-адрес будет точно таким же, как и у исходной виртуальной машины, то есть при ее запуске возникнет конфликт адресов.
Расскажем, как избежать такой ситуации. Непосредственно перед выполнением клонирования, следует внести изменения в конфигурацию сети. Для этого необходимо временно изменить IP-адрес, но не перезапускать сетевой сервис. После выполнения клонирования на основной виртуальной машине следует вернуть настройки обратно, а на клонированной виртуально машине задать любой другой IP-адрес. Тем самым мы получим две копии одного и того же сервера на разных адресах. Это позволит быстро ввести новый сервис в работу.
Если этим сервисом является веб-сервер, то достаточно только изменить А-запись у вашего DNS-провайдера, после чего запросы клиентов по этому доменному имени будут направляться уже на адрес клонированной виртуальной машины.
Клонирование виртуальной машины в Proxmox является очень простой задачей. Для ее выполнения необходимо выполнить следующие действия:
1. Перейти на нужную нам виртуальную машину.
2. Выбрать из меню More пункт Clone.
3. В открывшемся окне заполнить параметр Имя.
4. Выполнить клонирование нажатием кнопки Clone.
Этот инструмент позволяет сделать копию виртуальной машины не только на локальном сервере. Если несколько серверов виртуализации объединить в кластер, то с помощью этого инструмента можно сразу переместить созданную копию на нужный физический сервер. Полезной функцией является выбор дискового хранилища (параметр Target Storage), что очень удобно при перемещении виртуальной машины с одного физического носителя на другой.
14. Работа с образами дисков.
В комплекте c Proxmox есть очень удобная утилита, под названием qemu-img. Одной из ее функций является конвертирование образов виртуальных дисков.
14.1. Файл справки.
Чтобы воспользоваться им, достаточно открыть консоль гипервизора и выполнить команду в формате:
Внимание! Иногда процесс конвертации может и не стартовать, потому что файлы виртуального жесткого диска могут быть старой версии или чего-то может не хватать. Выход из этой ситуации — это правильно подбирать ключи и команды конвертирования под частные случаи.
14.2. Конвертирование.
# qemu-img convert -O vmdk test.vmdk -p test.qcow2
# qemu-img convert -f vmdk test.vmdk -O qcow2 test.qcow2
В приведенном примере, vmdk-образ виртуального накопителя VMware под названием test будет преобразован в формат qcow2.
Это очень полезная команда, когда требуется исправить ошибку при изначальном выборе формата.
14.3. Создание образа.
Благодаря этой же команде можно принудительно создать нужный образ, используя аргумент create:
# qemu-img create -f raw test.raw 40G
Такая команда создаст образ test в формате RAW, размером 40 Гб. Теперь он годится для подключения к любой из виртуальных машин.
15. Изменение размера виртуального диска.
И в заключение покажем как увеличить размер образа диска, если по каким-то причинам места на нем перестало хватать. Для этого воспользуемся аргументом resize:
# qemu-img resize -f raw test.raw 80G
Теперь наш образ стал размером 80 Гб. Посмотреть подробную информацию об образе можно с помощью аргумента info:
# qemu-img info test.raw
Не стоит забывать, что само расширение образа не увеличит размер раздела автоматически — просто добавит доступное свободное пространство. Для увеличения раздела воспользуйтесь командой:
где /dev/sda1 — нужный раздел.
16. Автоматизация создания резервных копий.
Использование ручного способа создания резервных копий — задача весьма трудоемкая и занимает много времени. Поэтому Proxmox VE содержит в себе средство для автоматического резервного копирования по расписанию.
Рассмотрим, как это сделать:
1. Используя веб-интерфейс гипервизора, открываем пункт Datacenter.
2. Выбираем пункт Резервирование.
3. Нажимаем кнопку Добавить.
4. Задаем параметры для планировщика.
5. Отмечаем галочкой пункт Включить.
6. Сохраняем изменения, используя кнопку Создать.
Теперь планировщик будет автоматически запускать программу резервного копирования в точно указанное время, исходя из заданного расписания.
17. Управление гипервизором консольными командами.
17.1. Просмотр списка виртуальных машин.
Посмотрим список всех созданных виртуальных машин на гипервизоре:
17.2. Управление виртуальными машинами.
Теперь можно управлять состоянием виртуальных машин c помощью их VMID в системе Proxmox:
# qm start — запуск;
# qm status — посмотреть состояние;
# qm shutdown — штатное выключение через ACPI;
# qm reset — перезагрузка;
# qm stop — принудительная остановка;
# qm suspend — приостановка с возможностью возобновления работы;
# qm resume — возобновление работы;
# qm destroy — удаление виртуальной машины (вместе с образами дисков);
Ответ:
17.3. Просмотр конфигурации виртуальных машин.
17.4. Просмотр файла справки HELP в консоли.
Для просмотра всех возможных команд и получения файла справки HELP ведите одиночную команду:
Ответ:
Таким же образом можно запросить более развернутый ответ по конкретной команде.
Например, запросим ответ на команду stop :
Ответ:
18. Установка Proxmox VE на Ubuntu и CentOS.
Возможно, кому-то захочется установить Proxmox VE именно на Ubuntu или CentOS. К сожалению, разработчики остановились на Debian. Возможно, есть неофициальные обходные пути установки Proxmox VE на другие дистрибутивы Linux, однако такой путь не является приемлемым для продуктивной среды.
19. Оригиналы источников информации.
- ru.wikipedia.org «Proxmox Virtual Environment».
- proxmox.com «Download Proxmox software, datasheets and documentation Files».
- wiki.merionet.ru «Proxmox: установка и использование».
- dmosk.ru «Установка и настройка Proxmox VE».
- linux.org.ru «Лицензионный вопрос Proxmox».
- habr.com «Магия виртуализации: вводный курс в Proxmox VE».
- dummylabs.com «Proxmox: настраиваем отправку важных сообщений по email».
- evoluso.com «Proxmox remove lvm local data».
- pve.proxmox.com «Web Interface Via Nginx Proxy».
- habr.com «Про бэкапы в Proxmox VE».
- unlix.ru «Добавление физического диска в виртуальную машину Proxmox».
- unlix.ru «Проброс USB устройств в Proxmox».
- johnkeen.tech «Proxmox Physical Disk to VM – Only 2 Commands!».
- docs.fedoraproject.org «Creating Windows virtual machines using virtIO drivers».
- itfb.com.ua «Как остановить машины KVM на Proxmox VE».
- virtbox.blogspot.com «Proxmox VE: qm basics».
- forum.proxmox.com «Start and stop KVM VM from command line».
- pve.proxmox.com «Windows VirtIO Drivers».
Заметки:
1. Где хранятся образы виртуальных дисков виртуальных машин?
Стандартное расположение, если не указано другое:
2. Где хранятся логи Proxmox VE?
Логи хранятся по пути:
Файл с логированием syslog может быть пронумерован в виде syslog.№ .