англійськафранцузькаіспанська

Ad


Значок OnWorks

hbal - онлайн в хмарі

Запустіть hbal у постачальника безкоштовного хостингу OnWorks через Ubuntu Online, Fedora Online, онлайн-емулятор Windows або онлайн-емулятор MAC OS

Це команда hbal, яку можна запустити в постачальнику безкоштовного хостингу OnWorks за допомогою однієї з наших численних безкоштовних робочих станцій, таких як Ubuntu Online, Fedora Online, онлайн- емулятор Windows або онлайн-емулятор MAC OS

ПРОГРАМА:

ІМ'Я


hbal - Балансувальник кластерів для Ganeti

СИНТАКСИС


hbal {backend options...} [параметри алгоритму...] [параметри звітування...]

hbal -- версія

Параметри бекенда:

{ -m кластер | -L[ шлях ] [-X] | -t файл даних | -I шлях }

Варіанти алгоритму:

[ --max-cpu співвідношення процесора ] [ --хв-диск дискове співвідношення ] [ -l обмежувати ] [ -e рахунок ] [ -g дельта ] [
--мінімальна межа посилення поріг ] [ -O назва ... ] [ --no-disk-move ] [ --no-instance-moves ] [
-U util-файл ] [ --ignore-dynu ] [ --ignore-soft-errors ] [ --монд так|ні ] [ --mond-xen ]
[ --exit-on-missing-mond-data ] [ -- режим евакуації ] [ --обмежена міграція ] [
--select-екземпляри інст ... ] [ --exclude-excludes інст ... ]

Варіанти звітності:

[ -C[ файл ] ] [ -p[ поля ] ] [ --примірники друку ] [ -S файл ] [ -в... | -q ]

ОПИС


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

Використовуваний алгоритм розроблений як стабільний (тобто він дасть вам ті самі результати, коли
перезапустити його з середини розчину) і досить швидко. Однак це не
розроблений як ідеальний алгоритм: можна змусити його зайти в кут, з якого
він не може знайти покращення, тому що виглядає лише на «крок» попереду.

Програма отримує доступ до стану кластера через Rapi або Luxi. Він також запитує дані через
мережі з усіх MonD з опцією --mond. Наразі він використовує лише дані, отримані від
Збірник CPU.

За замовчуванням програма показуватиме рішення поступово по мірі його обчислення в a
дещо загадковий формат; щоб отримати фактичний список команд Ganeti, скористайтеся -C варіант.

АЛГОРИТМ
Програма працює самостійними кроками; на кожному кроці ми обчислюємо найкращий хід екземпляра
що знижує кластерну оцінку.

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

· відмовлення (f)

· замінити вторинний (r)

· замінити основний, складений хід (f, r, f)

· відмовлення та заміна вторинного, також складеного (f, r)

· замінити вторинний і перехідний, також складений (r, f)

Ми не робимо єдину можливість заміни обох вузлів (r,f,r,f або
еквівалент f,r,f,r), оскільки цей крок потребує вичерпного пошуку обох кандидатів
первинних і вторинних вузлів, і дорівнює O(n*n) у кількості вузлів. Крім того, це
здається, не дає кращих оцінок, але призведе до більшої кількості замін дисків.

РОЗМІЩЕННЯ ОБМЕЖЕННЯ
На кожному кроці ми запобігаємо переміщенню екземпляра, якщо це спричинить:

· вузол для переходу в стан відмови N+1

· екземпляр для переходу на автономний вузол (автономні вузли або зчитуються з кластера
або оголошено с -O; осушені вузли вважаються офлайновими)

· конфлікт на основі тегу виключення (теги виключення зчитуються з кластера та/або визначаються
чЕРЕЗ --exclusion-tags опція)

· максимальне співвідношення vcpu/pcpu, яке має бути перевищено (налаштовано через --max-cpu)

