Lvectl - утиліта для керування LVE - Lightweight Virtual Environment - 2026

Материал из Wiki - Iphoster - the best ever hosting and support. 2005 - 2026
Перейти к:навигация, поиск

Published: 2026-08-06


lvectl - утиліта для керування LVE - Lightweight Virtual Environment - 2026

Вступ: що таке LVE

LVE (Lightweight Virtualized Environment) - ключова технологія операційної системи CloudLinux OS, призначена для ізоляції та обмеження ресурсів окремих користувачів (орендарів) на серверах спільного хостингу (shared hosting). На відміну від повноцінних контейнерів або віртуальних машин, LVE не створює окремого середовища для кожного користувача, а працює на рівні ядра ОС, обмежуючи в реальному часі споживання ресурсів процесами конкретного користувача.

Концепція проста: кожному користувачеві призначається унікальний ідентифікатор (UID), і всі процеси, запущені від імені цього користувача, автоматично потрапляють у його власне LVE. Якщо користувач вичерпає виділені ресурси - CPU, пам'ять, кількість процесів або швидкість дискового введення-виведення - він не «покладе» сусідів по серверу, а просто буде обмежений у швидкості роботи. Саме тому LVE називають «легкою віртуалізацією»: вона не потребує окремих ОС, не споживає зайвої пам'яті та не сповільнює роботу сервера.

На практиці LVE використовується насамперед хостинг-провайдерами для того, щоб:

  • гарантувати кожному клієнту стабільну роботу незалежно від навантаження сусідів;
  • запобігати ситуації, коли один «проблемний» сайт або скрипт забирає всі ресурси сервера;
  • продавати тарифи з чіткими ресурсними лімітами (CPU, RAM, I/O);
  • спрощувати підтримку: замість ручної «боротьби» з перевантаженнями адміністратор просто налаштовує ліміти.

Усі середовища LVE створюються на основі ідентифікаторів користувачів і керуються спеціальною консольною утилітою lvectl.

Що таке lvectl

