Как стать автором
Обновить

Работа с виртуальными машинами KVM. Введение

Время на прочтение 4 мин
Количество просмотров 76K
Виртуализация *
Как и обещал, начинаю серию статей о том, как мы делали услугу аренды выделенных серверов на базе KVM.

В этой вступительной статье я расскажу вкратце обо всех программных средствах, использованных в процессе разработки услуги. Более подробно о них будет рассказано в следующих статьях.

Читать дальше →
Всего голосов 45: ↑43 и ↓2 +41
Комментарии 38

Работа с виртуальными машинами KVM. Лимитирование ресурсов виртуальной машины

Время на прочтение 9 мин
Количество просмотров 28K
Виртуализация *


В предыдущих сериях публикациях мы рассмотрели с вами вопросы подготовки хост-машины, создания и клонирования виртуальных машин. Сегодня я поведаю о не менее важном вопросе — об ограничении использования ресурсов виртуальными машинами.

Читать дальше →
Всего голосов 42: ↑39 и ↓3 +36
Комментарии 14

локальная компиляция без лагов

Время на прочтение 2 мин
Количество просмотров 8.2K
Программирование *
Abstract: использование cgroups для ограничения прожорливости компилятора по процессору и диску.

Лирика


Дано:
программист 1шт,
ноутбук с ноутбучным диском на 5200 rpm — 1шт,
исходных файлов на хаскеле 300 шт
Файлы coffee-script (будущий JS) — 300 шт
время компиляции — 40 минут.

Задача: компилировать в бэкграунде не ставя всю систему в состояние «ад и погибель». Можно даже ценой увеличения времени сборки до 50-60 минут.

Решение?

cgroups

Читать дальше →
Всего голосов 64: ↑51 и ↓13 +38
Комментарии 19

Контейнеризация на Linux в деталях — LXC и OpenVZ. Часть 1

Время на прочтение 7 мин
Количество просмотров 40K
Блог компании FASTVPS LLC
Всем привет!

В прошлой статье мы начали разговор о преимуществах контейнерной изоляции (контейнеризации), теперь мне бы хотелось углубится в технические аспекты реализации контейнеров.


Читать дальше →
Всего голосов 48: ↑44 и ↓4 +40
Комментарии 159

Kill switch для OpenVPN на основе iptables

Время на прочтение 5 мин
Количество просмотров 30K
Информационная безопасность *
Туториал
Известно, что при подключении к открытым Wi-Fi сетям ваш трафик может быть легко прослушан. Конечно, сейчас всё больше и больше сайтов используют HTTPS. Тем не менее, это ещё далеко не 100%. Возникает естественное желание обезопасить свой трафик при подключении к таким открытым Wi-Fi сетям.

Популярное решение этой проблемы — подключение через VPN. В таком случае ваш трафик передается в зашифрованном виде до VPN-сервера, и уже оттуда идет в интернет.

У такого решения есть небольшой недостаток: пока VPN-подключение ещё не установлено, все приложения на вашем компьютере (включая открытые вкладки браузера) получают доступ в интернет в обход VPN-подключения.

В этой статье я расскажу, как можно этого избежать.

Читать дальше →
Всего голосов 25: ↑25 и ↓0 +25
Комментарии 12

Механизмы контейнеризации: cgroups

Время на прочтение 11 мин
Количество просмотров 80K
Блог компании Selectel
Туториал
механизмы контейнеризации

Продолжаем цикл статей о механизмах контейнеризации. В прошлый раз мы говорили об изоляции процессов с помощью механизма «пространств имён» (namespaces). Но для контейнеризации одной лишь изоляции ресурсов недостаточно. Если мы запускаем какое-либо приложение в изолированном окружении, мы должны быть уверены в том, что этому приложению выделено достаточно ресурсов и что оно не будет потреблять лишние ресурсы, нарушая тем самым работу остальной системы. Для решения этой задачи в ядре Linux имеется специальный механизм — cgroups (сокращение от control groups, контрольные группы). О нём мы расскажем в сегодняшней статье.
Читать дальше →
Всего голосов 26: ↑24 и ↓2 +22
Комментарии 4

DevOps придумали разработчики, чтобы админы больше работали

Время на прочтение 9 мин
Количество просмотров 42K
Блог компании okmeter.io Настройка Linux *Системное администрирование *Облачные вычисления *

Еще 4 года назад использование контейнеров в production было экзотикой, но сейчас это уже норма как для маленьких компаний, так и для больших корпораций. Давайте попробуем посмотреть на всю эту историю с devops/контейнерами/микросервисами ретроспективно, взглянуть еще раз свежим взглядом на то, какие задачи мы изначально пытались решить, какие решения у нас есть сейчас и чего не хватает для полного счастья?


Я буду в большей степени рассуждать про production окружение, так как основную массу нерешенных проблем я вижу именно там.

Читать дальше →
Всего голосов 95: ↑91 и ↓4 +87
Комментарии 62

Открытый вебинар «Механизмы контейнеризации Linux»

Время на прочтение 1 мин
Количество просмотров 5.8K
Блог компании OTUS Настройка Linux *Системное администрирование *
Всем привет!

Делимся новым открытым уроком, который провёл Александр Румянцев — преподаватель курса «Администратор Linux». На вебинаре разбиралось современное состояние механизмов контейнеризации и контейнеризация cgroups и cgroups-based, как она реализована в ядре, что такое namespace и почему cgroups — это группы.