· мінімальний відсоток вільного диска, щоб бути нижче встановленого ліміту (налаштовано через --хв-диск)

Кластер БАЛЮВАННЯ
Як було сказано раніше, алгоритм намагається мінімізувати оцінку кластера на кожному кроці. Наразі
ця оцінка обчислюється як зважена сума наступних компонентів:

· стандартне відхилення відсотка вільної пам'яті

· стандартне відхилення відсотка зарезервованої пам'яті

· сума відсотків зарезервованої пам'яті

· стандартне відхилення відсотка вільного диска

· кількість вузлів, які не перевірили N+1

· кількість екземплярів, що живуть (як первинні, так і вторинні) на автономних вузлах; в
сенс осушених вузлів hbal (та інших htools) вважаються автономними

· кількість екземплярів, що живуть (як основні) на автономних вузлах; це відрізняється від наведеного вище
метрики, допомагаючи перемикання таких екземплярів у 2-вузлових кластерах

· стандартне відхилення відношення віртуального до фізичного процесора (для первинних екземплярів
вузол)

· стандартне відхилення частки доступних шпинделей (у спеціальному режимі,
веретена представляють фізичні веретена; інакше ця міра перевищення підписки для IO
навантаження, а коефіцієнт переплати враховується при обчисленні кількості
доступні шпиндели)

· стандартне відхилення динамічного навантаження на вузли, для процесора, пам'яті, диска та мережі

· стандартне відхилення навантаження ЦП, надане MonD

· кількість екземплярів з первинним і вторинним у тому самому домені відмови

Значення вільної пам’яті та вільного диска допомагають забезпечити певну збалансованість усіх вузлів
використання їх ресурсів. Зарезервована пам'ять допомагає забезпечити певну наявність вузлів
збалансований у зберіганні вторинних екземплярів, і що жоден вузол не зберігає забагато пам’яті зарезервовано
для N+1. І, нарешті, відсоток N+1 допомагає направляти алгоритм до усунення
N+1 збоїв, якщо можливо.

За винятком невдач N+1, зараховуються автономні екземпляри та порушення домену
ми використовуємо стандартне відхилення, оскільки при використанні зі значеннями в межах фіксованого діапазону (ми
використовуйте відсотки, виражені як значення від нуля до одиниці) це дає послідовні результати
всі метрики (є деякі невеликі проблеми, пов’язані з різними засобами, але це працює
загалом добре). Значення типу 'count' матимуть вищий бал і, таким чином, матимуть більше значення
для балансування; таким чином, вони кращі для жорстких обмежень (наприклад, евакуація вузлів і
виправлення N+1 збоїв). Наприклад, враховуються автономні екземпляри (тобто кількість
екземпляри, що живуть на автономних вузлах) призведе до активного переміщення екземплярів алгоритмом
далеко від автономних вузлів. Це в поєднанні з обмеженням на розміщення, наданим офлайн
вузлів, призведе до евакуації таких вузлів.

Значення динамічного завантаження потрібно прочитати із зовнішнього файлу (Ganeti не надає
їх) і обчислюються для кожного вузла як: сума навантаження на процесор первинного екземпляра, сума первинного
завантаження пам’яті екземпляра, сума завантаження первинного та вторинного диска екземплярів (як генерує DRBD
навантаження запису на вторинні вузли також у звичайному випадку, а в погіршених сценаріях також читання
навантаження) і суму навантаження на мережу первинного екземпляра. Приклад того, як їх створити
значення для введення в hbal будуть відстежувати список xm для екземплярів протягом дня і по
обчислюючи дельту значень процесора, і передавати це через -U варіант для всіх випадків
(і зберегти інші показники як одну). Щоб алгоритм запрацював, потрібно лише
що значення є узгодженими для метрики для всіх екземплярів (наприклад, усі екземпляри використовують
cpu%, щоб повідомляти про використання процесора, а не щось, пов'язане з кількістю використаних ЦП секунд, якщо
ЦП різні), і що вони нормалізуються між нулем і одиницею. Зауважте, що це
Рекомендується не мати нуля як значення навантаження для жодної метрики екземпляра з тих пір
другорядні екземпляри погано збалансовані.

