Цей сайт використовує файли cookie

Цей веб-сайт використовує файли cookie, щоб забезпечити вам найкращий досвід використання нашого веб-сайту.

Дізнайтесь більше Погоджуюсь

00. Основні поняття та вимоги Друк

  • ProxmoxKVM WHMCS module
  • 0

 Замовити зараз | Завантажити | ЧаПи

Вимоги для успішної роботи модуля

  • Мінімальна версія WHMCS 8+
  • Мінімальна версія сервера або кластера Proxmox 7+
  • Постійна і стабільна доступність мережі між системами
  • У випадку використання статичних IP-адрес, необхідно мати необхідну кількість вільних IP-адрес, які будуть зарезервовані для використання в послугах віртуальної машини.
  • Якщо ви використовуєте сервер DHCP у мережі віртуальної машини, вам також потрібно належним чином налаштувати його.
  • Якщо ви використовуєте VLAN у своїй мережі, тоді вам потрібно правильно налаштувати внутрішню мережу так, щоб VLAN був доступний на всіх вузлах кластера.
  • Для правильної роботи консолі noVNC необхідно налаштувати проксі-сервер VNC на окремому обладнанні (наприклад, віртуальній машині), яка матиме доступ до Інтернету та безпечної мережі кластера / сервера Proxmox.
  • Вам потрібно налаштувати проксі-сервер DNS API. Для синхронізації прямих та зворотних DNS-записів.

Для управління пулами IP-адрес IPv4 і IPv6, зонами DNS
вам потрібно встановити додаток-модуль PUQ-Customization (безкоштовно)

https://doc.puq.info/books/puq-customization-whmcs-addon
https://download.puqcloud.com/WHMCS/addons/PUQ-Customization/
https://puqcloud.com/whmcs-addon-puq-customization.php

Якщо модуль встановлено для використання DHCP-сервера, модуль не керує виділенням IP-адрес та правилами брандмауера, а тільки пропускною здатністю та налаштуванням відповідних мостів та VLAN на мережній картці

У випадку використання одного сервера Proxmox потрібне наявність сховища даних Directory або NFS.

У випадку використання кластера Proxmox кластер повинен мати спільне мережеве сховище.

  • На одному мережевому сховищі повинні бути як шаблони віртуальних машин, так і диски віртуальних машин. Дозволяється конфігурація, коли шаблон віртуальної машини має 2 диски, які можуть зберігатися на різних мережевих сховищах. Наприклад, системний диск віртуальної машини зберігається на швидкому сховищі, а додатковий диск - на повільному сховищі, призначеному для резервних копій всередині віртуальної машини.
  • Для образів ISO можна використовувати інше мережеве сховище
  • Для роботи резервних копій також потрібне мережеве сховище. Ви можете використовувати Proxmox Backup і ваш сервер все ще повинен бути доступним для всіх вузлів кластера.

Конфігурація сховищ, призначених для резервних копій, повинна бути налаштована наперед, щоб вони не обертали резервні копії. Або обертання було налаштовано таким чином, щоб воно не заважало кількості запасних копій у пакеті клієнта.

Якщо ви хочете використовувати правила брандмауера, які будуть захищати від підробки IP-адрес віртуальних машин, вам заздалегідь потрібно належним чином налаштувати брандмауер на вашому сервері/кластері. Політика для вхідного та вихідного трафіку повинна бути "ВІДМОВА". Модуль додає дозвільні правила брандмауера на віртуальну машину з IP-адресою цієї машини.

Логіка модуля.

Створення нової віртуальної машини.
  1. Після того, як клієнт замовив та оплатив послуги віртуальної машини
    • Вибирається доступна IP-адреса зі списку в налаштуваннях сервера. !!! Якщо послуга перебуває в стані "Завершено", її призначений IP-адреса буде враховуватися при створенні нових машин та може бути використаний для нової машини.!!!
    • Вибирається доступний ідентифікатор віртуальної машини таким чином, щоб він був унікальним в системі WHMCS та на сервері Proxmox.
    • Генеруються і заповнюються поля з іменем домену та іменем віртуальної машини. Процедура використовує дані, що постачаються в пакеті віртуальної машини.
    • Починається процес клонування віртуальної машини з потрібного шаблону віртуальної машини. 
  2. Клієнту надсилаються сповіщення про те, що віртуальна машина знаходиться в процесі створення (Ласкаво просимо email)
  3. Внутрішній процес cron моніторить та дбає про належний процес встановлення.
  4. Кожного разу при виконанні cron, модуль намагається продовжувати налаштування віртуальної машини, якщо процес клонування завершено, кроки конфігурації віртуальної машини в роботі cron:
    • Записати MAC-адресу мережної карти віртуальної машини в базі даних WHMCS
    • Встановити записи DNS
    • Встановити CPU та RAM
    • Встановити розмір системного диска
    • Встановити пропускну здатність системного диска
    • Створити додатковий диск, якщо потрібно
    • Встановити розмір додаткового диска, якщо потрібно
    • Встановити пропускну здатність додаткового диска, якщо потрібно
    • Встановити мережевий міст та VLAN та пропускну здатність
    • Встановити правила брандмауера
    • Налаштувати cloud-nit (користувач, пароль, мережева конфігурація)
    • Запустити VM
    • Повідомити клієнта електронною поштою, що віртуальна машина була створена, і надати параметри доступу IP, користувач, пароль

Приклад виводу з журналу crontab після успішного створення віртуальної машини