lvectl - основна консольна утиліта CloudLinux для керування LVE. Вона входить до складу пакетів CloudLinux OS і дозволяє адміністратору:

  • створювати та видаляти LVE;
  • встановлювати та змінювати ліміти ресурсів (CPU, пам'ять, процеси, I/O);
  • застосовувати налаштування на льоту, без перезавантаження сервера;
  • працювати з пакетами (наборами лімітів) та реселерами;
  • отримувати інформацію про поточний стан LVE та завантажені ліміти;
  • автоматизувати налаштування через скрипти та JSON-вивід.

Офіційна документація CloudLinux зазначає, що для більшості панелей керування існує зручний плагін LVE Manager, який дозволяє керувати лімітами через графічний інтерфейс. Однак розуміння командного рядка та утиліти lvectl необхідне в таких випадках:

  • панель не підтримується LVE Manager (наприклад, нестандартна панель або власна білінгова система);
  • потрібне масове або скриптове налаштування лімітів (наприклад, під час міграції клієнтів);
  • потрібно тонко налаштувати параметри, недоступні в графічному інтерфейсі;
  • необхідно налагодити роботу LVE при виникненні проблем.

Утиліта працює лише на серверах із встановленою CloudLinux OS. На звичайних дистрибутивах (CentOS, Ubuntu тощо) lvectl недоступна, оскільки LVE реалізується спеціальним ядром CloudLinux.

Синтаксис

Загальний синтаксис утиліти виглядає так:

lvectl command [veid] [options]

Тут:

  • command - команда, яку потрібно виконати (наприклад, set, list, limits);
  • veid - ідентифікатор LVE (зазвичай UID користувача) або ім'я користувача для команд типу set-user;
  • options - додаткові параметри команди (ліміти, прапорці виводу тощо).

Багато команд працюють і без зазначення veid - наприклад, lvectl list показує всі завантажені LVE.

Основні команди

Нижче наведено повну таблицю команд утиліти lvectl з коротким описом:

Команда Опис
apply Застосувати налаштування LVE до вказаного контейнера
apply all Застосувати налаштування до всіх LVE
apply-many Застосувати ліміти LVE одразу до кількох користувачів (UID читаються з stdin)
set Встановити параметри LVE або створити новий LVE
set-user Встановити параметри LVE за ім'ям користувача або створити LVE для користувача
set-reseller Створити контейнер LVP для реселера та перемістити туди LVE
set-reseller-default Встановити ліміти за замовчуванням для користувачів усередині LVP
sync-map Оновити карту реселерів і користувачів для коректної роботи лімітів
list Показати завантажені LVE
list-user Показати LVE з іменами користувачів замість ID
limits Показати поточні ліміти LVE
all-user-list Показати ліміти користувачів разом з інформацією про пакети
delete Видалити LVE та повернути налаштування до значень за замовчуванням
delete-user Видалити LVE користувача та повернути налаштування за замовчуванням
destroy Знищити активний LVE без зміни конфігураційного файлу
destroy all Знищити всі активні LVE
package-set Налаштувати параметри LVE для пакета
package-list Показати параметри LVE для пакетів
package-delete Видалити налаштування LVE для пакета
paneluserslimits Показати поточні ліміти користувачів панелі керування
paneluserlimits Показати ліміти одного користувача панелі керування
limit Обмежити PID усередині вказаного LVE
release Звільнити PID з LVE
set-binary Додати бінарний файл для запуску всередині LVE
del-binary Видалити бінарний файл зі списку LVE
list-binaries Показати список бінарних файлів LVE
reload-binaries Перезавантажити список бінарних файлів
help Показати довідку
version Показати версію lvectl
lve-version Показати версію LVE

Розглянемо кожну групу команд детальніше.

Команди застосування налаштувань: apply, apply all, apply-many

Налаштування, внесені через lvectl set, не завжди застосовуються одразу до вже запущених процесів. Команда apply примусово застосовує збережені ліміти до конкретного LVE:

lvectl apply 504

Щоб застосувати налаштування до всіх завантажених LVE одразу, використовується:

lvectl apply all

Команда apply-many призначена для пакетного застосування лімітів: вона читає список UID зі стандартного введення (по одному в рядку) і застосовує до кожного налаштування LVE. Це особливо зручно в скриптах, де список користувачів формується динамічно - наприклад, через cut з /etc/passwd:

cut -d: -f3 /etc/passwd | lvectl apply-many

Команди встановлення: set і set-user

Команда set - центральна команда утиліти. Вона встановлює ліміти LVE за ідентифікатором користувача або створює новий LVE, якщо його ще не існує. Якщо LVE з указаним veid уже створений, його ліміти буде оновлено:

lvectl set 504 --speed=150%

Команда set-user робить те саме, але замість числового UID приймає ім'я користувача. Це зручніше та наочніше в повсякденній роботі:

lvectl set-user wiki --speed=600%

Важливо розуміти різницю: set працює з ідентифікаторами, а set-user - з іменами. Обидві команди автоматично зберігають зміни в конфігураційний файл /etc/container/ve.cfg.

Команди відображення: list, list-user, limits, all-user-list

Перегляд списку завантажених (активних) LVE:

lvectl list

Той самий список, але з іменами користувачів замість числових ідентифікаторів:

lvectl list-user

Перегляд поточних лімітів конкретного LVE за UID:

lvectl limits 504

За даними офіційної документації CloudLinux, у виводі команди limits відображаються такі колонки:

  • обмеження швидкості CPU (CPU speed limit);
  • ліміт фізичної пам'яті (physical memory limit);
  • ліміт віртуальної пам'яті (virtual memory limit);
  • максимальна кількість вхідних процесів (entry processes);
  • максимальна кількість процесів (number of processes);
  • обмеження дискового введення-виведення (I/O);
  • обмеження операцій введення-виведення за секунду (I/O per second).

Команда all-user-list показує ліміти всіх користувачів разом з інформацією про призначені пакети - зручно для аудиту тарифів і перевірки відповідності налаштувань.

Команди видалення: delete, delete-user, destroy

Команда delete видаляє LVE та повертає налаштування до значень за замовчуванням:

lvectl delete 504

Команда delete-user робить те саме за ім'ям користувача:

lvectl delete-user wiki

Команда destroy знищує активний LVE без зміни конфігураційного файлу - тобто зміни діють до перезавантаження або повторного застосування налаштувань. Це корисно, коли потрібно «м'яко» перестворити середовище:

lvectl destroy 504

Повне скидання всіх активних LVE виконується командою:

lvectl destroy all

Команди панелі керування: paneluserslimits, paneluserlimits

Ці команди показують ліміти користувачів панелі керування. paneluserslimits виводить поточні ліміти всіх користувачів, а paneluserlimits - ліміти одного конкретного користувача. Вони корисні при інтеграції lvectl з білінговими системами та хостинг-панелями.

Параметри обмежень LVE

Основні параметри, за допомогою яких задаються ліміти ресурсів, наведено в таблиці:

Параметр Опис
--speed=N% Обмеження CPU у відсотках. 100% = одне ядро CPU
--speed=Nmhz Обмеження CPU у мегагерцах/гігагерцах (MHz/GHz)
--io=N Обмеження швидкості дискового введення-виведення (КБ/с)
--iops=N Обмеження кількості операцій введення-виведення за секунду
--pmem=N Обмеження фізичної пам'яті (Physical Memory)
--vmem=N Обмеження віртуальної пам'яті
--mem=N Аліас для vmem (застарілий параметр)
--nproc=N Максимальна кількість процесів користувача
--maxEntryProcs=N Максимальна кількість вхідних процесів

Розглянемо кожен параметр детальніше.

Обмеження CPU: --speed

Параметр --speed - найважливіший і найчастіше використовуваний. Він задає граничне споживання процесорного часу у відсотках, де 100% відповідає одному повному ядру CPU:

  • --speed=100% - одне ядро;
  • --speed=200% - два ядра;
  • --speed=600% - шість ядер;
  • --speed=50% - половина ядра.

Приклад встановлення ліміту «півтора ядра» з офіційної документації CloudLinux:

lvectl set 504 --speed=150%
lvectl limits 504

При встановленні значення менше 100% CPU ділиться між ядрами, тому навіть пів відсотка може бути розподілено по кількох ядрах. Також доступна форма завдання обмеження в мегагерцах:

lvectl set-user wiki --speed=2500mhz

Обмеження пам'яті: --pmem і --vmem

Фізична пам'ять (pmem) - це реальна оперативна пам'ять, яку можуть використовувати процеси користувача. Ліміт задається в мегабайтах або гігабайтах:

lvectl set-user wiki --pmem=4096M

Віртуальна пам'ять (vmem) - це адресний простір процесів, який, як правило, більший за фізичну пам'ять (пам'ять може бути відображена, але не задіяна). У більшості випадків достатньо налаштувати pmem, а vmem залишити «нескінченною» або зі значним запасом. Застарілий аліас --mem відповідає vmem і не рекомендується до використання.

Обмеження дискового введення-виведення: --io і --iops

Параметр --io обмежує середню швидкість читання/запису з диска в кілобайтах за секунду:

lvectl set 504 --io=2048

Параметр --iops обмежує кількість операцій введення-виведення за секунду (IOPS). Це важливо для захисту дискових масивів від «паразитного» навантаження - наприклад, коли скрипт користувача починає нескінченно читати з диска.

Обмеження процесів: --nproc і --maxEntryProcs

Параметр --nproc обмежує загальну кількість процесів, які може запустити користувач:

lvectl set-user wiki --nproc=100

Параметр --maxEntryProcs обмежує кількість «вхідних» процесів - тих, що запускаються від імені користувача в момент перевищення ліміту. Це захисний механізм: коли користувач досягає своєї межі процесів, нові спроби запуску потрапляють у «чергу очікування» та запускаються лише після звільнення ресурсів, замість того щоб впасти з помилкою.

Додаткові параметри

Окрім параметрів лімітів, у lvectl є допоміжні прапорці:

Параметр Опис
--json Вивід результату у форматі JSON
--bytes Показувати ліміти в байтах (працює лише разом із --json)
--unlimited Зняти всі обмеження
--reseller Вказати власника-реселера
--save Зберегти налаштування (застарілий параметр)
--save-all-parameters Зберегти всі параметри, включно зі значеннями за замовчуванням
--skip-update-cfg Не оновлювати файл /etc/container/ve.cfg
--save-username Зберегти ім'я користувача в конфігурації
--default Скинути вибрані ліміти до значень за замовчуванням

Повне скидання лімітів: --unlimited

Параметр --unlimited знімає всі обмеження з LVE, роблячи їх «безлімітними». В офіційній документації CloudLinux це показано на прикладі:

lvectl set 504 --unlimited
lvectl limits 504

Після цієї команди всі ліміти (CPU, пам'ять, I/O, процеси) стануть нескінченними. Застосовувати її варто обережно - зняття обмежень з одного користувача може негативно позначитися на сусідах по серверу.

JSON-вивід: --json і --bytes

Параметр --json перемикає вивід утиліти у машинозчитуваний формат JSON. Це відкриває широкі можливості для автоматизації: можна писати скрипти на Python, PHP, Bash та інших мовах, які отримують ліміти та стан LVE у зручному вигляді:

lvectl limits 504 --json

Параметр --bytes використовується лише разом із --json і змушує виводити значення пам'яті в байтах замість «людиночитабельних» одиниць (КБ, МБ, ГБ). Це спрощує програмну обробку даних, позбавляючи необхідності розбирати суфікси одиниць вимірювання.

Практичні приклади

Розглянемо типовий сценарій роботи адміністратора хостингу - від первинного огляду до встановлення лімітів, дотримуючись офіційної документації CloudLinux.

Крок 1. Перегляд списку LVE

Перше, що робить адміністратор, - дивиться, які LVE завантажені на сервері:

lvectl list

Команда показує активні середовища, тобто користувачів, чиї процеси в цей момент виконуються на сервері.

Крок 2. Визначення UID користувача

Щоб працювати з конкретним користувачем, потрібно дізнатися його ідентифікатор. В офіційному прикладі це користувач cltest3:

id cltest3

Вивід покаже uid, gid та групи користувача. Саме uid використовується як veid у командах lvectl.

Крок 3. Перегляд поточних лімітів

Тепер можна подивитися ліміти користувача за його ідентифікатором:

lvectl limits 504

У виводі буде перелічено всі сім колонок: швидкість CPU, фізична пам'ять, віртуальна пам'ять, вхідні процеси, кількість процесів, I/O та IOPS.

Крок 4. Встановлення ліміту CPU

Змінимо ліміт CPU до півтора ядра:

lvectl set 504 --speed=150%
lvectl limits 504

Другою командою перевіряємо, що зміни застосувалися.

Крок 5. Встановлення кількох лімітів однією командою

В одній команді можна комбінувати будь-яку кількість параметрів. Наприклад, встановимо один повний відсоток CPU (100%), фізичну пам'ять 1 ГБ та обмеження дискового введення-виведення 2048 КБ/с:

lvectl set 504 --speed=100% --pmem=1G --io=2048
lvectl limits 504

Цей підхід зручний тим, що ліміти застосовуються атомарно та одним записом у конфігураційний файл.

Крок 6. Зняття всіх обмежень

Повернемо користувачеві безлімітний режим:

lvectl set 504 --unlimited
lvectl limits 504

Крок 7. Встановлення лімітів за ім'ям користувача

Для повсякденної роботи зручніше використовувати set-user - не потрібно пам'ятати числові ідентифікатори:

lvectl set-user wiki --speed=600% --pmem=4096M

Ця команда обмежує користувача wiki шістьма ядрами CPU (600%) і чотирма гігабайтами фізичної пам'яті.

Моніторинг: lvetop і lveps

Для контролю поточного використання ресурсів LVE в CloudLinux передбачено дві додаткові утиліти.

lvetop

Утиліта lvetop показує поточне споживання ресурсів усіма LVE в реальному часі - по суті, це аналог top, але в розрізі середовищ LVE. Вона показує, хто з користувачів скільки CPU, пам'яті та I/O споживає просто зараз:

lvetop

Згідно з офіційною документацією CloudLinux, саме lvetop рекомендується використовувати, щоб побачити поточне навантаження по LVE.

lveps

Утиліта lveps дає детальнішу інформацію про процеси всередині LVE. Запущена з ключем -p, вона перелічує всі процеси та потоки (threads), що належать середовищу:

lveps -p

Це незамінний інструмент під час діагностики: якщо сайт користувача гальмує, за допомогою lveps можна швидко визначити, який саме процес (або їх множина) вичерпує ресурси LVE.

Робота з пакетами

Пакети (packages) у CloudLinux - це іменовані набори лімітів, які можна призначати користувачам. Завдяки пакетам адміністратору не потрібно вводити десятки параметрів для кожного клієнта: достатньо один раз створити пакет, що відповідає тарифу, і призначити його.

Команди керування пакетами:

  • lvectl package-set - створити або змінити параметри LVE для пакета;
  • lvectl package-list - показати параметри LVE всіх пакетів;
  • lvectl package-delete - видалити налаштування LVE для пакета.

Приклад створення пакета start із лімітом CPU 100% і пам'яттю 1 ГБ:

lvectl package-set start --speed=100% --pmem=1G

Перегляд усіх пакетів:

lvectl package-list

Видалення пакета:

lvectl package-delete start

При призначенні пакета користувачеві через панель керування або безпосередньо в конфігураційному файлі LVE користувача автоматично успадковує ліміти пакета. Команда all-user-list показує ліміти користувачів разом із призначеними пакетами - зручно для звірки з тарифною сіткою.

Робота з реселерами (LVP)

CloudLinux підтримує концепцію LVP (Lightweight Virtualized Provider) - контейнерів реселерів, усередині яких групуються LVE користувачів даного реселера. Це дозволяє обмежувати сумарні ресурси всіх клієнтів одного реселера, а не лише окремих користувачів.

Команди керування реселерами:

  • lvectl set-reseller - створити контейнер LVP для реселера та перемістити туди LVE;
  • lvectl set-reseller-default - встановити ліміти за замовчуванням для користувачів усередині LVP;
  • lvectl sync-map - оновити карту відповідності реселерів і користувачів.

Приклад створення LVP для реселера reseller1:

lvectl set-reseller reseller1

Приклад встановлення лімітів за замовчуванням для користувачів усередині LVP:

lvectl set-reseller-default reseller1 --speed=100%

Після зміни складу клієнтів реселера (наприклад, при міграції користувача між реселерами) необхідно оновити карту відповідності:

lvectl sync-map

Параметр --reseller при встановленні лімітів дозволяє явно вказати власника-реселера:

lvectl set-user client1 --reseller=reseller1 --speed=100%

LVP дає провайдерам гнучку дворівневу модель: обмеження «зверху» (на всіх клієнтів реселера) і «знизу» (на кожного окремого користувача).

Керування бінарними файлами

Іноді необхідно, щоб певний бінарний файл (наприклад, компілятор або системний процес) завжди виконувався всередині LVE користувача незалежно від того, хто його запускає. Для цього слугують команди керування бінарними файлами:

  • lvectl set-binary - додати бінарний файл до списку запуску всередині LVE;
  • lvectl del-binary - видалити бінарний файл зі списку;
  • lvectl list-binaries - показати поточний список бінарних файлів;
  • lvectl reload-binaries - перезавантажити список без перезапуску служб.

Приклад додавання бінарного файлу:

lvectl set-binary /usr/bin/php

Перегляд списку:

lvectl list-binaries

Видалення зі списку:

lvectl del-binary /usr/bin/php

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

Робота з PID

Команди limit і release дозволяють вручну керувати належністю процесів до LVE:

  • lvectl limit PID - обмежити процес із вказаним PID усередині відповідного LVE;
  • lvectl release PID - звільнити PID з LVE.

Зазвичай ці команди використовуються під час налагодження, коли процес «втратив» зв'язок зі своїм середовищем (наприклад, після міграції або ручного запуску від чужого користувача).

Автоматизація та робота зі скриптами

JSON-вивід утиліти відкриває широкі можливості для інтеграції із зовнішніми системами моніторингу та білінгу. Приклад отримання лімітів у JSON:

lvectl limits 504 --json --bytes

Такий вивід легко обробити, наприклад, у Python-скрипті: отримати ліміт пам'яті в байтах, порівняти з поточним споживанням з lvetop і сформувати алерт для адміністратора.

Масове застосування лімітів виконується через apply-many з передачею списку UID через stdin. Комбінуючи apply-many з вибіркою користувачів з /etc/passwd або бази даних панелі, можна за один прохід застосувати однакові ліміти до тисяч акаунтів:

lvectl apply-many < /tmp/users.txt

Конфігураційні файли

Основний файл конфігурації LVE - /etc/container/ve.cfg. Саме в ньому зберігаються встановлені ліміти та налаштування середовищ. При виконанні команд lvectl set і set-user зміни автоматично записуються в цей файл.

Ручне редагування ve.cfg можливе, але не рекомендується без глибокого розуміння формату: будь-яка синтаксична помилка може призвести до того, що ліміти не завантажаться. Після ручної зміни файлу необхідно застосувати налаштування:

lvectl apply all

Корисні параметри, що впливають на поведінку lvectl:

  • --skip-update-cfg - забороняє утиліті оновлювати ve.cfg при виконанні команди (зміни будуть застосовані лише «на льоту» та зникнуть після перезавантаження);
  • --save-all-parameters - зберігає всі параметри LVE, включно зі значеннями за замовчуванням (корисно для повної фіксації стану);
  • --save-username - зберігає ім'я користувача в конфігурації разом із лімітами (спрощує аудит);
  • --default - скидає вибрані ліміти до значень за замовчуванням.

Застарілий параметр --save більше не потрібен: сучасні версії lvectl зберігають налаштування автоматично. Так само застарів параметр --cpu - замість нього використовується --speed.

Інтеграція з панелями керування

Хоча стаття присвячена командному рядку, варто розуміти, як lvectl співвідноситься з панелями керування. Для cPanel, Plesk, DirectAdmin, ISPmanager та інших популярних панелей CloudLinux надає плагін LVE Manager, який візуалізує ліміти та поточне споживання. За лаштунками плагін виконує ті самі команди lvectl - тому знання утиліти допомагає навіть при роботі з плагіном:

  • якщо в інтерфейсі панелі недоступний якийсь параметр, його можна доналаштувати вручну через lvectl;
  • при підтримці клієнтів корисно вміти швидко перевірити ліміти через lvectl limits;
  • команди paneluserslimits і paneluserlimits показують ліміти саме в термінах панелі керування та зручні для звірки.

Поради та найкращі практики

Ґрунтуючись на офіційній документації CloudLinux і практичному досвіді, можна сформулювати кілька рекомендацій:

  • Починайте з малого. При налаштуванні нового сервера спочатку задайте консервативні ліміти та спостерігайте за реальним споживанням через lvetop, поступово коригуючи значення.
  • Не знімайте ліміти без потреби. Параметр --unlimited зручний для налагодження, але на бойовому сервері безлімітний акаунт - джерело ризику для сусідів.
  • Використовуйте пакети замість ручного налаштування. Пакети роблять конфігурацію передбачуваною: зміна пакета автоматично змінює ліміти всіх його користувачів.
  • Автоматизуйте масові операції. При міграції клієнтів використовуйте apply-many та JSON-вивід - це виключає людські помилки.
  • Перевіряйте зміни. Після кожної команди set виконуйте lvectl limits, щоб переконатися, що ліміти застосувалися.
  • Моніторте заздалегідь. Регулярний перегляд lvetop дозволяє помітити «пожирачів» ресурсів до того, як вони вплинуть на інших клієнтів.
  • Не забувайте про lveps. Якщо сайт гальмує, lveps -p покаже, які саме процеси створюють навантаження всередині LVE.

Усунення неполадок

LVE не створився

Якщо lvectl set не створює LVE, перевірте:

  • чи встановлена CloudLinux OS і чи коректно працює ядро (команда lvectl lve-version);
  • чи достатньо прав (команди потребують прав root);
  • чи не конфліктує UID з уже існуючим середовищем (команда lvectl list).

Ліміти не застосовуються

Якщо після lvectl set ліміти не набрали чинності, виконайте примусове застосування:

lvectl apply 504

За потреби - для всіх середовищ:

lvectl apply all

Неправильне введення при масовій операції

Команда apply-many мовчки пропускає некоректні рядки в stdin. Перевіряйте формування списку UID перед застосуванням, наприклад, виводом в окремий файл та його переглядом.

Проблеми з реселерами

Після зміни структури реселерів (переміщення користувачів) завжди виконуйте lvectl sync-map, інакше ліміти LVP можуть застосовуватися некоректно.

Висновок

Утиліта lvectl - фундаментальний інструмент адміністрування CloudLinux OS. Розуміння її команд і параметрів необхідне кожному адміністратору хостингу, що працює з CloudLinux: саме через lvectl створюються та налаштовуються LVE - легкі віртуалізовані середовища, що гарантують стабільність сервера при спільному хостингу.

Ключові можливості утиліти - встановлення лімітів CPU (--speed), фізичної (--pmem) та віртуальної (--vmem) пам'яті, дискового введення-виведення (--io, --iops), кількості процесів (--nproc, --maxEntryProcs), а також робота з пакетами, реселерами (LVP) та бінарними файлами. У поєднанні з утилітами моніторингу lvetop і lveps lvectl утворює повний контур керування ресурсами: налаштування, застосування, спостереження, діагностика.

Сучасні версії lvectl підтримують JSON-вивід, що дозволяє вбудовувати керування лімітами в системи моніторингу та білінгу, автоматизуючи рутину. Знання утиліти залишається затребуваним і в 2026 році: LVE залишається базовою технологією CloudLinux OS, а lvectl - її основним консольним інтерфейсом.

Резюме

  • LVE (Lightweight Virtualized Environment) - технологія CloudLinux для ізоляції ресурсів користувачів на серверах спільного хостингу.
  • lvectl - консольна утиліта керування LVE: створення, видалення, налаштування лімітів, робота з пакетами та реселерами.
  • Основні ліміти: CPU (--speed), фізична пам'ять (--pmem), віртуальна пам'ять (--vmem), дисковий I/O (--io, --iops), процеси (--nproc, --maxEntryProcs).
  • Ключові команди: set, set-user, apply, apply-many, limits, list, delete, destroy, package-set, set-reseller.
  • Моніторинг: lvetop (поточне навантаження по LVE) і lveps -p (процеси всередині середовища).
  • Конфігурація зберігається у файлі /etc/container/ve.cfg; для автоматизації підтримується JSON-вивід.
  • Рекомендація: використовувати пакети лімітів, перевіряти зміни командою limits і застосовувати apply all після ручних правок конфігурації.

Посилання

×
Реклама
ИКС