Завантаження CPU від збирача даних MonD буде використовуватися, тільки якщо запущені всі MonD,
інакше це не вплине на оцінку кластера. Оскільки ми не можемо знайти навантаження на центральний процесор кожного
Наприклад, ми можемо припустити, що навантаження на процесор екземпляра пропорційна кількості
його vcpus. За допомогою цієї евристики екземпляри з вузлів із високим навантаженням ЦП будуть мати тенденцію переміщатися
до вузлів з меншим навантаженням на процесор.

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

OFFLINE ПРИКЛАДНИКИ
Оскільки поточні версії Ganeti не повідомляють про пам’ять, яку використовують автономні (неактивні) екземпляри,
ігнорування статусу виконання екземплярів призведе до неправильних обчислень. З цієї причини
Алгоритм віднімає розмір пам’яті екземплярів down із вільної пам’яті їхнього вузла
первинний вузол, фактично імітуючи запуск таких екземплярів.

ВИКЛЮЧЕННЯ На тему
Механізм тегів виключення призначений для запобігання екземплярам, ​​які виконують однакове робоче навантаження
(наприклад, два DNS-сервери), щоб приземлитися на одному вузлі, що зробить відповідний вузол a
SPOF для даної послуги.

Він працює, позначаючи екземпляри певними тегами, а потім будуючи на їх основі карти виключень
ці Які теги насправді використовуються, налаштовується або за допомогою командного рядка (опція
--exclusion-tags) або додавши їх до тегів кластера:

--exclusion-tags=a,b
Це зробить усі теги екземплярів у формі a:*, б:* розглядатися за
карта виключення

кластер теги htools:iextags:a, htools:iextags:b
Це створить теги екземплярів a:*, б:* розглядатися для карти виключення. Більше
точніше, суфікс тегів кластера, що починаються з htools:iextags: стане тим
префікс тегів виключення.

Обидві наведені вище форми означають, що обидва екземпляри мають (наприклад) тег a:foo or b: бар
не закінчиться на тому самому вузлі.

МИГРАЦИЯ На тему
Якщо Ganeti розгорнуто в гетерогенному кластері, міграція між ними може бути неможливою
всі вузли групи вузлів. Одним із прикладів такої ситуації є оновлення гіпервізора
вузол за вузлом. Щоб повідомити hbal про ці обмеження, наведені нижче теги кластера
використаний

кластер теги htools:migration:a, htools:migration:b, і т.д.
Це робить теги вузлів форми a:*, б:*тощо вважати міграцією
обмеження. Точніше, суфікс тегів кластера, що починаються з
htools: міграція: стане префіксом тегів міграції. Тільки ті
міграції будуть братися до уваги, де всі теги міграції джерела
вузол також присутні на цільовому вузлі.

кластер теги htools:allowmigration:x::y та цінності міграція теги x та y
Це стверджує, що вузол позначений тегами y здатний отримувати екземпляри так само, як якщо
вони мали x бирка.

Отже, у простому випадку оновлення гіпервізора, позначення всіх вузлів, які були
оновити тег міграції достатньо. У складніших ситуаціях так завжди
можна використовувати інший тег міграції для кожного використовуваного гіпервізора і чітко вказати
дозволених напрямків міграції за допомогою htools:allowmigration: теги.

МІСЦЕ На тему
У групі вузлів певні вузли можуть мати більше шансів вийти з ладу одночасно через а
поширена причина помилки (наприклад, якщо вони мають один і той же блок живлення). Ганети можуть бути
інформувати про ці поширені причини збою за допомогою тегів.