===========================================
VM_id: 2001
Service_id: 4785
User_id: 1
VMSetDedicatedIp: Локальний статус повинен бути creation
VMClone: Локальний статус повинен бути set_ip
VMSetCpuRam: успішно
VMSetSystemDiskSize: успішно
VMSetSystemDiskBandwidth: успішно
VMSetCreatedAdditionalDisk: успішно
VMSetAdditionalDiskSize: успішно
VMSetAdditionalDiskBandwidth: успішно
VMSetNetwork: успішно
VMSetFirewall: успішно
VMSetCloudinit: успішно
VMStart: успішно
Віддалений статус: running
Локальний статус: готовий
ServiceSendEmailVMReady: OK

 

Перевстановлення віртуальної машини.

Можливо перевстановити VM з панелі WHMCS.

Процес перевстановлення видаляє віртуальну машину і знову створює її, використовуючи параметри та характеристики та актуальні дані пакета.

  1. Після того, як була обрана опція перевстановлення та запущено вибір віртуальної машини, віртуальна машина видаляється. Резервні копії не видаляються. Після видалення починається процес клонування віртуальної машини з обраного шаблону віртуальної машини.
  2. Кожного разу при виконанні cron, модуль намагається продовжувати налаштування віртуальної машини, якщо процес клонування завершено, кроки конфігурації віртуальної машини в роботі cron:
    • Встановити CPU та RAM
    • Видалити записи DNS
    • Встановити записи DNS
    • Встановити розмір системного диска
    • Встановити пропускну здатність системного диска
    • Створити додатковий диск, якщо потрібно
    • Встановити розмір додаткового диска, якщо потрібно
    • Встановити пропускну здатність додаткового диска, якщо потрібно
    • Встановити мережевий міст та VLAN та пропускну здатність та MAC-адрес
    • Встановити правила брандмауера
    • Налаштувати cloud-nit (користувач, пароль, мережева конфігурація)
    • Запустити VM
    • Повідомити клієнта електронною поштою, що віртуальна машина готова, і надати параметри доступу IP, користувач, пароль

 

Знімки
  1. Клієнт має можливість створювати/видаляти/відновлювати знімки своєї віртуальної машини.
  2. Кількість знімків обмежена в налаштуваннях пакету.
  3. Тривалість знімків налаштована в конфігурації пакету (в межах від 1 до 10 днів максимум)
  4. Знімки автоматично видаляються, коли закінчується їхня тривалість життя (з використанням роботів crontab)
 
Резервні копії
  1. Клієнт має пряму можливість створювати/видаляти/відновлювати резервні копії своєї віртуальної машини.
  2. Кількість резервних копій обмежена в налаштуваннях пакету.
  3. У разі налаштування розкладу для створення автоматичних резервних копій клієнт має можливість вибрати лише день, коли повинна бути створена резервна копія. Часи створення резервних копій генеруються автоматично та випадковим чином кожного разу, коли зберігається завдання автоматичної резервної копії.
  4. Як працюють автоматичні резервні копії.
    • під час виконання cron перевіряється, яка віртуальна машина має розклад на сьогодні, і якщо час виконання запланованої копії молодший, ніж момент, коли виконується робота crona
    • перевіряється, чи немає сьогоднішньої резервної копії
    • перевіряється, чи є вільне місце для резервної копії і, якщо немає, видаляється найстаріша резервна копія
    • створюється резервна копія
Відновлення резервних копій
  1. Перед відновленням резервної копії віртуальна машина повинна бути вимкненою.
  2. Після успішного відновлення резервної копії модуль виконує наступні процеси з віртуальною машиною.
    • Встановити CPU та RAM за потреби
    • Встановити розмір системного диска за потреби
    • Встановити пропускну здатність системного диска за потреби
    • Створити додатковий диск, якщо потрібно
    • Встановити розмір додаткового диска, якщо потрібно
    • Встановити пропускну здатність додаткового диска, якщо потрібно
    • Встановити мережевий міст та VLAN та пропускну здатність та MAC-адрес за потреби
    • Запустити VM
    • Повідомити клієнта електронною поштою, що віртуальна машина готова для відновлення резервної копії
  3. Якщо з якої-небудь причини не вдалося відновити віртуальну машину з резервної копії, клієнту надається можливість спробувати відновити резервну копію ще раз або перевстановити віртуальну машину

Під час створення та відновлення рез ервної копії всі операції з управління віртуальною машиною призупиняються

 
Скидання пароля

Процедура скидання пароля буде працювати, якщо пакети, що відповідають за роботу cloud-init, не були видалені з віртуальної машини

  1. Перед скиданням пароля віртуальна машина повинна бути вимкненою.
  2. Процеси, які відбуваються під час процедури зміни пароля
    • генерується новий випадковий пароль та записується в налаштування служби клієнта
    • Налаштувати cloud-nit (користувач, пароль, мережева конфігурація)
    • Запустити VM
 
Підключення образу ISO

ISO-зображення налаштовані та зберігаються у стандартний спосіб Proxmox. Потрібно підготувати сховище (спільне сховище у разі кластера Proxmox) та завантажити ISO-зображення заздалегідь.

Для організації та полегшення вибору зображення модуль використовує метод відображення, який слідує конвенції форматування імен файлів. Модуль відображає назви ISO-зображень, взяті з Proxmox у панелі WHMCS. Слід звернути увагу на правильність назв файлів зображень.

ISO-зображення каталогізовані та впорядковані за символом "-" у назві ISO-зображення.

Для назви каталогу відповідає перше входження до символу "-"
Якщо назва ISO-зображення не має символа "-", то таке зображення буде скаталогізовано в каталогу ІНШЕ.

image-1662726572502.png

 

 

 

 
 

 

 


Ця відповідь Вам допомогла?

« Назад

Powered by WHMCompleteSolution