ServerAdmin.ru
31.6K subscribers
843 photos
57 videos
23 files
2.99K links
Авторская информация о системном администрировании.

Информация о рекламе: @srv_admin_reklama_bot
Автор: @zeroxzed

Второй канал: @srv_admin_live
Сайт: serveradmin.ru

Ресурс включён в перечень Роскомнадзора
Download Telegram
Подготовил обзорную статью по установке и настройке lxc контейнеров. Это мое знакомство с технологией lxc. Буду рад комментариям по этой теме особенно от тех, кто активно пользовался этими контейнерами. Готово ли решение к продакшену? Мне показалось нет, но в целом понравилось, как это устроено и работает.
https://serveradmin.ru/ustanovka-i-nastroyka-lxc-konteynerov-na-centos-7/

#статья #centos #lxc
👍1
Небольшая заметка по работе с lxc контейнерами в proxmox. Суть в том, что по-умолчанию в стандартном шаблоне centos 7 для lxc вообще отсутсвует ssh сервер. Его надо ставить вручную.
Пока изучаю и тестирую функционал lxc в proxmox. Может быть появится статья на эту тему.
https://serveradmin.ru/podklyuchenie-k-lxc-konteyneru-centos-7-po-ssh-v-proxmox/

#совет #lxc
Небольшая заметка с полей. Столкнулся с указанной в заголовке ошибкой при эксплуатации большого числа lxc контейнеров на хосте. Ошибка на русском не ищется, я в итоге нашел на немецком решение. Спасибо google translate. Решил поделиться простым решением для тех, кто не шпрехает на инглише :)
https://serveradmin.ru/failed-to-add-run-systemd-ask-password-to-directory-watch-no-space-left-on-device/

#ошибка #lxc
Технический пост, который уже давно нужно было сделать, но всё руки не доходили. На канале много содержательных заметок по различным темам. Иногда сам через поиск ищу то, о чём писал. Ниже набор наиболее популярных тэгов по которым можно найти что-то полезное (и не очень).

#remote - все, что касается удалённого управления компьютерами
#helpdesk - обзор helpdesk систем
#backup - софт для бэкапа и некоторые мои заметки по теме
#zabbix - всё, что касается системы мониторинга Zabbix
#мониторинг - в этот тэг иногда попадает Zabbix, но помимо него перечислено много различных систем мониторинга
#управление #ITSM - инструменты для управления инфраструктурой
#devops - в основном софт, который так или иначе связан с методологией devops
#kuber - небольшой цикл постов про работу с kubernetes
#chat - мои обзоры на популярные чат платформы, которые можно развернуть у себя
#бесплатно - в основном подборка всяких бесплатностей, немного бесплатных курсов
#сервис - сервисы, которые мне показались интересными и полезными
#security - заметки, так или иначе связанные с безопасностью
#webserver - всё, что касается веб серверов
#gateway - заметки на тему шлюзов
#mailserver - всё, что касается почтовых серверов
#elk - заметки по ELK Stack
#mikrotik - очень много заметок про Mikrotik
#proxmox - заметки о популярном гипервизоре Proxmox
#terminal - всё, что связано с работой в терминале
#bash - заметки с примерами полезных и не очень bash скриптов или каких-то команд. По просмотрам, комментариям, сохранениям самая популярная тематика канала.
#windows - всё, что касается системы Windows
#хостинг - немного информации и хостерах, в том числе о тех, кого использую сам
#vpn - заметки на тему VPN
#perfomance - анализ производительности сервера и профилирование нагрузки
#курсы - под этим тэгом заметки на тему курсов, которые я сам проходил, которые могу порекомендовать, а также некоторые бесплатные курсы
#игра - игры исключительно IT тематики, за редким исключением
#совет - мои советы на различные темы, в основном IT
#подборка - посты с компиляцией нескольких продуктов, объединённых одной тематикой
#отечественное - обзор софта из реестра отечественного ПО
#юмор - большое количество каких-то смешных вещей на тему IT, которые я скрупулезно выбирал, чтобы показать вам самое интересное. В самом начале есть шутки, которые придумывал сам, проводил конкурсы.
#мысли - мои рассуждения на различные темы, не только IT
#разное - этим тэгом маркирую то, что не подошло ни под какие другие, но при этом не хочется, чтобы материал терялся, так как я посчитал его полезным
#дети - информация на тему обучения и вовлечения в IT детей
#развитие_канала - серия постов на тему развития данного telegram канала

Остальные тэги публикую общим списком без комментариев, так как они про конкретный софт, понятный из названия тэга:
#docker #nginx #mysql #postgresql #gitlab #asterisk #openvpn #lxc #postfix #bitrix #икс #debian #hyperv #rsync #wordpress #zfs #grafana #iptables #prometheus #1с #waf #logs #netflow
👍282👎5
​​Объясню простыми словами отличия современных систем контейнеризации. Для тех, кто с ними постоянно не работает, не очевидно, что они могут различаться принципиально по областям применения. Акцент сделаю на наиболее популярных Docker и LXC, а в конце немного по остальным пройдусь.

Все контейнеры используют одно и то же ядро операционной системы Linux и работают в его рамках. Это принципиальное отличие от виртуальных машин. А принципиальное отличие Docker от LXC в том, что Docker ориентируется на запуск приложений, а LXC на запуск системы.