кластер теги htools:nlocation:a, htools:nlocation:b, і т.д.
Це робить теги вузлів форми a:*, б:*і т.д. вважати загальними
причина збою.

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

ВАРІАНТИ


До програми можна передати наступні параметри:

-C, --команди друку
Роздрукуйте список команд в кінці виконання. Без цього програма буде тільки
показати коротший, але загадковий результат.

Зверніть увагу, що список переміщень буде розділено на незалежні кроки, які називаються "наборами робочих місць",
але лише для візуального огляду, а не для фактичної паралелізації. Це не
їх можна розпаралелювати безпосередньо під час виконання за допомогою команд "gnt-instance",
оскільки має бути виконана складена команда (наприклад, перехід на помилку та заміна дисків).
серійно. Паралельне виконання можливе лише при використанні серверної частини Luxi та
-L варіант.

Алгоритм поділу ходів на набори робіт полягає в накопиченні ходів до тих пір, поки
наступний хід торкається вузлів, яких вже торкнулися поточні ходи; це означає ми
не може виконуватися паралельно (через розподіл ресурсів у Ganeti), тому ми починаємо
нова посада.

-p, -- вузли друку
Друкує статус вузла до і після у форматі, призначеному для користувача
зрозуміти найважливіші параметри вузла. Дивіться сторінку man htools(1) для
докладніше про цю опцію.

--примірники друку
Друкує карту екземплярів до та після. Це менш корисно, оскільки статус вузла,
але це може допомогти зрозуміти переміщення екземплярів.

-O ім'я
Ця опція (яку можна вказати кілька разів) позначатиме вузли як наявні offline.
Це означає кілька речей:

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

· ці вузли не будуть включені в підрахунок балів (за винятком
відсоток екземплярів на автономних вузлах)

Зауважте, що алгоритм також позначатиме як офлайн будь-які вузли, про які повідомляє RAPI
як такі, або які мають "?" у файлі введення в будь-які числові поля.

-e рахунок, --min-score=*оцінка*
Цей параметр позначає, наскільки вище межі N+1 може для нас оцінка кластера
бути задоволеним і змінювати обчислення двома способами:

· якщо початкова оцінка кластера нижча за це значення, ми не входимо
алгоритм взагалі, і вийти з успіхом

· під час ітераційного процесу, якщо ми досягаємо нижчого за це значення, ми виходимо
алгоритм

Значення параметра за замовчуванням на даний момент становить 1e-9 (вибрано емпірично).

-g дельта, --min-gain=*дельта*
Оскільки алгоритм балансування іноді може призвести до дуже незначних покращень,
які приносять менший прибуток, який вони коштують під час переміщення, цей параметр (за умовчанням
до 0.01) являє собою мінімальне посилення, яке нам потрібно під час кроку, щоб продовжити
балансування.

--min-gain-limit=*поріг*
Наведений вище параметр мінімального посилення набуде чинності, лише якщо кластерний бал уже є
нижче поріг (за замовчуванням 0.1). Обгрунтування цього налаштування полягає в тому, що at
високі показники кластерів (погано збалансовані кластери), ми не хочемо переривати перебалансування
занадто швидко, оскільки пізніший прибуток все ще може бути значним. Однак під
threshold, загальний приріст є лише пороговим значенням, тому ми можемо вийти раніше.