Ждём комментарии и вопросы тут или можете задать их преподавателям сегодня на дне открытых дверей.
Всего голосов 23: ↑21 и ↓2 +19
Комментарии 1

BPF для самых маленьких, часть вторая: разнообразие типов программ BPF

Время на прочтение 26 мин
Количество просмотров 9.5K
Настройка Linux *Системное программирование *Сетевые технологии *Отладка *Разработка под Linux *

Продолжаем серию статей про BPF — универсальную виртуальную машину ядра Linux — и в этом выпуске расскажем о том, какие типы программ BPF существуют, и как они используются в реальном мире капиталистического чистогана. Кроме этого, в конце статьи приведено некоторое количество ссылок, в частности, на две с половиной существующие книжки про BPF.


В ядре Linux версии 5.9 определено больше тридцати разных типов программ BPF, и про некоторые из этих типов я собираюсь написать по несколько статей, так что эта статья, поневоле, обзорная и не содержит такого количества технических деталей, как предыдущие. Но, тем не менее, мы постараемся, наконец-то, ответить на вопрос, зачем все это нужно и почему вокруг BPF так много шума.


Если вы хотите узнать, как именно BPF помогает эффективно решать задачи защиты от DDoS атак, распределения нагрузки на серверы, реализации сетевого стека kubernetes, защиты систем от нападения, эффективной трассировки систем 24x7 прямо в проде и многие другие, то добро пожаловать под кат.


image

Читать дальше →
Всего голосов 31: ↑31 и ↓0 +31
Комментарии 8

Определение состояния Memory Pressure в Linux

Время на прочтение 7 мин
Количество просмотров 12K
Системное программирование **nix *Разработка под Linux *

Memory pressure -- это состояние, когда системе не хватает свободной памяти. Обычно его разделяют на moderate и critical. Moderate -- это когда памяти "мало, но пока еще жить можно", и дальнейшие выделения памяти могут вызвать проблемы с отзывчивостью из-за активной работы со swap-файлов или сбросов системных буферов и кэшей. Critical -- этап уже более серьезный, означающий "еще чуть-чуть, придет OOM-killer и начнет убивать процессы".

"Для чего нам это знать и контролировать?" -- на этот вопрос ответ будет в зависимости от того, что именно вы разрабатываете. Известный всем браузер Chromium (на котором основан Google Chrome), например, придерживается тактики "используем всю доступную память": если что-то можно забуферизовать и закэшировать в ОЗУ для ускорения работы, оно обязательно будет сделано. Зато при наступлении moderate memory pressure кэши и буферы очищаются, чтобы освободить пространство для работы других приложений, а при наступлении critical memory pressure браузер начинает выгружать фоновые вкладки, чтобы не допустить активации OOM-киллера.

Итак, поехали.
Всего голосов 32: ↑32 и ↓0 +32
Комментарии 12

Каждому по потребностям: как мы решали задачу с «нарезкой» vCPU

Время на прочтение 10 мин
Количество просмотров 4.9K
Блог компании Selectel IT-инфраструктура *Виртуализация *Облачные вычисления *Облачные сервисы *
✏️ Технотекст 2022

Всем привет! Возникал ли у вас вопрос, как можно ограничить виртуальную машину по используемым CPU?

У нас в Selectel он возник, когда мы хотели сделать облачную платформу гибче и удешевить инфраструктуру для клиентов. В результате получилась линейка виртуальных машин Shared Line. Это облачные серверы с гарантированной долей производительности ядра — их арендуют те, кому не нужна полная загрузка CPU.

Под катом расскажу, как мы учились «резать» мощности облачных серверов на кусочки.
Читать дальше →
Всего голосов 40: ↑38 и ↓2 +36
Комментарии 7

Сломать контроль ресурсов в контрольных группах Linux. Часть 1

Время на прочтение 9 мин
Количество просмотров 3.5K
Блог компании Southbridge Настройка Linux *IT-инфраструктура *Разработка под Linux *DevOps *

Контрольные группы или cgroups — основные строительные блоки, обеспечивающие контейнеризацию на уровне операционной системы. Подобно процессам они организованы иерархически, и дочерние группы наследуют атрибуты родительских. В этой статье мы покажем, что наследование контрольных групп не всегда гарантирует последовательный и справедливый учёт ресурсов. Опишем стратегии, позволяющие избежать контроля использования ресурсов, и разберём основные причины, почему контрольные группы не могут отслеживать потребляемые ресурсы. Дополнительно исследуем сценарии, как вредоносные контейнеры могут потреблять больше ресурсов, чем разрешено. 

Читать далее
Всего голосов 19: ↑18 и ↓1 +17
Комментарии 0

Сломать контроль ресурсов в контрольных группах Linux. Часть 2

Время на прочтение 7 мин
Количество просмотров 2K
Блог компании Southbridge Настройка Linux *IT-инфраструктура *Администрирование баз данных *Разработка под Linux *

В предыдущей публикации мы рассмотрели, как организованы контрольные группы и почему их наследование не всегда гарантирует справедливый учёт ресурсов. Также успели проанализировать один из сценариев, при котором «вредоносные» контейнеры потребляют больше ресурсов, чем разрешено. В этой статье разберёмся с оставшимися сценариями и обсудим, как решать проблемы безопасности, возникающие из-за недостатков механизма cgroups. 

Читать далее
Всего голосов 14: ↑14 и ↓0 +14
Комментарии 0