Поясню на конкретном примере. Допустим, вам надо запустить в работу веб сервер. Если вы будете делать это с помощью Docker, то на хостовой машине запустите контейнер с Nginx, контейнер с Php-fpm, создадите на хосте локальные директории с файлами сайта и конфигурациями сервисов и пробросите их внутрь контейнеров, чтобы у них был доступ к ним. В самих контейнерах кроме непосредственно сервисов Nginx и Php-fpm практически ничего не будет.

Если ту же задачу решать с помощью LXC, то вы просто запустите контейнер с нужной базовой системой внутри. Зайдёте внутрь контейнера и настроите там всё, как обычно это делаете на отдельной виртуальной машине. То есть LXC максимально повторяет работу полноценной системы, только работает на базе ядра хоста.

Docker - это один контейнер, одна служба, LXC - набор служб для решения конкретной задачи. При этом в образ Docker тоже можно поместить практически полноценную систему, но так обычно никто не делает, хотя и есть исключения.

Исходя из этих пояснений, становятся понятны плюсы и минусы каждого подхода. Плюсы Docker:
минимальный объём образов, соответственно, максимальная скорость запуска нужных сервисов;
для бэкапа достаточно сохранить непосредственно данные, образы можно опустить, так как они типовые.
Минусы:
более сложная настройка по сравнению с обычной виртуальной машиной, особенно что касается сети и диагностики в целом.

Плюсы LXC:
настройка практически такая же, как на обычной VM, заходишь внутрь контейнера по SSH и настраиваешь.
Минусы LXC:
итоговые образы бОльшего объёма, так как содержат всё окружение стандартных систем.
сложнее автоматизировать и стандартизировать разворачивание масштабных сервисов.

LXC отлично подходит как замена полноценной VM. Его удобно настроить, забэкапить в единый образ и развернуть в том же виде в другом месте. Docker идеален для максимальной плотности сервисов на одном сервере. Думаю именно за это он стал так популярен. На больших масштабах это заметная экономия средств, поэтому крупные компании его активно используют и продвигают.

Аналогом Docker в плане подхода в виде запуска отдельных служб в контейнерах является Podman. Там есть незначительные отличия в реализации, но в целом они очень похожи. Это продукт компании RedHat, и они его всячески продвигают.

Ещё упомяну про LXD, который иногда сравнивают с LXC, хотя это разные вещи. По сути, LXD - надстройка над LXC, предоставляющая REST API для работы с контейнерами LXC. Она упрощает работу с ними, стандартизирует и даёт удобные инструменты управления. При этом LXD может работать не только с контейнерами LXC, но и с виртуальными машинами QEMU.

Надеюсь ничего нигде не напутал. Писал своими словами по памяти, так как с Docker и LXC практически постоянно работаю и примерно представляю, как они устроены.

#docker #lxc
👍177👎2
В Proxmox есть давняя проблема с LXC контейнерами. Внутри них вы видите нагрузку LA (Load Average) не контейнера, а хоста. Это сбивает с толку мониторинг. Например Zabbix, если к контейнеру прикреплён стандартный шаблон Linux.

Давно знаю про эту проблему. В реальной работе редко использую LXC, отдавая предпочтение обычным виртуалкам. Если сталкивался со спамом уведомлений на эту тему, то обычно просто отключал соответствующий триггер.

В этот раз опять с этим столкнулся и решил всё же исправить ошибку и заодно сделать заметку, чтобы потом заново не искать решение проблемы. Оно относительно простое и быстро гуглится. На официальном форуме Proxmox много тем по этой проблеме, начиная с 2018 года, может и раньше упоминали, я не искал.

Достаточно добавить соответствующий ключ запуска к службе lxc, запуск которой описан в файле /usr/lib/systemd/system/lxcfs.service. Вместо

ExecStart=/usr/bin/lxcfs /var/lib/lxcfs

делаем:

ExecStart=/usr/bin/lxcfs -l /var/lib/lxcfs

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

# systemctl daemon-reload
# systemctl restart lxcfs.service

Это решение в лоб, чтобы было понятно, что конкретно делаем. Более корректно менять настройки systemd через переопределение их в override.conf. Для этого создаём файл /etc/systemd/system/lxcfs.service.d/override.conf:

# systemctl edit lxcfs

Пишем туда:

[Service]
ExecStart=
ExecStart=/usr/bin/lxcfs -l /var/lib/lxcfs/

И тоже перечитываем настройки и перезапускаем службу:

# systemctl daemon-reload
# systemctl restart lxcfs.service

Хотя лично мне кажется, в данном случае лучше переписать оригинальный файл юнита. Если с каким-то обновлением прилетит его изменение, лучше полностью его заменить, чтобы не было потом проблем совместимости с изменениями в override.conf.

После этого надо остановить все контейнеры и запустить заново. Теперь внутри LXC вы будете видеть LA непосредственно контейнера.

Не понимаю, почему эту настройку до сих пор по умолчанию не применяют в Proxmox. Специально обновился до самой свежей на момент написания заметки версии 8.4.1 и убедился, что этого ключа для службы нет, а проблема актуальна. Мне в очередной раз о ней напомнил Zabbix, когда подключил новый хост с LXC к мониторингу.

В LXC Merge request для решения этого вопроса принят ещё в 2018 году. Вот ответ на форуме от сотрудника поддержки:

"Seems like it's working well for some users, but to be honest i don't see any reason to make it default still. it's rather easy to add the flag and it's a specific use case..."

"Похоже, у некоторых пользователей это нормально работает, но, честно говоря, я не вижу причин устанавливать его по умолчанию. Добавить флаг нетрудно, кому надо, делает это..."

❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.

#proxmox #lxc
2👍162👎2