--no-disk-move
Цей параметр забороняє hbal використовувати переміщення диска (тобто «gnt-instance
replace-disks"). Це призведе до набагато швидшого балансування, але з
Звичайно, покращення обмежені. Користувач сам вирішує, коли використовувати
той чи інший.

--no-instance-moves
Цей параметр забороняє hbal використовувати переміщення екземплярів (тобто "gnt-instance
переміщення/відмовлення"). Це використовуватиме лише повільну заміну диска
операцій, а також забезпечить гірший баланс, але може бути корисним під час руху
екземпляри навколо вважаються небезпечними або не бажаними.

-- режим евакуації
Цей параметр обмежує список екземплярів, які розглядаються для переміщення до тих
проживання на автономних/злишених вузлах. Його можна використовувати як (масову) заміну для
Власний Ганеті gnt-вузол евакуйувати, з приміткою, що це не гарантує повного
евакуація.

--обмежена міграція
Цей параметр забороняє будь-які первинні ходи заміни (frf), а також такі
заміна та відмова переміщуються (rf), де первинного вузла екземпляра немає
осушений. Якщо використовується разом з параметром --evac-mode, це єдина міграція
hbal підійде для міграції екземплярів із осушеного вузла. Це може бути корисно, якщо
під час перевстановлення базової операційної системи міграція можлива лише з
стару ОС на нову ОС. Однак зауважте, що зазвичай використовуються теги міграції
кращий вибір.

--select-instances=*екземпляри*
Цей параметр позначає дані екземпляри (як список, розділений комами) як єдиний
ті, які переміщуються під час перебалансування.

--exclude-instances=*екземпляри*
Цей параметр позначає дані екземпляри (у вигляді списку, розділеного комами) від існування
переміщено під час перебалансування.

-U util-файл
Цей параметр визначає інформацію про динамічне використання екземпляра файлу
який буде використовуватися для налаштування алгоритму балансування для вирівнювання навантаження на вузли
(на відміну від статичного використання ресурсів). Файл має формат «назва_екземпляра
cpu_util mem_util disk_util net_util", де інтерпретуються параметри "_util"
як числа та ім'я екземпляра повинні точно відповідати екземпляру, з якого було прочитано
Ганеті. У разі невідомих імен екземплярів програма буде перервана.

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

--ignore-dynu
Якщо вказано, вся інформація про динамічне використання буде ігнорована, якщо припустити, що це так
0. Ця опція матиме перевагу над будь-якими даними, переданими опцією -U або через
MonD з параметрами --mond та --mond-data.

--ignore-soft-errors
Якщо вказано, усі перевірки на наявність м’яких помилок будуть пропущені при розгляді балансування
рухається. Таким чином можна досягти прогресу в кластері, де всі вузли знаходяться в a
поганий стан з точки зору політики, наприклад перевищення коефіцієнта передплати на ЦП або шпинделях.

-S ім'я файлу, --save-cluster=*ім'я файлу*
Якщо вказано, стан кластера перед балансуванням зберігається у заданому файлі
плюс розширення "оригінал" (тобто ім'я файлу.оригінал) і стан в кінці
балансування зберігається у даному файлі з розширенням "balanced" (тобто
ім'я файлу.збалансований). Це дозволяє перезавантажувати стан кластера до самого hbal
або наприклад hspace за допомогою параметра -t.

-t файл даних, --text-data=*файл даних*
Специфікація серверної частини: назва вузла, що містить файл, та інформація про екземпляр
(якщо не збираються через RAPI або LUXI). Цей або один із інших серверів має бути
вибрано. Опція описана на сторінці man htools(1).

--mond=*так|ні*
Якщо дано, програма запитуватиме всі MonD, щоб отримати дані з підтримуваних даних
колектори через мережу.

--mond-xen
Якщо вказано, також запитуйте специфічні для Xen збирачі від MonD за умови моніторингу
демони запитуються взагалі.

--exit-on-missing-mond-data
Якщо вказано, переривайте, якщо дані, отримані під час запиту MonD, є неповними. The
поведінка за замовчуванням полягає в тому, щоб продовжувати з найкращим припущенням на основі статичної інформації.

--mond-дані файл даних
Ім'я файлу, що містить дані, надані MonD, щоб замінити запити MonD
через мережу. Це в основному використовується для налагодження. Файл має бути у форматі JSON
відформатувати та представити масив об’єктів JSON, по одному для кожного вузла, з двома членами.
Перший член з ім’ям node – це ім’я вузла, а другий член – ім’я
reports — це масив об’єктів звіту. Об’єкти звіту мають бути в одному
формат, створений агентом моніторингу.

-m кластер
Специфікація бекенда: збирайте дані безпосередньо з кластер наведено як аргумент
через RAPI. Опція описана на сторінці керівництва htools(1).

-L [шлях]
Специфікація бекенда: збирайте дані безпосередньо з головного демона, який має бути
зв’язалися через LUXI (внутрішній протокол Ganeti). Опція описана в
людина сторінка htools(1).

-X При використанні серверної частини Luxi hbal також може виконувати дані команди. The
метод виконання полягає у виконанні окремих наборів завдань (див -C варіант для
деталі) на окремих етапах, переривання, якщо в будь-який момент набору завдань не є всі завдання
успішний. Кожен крок балансування буде переведено в точно
одне завдання Ganeti (що має від одного до трьох OpCodes) і всі кроки в a
завдання буде виконуватися паралельно. Самі завдання виконуються послідовно.

Виконання серії завдань може бути перервано, див. нижче для обробки сигналів.

-l N, --max-length=*N*
Обмежте рішення цією довжиною. Це можна використовувати, наприклад, для автоматизації
виконання балансування.

--max-cpu=*коефіцієнт процесора*
Максимальне співвідношення віртуального та фізичного процесора у вигляді числа з плаваючою комою більше ніж
або дорівнює одиниці. Наприклад, уточнюючи співвідношення процесора as 2.5 означає, що для 4-процесорного
комп’ютера, максимум 10 віртуальних процесорів можна використовувати для основного
екземпляри. Значення рівно одиничне означає, що не буде надмірної підписки на ЦП
(за винятком часу ЦП, який використовує сам вузол), а значення нижче одиниці не роблять
сенс, оскільки це означає, що інші ресурси (наприклад, диск) не будуть повністю використані через
Обмеження ЦП.

--min-disk=*співвідношення диска*
Мінімальний обсяг вільного місця на диску, що залишився, у вигляді числа з плаваючою комою. Для
наприклад, уточнюючи дискове співвідношення as 0.25 означає, що принаймні одна чверть диска
простір на вузлах слід залишити вільним.

-G uuid, --group=*uuid*
У багатогруповому кластері виберіть цю групу для обробки. Інакше hbal буде
abort, оскільки він не може збалансувати декілька груп одночасно.

-v, -багатослівний
Збільште багатослівність виводу. Кожне використання цієї опції збільшуватиме
багатослівність (наразі більше 2 не має сенсу) від значення за замовчуванням одиниці.

-q, --спокійно
Зменшити багатослівність виводу. Кожне використання цієї опції буде зменшувати
багатослівність (менше нуля не має сенсу) від значення одиниці за замовчуванням.

-V, -- версія
Просто покажіть версію програми та вийдіть.

СИГНАЛ HANDLING


При виконанні завдань через LUXI (використовуючи параметр -X), зазвичай hbal виконує всі завдання
до тих пір, поки не виникне одна помилка або всі завдання не закінчаться успішно.

Оскільки балансування може зайняти багато часу, зупинити hbal можна достроково двома способами:

· відправивши SIGINT (^C), hbal зареєструє запит на припинення та почекає
доки поточні подані завдання не закінчаться, після чого воно завершиться (з кодом виходу 0
якщо всі завдання виконано правильно, інакше з кодом виходу 1 як зазвичай)

· відправивши SIGTERM, hbal негайно вийде (з кодом виходу 2); це
відповідальність користувача за подальшу роботу з Ganeti та перевірку результату
поточні роботи

Зауважте, що в будь-якій ситуації повністю безпечно вбити hbal за допомогою наведених вище сигналів
або через будь-який інший сигнал (наприклад, SIGQUIT, SIGKILL), оскільки самі завдання обробляються
від Ganeti, тоді як hbal (після подання) спостерігає лише за їх прогресом. В цьому випадку,
користувач повинен буде запитати у Ganeti результати роботи.

EXIT СТАТУС


Статус завершення команди буде нульовим, якщо з якоїсь причини алгоритм не вдався
(наприклад, неправильні дані вузла або екземпляра), недійсні параметри командного рядка або (у разі завдання
виконання) одне із завдань не вдалося.

Після початку виконання завдання через Luxi (-X), якщо балансування було перервано раніше (через
SIGINT, або через --max-length), але всі завдання виконано успішно, тоді статус виходу:
нульовий; ненульовий код виходу означає, що стан кластера слід досліджувати, оскільки a
завдання не вдалося, або ми не змогли обчислити його статус, і це також може вказувати на проблему на
Ганетська сторона.

Використовуйте hbal онлайн за допомогою служб onworks.net


Безкоштовні сервери та робочі станції

Завантажте програми для Windows і Linux

  • 1
    ЛАГІТ
    ЛАГІТ
    SWIG – це інструмент розробки програмного забезпечення
    що з'єднує програми, написані на C і
    C++ з різноманітними високорівневими
    мови програмування. SWIG використовується з
    інший...
    Завантажити SWIG
  • 2
    Тема WooCommerce Nextjs React
    Тема WooCommerce Nextjs React
    Тема React WooCommerce, створена за допомогою
    Next JS, Webpack, Babel, Node і
    Express, використовуючи GraphQL і Apollo
    Клієнт. Магазин WooCommerce в React(
    містить: Продукти...
    Завантажте тему WooCommerce Nextjs React
  • 3
    archlabs_repo
    archlabs_repo
    Сховище пакетів для ArchLabs Це
    додаток, який також можна отримати
    від
    https://sourceforge.net/projects/archlabs-repo/.
    Його розміщено в OnWorks у...
    Завантажити archlabs_repo
  • 4
    Проект Зефір
    Проект Зефір
    Проект Zephyr – це нове покоління
    операційна система реального часу (RTOS).
    підтримує декілька апаратних засобів
    архітектури. Він заснований на а
    ядро малої площі...
    Завантажити Zephyr Project
  • 5
    SCONS
    SCONS
    SCons - це інструмент для створення програмного забезпечення
    що є кращою альтернативою
    класичний інструмент "Make" для створення
    ми всі знаємо і любимо. SCons є
    впроваджено...
    Завантажити SCons
  • 6
    PSeInt
    PSeInt
    PSeInt - це інтерпретатор псевдокоду для
    іспаномовні студенти програмування.
    Його головне призначення – бути інструментом для
    навчання та розуміння основ
    концепція...
    Завантажити PSeInt
  • Детальніше »

Команди Linux

  • 1
    7z
    7z
    7z - файловий архіватор з найвищими
    ступінь стиснення...
    Запустіть 7z
  • 2
    7за
    7за
    7za - файловий архіватор з найвищими
    ступінь стиснення...
    Виконати 7za
  • 3
    плазуни
    плазуни
    CREEPY - інформація про геолокацію
    агрегатор ОПИС: creepy is an
    додаток, що дозволяє збирати
    інформація про геолокацію
    користувачі з...
    Біг моторошно
  • 4
    cricket-compile
    cricket-compile
    cricket - програма для керування
    збір і відображення часових рядів
    дані ...
    Запустіть cricket-compile
  • 5
    g-wrap-config
    g-wrap-config
    g-wrap-config - скрипт для отримання
    інформація про встановлену версію
    G-Wrap ...
    Запустіть g-wrap-config
  • 6
    g.accessgrass
    g.accessgrass
    g.access – контролює доступ до
    поточний набір карт для інших користувачів на
    система. Якщо опції немає, друкує
    поточний стан. КЛЮЧОВІ СЛОВА: загальне, карта
    управління, п...
    Запустіть g.accessgrass
  • Детальніше »

Ad