Proxmox ибп: IPPON 2000 на Proxmox | сЭВО:эволюция работ
IPPON 2000 на Proxmox | сЭВО:эволюция работ
Установим и настроим источник бесперебойного питания IPPON SMART POWER PRO 2000 подключенный к система Proxmox в системе Debian через USB порт. Защитим нашу рабочую станцию от основных неполадок с электропитанием в России.
Установка графического интерфейса Proxmox
Для настройки программы нам понадобится графический интерфейс системы X11.
Можно установить XFCE4 с браузером Iceweasel выполнив команду:
apt-get install xfce4 iceweasel lightdm
Можно установить LXDE рабочий стол, выполнив команду:
apt-get install lxde iceweasel
Используйте один из представленных вариантов на свой выбор.
Проверка работы Network-manager
Необходимо убедитесь, что сетевой менеджер network-manager не используется, иначе Proxmox может не запуститься.
Проверим работу выполнив команду:
apt-get purge network-manager =вывод команды= Чтение списков пакетов… Готово Построение дерева зависимостей Чтение информации о состоянии… Готово Пакет «network-manager» не установлен, поэтому не может быть удалён обновлено 0, установлено 0 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
Отлично. Network-manager не используется.
Скачивание программного обеспечения WinPower для IPPON
С сайта производителя скачиваем необходимую нам версию программы WinPower 2018 (версия 5.5.0.0) для Linux AMD 64bit.
Установим Wget без вопросов для загрузки файлов в консоли Linux.
yum -y install wget
Переходим в директорию root и скачиваем туда нужную версию программы используя Wget введя команды:
cd /root wget http://static.ippon.ru/data/download/winpower2018/winpower_setup_linuxamd64.tar.gz
Распакуем архив в папку с одноименным названием выполнив команду:
tar xvfz winpower_setup_linuxamd64.tar.gz =вывод команды= winpower_setup_linuxamd64/ и тд. и тп.
Инструкция по установке WinPower
Инструкцию можно прочитать в файле install_linuxAMD64.txt выполнив команду:
cat /root/Winpower_setup_LinuxAMD64/install_linuxAMD64.txt =вывод команды= ====================== System Requirements ====================== 128 MB (recommended minimum) 256 MB (recommended) 160 MB hard disk space (depending on features installed) Red Hat Linux 6.2 or later Intel Pentium II 233 MHz or compatible ================== Install Winpower ================== 1. Enter /LinuxAMD64 directory. If system is running in GUI mode, double click setup.bin to start the installation. If system is running in Text mode, execute ./setup_console.bin to start the installation. 2. Read the information provided, then press ENTER to continue . 3. When the installation program is completed,reboot the system to set enviroment variables for Winpower(which is set in /etc/profile). Note: The installation should be made as "root"! ================ Run Winpower ================ 1. Start Agent Winpower Agent will auto start when Linux system start. You can also start agent manually by open the terminal and execute command: cd /opt/MonitorSoftware/ ./agent start 2. Start Monitor execute command: cd /opt/MonitorSoftware/ ./monitor 3. Get Full Access In "System" menu, click "Act as Administrator" menu item to start the "Administrator" dialog, enter correct password to get full access. The default password is set to "Administrator".It can be changed in "Modify Administrator Password" dialog. 4. Communicate with UPS In "System" menu, click "Auto Search UPS" menu item to auto search the UPS connected with Computer. ============== Stop Winpower ============== 1. Close Manager. 2. Open the Terminal, enter install directory: and execute command: ./agent stop ==================== Uninstall Winpower ==================== 1. Open the Terminal, enter install directory: and execute command: ./Uninstall
В инструкции указаны все необходимые команды и сказано что всё выполнять необходимо из под пользователя root.
Установка программы WinPower
Перейдем в необходимую директорию и запустим скрипт установки выполнив команды:
cd /root/Winpower_setup_LinuxAMD64/LinuxAMD64 ./setup_console.bin =вывод команды с необходимыми параметрами= !указываем SN и жмем везде Enter! Preparing CONSOLE Mode Installation... ==================================================================== Winpower 5.5.0.0 (created with InstallAnywhere by Zero G) -------------------------------------------------------------------- ==================================================================== Introduction ------------ InstallAnywhere will guide you through the installation of Winpower 5.5.0.0. It is strongly recommended that you quit all programs before continuing with this installation. Respond to each prompt to proceed to the next step in the installation. If you want to change something on a previous step, type 'back'. You may cancel this installation at any time by typing 'quit'. PRESS <ENTER> TO CONTINUE: ==================================================================== Enter Serial Number ------------------- This installation requires a serial number to continue. Please Enter the Serial Number:: 511C1-01220-0100-478DF2A ==================================================================== Choose Install Folder --------------------- Where would you like to install? Default Install Folder: /opt/MonitorSoftware ENTER AN ABSOLUTE PATH, OR PRESS <ENTER> TO ACCEPT THE DEFAULT : ==================================================================== Pre-Installation Summary ------------------------ Please Review the Following Before Continuing: Product Name: Winpower 5.5.0.0 Install Folder: /opt/MonitorSoftware Disk Space Information (for Installation Target): Required: 200 889 229 bytes Available: 3 535 523 840 bytes PRESS <ENTER> TO CONTINUE: ==================================================================== Installing... ------------- [==================|==================|==================] [------------------|------------------|------------------|---------] ==================================================================== Installation Complete --------------------- Congratulations. Winpower 5.5.0.0 has been successfully installed to: /opt/MonitorSoftware Please restart your system before running the Winpower 5.5.0.0! PRESS <ENTER> TO EXIT THE INSTALLER:
В конце установщик сообщил что для настройки необходима графическая оболочка системы X11 которую мы установили ранее.
Запуск агента программы WinPower
Перейдём в необходимую папку и запустим агента программы WinPower выполнив команду:
cd /opt/MonitorSoftware/ ./agent start =вывод команды= Starting Agent: Done
Автозагрузка агента при старте системы Proxmox
Создадим файл agent.sh с необходимыми параметрами.
Создадим файл в нужной папке и укажем нужные параметры:
cd /opt/MonitorSoftware/ mcedit agent.sh =необходимые параметры= #!/bin/bash cd /opt/MonitorSoftware ./agent start
Сделаем файл исполнительным выполнив команду:
chmod +x /opt/MonitorSoftware/agent.sh
Добавим необходимый параметр в файл отвечающий за автозагрузку необходимых скриптов выполнив команду:
mcedit /etc/rc.local =вывод команды и необходимые параметры= #!/bin/sh -e # # rc.local # # This script is executed at the end of each multiuser runlevel. # Make sure that the script will "exit 0" on success or any other # value on error. # # In order to enable or disable this script just change the execution # bits. # # By default this script does nothing. #Автозапуск агента ИПБ /opt/MonitorSoftware/agent.sh exit 0
Перезагрузите систему для уверенности в правильной настройки автозагрузки агента программы WinPower.
Запуск программы WinPower
Заходим обычным способом в систему Proxmox и вводим в консоли команды:
cd /opt/MonitorSoftware/ ./monitor =вывод команды= Starting Manager: Done
Мы увидим приветственное окно программы WinPower использущее Java.
Настройка программы WinPower
Выполним необходимый минимум настроек программы:
- Изменим пароль администратора (по умолчанию Administrator),
- Настроим smtp сервис отправки сообщений на почту,
- Настроим отключение Proxmox при остатке заряда батареи меньше 40 %.
Вывод
В результате выполненных действий нам не страшны перебои с питанием и обо всех действиях мы будем получать уведомление на e-mail.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
USB проброс в Proxmox | сЭВО:эволюция работ
Рассмотрим вариант подключения в виртуальную машину USB устройства. Вариаций этих устройств множество и все их можно без проблем подключить к требуемой виртуальной машине. В системе виртуализации Proxmox делается это быстро и просто.
Для 5 версии Proxmox
С выходом новой версии проброс USB устройств сильно упростился. Нам достаточно выбрать виртуальную машину, добавить устройство указав вариант его проброса по порту или id.
Для 4 версии Proxmox
С инструкцией по подключению USB устройств вы можете ознакомится на официальном сайте Proxmox.
Определение устройства
Подключим в систему Proxmox необходимое устройство и в консоли выведем информацию о подключенияx.
lsusb = вывод команды = Bus 001 Device 005: ID 0781:5572 SanDisk Corp. Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 002 Device 003: ID 0665:5161 Cypress Semiconductor USB to Serial Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Видим подключенную флэшку.
Выведем информации о том на каких портах висят устройства.
lsusb -t = вывод команды = /: Bus 05.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M /: Bus 04.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M /: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M /: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M |__ Port 1: Dev 3, If 0, Class=Human Interface Device, Driver=usbfs, 1.5M /: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/8p, 480M |__ Port 3: Dev 5, If 0, Class=Mass Storage, Driver=usb-storage, 480M
Видим нашу флэшку которая села на Bus 01— Dev 5 на Port 3.
Варианты проброса устройств
Существуют два вариант передачи USB-устройства в виртуальную (гостевую) систему:
- передать определенное устройство — при перемещении usb-устройства в другой порт не надо ничего перенастраивать. Вариант хорош, когда надо пробросить одно устройство и второго подобного не будет,
- передать порт — вариант передает порт на котором работает устройство.
Оба варианта имеют свои нюансы и решать каким пользоваться только вам. Мне больше нравится вариант с пробросим порта, так как он не вызывает непонятных проблем после перезагрузки.
Проброс осуществляются по номеру виртуальной машины. Папка с файлами для редактирования находится по адресу /etc/pve/qemu-server/ в ней вы увидите все ваши виртуальные машины.
Проброс USB устройства
Откроем необходимый файл и добавим нужные параметры.
mcedit /etc/pve/qemu-server/104.conf = вывод команды с необходимыми добавлениями = balloon: 500 bootdisk: sata0 cores: 2 ide2: local:iso/CentOS-7-x86_64-DVD-1511.iso,media=cdrom memory: 1500 name: lamp.sevo44.ad-centos7 net0: e1000=7A:5A:34:67:6C:52,bridge=vmbr0 numa: 0 onboot: 1 ostype: l26 sata0: images:104/vm-104-disk-1.qcow2,size=400G scsihw: virtio-scsi-pci smbios1: uuid=4374a7e1-1fc7-4eaf-9567-aa5f9cb19b33 sockets: 2 # Проброс устройства USB # где 0781:5572 - это device ID usb0: host=0781:5572
Проброс USB порта
Для проброса по порту надо указать другую строчку в необходимом файле.
mcedit /etc/pve/qemu-server/104.conf = вывод команды с необходимыми добавлениями = balloon: 500 bootdisk: sata0 cores: 2 ide2: local:iso/CentOS-7-x86_64-DVD-1511.iso,media=cdrom memory: 1500 name: lamp.sevo44.ad-centos7 net0: e1000=7A:5A:34:67:6C:52,bridge=vmbr0 numa: 0 onboot: 1 ostype: l26 sata0: images:104/vm-104-disk-1.qcow2,size=400G scsihw: virtio-scsi-pci smbios1: uuid=4374a7e1-1fc7-4eaf-9567-aa5f9cb19b33 sockets: 2 # Проброс USB порта # где 1-3 это шина Bus 01 и номер порта Port 3 usb0: 1-3
После перезагрузки устройства будут проброшены.
Результат
В новой 5-ой версии все упрощается но знать механизм как это работает изнутри всегда хорошо. Можно определять подключенные USB устройства командой «qm monitor НОМЕР_ВИРТУАЛЬНОЙ_МАШИНЫ» и после подключения вводить команду «info usbhost» или «info usb». Мне этот вариант показался не совсем логичным, так как требует указывать номер виртуальной машины, но при разных вариантах ввода номера машины показывает одинаковую информацию. Делая по рассмотренному способу, у меня всё работает. Главное не способы а результат!
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
установка, настройка сети, ZFS, решение распространенных проблем / Хабр
За последние несколько лет я очень тесно работаю с кластерами Proxmox: многим клиентам требуется своя собственная инфраструктура, где они могут развивать свой проект. Именно поэтому я могу рассказать про самые распространенные ошибки и проблемы, с которыми также можете столкнуться и вы. Помимо этого мы конечно же настроим кластер из трех нод с нуля.
Proxmox кластер может состоять из двух и более серверов. Максимальное количество нод в кластере равняется 32 штукам. Наш собственный кластер будет состоять из трех нод на мультикасте (в статье я также опишу, как поднять кластер на уникасте — это важно, если вы базируете свою кластерную инфраструктуру на Hetzner или OVH, например). Коротко говоря, мультикаст позволяет осуществлять передачу данных одновременно на несколько нод. При мультикасте мы можем не задумываться о количестве нод в кластере (ориентируясь на ограничения выше).
Сам кластер строится на внутренней сети (важно, чтобы IP адреса были в одной подсети), у тех же Hetzner и OVH есть возможность объединять в кластер ноды в разных датацентрах с помощью технологии Virtual Switch (Hetzner) и vRack (OVH) — о Virtual Switch мы также поговорим в статье. Если ваш хостинг-провайдер не имеет похожие технологии в работе, то вы можете использовать OVS (Open Virtual Switch), которая нативно поддерживается Proxmox, или использовать VPN. Однако, я рекомендую в данном случае использовать именно юникаст с небольшим количеством нод — часто возникают ситуации, где кластер просто “разваливается” на основе такой сетевой инфраструктуры и его приходится восстанавливать. Поэтому я стараюсь использовать именно OVH и Hetzner в работе — подобных инцидентов наблюдал в меньшем количестве, но в первую очередь изучайте хостинг-провайдера, у которого будете размещаться: есть ли у него альтернативная технология, какие решения он предлагает, поддерживает ли мультикаст и так далее.
Установка Proxmox
Proxmox может быть установлен двумя способами: ISO-инсталлятор и установка через shell. Мы выбираем второй способ, поэтому установите Debian на сервер.
Перейдем непосредственно к установке Proxmox на каждый сервер. Установка предельно простая и описана в официальной документации здесь.
Добавим репозиторий Proxmox и ключ этого репозитория:
echo "deb http://download.proxmox.com/debian/pve stretch pve-no-subscription" > /etc/apt/sources.list.d/pve-install-repo.list
wget http://download.proxmox.com/debian/proxmox-ve-release-5.x.gpg -O /etc/apt/trusted.gpg.d/proxmox-ve-release-5.x.gpg
chmod +r /etc/apt/trusted.gpg.d/proxmox-ve-release-5.x.gpg # optional, if you have a changed default umask
Обновляем репозитории и саму систему:
apt update && apt dist-upgrade
После успешного обновления установим необходимые пакеты Proxmox:
apt install proxmox-ve postfix open-iscsi
Заметка: во время установки будет настраиваться Postfix и grub — одна из них может завершиться с ошибкой. Возможно, это будет вызвано тем, что хостнейм не резолвится по имени. Отредактируйте hosts записи и выполните apt-get update
С этого момента мы можем авторизоваться в веб-интерфейс Proxmox по адресу https://<внешний-ip-адрес>:8006 (столкнетесь с недоверенным сертификатом во время подключения).
Изображение 1. Веб-интерфейс ноды Proxmox
Установка Nginx и Let’s Encrypt сертификата
Мне не очень нравится ситуация с сертификатом и IP адресом, поэтому я предлагаю установить Nginx и настроить Let’s Encrypt сертификат. Установку Nginx описывать не буду, оставлю лишь важные файлы для работы Let’s encrypt сертификата:/etc/nginx/snippets/letsencrypt.conf
location ^~ /.well-known/acme-challenge/ {
allow all;
root /var/lib/letsencrypt/;
default_type "text/plain";
try_files $uri =404;
}
Команда для выпуска SSL сертификата:
certbot certonly --agree-tos --email [email protected] --webroot -w /var/lib/letsencrypt/ -d proxmox1.domain.name
Конфигурация сайта в NGINX
upstream proxmox1.domain.name {
server 127.0.0.1:8006;
}
server {
listen 80;
server_name proxmox1.domain.name;
include snippets/letsencrypt.conf;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name proxmox1.domain.name;
access_log /var/log/nginx/proxmox1.domain.name.access.log;
error_log /var/log/nginx/proxmox1.domain.name.error.log;
include snippets/letsencrypt.conf;
ssl_certificate /etc/letsencrypt/live/proxmox1.domain.name/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/proxmox1.domain.name/privkey.pem;
location / {
proxy_pass https://proxmox1.domain.name;
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
proxy_redirect off;
proxy_buffering off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
Не забываем после установки SSL сертификата поставить его на автообновление через cron:
0 */12 * * * /usr/bin/certbot -a \! -d /run/systemd/system && perl -e 'sleep int(rand(3600))' && certbot -q renew --renew-hook "systemctl reload nginx"
Отлично! Теперь мы можем обращаться к нашему домену по HTTPS.
Заметка: чтобы отключить информационное окно о подписке, выполните данную команду:
sed -i.bak "s/data.status !== 'Active'/false/g" /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js && systemctl restart pveproxy.service
Сетевые настройки
Перед подключением в кластер настроим сетевые интерфейсы на гипервизоре. Стоит отметить, что настройка остальных нод ничем не отличается, кроме IP адресов и названия серверов, поэтому дублировать их настройку я не буду.
Создадим сетевой мост для внутренней сети, чтобы наши виртуальные машины (в моем варианте будет LXC контейнер для удобства) во-первых, были подключены к внутренней сети гипервизора и могли взаимодействовать друг с другом. Во-вторых, чуть позже мы добавим мост для внешней сети, чтобы виртуальные машины имели свой внешний IP адрес. Соответственно, контейнеры будут на данный момент за NAT’ом у нас.
Работать с сетевой конфигурацией Proxmox можно двумя способами: через веб-интерфейс или через конфигурационный файл /etc/network/interfaces. В первом варианте вам потребуется перезагрузка сервера (или можно просто переименовать файл interfaces.new в interfaces и сделать перезапуск networking сервиса через systemd). Если вы только начинаете настройку и еще нет виртуальных машин или LXC контейнеров, то желательно перезапускать гипервизор после изменений.
Теперь создадим сетевой мост под названием vmbr1 во вкладке network в веб-панели Proxmox.
Изображение 2. Сетевые интерфейсы ноды proxmox1
Изображение 3. Создание сетевого моста
Изображение 4. Настройка сетевой конфигурации vmbr1
Настройка предельно простая — vmbr1 нам нужен для того, чтобы инстансы получали доступ в Интернет.
Теперь перезапускаем наш гипервизор и проверяем, создался ли интерфейс:
Изображение 5. Сетевой интерфейс vmbr1 в выводе команды ip a
Заметьте: у меня уже есть интерфейс ens19 — это интерфейс с внутренней сетью, на основе ее будет создан кластер.
Повторите данные этапы на остальных двух гипервизорах, после чего приступите к следующему шагу — подготовке кластера.
Также важный этап сейчас заключается во включении форвардинга пакетов — без нее инстансы не будут получать доступ к внешней сети. Открываем файл sysctl.conf и изменяем значение параметра net.ipv4.ip_forward на 1, после чего вводим следующую команду:
sysctl -p
В выводе вы должны увидеть директиву net.ipv4.ip_forward (если не меняли ее до этого)
Настройка Proxmox кластера
Теперь перейдем непосредственно к кластеру. Каждая нода должна резолвить себя и другие ноды по внутренней сети, для этого требуется изменить значения в hosts записях следующих образом (на каждой ноде должна быть запись о других):
172.30.0.15 proxmox1.livelinux.info proxmox1
172.30.0.16 proxmox2.livelinux.info proxmox2
172.30.0.17 proxmox3.livelinux.info proxmox3
Также требуется добавить публичные ключи каждой ноды к остальным — это требуется для создания кластера.
Создадим кластер через веб-панель:
Изображение 6. Создание кластера через веб-интерфейс
После создания кластера нам необходимо получить информацию о нем. Переходим в ту же вкладку кластера и нажимаем кнопку “Join Information”:
Изображение 7. Информация о созданном кластере
Данная информация пригодится нам во время присоединения второй и третьей ноды в кластер. Подключаемся к второй ноде и во вкладке Cluster нажимаем кнопку “Join Cluster”:
Изображение 8. Подключение к кластеру ноды
Разберем подробнее параметры для подключения:
- Peer Address: IP адрес первого сервера (к тому, к которому мы подключаемся)
- Password: пароль первого сервера
- Fingerprint: данное значение мы получаем из информации о кластере
Изображение 9. Состояние кластера после подключения второй ноды
Вторая нода успешно подключена! Однако, такое бывает не всегда. Если вы неправильно выполните шаги или возникнут сетевые проблемы, то присоединение в кластер будет провалено, а сам кластер будет “развален”. Лучшее решение — это отсоединить ноду от кластера, удалить на ней всю информацию о самом кластере, после чего сделать перезапуск сервера и проверить предыдущие шаги. Как же безопасно отключить ноду из кластера? Для начала удалим ее из кластера на первом сервере:
pvecm del proxmox2
После чего нода будет отсоединена от кластера. Теперь переходим на сломанную ноду и отключаем на ней следующие сервисы:
systemctl stop pvestatd.service
systemctl stop pvedaemon.service
systemctl stop pve-cluster.service
systemctl stop corosync
systemctl stop pve-cluster
Proxmox кластер хранит информацию о себе в sqlite базе, ее также необходимо очистить:
sqlite3 /var/lib/pve-cluster/config.db
delete from tree where name = 'corosync.conf';
.quit
Данные о коросинке успешно удалены. Удалим оставшиеся файлы, для этого необходимо запустить кластерную файловую систему в standalone режиме:
pmxcfs -l
rm /etc/pve/corosync.conf
rm /etc/corosync/*
rm /var/lib/corosync/*
rm -rf /etc/pve/nodes/*
Перезапускаем сервер (это необязательно, но перестрахуемся: все сервисы по итогу должны быть запущены и работать корректно. Чтобы ничего не упустить делаем перезапуск). После включения мы получим пустую ноду без какой-либо информации о предыдущем кластере и можем начать подключение вновь.
Установка и настройка ZFS
ZFS — это файловая система, которая может использоваться совместно с Proxmox. С помощью нее можно позволить себе репликацию данных на другой гипервизор, миграцию виртуальной машины/LXC контейнера, доступ к LXC контейнеру с хост-системы и так далее. Установка ее достаточно простая, приступим к разбору. На моих серверах доступно три SSD диска, которые мы объединим в RAID массив.
Добавляем репозитории:
nano /etc/apt/sources.list.d/stretch-backports.list
deb http://deb.debian.org/debian stretch-backports main contrib
deb-src http://deb.debian.org/debian stretch-backports main contrib
nano /etc/apt/preferences.d/90_zfs
Package: libnvpair1linux libuutil1linux libzfs2linux libzpool2linux spl-dkms zfs-dkms zfs-test zfsutils-linux zfsutils-linux-dev zfs-zed
Pin: release n=stretch-backports
Pin-Priority: 990
Обновляем список пакетов:
apt update
Устанавливаем требуемые зависимости:
apt install --yes dpkg-dev linux-headers-$(uname -r) linux-image-amd64
Устанавливаем сам ZFS:
apt-get install zfs-dkms zfsutils-linux
Если вы в будущем получите ошибку fusermount: fuse device not found, try ‘modprobe fuse’ first, то выполните следующую команду:
modprobe fuse
Теперь приступим непосредственно к настройке. Для начала нам требуется отформатировать SSD и настроить их через parted:Настройка /dev/sda
parted /dev/sda
(parted) print
Model: ATA SAMSUNG MZ7LM480 (scsi)
Disk /dev/sda: 480GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1049kB 4296MB 4295MB primary raid
2 4296MB 4833MB 537MB primary raid
3 4833MB 37,0GB 32,2GB primary raid
(parted) mkpart
Partition type? primary/extended? primary
File system type? [ext2]? zfs
Start? 33GB
End? 480GB
Warning: You requested a partition from 33,0GB to 480GB (sectors 64453125..937500000).
The closest location we can manage is 37,0GB to 480GB (sectors 72353792..937703087).
Is this still acceptable to you?
Yes/No? yes
Аналогичные действия необходимо произвести и для других дисков. После того, как все диски подготовлены, приступаем к следующему шагу:
zpool create -f -o ashift=12 rpool /dev/sda4 /dev/sdb4 /dev/sdc4
Мы выбираем ashift=12 из соображений производительности — это рекомендация самого zfsonlinux, подробнее про это можно почитать в их вики: github.com/zfsonlinux/zfs/wiki/faq#performance-considerations
Применим некоторые настройки для ZFS:
zfs set atime=off rpool
zfs set compression=lz4 rpool
zfs set dedup=off rpool
zfs set snapdir=visible rpool
zfs set primarycache=all rpool
zfs set aclinherit=passthrough rpool
zfs inherit acltype rpool
zfs get -r acltype rpool
zfs get all rpool | grep compressratio
Теперь нам надо рассчитать некоторые переменные для вычисления zfs_arc_max, я это делаю следующим образом:
mem =`free --giga | grep Mem | awk '{print $2}'`
partofmem=$(($mem/10))
echo $setzfscache > /sys/module/zfs/parameters/zfs_arc_max
grep c_max /proc/spl/kstat/zfs/arcstats
zfs create rpool/data
cat > /etc/modprobe.d/zfs.conf << EOL
options zfs zfs_arc_max=$setzfscache
EOL
echo $setzfscache > /sys/module/zfs/parameters/zfs_arc_max
grep c_max /proc/spl/kstat/zfs/arcstats
В данный момент пул успешно создан, также мы создали сабпул data. Проверить состояние вашего пула можно командой zpool status. Данное действие необходимо провести на всех гипервизорах, после чего приступить к следующему шагу.
Теперь добавим ZFS в Proxmox. Переходим в настройки датацентра (именно его, а не отдельной ноды) в раздел «Storage», кликаем на кнопку «Add» и выбираем опцию «ZFS», после чего мы увидим следующие параметры:
ID: Название стораджа. Я дал ему название local-zfs
ZFS Pool: Мы создали rpool/data, его и добавляем сюда.
Nodes: указываем все доступные ноды
Данная команда создает новый пул с выбранными нами дисками. На каждом гипервизоре должен появится новый storage под названием local-zfs, после чего вы сможете смигрировать свои виртуальные машины с локального storage на ZFS.
Репликация инстансов на соседний гипервизор
В кластере Proxmox есть возможность репликации данных с одного гипервизора на другой: данный вариант позволяет осуществлять переключение инстанса с одного сервера на другой. Данные будут актуальны на момент последней синхронизации — ее время можно выставить при создании репликации (стандартно ставится 15 минут). Существует два способа миграции инстанса на другую ноду Proxmox: ручной и автоматический. Давайте рассмотрим в первую очередь ручной вариант, а в конце я предоставлю вам Python скрипт, который позволит создавать виртуальную машину на доступном гипервизоре при недоступности одного из гипервизоров.
Для создания репликации необходимо перейти в веб-панель Proxmox и создать виртуальную машину или LXC контейнер. В предыдущих пунктах мы с вами настроили vmbr1 мост с NAT, что позволит нам выходить во внешнюю сеть. Я создам LXC контейнер с MySQL, Nginx и PHP-FPM с тестовым сайтом, чтобы проверить работу репликации. Ниже будет пошаговая инструкция.
Загружаем подходящий темплейт (переходим в storage —> Content —> Templates), пример на скриншоте:
Изображение 10. Local storage с шаблонами и образами ВМ
Нажимаем кнопку “Templates” и загружаем необходимый нам шаблон LXC контейнера:
Изображение 11. Выбор и загрузка шаблона
Теперь мы можем использовать его при создании новых LXC контейнеров. Выбираем первый гипервизор и нажимаем кнопку “Create CT” в правом верхнем углу: мы увидим панель создания нового инстанса. Этапы установки достаточно просты и я приведу лишь конфигурационный файл данного LXC контейнера:
arch: amd64
cores: 3
memory: 2048
nameserver: 8.8.8.8
net0: name=eth0,bridge=vmbr1,firewall=1,gw=172.16.0.1,hwaddr=D6:60:C5:39:98:A0,ip=172.16.0.2/24,type=veth
ostype: centos
rootfs: local:100/vm-100-disk-1.raw,size=10G
swap: 512
unprivileged:
Контейнер успешно создан. К LXC контейнерам можно подключаться через команду pct enter , я также перед установкой добавил SSH ключ гипервизора, чтобы подключаться напрямую через SSH (в PCT есть небольшие проблемы с отображением терминала). Я подготовил сервер и установил туда все необходимые серверные приложения, теперь можно перейти к созданию репликации.
Кликаем на LXC контейнер и переходим во вкладку “Replication”, где создаем параметр репликации с помощью кнопки “Add”:
Изображение 12. Создание репликации в интерфейсе Proxmox
Изображение 13. Окно создания Replication job
Я создал задачу реплицировать контейнер на вторую ноду, как видно на следующем скриншоте репликация прошла успешно — обращайте внимание на поле “Status”, она оповещает о статусе репликации, также стоит обращать внимание на поле “Duration”, чтобы знать, сколько длится репликация данных.
Изображение 14. Список синхронизаций ВМ
Теперь попробуем смигрировать машину на вторую ноду с помощью кнопки “Migrate”
Начнется миграция контейнера, лог можно просмотреть в списке задач — там будет наша миграция. После этого контейнер будет перемещен на вторую ноду.
Ошибка “Host Key Verification Failed”
Иногда при настройке кластера может возникать подобная проблема — она мешает мигрировать машины и создавать репликацию, что нивелирует преимущества кластерных решений. Для исправления этой ошибки удалите файл known_hosts и подключитесь по SSH к конфликтной ноде:
/usr/bin/ssh -o 'HostKeyAlias=proxmox2' [email protected]
Примите Hostkey и попробуйте ввести эту команду, она должна подключить вас к серверу:
/usr/bin/ssh -o 'BatchMode=yes' -o 'HostKeyAlias=proxmox2' [email protected]
Особенности сетевых настроек на Hetzner
Переходим в панель Robot и нажимаем на кнопку “Virtual Switches”. На следующей странице вы увидите панель создания и управления интерфейсов Virtual Switch: для начала его необходимо создать, а после “подключить” выделенные сервера к нему. В поиске добавляем необходимые сервера для подключения — их не не нужно перезагружать, только придется подождать до 10-15 минут, когда подключение к Virtual Switch будет активно.
После добавления серверов в Virtual Switch через веб-панель подключаемся к серверам и открываем конфигурационные файлы сетевых интерфейсов, где создаем новый сетевой интерфейс:
auto enp4s0.4000
iface enp4s0.4000 inet static
address 10.1.0.11/24
mtu 1400
vlan-raw-device enp4s0
Давайте разберем подробнее, что это такое. По своей сути — это VLAN, который подключается к единственному физическому интерфейсу под названием enp4s0 (он у вас может отличаться), с указанием номера VLAN — это номер Virtual Switch’a, который вы создавали в веб-панели Hetzner Robot. Адрес можете указать любой, главное, чтобы он был локальный.
Отмечу, что конфигурировать enp4s0 следует как обычно, по сути он должен содержать внешний IP адрес, который был выдан вашему физическому серверу. Повторите данные шаги на других гипервизорах, после чего перезагрузите на них networking сервис, сделайте пинг до соседней ноды по IP адресу Virtual Switch. Если пинг прошел успешно, то вы успешно установили соединение между серверами по Virtual Switch.
Я также приложу конфигурационный файл sysctl.conf, он понадобится, если у вас будут проблемы с форвардингом пакетом и прочими сетевыми параметрами:
net.ipv6.conf.all.disable_ipv6=0
net.ipv6.conf.default.disable_ipv6 = 0
net.ipv6.conf.all.forwarding=1
net.ipv4.conf.all.rp_filter=1
net.ipv4.tcp_syncookies=1
net.ipv4.ip_forward=1
net.ipv4.conf.all.send_redirects=0
Добавление IPv4 подсети в Hetzner
Перед началом работ вам необходимо заказать подсеть в Hetzner, сделать это можно через панель Robot.
Создадим сетевой мост с адресом, который будет из этой подсети. Пример конфигурации:
auto vmbr2
iface vmbr2 inet static
address ip-address
netmask 29
bridge-ports none
bridge-stp off
bridge-fd 0
Теперь переходим в настройки виртуальной машины в Proxmox и создаем новый сетевой интерфейс, который будет прикреплен к мосту vmbr2. Я использую LXC контейнер, его конфигурацию можно изменять сразу же в Proxmox. Итоговая конфигурация для Debian:
auto eth0
iface eth0 inet static
address ip-address
netmask 26
gateway bridge-address
Обратите внимание: я указал 26 маску, а не 29 — это требуется для того, чтобы сеть на виртуальной машине работала.
Добавление IPv4 адреса в Hetzner
Ситуация с одиночным IP адресом отличается — обычно Hetzner дает нам дополнительный адрес из подсети сервера. Это означает, что вместо vmbr2 нам требуется использоваться vmbr0, но на данный момент его у нас нет. Суть в том, что vmbr0 должен содержать IP адрес железного сервера (то есть использовать тот адрес, который использовал физический сетевой интерфейс enp2s0). Адрес необходимо переместить на vmbr0, для этого подойдет следующая конфигурация (советую заказать KVM, чтобы в случае чего возобновить работу сети):
auto enp2s0
iface enp2s0 inet manual
auto vmbr0
iface vmbr0 inet static
address ip-address
netmask 255.255.255.192
gateway ip-gateway
bridge-ports enp2s0
bridge-stp off
bridge-fd 0
Перезапустите сервер, если это возможно (если нет, перезапустите сервис networking), после чего проверьте сетевые интерфейсы через ip a:
2: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master vmbr0 state UP group default qlen 1000
link/ether 44:8a:5b:2c:30:c2 brd ff:ff:ff:ff:ff:ff
Как здесь видно, enp2s0 подключен к vmbr0 и не имеет IP адрес, так как он был переназначен на vmbr0.
Теперь в настройках виртуальной машины добавляем сетевой интерфейс, который будет подключен к vmbr0. В качестве gateway укажите адрес, прикрепленный к vmbr0.
В завершении
Надеюсь, что данная статья пригодится вам, когда вы будете настраивать Proxmox кластер в Hetzner. Если позволит время, то я расширю статью и добавлю инструкцию для OVH — там тоже не все очевидно, как кажется на первый взгляд. Материал получился достаточно объемным, если найдете ошибки, то, пожалуйста, напишите в комментарии, я их исправлю. Всем спасибо за уделенное внимание.
Автор: Илья Андреев, под редакцией Алексея Жадан и команды «Лайв Линукс»
вводный курс в Proxmox VE / Блог компании Selectel / Хабр
Сегодня речь пойдет о том, как быстро и достаточно просто на одном физическом сервере развернуть несколько виртуальных серверов с разными операционными системами. Любому системному администратору это позволит централизованно управлять всей IT-инфраструктурой компании и экономить огромное количество ресурсов. Использование виртуализации помогает максимально абстрагироваться от физического серверного оборудования, защитить критичные сервисы и легко восстановить их работу даже в случае очень серьезных сбоев.
Без всякого сомнения, большинству системных администраторов знакомы приемы работы с виртуальной средой и для них эта статья не станет каким-либо открытием. Несмотря на это, есть компании, которые не используют гибкость и скорость работы виртуальных решений из-за недостатка точной информации о них. Мы надеемся, что наша статья поможет на примере понять, что гораздо проще один раз начать использовать виртуализацию, чем испытывать неудобства и недостатки физической инфраструктуры.
К счастью, попробовать как работает виртуализация достаточно просто. Мы покажем, как создать сервер в виртуальной среде, например, для переноса CRM-системы, используемой в компании. Практически любой физический сервер можно превратить в виртуальный, но вначале необходимо освоить базовые приемы работы. Об этом и пойдет речь ниже.
Как это устроено
Когда речь идет о виртуализации, многим начинающим специалистам сложно разобраться в терминологии, поэтому поясним несколько базовых понятий:
- Гипервизор – специальное программное обеспечение, которое позволяет создавать виртуальные машины и управлять ими;
- Виртуальная машина (далее VM) – это система, представляющая собой логический сервер внутри физического со своим набором характеристик, накопителями и операционной системой;
- Хост виртуализации — физический сервер с запущенным на нем гипервизором.
Для того чтобы сервер мог работать полноценным хостом виртуализации, его процессор должен поддерживать одну из двух технологий – либо Intel® VT, либо AMD-V™. Обе технологии выполняют важнейшую задачу — предоставление аппаратных ресурсов сервера виртуальным машинам.
Ключевой особенностью является то, что любые действия виртуальных машин исполняются напрямую на уровне оборудования. При этом они друг от друга изолированы, что достаточно легко позволяет управлять ими по отдельности. Сам же гипервизор играет роль контролирующего органа, распределяя ресурсы, роли и приоритеты между ними. Также гипервизор занимается эмуляцией той части аппаратного обеспечения, которая необходима для корректной работы операционной системы.
Внедрение виртуализации дает возможность иметь в наличии несколько запущенных копий одного сервера. Критический сбой или ошибка, в процессе внесения изменений в такую копию, никак не повлияет на работу текущего сервиса или приложения. При этом также снимаются две основные проблемы – масштабирование и возможность держать «зоопарк» разных операционных систем на одном оборудовании. Это идеальная возможность совмещения самых разных сервисов без необходимости приобретения отдельного оборудования для каждого из них.
Виртуализация повышает отказоустойчивость сервисов и развернутых приложений. Даже если физический сервер вышел из строя и его необходимо заменить на другой, то вся виртуальная инфраструктура останется полностью работоспособной, при условии сохранности дисковых носителей. При этом физический сервер может быть вообще другого производителя. Это особенно актуально для компаний, которые используют серверы, производство которых прекращено и потребуется осуществить переход на другие модели.
Теперь перечислим самые популярные гипервизоры, существующие на текущий день:
- VMware ESXi
- Microsoft Hyper-V
- Open Virtualization Alliance KVM
- Oracle VM VirtualBox
Они все достаточно универсальны, однако, у каждого из них имеются определенные особенности, которые следует всегда учитывать на этапе выбора: стоимость развёртывания/обслуживания и технические характеристики. Стоимость коммерческих лицензий VMware и Hyper-V весьма высока, а в случае возникновения сбоев, решить проблему с этими системами собственными силами очень непросто.
KVM же напротив, полностью бесплатен и достаточно прост в работе, особенно в составе готового решения на базе Debian Linux под названием Proxmox Virtual Environment. Именно эту систему мы можем порекомендовать для первоначального знакомства с миром виртуальной инфраструктуры.
Как быстро развернуть гипервизор Proxmox VE
Установка чаще всего не вызывает никаких вопросов. Скачиваем актуальную версию образа с официального сайта и записываем его на любой внешний носитель с помощью утилиты Win32DiskImager (в Linux используется команда dd), после чего загружаем сервер непосредственно с этого носителя. Наши клиенты, арендующие у нас выделенные серверы, могут воспользоваться двумя еще более простыми путями – просто смонтировав нужный образ непосредственно из KVM-консоли, либо используя наш PXE-сервер.
Программа установки имеет графический интерфейс и задаст всего лишь несколько вопросов.
- Выбираем диск, на который будет выполнена установка. В разделе Options можно также задать дополнительные параметры разметки.
- Указываем региональные настройки.
- Указываем пароль, который будет использоваться для авторизации суперпользователя root и E-mail адрес администратора.
- Указываем сетевые настройки. FQDN обозначает полностью определенное имя домена, например, node01.yourcompany.com.
- После завершения установки, сервер можно отправить в перезагрузку с помощью кнопки Reboot.
Веб-интерфейс управления станет доступен по адресу
https://IP_адрес_сервера:8006
Что нужно сделать после установки
Есть несколько важных вещей, которые следует выполнить после установки Proxmox. Расскажем о каждой из них подробнее.
Обновить систему до актуальной версии
Для этого зайдем в консоль нашего сервера и отключим платный репозиторий (доступен только тем, кто купил платную поддержку). Если этого не сделать — apt сообщит об ошибке при обновлении источников пакетов.
- Открываем консоль и редактируем конфигурационный файл apt:
nano /etc/apt/sources.list.d/pve-enterprise.list
- В этом файле будет всего одна строка. Ставим перед ней символ #, чтобы отключить получение обновлений из платного репозитория:
#deb https://enterprise.proxmox.com/debian/pve stretch pve-enterprise
- Сочетанием клавиш Ctrl + X выполняем выход из редактора, отвечая Y на вопрос системы о сохранении файла.
- Выполняем команду обновления источников пакетов и обновления системы:
apt update && apt -y upgrade
Позаботиться о безопасности
Мы можем порекомендовать установить популярнейшую утилиту Fail2Ban, защищающую от атак методом перебора паролей (брутфорс). Принцип ее работы заключается в том, что если злоумышленник превысит определенное количество попыток входа за указанное время с неверным логином/паролем, то его IP-адрес будет заблокирован. Срок блокировки и количество попыток можно указать в конфигурационном файле.
Исходя из практического опыта, за неделю работы сервера с открытым ssh-портом 22 и внешним статическим IPv4-адресом, было более 5000 попыток подобрать пароль. И около 1500 адресов утилита успешно заблокировала.
Для выполнения установки приводим небольшую инструкцию:
- Открываем консоль сервера через веб-интерфейс или SSH.
- Обновляем источники пакетов:
apt update
- Устанавливаем Fail2Ban:
apt install fail2ban
- Открываем конфигурацию утилиты на редактирование:
nano /etc/fail2ban/jail.conf
- Изменяем переменные bantime (количество секунд на которые будет блокироваться злоумышленник) и maxretry (количество попыток ввода логина/пароля) для каждого отдельного сервиса.
- Сочетанием клавиш Ctrl + X выполняем выход из редактора, отвечая Y на вопрос системы о сохранении файла.
- Перезапускаем службу:
systemctl restart fail2ban
Проверить статус работы утилиты, например, снять статистику блокировок заблокированных IP-адресов с которых были попытки перебора паролей SSH, можно одной простой командой:
fail2ban-client -v status sshd
Ответ утилиты будет выглядеть примерно так:
root@hypervisor:~# fail2ban-client -v status sshd
INFO Loading configs for fail2ban under /etc/fail2ban
INFO Loading files: ['/etc/fail2ban/fail2ban.conf']
INFO Loading files: ['/etc/fail2ban/fail2ban.conf']
INFO Using socket file /var/run/fail2ban/fail2ban.sock
Status for the jail: sshd
|- Filter
| |- Currently failed: 3
| |- Total failed: 4249
| `- File list: /var/log/auth.log
`- Actions
|- Currently banned: 0
|- Total banned: 410
`- Banned IP list:
Аналогичным способом можно закрыть от подобных атак Web-интерфейс, создав соответствующее правило. Пример такого правила для Fail2Ban можно найти в официальном руководстве.
Начало работы
Хочется обратить внимание на то, что Proxmox готов к созданию новых машин сразу после установки. Тем не менее, рекомендуем выполнить предварительные настройки, чтобы в дальнейшем системой было легко управлять. Практика показывает, что гипервизор и виртуальные машины стоит разнести по разным физическим носителям. О том, как это сделать и пойдет речь ниже.
Настроить дисковые накопители
Следующим этапом следует настроить хранилище, которое можно будет использовать для сохранения данных виртуальных машин и резервных копий.
ВНИМАНИЕ! Приведенный ниже пример дисковой разметки можно использовать только для тестовых целей. Для эксплуатации в реальных условиях мы настоятельно рекомендуем использовать программный или аппаратный RAID-массив, чтобы исключить потерю данных при выходе дисков из строя. О том, как правильно приготовить дисковый массив к работе и как действовать в случае аварийной ситуации мы расскажем в одной из следующих статей
Предположим, что физический сервер имеет два диска — /dev/sda, на который установлен гипервизор и пустой диск /dev/sdb, который планируется использовать для хранения данных виртуальных машин. Чтобы система смогла увидеть новое хранилище, можно воспользоваться самым простым и эффективным методом — подключить его как обычную директорию. Но перед этим следует выполнить некоторые подготовительные действия. В качестве примера посмотрим, как подключить новый диск /dev/sdb, любого размера, отформатировав его в файловую систему ext4.
- Размечаем диск, создавая новый раздел:
fdisk /dev/sdb
- Нажимаем клавишу o или g (разметить диск в MBR или GPT).
- Далее нажимаем клавишу n (создать новый раздел).
- И наконец w (для сохранения изменений).
- Создаем файловую систему ext4:
mkfs.ext4 /dev/sdb1
- Создаем директорию, куда будем монтировать раздел:
mkdir /mnt/storage
- Открываем конфигурационный файл на редактирование:
nano /etc/fstab
- Добавляем туда новую строку:
/dev/sdb1 /mnt/storage ext4 defaults 0 0
- После внесения изменений сохраняем их сочетанием клавиш Ctrl + X, отвечая Y на вопрос редактора.
- Для проверки, что все работает, отправляем сервер в перезагрузку:
shutdown -r now
- После перезагрузки проверяем смонтированные разделы:
df -H
Вывод команды должен показать, что /dev/sdb1 смонтирован в директорию /mnt/storage. Это значит, что наш накопитель готов к работе.
Добавить новое хранилище в Proxmox
Авторизуемся в панели управления и заходим в разделы Датацентр ➝ Хранилище ➝ Добавить ➝ Директория.
В открывшемся окне заполняем следующие поля:
- ID — название будущего хранилища;
- Директория — /mnt/storage;
- Содержимое — выделяем все варианты (поочередно щелкая на каждом варианте).
После этого нажимаем кнопку Добавить. На этом настройка завершена.
Создать виртуальную машину
Для создания виртуальной машины выполняем следующую последовательность действий:
- Определяемся с версией операционной системы.
- Заранее закачиваем ISO-образ.
- Выбираем в меню Хранилище только что созданное хранилище.
- Нажимаем Содержимое ➝ Загрузить.
- Выбираем из списка ISO-образ и подтверждаем выбор нажатием кнопки Загрузить.
После завершения операции образ будет отображен в списке доступных.
Создаем нашу первую виртуальную машину:
- Нажимаем Создать VM.
- Заполняем поочередно параметры: Имя ➝ ISO-Image ➝ Размер и тип жесткого диска ➝ Количество процессоров ➝ Объем оперативной памяти ➝ Сетевой адаптер.
- Выбрав все желаемые параметры нажимаем Завершить. Созданная машина будет отображена в меню панели управления.
- Выбираем ее и нажимаем Запуск.
- Переходим в пункт Консоль и выполняем установку операционной системы точно таким же образом, как и на обычный физический сервер.
Если необходимо создать еще одну машину — повторяем вышеуказанные операции. После того как все они будут готовы, с ними можно работать одновременно, открывая несколько окон консоли.
Настроить автозапуск
По умолчанию Proxmox автоматически не запускает машины, но это легко решается буквально двумя щелчками мыши:
- Щелкаем по названию нужной машины.
- Выбираем вкладку Опции ➝ Запуск при загрузке.
- Ставим галочку напротив одноименной надписи.
Теперь, в случае перезагрузки физического сервера, VM будет запущена автоматически.
Для продвинутых администраторов имеется еще и возможность указать дополнительные параметры запуска в разделе Start/Shutdown order. Можно явным образом указать в каком порядке следует запускать машины. Также можно указать время, которое должно пройти до старта следующей VM и время задержки выключения (если операционная система не успеет завершить работу, гипервизор принудительно ее выключит через определенное количество секунд).
Заключение
В этой статье были изложены основы того, как можно начать работать с Proxmox VE и мы надеемся, что она поможет начинающим специалистам сделать первый шаг и попробовать виртуализацию в действии.
Proxmox VE — это действительно очень мощный и удобный инструмент для любого системного администратора; главное не бояться экспериментировать и понять, как это действительно работает.
Если у вас появились вопросы, добро пожаловать в комментарии.
Proxmox. Полное руководство. 2е изд.
Copyright © 2016 Packt Publishing
Первая публикация на английском языке: июль 2014
Второе издание: мая 2016
Ссылка на продукт: 1230516
Все права защищены. Никакая часть этой книги не может быть воспроизведена, сохранена в поисковой системе или
передана в любой форме или любыми средствами без предварительного письменного разрешения издателя,
за исключением случаев кратких цитат, встроенных в критические статьи и обзоры.
При подготовке этой книги были предприняты все усилия чтобы гарантировать точность представленной информации.
Тем не менее, информация, содержащаяся в этой книге, продается без гарантии в явном или неявном виде.
Ни авторы, ни Packt Publishing, ни их дилеры и дистрибьюторы не будут нести ответственность за любые убытки,
вызванные или предположительно вызванные прямо или косвенно этой книгой.
Packt Publishing пыталась предоставить информацию о товарных знаках обо всех компаниях и продуктов,
упомянутых в данной книге для надлежащего использования капиталов.
Тем не менее, Packt Publishing не может гарантировать точность этой информации.
Опубликовано Packt Publishing Ltd.
Livery Place
35 Livery Street
Birmingham B3 2PB, UK
ISBN 978-1-78588-824-3
www.packtpub.com
2016-07-22
Состав исполнителей
Второго издания на английском языке
- Автор
- Васим Ахмед
- Рецензент
- Рокко Альфондзетти
- Редактор выпуска
- Картикей Панди
- Редактор
- Рауль Наиль
- Редактор разработки содержания
- Саманта Гонсалвес
- Технический редактор
- Навинкумар Джейн
- Литературный редактор
- Рашми Саван
- Координатор проекта
- Санчита Мандал
- Корректоры
- Safis editin
- Составитель указателя
- Хеманджини Бари
- Графика
- Кирк ДеПенья
- Координатор производства
- Шантану Н. Загаде
- Изготовитель переплета
- Шантану Н. Загаде
Васим Ахмед родился в Бангладеш, а теперь гражданин Канады, является ветераном в мире ИТ.
Он плотно занялся компьютерами в 1992 и никогда не оглядывался в прошлое. Васим имеет наиболее глубокие
знания и понимание в сетевых средах, виртуализации, хранении больших данных, а также сетевой безопасности.
По роду деятельности Васим является генеральным директором (CEO) компании поставщика ИТ поддержки и облачных
услуг, расположенной в Калгари, Альберта. При помощи своей компании он обслуживает множество компаний и
организаций на ежедневной основе. Васим черпает силу из опыта, который приходит из постоянного обучения
и обслуживания. Васим стремится найти наиболее эффективное решение по самой конкурентоспособной цене.
Он построил более 20 промышленных решений виртуальных инфраструктур с использованием Proxmox и
хранилищ Ceph.
Васим пресловуто известен не просто принимающим технологию на основании только её описания, но
как проводящий её тщательное тестирование для подтверждения её обоснованности. Любая новая технология,
предоставляемая его компанией, проходит сквозь месяцы непрерывных проверок перед своим принятием. Proxmox
выполнил этот проход великолепно.
Он хотел бы поблагодарить весь персонал Proxmox за их поддержку и преданность сообществу гипервизора.
Васим также хотел бы поблагодарить Packt Publishing за их видение продвижения вперёд с такой единственной
в своём роде книгой по Proxmox и их поддержкой на протяжении всего всего пути публикации этой книги.
Рокко Альфондзетти работает в PaperClip, Inc. в качестве специалиста по шифрованию
электронной почты, выведший на рынок PaperClip eM4, новейшее решение по шифрованию электронной почты для
частных лиц и бизнеса. Новейшая инновация PaperClip, Mojo, которая является новаторской и инновационной
технологией распознавания форм, которая порождена облаками и краудсорсингом. PaperClip, Inc. внедряет
инновации и удерживает первенство в управлении документооборотом в мире на протяжении более 20 лет.
Карьера Роко включает в себя работу в качестве небольшого бизнес- консультанта по компьютерам в
деловом районе Нью-Йорка, по крайней мере, на протяжении 15 лет, в которой шлифовались его навыки
передовых сетевых сред, Windows, Linux, а также ПО с открытым исходным кодом. Рокко также блоггер и
консультант OpenCIO, инновационной консалтинговой фирмы облачных технологий, которая сосредоточена на
помощи развёртывания малого бизнеса, конструировании и установках лицензий Proxmox, а также размещении
их рабочих нагрузок в AWS, Azure и прочих облачных решениях.
Рокко поддерживает работу своих собственных больших кластеров Proxmox как для разработок, так и для
промышленности, в которых он выполняет множество сложных рабочих нагрузок и систем Linux. Он приветствует
любые замечания или взаимодействие с читателями и поддерживает персональный адрес электронной почты
[email protected]
Рокко живёт в сельской местности Коннектикут со своей женой и тремя маленькими детьми. Когда он не
работает, Рокко увлекается садоводством, выращиванием животных, пчеловодством и приготовлением блюд.
Рокко также является гордым франкмасоном, отдающий дань волонтёрству в местном сообществе.
Основываясь на принципах, спланированных первой редакцией, эта книга,
«Proxmox. Полное руководство. 2 издание»
приводит обновлённую информацию и подробности новой функциональности Proxmox. С момента публикации
первой редакции Proxmox прошёл через много изменений. На протяжении этой второй редакции я уверен,
что читатели могут обновить свои навыки одновременно выстраивая и управляя ещё лучшим кластером Proxmox.
Эта книга отображает внутреннюю работу Proxmox, включая сетевые компоненты, совместно применяемые системы
хранения, межсетевой экран Proxmox, а также высокую доступность.
Что охватывает эта книга
Глава 1. Понимание Proxmox VE и расширенная установка предоставляет
краткое описание того, чем в действительности является Proxmox, его сильные и слабые стороны, а также
современные свойства. Данная глава также обучает пользователя пониманию расширенной установки кластера
Proxmox.
Глава 2. Обзор графического интерфейса Proxmox обсуждает
графический интерфейс Proxmox. Большая часть кластера Proxmox управляется через GUI.
Глава 3. Под капотом Proxmox, объясняет структуру каталога
Proxmox и файлы настройки. Эта глава также показывает параметры монтирования, применяемые Proxmox для
его системы хранения. Файлы настройки будут проанализированы строка за строкой для отображения их функций.
Глава 4. Системы хранения объясняет как Proxmox взаимодействует
со своей систмой хранения и поддерживаемые типы систем хранения. Она также показывает какие типы форматов
образов поддерживаются и подробности того, когда использовать их. Охватываются как локальные, так и совместно
используемые системы хранения.
Глава 5. Виртуальные машины KVM охватывает то, как создавать и
управлять любым числом виртуальных машин KVM, а также их расширенную настройку.
Глава 6. Виртуальные машины LXC покрывает то, как создавать любое
число контейнеров LXC и управлять ими, а также их расширенное конфигурирование. LXC были добавлены в
Proxmox версии 4 для полной замены ВМ на основе OpenVZ. {Прим. пер.: процедура
перехода подробна описана в нашем переводе рекомендаций Преобразование
OpenVZ в LXC, опубликованных сообществом Proxmox 6 октября 2015.}
Глава 7. Сетевая среда виртуальных сетей проходит сквозь
подробности того, как обрабатывается сетевая среда в Proxmox 4. Она объясняет различные компоненты сетевой
среды применяемые Proxmox для построения виртуальных сетей.
Глава 8 Межсетевой экран Proxmox показывает встроенные опции
межсетевого экрана для кластеров Proxmox и то, как защищать кластер целиком, или отдельно ВМ и узлы
хостов.
Глава 9. Высокая доступность Proxmox отображает новые функции
высокой доступности (HA), введённые в Proxmox VE 4 вместе с брендированием нового симулятора HA. Данная
глава также отображает высокую доступность для систем хранения для наличия истинного кластера HA.
Глава 10. Резервное копирование/ восстановление ВМ окунается
глубже в стратегию резервного копирования/ восстановления Proxmox. Она подробно объясняет функциональность
резервного копирования и восстановления Proxmox для проектирования с учётом аварийных ситуаций.
Глава 11. Обновление/ модернизация Proxmox показывает как
надлежащим образом обновлять и модернизировать узел Proxmox. Она объясняет как поддерживать актуальность
Proxmox.
Глава 12. Мониторинг кластера Proxmox показывает как применять
Zabbix для мониторинга всего кластера Proxmox, включая отсылку уведомлений e-mail при возникновении
отказов.
Глава 13. Установка Proxmox промышленного уровня объясняет
различные компоненты в кластере уровня производства. Мы взглянем на то, как размещать кластер Proxmox
в производственной среде с минимальными простоями. Мы пройдёмся по ЧТО СДЕЛАТЬ, промышленным требованиям,
а также настройке оборудования корпоративного уровня для Proxmox.
Глава 14. Поиск неисправностей Proxmox приводит перечень
происходящих на практике инцидентов с их решениями, которые могут возникать в кластере Proxmox. Вся
информация получена из реальных ситуаций на основе происходящих на практике проблем.
Что вам нужно для этой книги
Поскольку на протяжении данной книги мы работаем с кластерами Proxmox, будет чрезвычайно полезно иметь
в вашем распоряжении работающий кластер Proxmox. Прекрасно будет иметь очень базовый кластер из двух или
трёх узлов. Чтобы иметь возможность проверить коды данной книги необходимо выполнить указанные шаги которые
подготовят системное окружение:
Proxmox VE:
Скачайте ISO, затем сделайте из образа диск
Загрузите CD/DVD в дисковод и включите узел. {Прим. пер.: или, если хотите
воспользоваться загрузкой с USB- устройства, примените одно из средств для переноса ISO на флеш-носитель
с сохранением возможности загрузки, например: http://unetbootin.github.io/, или http://www.ubuntu.com/download/desktop/create-a-usb-stick-on-windows.}Нажмите Enter
в приглашении загрузки для начала установки.Весь процесс установки является графическим с некоторыми текстовыми блоками для заполнения. Когда
вас попросят, введите новый пароль, выберите country,
IP address, а также
netmask и
gateway. Адрес IP, сетевая маска и шлюз должны
быть основаны на параметрах сетевой среды и сервера, в которых вы осуществляете установку.
{Прим. пер.: если нужно, подробности процесса установки описаны в нашем переводе
Полная
виртуализация. Proxmox-freeNAS-Zentyal-pfSense.}Когда вас попросит система, удалите диск из устройства и перезагрузитесь для завершения установки.
Повторите эти этапы на других узлах Proxmox.
Воспользуйтесь браузером и введите ссылку в приведённом формате для входа в GUI Proxmox:
https://<node_ip_address>:8006
. Когда система попросит,
введите имя пользователя,root
, и пароль, тот же самый,
который что вы указали в процессе установки. {Прим. пер.: Так как,
скорее всего, в данной установке вы не используете зарегистрированный в уполномоченном центре
ключ SSL (TLS), а применяете собственный, вы получите предупреждение от браузера об отсутствии
у данного ключа подтверждения полномочия и должны внести в свой браузер исключение для данной ссылки.
Подробнее: см. раздел 1.3 Первичная регистрация в уже указанном переводе книги 4-в-1.}Кликните OK когда получите
блок сообщения с отказом от подписки.Для доступа к узлу Proxmox через
SSH
воспользуйтесь
программным обеспечением Putty. {Прим. пер.: его можно загрузить
здесь: PuTTY Download Page.} В качестве хоста примените
<node_ip_address>
, а его порт
{по умолчанию}22
.Для корректной работы Ceph ей требуется отдельная сетевая среда. {Прим. пер.:
прчём желательно именно физическая!} Здесь мы настроим вторую плату сетевого интерфейса для всех
узлов Proxmox с другой подсетью. Выполните это на всех узлах:# nano /etc/network/interfaces auto eth3 iface eth3 inet static address 192.168.20.1 netmask 255.255.255.0
Примените предыдущий формат для оставшихся двух узлов и воспользуйтесь, соответственно,
адресами192.168.20.2
и
192.168.20.3
.Установите Ceph на всех узлах Proxmox выполнив следующую команду:
# pveceph install –version firefly
Создайте начальный кластер Ceph только с одного узла:
# pveceph init –network 192.168.20.0/24
Создайте первый монитор Ceph со своего первого узла Proxmox^
# pveceph createmon
Создайте остальные мониторы из системы меню Proxmox GUI
| CEPH | MonСоздайте OSD из меню Proxmox GUI | CEPH |
OSD. Выберите диски отличные от использованных для установки Proxmox OS.
{Прим. пер.: на сегодняшний день существуют и более удобные средства
установки Ceph, например, вклад Intel в сообщество Ceph — VSM, например, см.
Главу 9.
Менеджер виртуального хранения Ceph перевода вышедшей в марте 2016
новой
книги Карана Сингха. Однако, для последовательного изучения материала, возможно,
следует придерживаться стратегии автора.}
FreeNAS:
Загрузите файл ISO FreeNAS с с его веб- сайта и подготовьте диск с образом файла.
{Прим. пер.: либо, опять же, если хотите воспользоваться загрузкой
с USB- устройства, примените одно из средств для переноса ISO на флеш-носитель с сохранением
возможности загрузки, например: http://unetbootin.github.io/, или http://www.ubuntu.com/download/desktop/create-a-usb-stick-on-windows.}Подключите USB флеш- диск для установки, вставьте CD/DVD {загрузочный USB флеш- диск},
включите узел и выполните его загрузку.FreeNAS также имеет графический интерфейс установки. Просто нажмите Enter чтобы последовать за всеми приглашениями. FreeNAS не требует
ввода никакой текстовой информации. {Прим. пер.: подробнее пошаговая
установка и разрешение возможных проблем отражены в уже упоминавшемся руководстве 4-в-1, см. раздел
3.3 Установка freeNAS.}Когда поступит приглашение, выберите Install/upgrade.
При на то поступлении приглашения, выберите USB флеш- диск для установки FreeNAS.
Удалите диск, с которого производилась установка и выберите Reboot из приглашения в конце процесса установки.
Если существующая сетевая среда имеет доступный сервер DHCP, узел FreeNAS автоматически получит
IP адрес. Вы обнаружите назначенный IP адрес в приглашении после завершения загрузки.
{Прим. пер.: запишите его!}Воспользуйтесь браузером и введите полученный IP адрес для доступа к GUI веб- управления.
Для кого эта книга
Данная книга предназначена читателям, которые хотят построить виртуальную инфраструктуру на основе
Proxmox в качестве гипервизора и управлять ею. Будь то читатель ветеран индустрии виртуализации который,
однако, никогда не работал с Proxmox, или кто-то только что начинающий осваивать профессию в данной
отрасли, эта книга сослужит вам службу.
В данной книге вы найдёте ряд текстовых стилей, которые делают разницу между различными видами
информации. Здесь мы приводим некоторые примеры этих стилей и объяснение их назначения.
Кодовые слова в тексте, имена таблиц базы данных, имена папок, имена файлов, расширения файлов,
имена путей, модели URL-адресов, ввод пользователя, и регулировки Twitter представлены следующим образом:
«Для изменения цвета шрифта отредактируйте файл тем debian в
/etc/grub.d/05_debian_theme
«.
Блок кода устанавливается следующим образом:
logging {
debug: on
to_logfile : yes
to_syslog : no
timestamp : on
}
/var/log/<filename>.log {
daily
rotate 5
copytruncate
}
Любой ввод командной строки или её вывод записываются следующим образом:
# /etc/pve/nodes/pm4-1/qemu-server/110.conf
Новые термины и
важные слова отображаются жирным шрифтом. Слова,
которые вы видите на экране, например, в меню или блоках диалогов появляются в тексте следующим образом:
«Кликнув по кнопке Next вы переместитесь
на следующий экран».
Замечание | |
---|---|
Предостережения или важные замечания появляются в блоках подобных этому. |
Совет | |
---|---|
Советы и ловкие приёмы возникают таким образом. |
Обратная связь с читателями
Обращения наших читателей всегда приветствуются. Дайте нам знать что вы думаете об этой книге — что
вам нравится или не нравится. Обратная связь с читателями важна нам, так как помогает нам разрабатывать
издания, от которых вы на самом деле получите максимальную пользу.
Для отправки обычного отклика просто пошлите электронное письмо на адрес
[email protected] с упоминанием
заголовка книги в теме вашего сообщения.
Если у вас существует тема, в которой у вас имеется опыт и вы заинтересованы либо в написании, либо во
вкладе в книгу, обратитесь к руководству по адресу www.packtpub.com/authors.
Поддержка пользователей
Теперь, когда вы являетесь гордым владельцем книги Packt, у нас есть целый ряд моментов для помощи вам
в получении максимальной выгоды от вашей покупки.
Загрузка цветных изображений этой книги
Мы дополнительно снабжаем вас файлом PDF, который содержит цветные изображения экранных снимков/
схем, использованных в данной книге. Цветные изображения помогут вам лучше понять изменения в выводе.
Вы можете загрузить этот файл по адресу: http://www.packtpub.com/sites/default/files/downloads/MasteringProxmoxSecondedition_ColorImages.pdf.
Хотя мы и предприняли все меры чтобы обеспечить точность нашего содержимого, ошибки всё- таки возможны.
Если вы обнаружили ошибку в нашей книге — возможно, ошибку в тексте или в коде — мы будем признательны если
вы сообщите об этом нам. Сделав это, вы можете предостеречь остальных читателей от разочарования и помочь
нам улучшить последующие версии данной книги. Если вы обнаружили ошибку, пожалуйста, сообщите о ней посетив
www.packtpub.com/submit-errata,
выбрав вашу книгу, кликнув на ссылку Errata Submission
Form, и заполнив подробности найденной вами ошибки. Когда ваша ошибка будет проверена, вы
получите уведомление и ошибка будет выложена на наш веб- сайт или добавлена в какой- нибудь перечень
существующих ошибок с заголовком раздела Errata.
Для просмотра ранее выявленных ошибок посетите www.packtpub.com/books/content/support
и введите название нужной книги в поле поиска. Необходимая информация появится в разделе
Errata.
Незаконное тиражирование
Пиратство, защищённых авторским правом материалов в Интернете является постоянной проблемой во всех
средствах массовой информации. В Packt мы подходим к защите наших авторских прав и лицензий очень серьёзно.
Если вы столкнётесь с какой-либо незаконной копией наших работ в любой форме в Интернете, пожалуйста,
предоставьте нам сразу адрес местонахождения или имя веб-сайта, чтобы мы могли принять меры.
{Прим. пер.: Согласно закону об авторском праве РФ, авторские права
на перевод принадлежат авторам этого перевода. Данным переводом, по нашему мнению, мы служим популяризации
основных стратегических направлений развития тем Packt. В случае наличия конструктивных предложений,
готовы к тесному сотрудничеству.}
Пожалуйста, обратитесь по адресу [email protected] со ссылкой на материалы содержащие признаки нарушения
авторских прав.
Мы выражаем вам признательность в защите наших авторов и нашей возможности доносить до вас
имеющего ценность содержимого.
Если у вас есть проблемы по любым сторонам данной книги, вы можете контактировать с нами по адресу
[email protected] и мы
предпримем все меры в отношении ваших проблем.
Часть 2 – Установка системы виртуализации |
Автор Gregory На чтение 16 мин. Просмотров 4.9k. Опубликовано
Обновлено
Приветствую вас дорогие читатели на второй части цикла статей про домашний сервер!
Список цикла статей:
- Домашний Сервер: Часть 1 – Предисловие, аппаратная и софтовая начинка
- Домашний Сервер: Часть 2 – Установка системы виртуализации Proxmox (вы тут)
- Домашний Сервер: Часть 3 – Внутренний DNS сервис на BIND9 или свои доменные имена в локальной сети
- Домашний Сервер: Часть 4 – Настройка Transmission daemon в контейнере LXC Proxmox-VE
- Домашний Сервер: Часть 5 – Установка и настройка Plex Media Server в контейнере LXC Proxmox-VE
В прошлой части я указал на используемый софт и центральным узлом всего домашнего сервера будет использование системы виртуализации Proxmox
Выбор в целом был очевиден т.к. она настраивается через WEB, у меня есть опыт работы с ней и было бы глупо выбирать что-то другое.
Логично задать вопрос: “А это бесплатное ПО?”
Да, это действительно бесплатное Open Source ПО, хотя есть корпоративная подписка.
Корпоративная подписка предоставляет доступ к закрытому репозиторию Proxmox VE Enterprise, который содержит более частые стабильные обновления ПО и обновления безопасности, а также техническую поддержку.
Если не использовать подписку никаких ограничений по функциональности не будет! И это по настоящему здорово!
Ну что, приступим к установке Proxmox Virtual Environment – далее PVE!
Установку я производил сначала на 2 SSD объемом по 256 Гб каждый. Другие 4 HDD я добавлял позже. Именно в таком ключе и предлагаю двигаться далее.
Подготовка Flash инсталлятора с образом системы
Для скачивания образа системы необходимо перейти на официальный сайт www.proxmox.com и скачать необходимую версию. Особых отличий в заливке или установке не будет.
На момент написания статьи доступны версии 6 и 5.4
Берем какую либо флешку и пишем ISO образ на неё с помощью специальных программ. Их много (Rufus, balenaEtcher и др.).
Я предпочитаю balenaEtcher. Там все просто до безобразия. Запустили, выбрали образ, убедились, что выбрана нужная флешка и нажали запись. Подождали и вытащили флешку.
Есть Portable версия.
balenaEtcher
Подключаем флешку к серверу и продолжаем уже через монитор или IPMI/BMC интерфейс.
IPMI/BMC интерфейс для управления сервером по сети
Что такое IPMI?
Выдержка из Wikipedia:
IPMI (от англ. Intelligent Platform Management Interface) — интеллектуальный интерфейс управления платформой, предназначенный для автономного мониторинга и управления функциями, встроенными непосредственно в аппаратное и микропрограммное обеспечения серверных платформ. Ключевые характеристики IPMI — мониторинг, восстановление функций управления, журналирование и инвентаризация, которые доступны независимо от процессора, BIOS’a и операционной системы. Функции управления платформой могут быть доступны, даже если система находится в выключенном состоянии.
Что такое BMC?
Это “мозг” IPMI, отдельный микроконтроллер. BMC (Baseboard Management Controller). Через него как раз и происходит удаленное управление сервером. По сути, BMC ― это отдельный компьютер со своим программным обеспечением и сетевым интерфейсом, который распаивают на материнской плате или подключают как плату расширения по шине PCI management bus. В моем случае она уже есть на материнской плате.
На практике это выглядит так:
Страница входа через обычный браузерОдна из страниц настройки
Для чего я это пишу тут?
А для того, чтобы вы понимали, как можно управлять сервером не подключая к нему никаких мониторов, клавиатур и мышей.
И в чем особенность серверных материнских плат. На обычных предназначенных для дома или игровых вы такого не увидите.
Установка Proxmox VE на сервер
Для демонстрации буду использовать версию 5.4-1, как более близкую к своей 5.3-11, хоть она и поновей, но существенных изменений там нет.
Все изображения спрятаны под спойлеры для вашего удобства!
После загрузки мы увидим такое окно…
Начало установки Proxmox VE
Ожидаем окончания загрузки системы установки…
Соглашаемся с лицензионным соглашением…
Соглашаемся с лицензионным соглашением
Переходим к настройке места для установки…
Переходим к настройке места для установкиВыбираем ZFS RAID-1Используется два диска, как и положеноМесто хранения настроили, движемся далее
Указываем страну, временную зону, а раскладку не трогаем…
Указываем страну, временную зону, а раскладку не трогаем
Указываем пароль и наш email для оповещений…
Указываем пароль и наш email для оповещений
Настраиваем сеть…
Тут хочется остановиться более подробно.
Настройка сети
- Учтите сразу, у Proxmox сеть указывается вручную. Я несколько раз пробовал настраивать DHCP-Client для него, но почему-то он его не очень любит. Потому биндинг адреса в DHCP-Lease особого смысла не имеет, разве только, чтобы понимать какой девайс на нем сидит.
Hostname (FQDN): рекомендую задавать осмысленно с учетом того, какое доменное имя планируете использовать. Это необходимо для следующей статьи по DNS. Вы же планируете заходить по доменному имени, а не по IP адресу, правда? 🙂
Я задал свой pve1.gregory-gost.ru и по такому URL теперь захожу на WEB интерфейс Proxmox. Подумайте заранее! - Я указал в DNS IP контейнера в котором у меня работает DNS служба, но вам для начала необходимо указать свои стандартные DNS. Иначе PVE не будет иметь нормального выхода в интернет. Часто совпадает с Gateway.
Проверяем финальные данные…
Проверяем финальные данные
Дожидаемся окончания процесса установки…
Дожидаемся окончания процесса установки
Проводим финальную перезагрузку…
Проводим финальную перезагрузку
И наконец, после непродолжительных процедур нам позволено войти в систему.
После установки видим строку приглашения и информирующий баннер
Как можно наблюдать нам вежливо сообщили о том, по какому адресу и порту работает WEB интерфейс PVE:https://192.168.88.5:8006
Давайте зайдем и посмотрим, что там!
Обратите особое внимание на адрес по которому работает WEB интерфейс PVE!
Как можно не сразу заметить используется защищенный протокол https вместо http. Автоматического перенаправления в системе не предусмотрено! Будьте внимательны!
Настройка Proxmox VE после установки
После ввода в браузере нужного адреса перед нами предстает WEB интерфейс PVE
Окно входа в PVE
Логин для входа: root
Пароль тот, который вы указали при установке.
Далее я не буду производить обзор всей системы т.к. это еще не на одну статью. Знающие администраторы разберутся в ней без труда.
Система поддерживает Русский язык, который вы можете выбрать при входе.
Дополню только минимальными настройками для начала и покажу, как скачать шаблон для LXC контейнера. В следующей статье нам это пригодится.
Настраиваем репозиторий для обновлений
Перво наперво откроем консоль нашего сервера
Путь до консоли самого сервера
Нас попросят ввести логин и пароль, вводим те же данные, которые вводили для входа в WEB.
Открываем Enterprise репозиторий…nano /etc/apt/sources.list.d/pve-enterprise.list
и комментируем его (добавляем решетку в начало строки)#deb https://enterprise.proxmox.com/debian/pve stretch pve-enterprise
Создаем отдельный лист для репозитория без подпискиtouch /etc/apt/sources.list.d/pve-no-subscription.list
Открываем егоnano /etc/apt/sources.list.d/pve-no-subscription.list
И добавляем в него репозиторий# proxmox no subscriptions repo
deb http://download.proxmox.com/debian/pve stretch pve-no-subscription
Если вы устанавливаете Proxmox другой версии, то версия базовой ОС Debian может отличаться от stretch. В этом случае вам необходимо указать аналогичный тому, что есть в pve-enterprise.list.
Также узнать имя дистрибутива можно командой:cat /etc/*-release | grep VERSION_CODENAME
Ответ будет примерно такой:VERSION_CODENAME=stretch
К примеру уже 6-я версия PVE – buster а не stretch
Для обновления списков подаем командуapt update
Если вы хотите сразу проапгрейдить систему, то:apt update && apt upgrade -y
apt dist-upgrade
reboot
Убираем всплывающее окно о подписке
После входа вы могли заметить сообщение о подписке, которое со временем может надоесть.
В принципе его можно оставить если оно вам не мешает. А для тех кому мешает необходимо сделать следующее:
Сохраняем резервную копию файла:cp /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js.bak
Подаем команду:sed -i "s/getNoSubKeyHtml:/getNoSubKeyHtml_:/" /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js
Команда заменяет нужную переменную getNoSubKeyHtml:
, на ошибочную getNoSubKeyHtml_:
и окно более нам не мешает.
Все просто 🙂
Работает только для PVE версий выше 5.1
Для более старых необходим другой метод, который вы можете найти на просторах интернета.
Настраиваем базовую отправку уведомлений на почту
Безусловно мы хотим, чтобы сервер оповещал нас, если вдруг что-то происходит. Например, когда Бэкап виртуальной машины не выполнился.
За этот функционал в PVE отвечает сервис Postfix, его и будем настраивать.
Для примера я буду использовать придуманный почтовый адрес: [email protected]. Вы конечно используете свой!
Будем отправлять сообщения от почтового ящика зарегистрированного на Yandex. Для Gmail отличий особых не будет.
Проверяем установлена ли библиотека libsasl2-modulesapt install libsasl2-modules
Делаем бекап основного файла конфигурацииcp /etc/postfix/main.cf /etc/postfix/main.cf.bak
Вносим правки в файл. Я привел его к такому виду:# See /usr/share/postfix/main.cf.dist for a commented, more complete version
myhostname = pve1.gregory-gost.ru
default_transport = smtp
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no
# appending .domain is the MUA's job.
append_dot_mydomain = no
# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
mydestination = $myhostname, localhost.$mydomain, localhost
relayhost = [smtp.yandex.ru]:587
mynetworks = 127.0.0.0/8
inet_interfaces = loopback-only
recipient_delimiter = +
header_checks = pcre:/etc/postfix/rewrite_subject
smtp_sender_dependent_authentication = yes
sender_dependent_relayhost_maps = hash:/etc/postfix/sender_relayhost.hash
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_auth.hash
smtp_sasl_security_options = noanonymous
smtp_use_tls = yes
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
smtp_generic_maps = hash:/etc/postfix/generic
Создаем хеш файл авторизации для доступа к почтовому ящикуecho [smtp.yandex.ru]:587 [email protected]:yourpassword > /etc/postfix/sasl_auth.hash
Создаем хеш файл sender_relayhost (он гарантирует, что мы всегда используем свой почтовый ящик в качестве отправителя)echo [email protected] [smtp.yandex.ru]:587 > /etc/postfix/sender_relayhost.hash
И скобки []
обязательны!
У Яндекса есть проблема, а именно для успешной отправки письма, Яндекс требует, чтобы адрес отправителя в письме совпадал с адресом для авторизации на сервере.
Если это не будет сделано, то мы получим ошибку во время отправки — Sender address rejected: not owned by auth user
Чтобы этого избежать мы добавили в конфиг файл /etc/postfix/main.cf пункт smtp_generic_maps = hash:/etc/postfix/generic
Происходит это потому, что отправка системных сообщений идет от локального пользователя root. Имя отправителя в письме у меня такое — [email protected] В данном случае pve1.gregory-gost.ru это локальное имя сервера. Мы его заменим на учетную запись Яндекса.
Откройте файл блокнотомnano /etc/postfix/generic
Добавьте в файл generic одну строку:[email protected] [email protected]
Шифруем файлы с помощью postmappostmap /etc/postfix/sender_relayhost.hash
postmap /etc/postfix/sasl_auth.hash
postmap /etc/postfix/generic
Устанавливаем уровень доступа 0600 на файлы sasl_authchmod 0600 /etc/postfix/sasl_auth.*
Дополнительно я ввел формирование специального заголовка для темы. За это отвечает параметр header_checks = pcre:/etc/postfix/rewrite_subject
Давайте создадим этот файл:nano /etc/postfix/rewrite_subject
Добавляем в него такую строку:/^Subject: (.*)$/ REPLACE Subject: [PVE1]: $1
Это регулярное выражение, которое меняет заголовок письма, начинающийся с Subject. Оно добавляет в начало темы имя сервера с двоеточием — [PVE1]:
Вы можете добавлять свой вариант. А $1 это исходное содержание темы, которое будет без изменений оставлено далее, после добавки.
Но для того, чтобы это работало, просто создать файл и поправить конфиг мало. Необходимо доустановить специальную библиотеку postfix-pcre
Вы ведь помните, как выглядит строка с этой настройкой: pcre:/etc/postfix/rewrite_subject
Давайте поставим нужный сервис:apt install postfix-pcre
Перезапускаем Postfixservice postfix restart
илиsystemctl restart postfix.service
Пробуем отправить тестовое сообщение адресату:echo "Test mail from proxmox" | mail -s test [email protected]
Проверяйте почту 😉
Итоговый вид полученного письма на Gmail через Yandex
Проверка работы Postfix:cat /var/log/mail.log | grep postfix
Подключение четырех дисков как ZFS массив RAID-5 (raidz1)
Не забудем и про дополнительные четыре диска, которые в моем случае будут использоваться для хранения медиа файлов (фильмы, сериалы и др.)
И да, я знаю про специфику работы с RAID-5 и что к нему есть много вопросов, я решил пойти именно таким путем, вы же можете использовать свои знания и выбрать то, что кажется вам наиболее правильным. Но у ZFS RAID-5 есть одно преимущество, он восстановит потерянные данные, хоть и не целиком. А т.к. у меня там медиа данные, их можно без особого труда скачать снова. Это выгодно отличает его от обычного RAID-5. В итоге я потеряю файл/часть файла, но не потеряю весь массив данных.
Для начала проверим, видны ли они в системе, в этом нам поможет команда lsblk:
root@pve1:~# lsblk
В ответ мы увидим, что-то такое…
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 236G 0 disk
├─sda1 8:1 0 1007K 0 part
├─sda2 8:2 0 512M 0 part
└─sda3 8:3 0 235.5G 0 part
sdb 8:16 0 236G 0 disk
├─sdb1 8:17 0 1007K 0 part
├─sdb2 8:18 0 512M 0 part
└─sdb3 8:19 0 235.5G 0 part
sdc 8:32 0 2.7T 0 disk
sdd 8:48 0 2.7T 0 disk
sde 8:64 0 2.7T 0 disk
sdf 8:80 0 2.7T 0 disk
Активные диски уже используются и на них можно наблюдать уже логические разделы, это два SSD диска: sda и sdb
А вот sdc, sdd, sde и sdf пока не задействованы, давайте это исправим!
Проверим созданный нами ранее RAID-1 из двух SSD
zpool list
Ответ
NAME SIZE ALLOC FREE EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT
rpool 234G 8.07G 226G - 0% 0% 1.00x ONLINE -
Создадим RAID-5 из нужных нам дисков. Массив назовем rpoolz и пропишем полные пути к дискам (через /dev):
zpool create -f -o ashift=12 rpoolz raidz1 /dev/sdc /dev/sdd /dev/sde /dev/sdf
Не путайте с raidz2, это немного другое.
Проверяем более детально:
root@pve1:~# zpool list -v
NAME SIZE ALLOC FREE EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT
rpool 234G 8.07G 226G - 0% 0% 1.00x ONLINE -
mirror 234G 8.07G 226G - 0% 0%
sda3 - - - - - -
sdb3 - - - - - -
rpoolz 10.9T 2.14T 8.73T - 0% 0% 1.00x ONLINE -
raidz1 10.9T 2.14T 8.73T - 0% 0%
sdc - - - - - -
sdd - - - - - -
sde - - - - - -
sdf - - - - - -
Папка массива в файловой системе доступна по пути, который мы прописали при создании: /rpoolz
В целом этого будет достаточно, но есть еще один момент, это вопрос “Как подключить данный массив как папку для хранения данных?”
Для начала необходимо отправиться в раздел Datacenter -> Storage
Например я добавил папку, куда сохраняю Backup архивы.
Добавляем папку для Backup архивовЗаполняем параметры для папки
Тут нужно заполнить ID – это имя директории, Directory – это путь в файловой системе к нужной папке. Выбрать тип хранимых данных. При добавлении типа VZDump backup file появится дополнительная настройка, где нудно указать количество хранимых Backup архивов для каждой виртуальной машины. (Настройка архивации виртуальных машин выполняется отдельно!)
Подключение папки массива в контейнерах LXC будем рассматривать уже в отдельных статьях.
Заключение
Ну вот мы и разобрались с базовой установкой и подготовкой системы виртуализации Proxmox.
Как видно, ничего сложного в этом нет. Достаточно обычных знаний по работе с Linux системами. Для тех из вас, кто только начинает разбираться полагаю данный материал будет не плохим стартом!
Надеюсь данная статья оказалась для вас полезной. Возможно у кого-то уже используется данная система и вы не прочь поделиться с читателями своими мыслями, в этом случае прошу в комментарии 🙂
Ну а дальше… дальше будем ставить контейнеры и виртуалки с сервисами, продолжим с доменных имен в локальной сети с помощью DNS. Следите за обновлениями!
- DNS – доменные имена в локальной сети вместо IP адресов. Домашний Сервер: Часть 3 – Внутренний DNS сервис на BIND9 или свои доменные имена в локальной сети
- Torrent Transmission – качалка торрентов. Домашний Сервер: Часть 4 – Настройка Transmission daemon в контейнере LXC Proxmox-VE
- Plex Mediaserver – домашний медиа сервер. Домашний Сервер: Часть 5 – Установка и настройка Plex Media Server в контейнере LXC Proxmox-VE
- The Dude – мониторинг девайсов в домашней сети.
- Домашний IoT.
- IP телефония.
Делитесь в комментариях, чем пользуетесь вы для организации подобной системы. Готовый NAS, альтернативные системы виртуализации? В общем пишите 🙂
Благодарю за ваше время!
Всего хорошего на просторах Интернета 😉
UPD: 10.11.2019
Добавлен блок с подключением дополнительных дисков, как массива RAID-5
UPD: 20.11.2019
Добавлена заметка по редактированию источников обновления, для разных версий дистрибутивов. Спасибо Константину за подсказку в комментарии.
Выразить благодарность автору
Если Вам не безразлична судьба блога или Вы просто хотите отблагодарить Автора за его труд, смело переходите на страницу Поддержки, там описана вся информация, по тому, как это сделать. Заранее благодарен вам за данную инициативу!
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
вводный курс в Proxmox VE
Сегодня речь пойдет о том, как быстро и достаточно просто на одном физическом сервере развернуть несколько виртуальных серверов с разными операционными системами. Любому системному администратору это позволит централизованно управлять всей IT-инфраструктурой компании и экономить огромное количество ресурсов.
Использование виртуализации помогает максимально абстрагироваться от физического серверного оборудования, защитить критичные сервисы и легко восстановить их работу даже в случае очень серьезных сбоев.
Без всякого сомнения, большинству системных администраторов знакомы приемы работы с виртуальной средой и для них эта статья не станет каким-либо открытием. Несмотря на это, есть компании, которые не используют гибкость и скорость работы виртуальных решений из-за недостатка точной информации о них. Мы надеемся, что наша статья поможет на примере понять, что гораздо проще один раз начать использовать виртуализацию, чем испытывать неудобства и недостатки физической инфраструктуры.
К счастью, попробовать как работает виртуализация достаточно просто. Мы покажем, как создать сервер в виртуальной среде, например, для переноса CRM-системы, используемой в компании. Практически любой физический сервер можно превратить в виртуальный, но вначале необходимо освоить базовые приемы работы. Об этом и пойдет речь ниже.
Как это устроено
Когда речь идет о виртуализации, многим начинающим специалистам сложно разобраться в терминологии, поэтому поясним несколько базовых понятий:
- Гипервизор – специальное программное обеспечение, которое позволяет создавать виртуальные машины и управлять ими;
- Виртуальная машина (далее VM) – это система, представляющая собой логический сервер внутри физического со своим набором характеристик, накопителями и операционной системой;
- Хост виртуализации — физический сервер с запущенным на нем гипервизором.
Для того чтобы сервер мог работать полноценным хостом виртуализации, его процессор должен поддерживать одну из двух технологий – либо Intel VT, либо AMD-V. Обе технологии выполняют важнейшую задачу — предоставление аппаратных ресурсов сервера виртуальным машинам.
Ключевой особенностью является то, что любые действия виртуальных машин исполняются напрямую на уровне оборудования. При этом они друг от друга изолированы, что достаточно легко позволяет управлять ими по отдельности. Сам же гипервизор играет роль контролирующего органа, распределяя ресурсы, роли и приоритеты между ними. Также гипервизор занимается эмуляцией той части аппаратного обеспечения, которая необходима для корректной работы операционной системы.
Расширенные возможности
Внедрение виртуализации дает возможность иметь в наличии несколько запущенных копий одного сервера. Критический сбой или ошибка, в процессе внесения изменений в такую копию, никак не повлияет на работу текущего сервиса или приложения. При этом также снимаются две основные проблемы – масштабирование и возможность держать «зоопарк» разных операционных систем на одном оборудовании. Это идеальная возможность совмещения самых разных сервисов без необходимости приобретения отдельного оборудования для каждого из них.
Виртуализация повышает отказоустойчивость сервисов и развернутых приложений. Даже если физический сервер вышел из строя и его необходимо заменить на другой, то вся виртуальная инфраструктура останется полностью работоспособной, при условии сохранности дисковых носителей. При этом физический сервер может быть вообще другого производителя. Это особенно актуально для компаний, которые используют серверы, производство которых прекращено и потребуется осуществить переход на другие модели.
Теперь перечислим самые популярные гипервизоры, существующие на текущий день:
- VMware ESXi
- Microsoft Hyper-V
- Open Virtualization Alliance KVM
- Oracle VM VirtualBox
Они все достаточно универсальны, однако, у каждого из них имеются определенные особенности, которые следует всегда учитывать на этапе выбора: стоимость развёртывания/обслуживания и технические характеристики. Стоимость коммерческих лицензий VMware и Hyper-V весьма высока, а в случае возникновения сбоев, решить проблему с этими системами собственными силами очень непросто.
KVM же напротив, полностью бесплатен и достаточно прост в работе, особенно в составе готового решения на базе Debian Linux под названием Proxmox Virtual Environment. Именно эту систему мы можем порекомендовать для первоначального знакомства с миром виртуальной инфраструктуры.
Установка Proxmox VE
Данная процедура чаще всего не вызывает никаких вопросов. Скачиваем актуальную версию образа с официального сайта и записываем его на любой внешний носитель с помощью утилиты Win32DiskImager (в Linux используется команда dd), после чего загружаем сервер непосредственно с этого носителя. Наши клиенты, арендующие у нас выделенные серверы, могут воспользоваться двумя еще более простыми путями – просто смонтировав нужный образ непосредственно из KVM-консоли, либо используя наш PXE-сервер.
Программа установки имеет графический интерфейс и задаст всего лишь несколько вопросов.
1. Выбираем диск, на который будет выполнена установка. В разделе «Options» можно также задать дополнительные параметры разметки.
2. Указываем региональные настройки.
3. Указываем пароль, который будет использоваться для авторизации суперпользователя root и E-mail адрес администратора.
4. Указываем сетевые настройки. FQDN обозначает полностью определенное имя домена, например, node01.yourcompany.com.
5. После завершения установки, сервер можно отправить в перезагрузку с помощью кнопки Reboot.
Веб-интерфейс управления станет доступен по адресу:
https://IP_адрес_сервера:8006
Что нужно сделать после установки
Есть несколько важных вещей, которые следует выполнить после установки Proxmox. Расскажем о каждой из них подробнее.
Обновить систему до актуальной версии
Для этого зайдем в консоль нашего сервера и отключим платный репозиторий (доступен только тем, кто купил платную поддержку). Если этого не сделать — apt сообщит об ошибке при обновлении источников пакетов.
1. Открываем консоль и редактируем конфигурационный файл apt:
nano /etc/apt/sources.list.d/pve-enterprise.list
2. В этом файле будет всего одна строка. Ставим перед ней символ «#», чтобы отключить получение обновлений из платного репозитория:
#deb https://enterprise.proxmox.com/debian/pve stretch pve-enterprise
3. Сочетанием клавиш Ctrl+X выполняем выход из редактора, отвечая «Y» на вопрос системы о сохранении файла.
4. Выполняем команду обновления источников пакетов:
apt update
5. Обновляем все пакеты:
apt -y upgrade
Позаботиться о безопасности
Мы можем порекомендовать установить популярнейшую утилиту Fail2Ban, защищающую от атак методом перебора паролей (брутфорс). Принцип ее работы заключается в том, что если злоумышленник превысит определенное количество попыток входа за указанное время с неверным логином/паролем, то его IP-адрес будет заблокирован. Срок блокировки и количество попыток можно указать в конфигурационном файле.
Исходя из практического опыта, за неделю работы сервера с открытым ssh-портом 22 и внешним статическим IPv4 адресом, было более 5000 попыток подобрать пароль. И около 1500 адресов утилита успешно заблокировала. Для выполнения установки приводим небольшую инструкцию:
1. Открываем консоль сервера через веб-интерфейс или SSH.
2. Обновляем источники пакетов:
apt update
3. Устанавливаем Fail2Ban:
apt install fail2ban
4. Открываем конфигурацию утилиты на редактирование:
nano /etc/fail2ban/jail.conf
5. Изменяем переменные bantime (количество секунд на которые будет блокироваться злоумышленник) и maxretry (количество попыток ввода логина/пароля) для каждого отдельного сервиса.
6. Сочетанием клавиш Ctrl+X выполняем выход из редактора, отвечая «Y» на вопрос системы о сохранении файла.
7. Перезапускаем службу:
systemctl restart fail2ban
Проверить статус работы утилиты, например, снять статистику блокировок заблокированных IP-адресов с которых были попытки перебора паролей SSH, можно одной простой командой:
fail2ban-client -v status sshd
Ответ утилиты будет выглядеть примерно так:
root@hypervisor:~# fail2ban-client -v status sshd INFO Loading configs for fail2ban under /etc/fail2ban INFO Loading files: ['/etc/fail2ban/fail2ban.conf'] INFO Loading files: ['/etc/fail2ban/fail2ban.conf'] INFO Using socket file /var/run/fail2ban/fail2ban.sock Status for the jail: sshd |- Filter | |- Currently failed: 3 | |- Total failed: 4249 | `- File list: /var/log/auth.log `- Actions |- Currently banned: 0 |- Total banned: 410 `- Banned IP list:
Аналогичным способом можно закрыть от подобных атак Web-интерфейс, создав соответствующее правило. Пример такого правила для Fail2Ban можно найти в официальном руководстве.
Начало работы
Хочется обратить внимание на то, что Proxmox готов к созданию новых машин сразу после установки. Тем не менее, рекомендуем выполнить предварительные настройки, чтобы в дальнейшем системой было легко управлять. Практика показывает, что гипервизор и виртуальные машины стоит разнести по разным физическим носителям. О том, как это сделать и пойдет речь ниже.
Настроить дисковые накопители
Следующим этапом следует настроить хранилище, которое можно будет использовать для сохранения данных виртуальных машин и резервных копий.
ВНИМАНИЕ! Приведенный ниже пример дисковой разметки можно использовать только для тестовых целей. Для эксплуатации в реальных условиях мы настоятельно рекомендуем использовать программный или аппаратный RAID-массив, чтобы исключить потерю данных при выходе дисков из строя. О том, как правильно приготовить дисковый массив к работе и как действовать в случае аварийной ситуации мы расскажем в одной из следующих статей.
Предположим, что физический сервер имеет два диска — /dev/sda, на который установлен гипервизор и пустой диск /dev/sdb, который планируется использовать для хранения данных виртуальных машин. Чтобы система смогла увидеть новое хранилище, можно воспользоваться самым простым и эффективным методом — подключить его как обычную директорию. Но перед этим следует выполнить некоторые подготовительные действия. В качестве примера посмотрим, как подключить новый диск /dev/sdb, любого размера, отформатировав его в файловую систему ext4.
1. Размечаем диск, создавая новый раздел:
fdisk /dev/sdb
2. Нажимаем клавишу o или g (разметить диск в MBR или GPT).
3. Далее нажимаем клавишу n (создать новый раздел).
4. И наконец w (для сохранения изменений).
5. Создаем файловую систему ext4:
mkfs.ext4 /dev/sdb1
6. Создаем директорию, куда будем монтировать раздел:
mkdir /mnt/storage
7. Открываем конфигурационный файл на редактирование:
nano /etc/fstab
8. Добавляем туда новую строку:
/dev/sdb1 /mnt/storage ext4 defaults 0 0
9. После внесения изменений сохраняем их сочетанием клавиш Ctrl + X, отвечая «Y» на вопрос редактора.
10. Для проверки, что все работает, отправляем сервер в перезагрузку:
shutdown -r now
11. После перезагрузки проверяем смонтированные разделы:
df -H
Вывод команды должен показать, что /dev/sdb1 смонтирован в директорию /mnt/storage. Это значит, что наш накопитель готов к работе.
Добавить новое хранилище в Proxmox
Авторизуемся в панели управления и заходим в разделы «Датацентр» ➝ «Хранилище» ➝ «Добавить» ➝ «Директория».
В открывшемся окне заполняем следующие поля:
- ID — название будущего хранилища;
- Директория — /mnt/storage;
- Содержимое — выделяем все варианты (поочередно щелкая на каждом варианте).
После этого нажимаем кнопку «Добавить». На этом настройка завершена.
Создать виртуальную машину
Для создания виртуальной машины выполняем следующую последовательность действий:
1. Определяемся с версией операционной системы.
2. Заранее закачиваем ISO-образ.
3. Выбираем в меню «Хранилище» только что созданное хранилище.
4. Нажимаем «Содержимое» ➝ «Загрузить».
5. Выбираем из списка ISO-образ и подтверждаем выбор нажатием кнопки «Загрузить».
После завершения операции образ будет отображен в списке доступных.
Создаем нашу первую виртуальную машину:
1. Нажимаем «Создать VM».
2. Заполняем поочередно параметры: «Имя» ➝ «ISO-Image» ➝ Размер и тип жесткого диска ➝ Количество процессоров ➝ Объем оперативной памяти ➝ Сетевой адаптер.
3. Выбрав все желаемые параметры нажимаем «Завершить». Созданная машина будет отображена в меню панели управления.
4. Выбираем ее и нажимаем «Запуск».
5. Переходим в пункт «Консоль» и выполняем установку операционной системы точно таким же образом, как и на обычный физический сервер.
Если необходимо создать еще одну машину — повторяем вышеуказанные операции. После того как все они будут готовы, с ними можно работать одновременно, открывая несколько окон консоли.
Настроить автозапуск
По умолчанию Proxmox автоматически не запускает машины, но это легко решается буквально двумя щелчками мыши:
1. Щелкаем по названию нужной машины.
2. Выбираем вкладку «Опции» ➝ «Запуск при загрузке».
3. Ставим галочку напротив одноименной надписи.
Теперь, в случае перезагрузки физического сервера, VM будет запущена автоматически.
Для продвинутых администраторов имеется еще и возможность указать дополнительные параметры запуска в разделе «Start/Shutdown order». Можно явным образом указать в каком порядке следует запускать машины. Также можно указать время, которое должно пройти до старта следующей VM и время задержки выключения (если операционная система не успеет завершить работу, гипервизор принудительно ее выключит через определенное количество секунд).
Заключение
В этой статье были изложены основы того, как можно начать работать с Proxmox VE и мы надеемся, что она поможет начинающим специалистам сделать первый шаг и попробовать виртуализацию в действии.
Proxmox VE — это действительно очень мощный и удобный инструмент для любого системного администратора; главное не бояться экспериментировать и понять, как это действительно работает.
Если у вас появились вопросы, добро пожаловать в комментарии.
HOWTO: настроить ИБП на Proxmox 5.x
Каждый из моих серверов proxmox имеет собственный выделенный ИБП. Мои серверы маломощны, и ИБП проработает их не менее 2 часов. Я использую ИБП Cyberpower, подключенный через USB.
В этом руководстве в качестве примера будет использоваться ИБП Cyberpower. Очень легко внести пару изменений, чтобы использовать другой ИБП.
Мы будем использовать NUT для тяжелой работы. После этого сервер запустится и выключится, когда заряд батареи достигнет 20%.В качестве бонуса также будут отправлены электронные письма с уведомлением.
SSH на ваш proxmox-сервер с учетной записью с правами root.
Единственный пакет для установки — орех.
> sudo apt установить гайку
Подключите ИБП к USB-порту. Нам нужно найти информацию об устройстве USB для вашего ИБП. Итак, давайте перечислим наши USB-устройства.
> lsusb
Вот мой список USB-устройств. В этом примере меня интересует Cyberpower. Скопируйте идентификатор вашего ИБП.
Bus 002 Устройство 001: ID 1d6b: 0003 Linux Foundation 3.0 корневой хаб Шина 001 Устройство 003: ID 05e3: 0608 Genesys Logic, Inc. Hub Bus 001 Устройство 002: ID 0764: 0501 Cyber Power System, Inc. ИБП CP1500 AVR Шина 001 Устройство 001: ID 1d6b: 0002 Корневой концентратор Linux Foundation 2.0
Создайте следующий файл конфигурации: /etc/nut/ups.conf
maxretry = 3 [theUPS] драйвер = usbhid-ups порт = авто desc = "сервер ИБП"
Нам нужно создать правило udev, чтобы разрешить обычным пользователям доступ к драйверу. Здесь используется ID, который вы скопировали ранее, поэтому udev знает, к какому устройству применяется правило.Итак, создайте: /etc/udev/rules.d/90-nut-ups.rules
# Правило для ИБП Cyberpower ACTION == "добавить", SUBSYSTEM == "usb", ATTR {idVendor} == "0764", ATTR {idProduct} == "0501", MODE = "0660", GROUP = "nut"
Теперь перезапустите udev.
> sudo service udev перезапуск
Затем отключите кабель USB от ИБП и снова подключите его, чтобы правило заработало.
Хорошо. Пришло время настроить NUT для работы в автономном режиме. Замените /etc/nut/nut.conf следующим:
MODE = автономный
У демона ups есть 2 файла конфигурации.Необходимо настроить IP-адрес и порт для прослушивания. Мы также создаем пользователя, который может контролировать ИБП.
Замените /etc/nut/upsd.conf следующим.
# LISTEN <адрес> [<порт>] СЛУШАТЬ 127.0.0.1 3493 СЛУШАТЬ: 1 3493
Замените /etc/nut/upsd.users следующим.
[upsmonitor] пароль = ВАШ ПАРОЛЬ мастер upsmon
Последний файл, который нужно настроить, — это демон мониторинга ИБП. Замените / etc / nut / upsmon.conf следующим образом.
# Команды выключения при пропадании питания МОНИТОРИНГ theUPS @ localhost 1 upsmonitor YOUR_PASSWORD master POWERDOWNFLAG / etc / killpower SHUTDOWNCMD "/ sbin / shutdown -h сейчас"
Включите ореховый сервер и клиентские службы.
> sudo systemctl enable nut-server.service
> sudo systemctl enable nut-client.service
На последнем этапе запускаем серверные и клиентские службы.
> сервис орех-запуск сервера
> сервис орех-запуск клиента
Гайку сложно настроить, но оно того стоит.
.
APC Мониторинг ИБП на Proxmox с автоматическим отключением
ИБП APC подключается к серверу Proxmox VE локально через USB или COM.
В случае сбоя питания Proxmox VE не отключится, когда батарея разряжается.
Просто, потому что на сервере не установлено ничего, что говорило бы о том, что Proxmox VE должен выполнить полное завершение работы виртуальных машин, а затем правильно завершить работу сервера.
С apcupsd это можно сделать.
Он также доступен из браузера, чтобы вы могли видеть оставшийся заряд батареи и многое другое.
Почти каждый ИБП APC должен работать с apcupsd.
Протестировано с:
Proxmox 3.4
APC SC420 (последовательный интерфейс, подключенный к COM1 на сервере)
APC SC450 (последовательный интерфейс, подключенный к COM1 на сервере)
MGE Evolution 1550 (последовательный интерфейс, подключенный к USB на сервере)
Установка:
Подготовьте свои виртуальные машины, чтобы Proxmox мог их корректно выключить.
Вы можете узнать, как это сделать, в руководстве по установке Proxmox First Server.
— Откройте Proxmox « Shell »
Обновите репозитории пакетов.
type: apt-get update
Теперь пора установить веб-сервер, который будет использоваться для проверки состояния батареи и т. Д. В браузере.
тип: apt-get install apache2
Время для установки apcupsd и необходимых пакетов
тип: apt-get install apcupsd apcupsd-doc apcupsd-cgi
Один установленный настройте некоторые параметры в файле конфигурации.
В конфигурационном файле все хорошо объяснено.
тип: nano /etc/apcupsd/apcupsd.conf
Ниже приведены настройки, которые я изменил или которые следует проверить. Вы должны меняться в соответствии с вашей ситуацией.
ИМЯ ИБП APC-SC402
UPSCABLE smart
UPSTYPE apcsmart
DEVICE / dev / ttyS0 (это COM1 на моем сервере)
ONBATTERYDELAY 6
BATTERYLEVEL 25 (когда уровень заряда батареи достигнет 25%) МИНУТ 10 (или когда остается 10 минут заряда батареи)
TIMEOUT 0
SELFTEST 336 ON
Нажмите « CTRL + X » для выхода.
Нажмите « Y » для сохранения.
Теперь активируйте только что отредактированный файл конфигурации
типа: nano / etc / default / apcupsd
Измените «ISCONFIGURED» на yes
ISCONFURED = yes
Нажмите « CTRL + X » для выхода.
Нажмите « Y » для сохранения.
Запустите APCUPS deamon
введите: /etc/init.d/apcupsd start
Теперь откройте свой браузер и перейдите по следующей ссылке:
http: // your-proxmox-ip / cgi-bin / apcupsd / multimon.cgi
С статусом apcaccess вы можете проверить ИБП в командной строке
Больше нечего объяснять, теперь вы должны знать, работает ли он;)
Различные файлы конфигурации для моделей ИБП:
APC SC402 / SC450 (Serial Подключение)
=============================================== =============================== ИМЯ ИБП
APC-SC402
UPSCABLE smart
UPSTYPE apcsmart
DEVICE / dev / ttyS0 (это COM1 на моем сервере)
========================================= ============================
MGE Evolution 1550 (USB-соединение
=========================================== ==========================
ИМЯ ИБП MGE-1550
ИБП USB
ИБП USB
УСТРОЙСТВО
========== ================================================== =========
.
Proxmox VE Поддержка и услуги
Вам нужна помощь с Proxmox VE? Есть много способов получить поддержку: если у вас есть технический запрос, вы можете отправить запрос экспертам Proxmox или задать вопрос на форуме сообщества. Вы можете заказать обучение для себя и своей команды или просто прочитать документацию и посмотреть несколько видеоуроков.
Ищете поддержку Proxmox Mail Gateway?
Подписки на Proxmox VE
Подписка Proxmox VE — это простое и доступное решение для получения доступа к стабильному репозиторию Proxmox Enterprise, регулярным обновлениям программного обеспечения и улучшениям безопасности, а также к технической поддержке со стороны группы поддержки Proxmox.
Сочетая отличное программное обеспечение с открытым исходным кодом с услугами и поддержкой гарантированного качества, подписка Proxmox VE Subscription помогает вам развертывать и поддерживать лучшую стабильную и безопасную среду виртуализации с открытым исходным кодом в вашей корпорации.
Выберите план подписки
Техническая поддержка через портал для клиентов
С легкостью создавайте заявки в службу поддержки и управляйте ими через портал для клиентов Proxmox. Служба поддержки — подходящее место, если у вас есть технический запрос и вам нужна помощь экспертов Proxmox для решения проблемы.
Клиентский портал доступен всем подписчикам с подпиской Basic, Standard или Premium.
Отправить запрос в службу поддержки
Поддержка через форум сообщества
Форум поддержки сообщества Proxmox поддерживается большим сообществом и является правильным местом для начала, если у вас есть вопросы по Proxmox VE. Вы можете опубликовать свой запрос или просмотреть уже отвеченные вопросы.
Поиск на форуме поддержки Proxmox
Обучение
Техническое обучение поможет вам легко освоить виртуализацию серверов с помощью Proxmox VE.
Найти обучение
Proxmox VE Документация
Документация Proxmox VE — это полное руководство по администрированию Proxmox VE. Он также включен в каждую установку Proxmox VE и доступен через контекстные или общие кнопки справки.
Прочтите документацию Proxmox VE
Proxmox VE Вики
Взгляните на Wiki проекта Proxmox VE, где вы можете найти множество HOW-TO и устранения неисправностей, дорожную карту и историю выпусков, руководство по быстрой установке и многое другое.
Перейти к Proxmox VE Wiki
Список рассылки (по техническим вопросам)
Присоединяйтесь к обсуждению поддержки и разработки Proxmox, которое постоянно проходит в наших списках рассылки. У Proxmox есть список рассылки под названием Proxmox Users pve-user , к которому вы можете присоединиться или просто просматривать.
pve-user (используйте этот список для технических вопросов):
Список пользователей PVE: https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-user
Архив: https: // lists.proxmox.com/pipermail/pve-user
Если вас интересует список рассылки разработчиков, дополнительную информацию можно найти на странице Примите участие
Видеоуроки
Посмотрите видеоуроки по Proxmox VE.
Обучающие видео по Proxmox VE
.
Proxmox VE Требования к оборудованию
Для производственных серверов необходимо качественное серверное оборудование. Proxmox VE поддерживает кластеризацию, это означает, что несколькими установками Proxmox VE можно централизованно управлять благодаря интегрированной функциональности кластера. Proxmox VE может использовать локальное хранилище, такое как (DAS), SAN, NAS, а также совместно используемое и распределенное хранилище (Ceph).
Рекомендуемое оборудование
- Intel EMT64 или AMD64 с флагом процессора Intel VT / AMD-V.
- Память, минимум 2 ГБ для ОС и сервисов Proxmox VE.Плюс выделенная память для гостей. Для Ceph или ZFS требуется дополнительная память, примерно 1 ГБ памяти на каждый ТБ используемой памяти.
- Быстрое хранилище с резервированием, лучшие результаты с SSD-дисками.
- : аппаратный RAID с защищенным аккумулятором кешем записи (BBU) или без RAID с кешем ZFS и SSD.
- Хранилище ВМ: для локального хранилища используйте аппаратный RAID с резервным питанием от батареи кэша записи (BBU) или без RAID для ZFS. Ни ZFS, ни Ceph не совместимы с аппаратным RAID-контроллером.Также возможно общее и распределенное хранилище.
- NIC с избыточностью Gbit, дополнительные NIC в зависимости от предпочтительной технологии хранения и настройки кластера — также поддерживается 10 Gbit и выше.
- Для сквозной передачи PCI (e) необходим ЦП с флагом ЦП VT-d / AMD-d.
Хранилище ОС
Для оценки
Минимальное оборудование (только для тестирования)
- ЦП: 64-битный (Intel EMT64 или AMD64)
- ЦП / материнская плата с поддержкой Intel VT / AMD-V (для поддержки полной виртуализации KVM)
- Минимум 1 ГБ ОЗУ
- Жесткий диск
- Одна сетевая карта
Тестирование с виртуализацией рабочего стола
Proxmox VE можно установить в качестве гостя на все распространенные решения виртуализации настольных компьютеров, если они поддерживают вложенную виртуализацию.
Поддерживаемые веб-браузеры для доступа к веб-интерфейсу
Для использования веб-интерфейса необходим современный браузер, в том числе:
- Firefox, выпуск текущего года или последний выпуск расширенной поддержки
- Chrome, выпуск текущего года
- Microsoft в настоящее время поддерживает версию Edge
- Safari, выпуск текущего года
Proxmox VE в системе Debian
При желании вы можете установить Proxmox VE поверх работающей 64-разрядной версии Debian.Это особенно интересно, если вы хотите иметь нестандартную схему разделов.
Прочтите, как установить Proxmox VE в системе Debian>
.