#linux LIFE
1.22K subscribers
184 photos
8 videos
13 files
141 links
Группа канала Linux Life в youtube
Обозреватель свободного программного обеспечения для линукс , а также канал о пингвинах и не только!

youtube канал https://www.youtube.com/@linuxlifepage

Связаться с автором @worldranger
Download Telegram
420164334, зачем ты так с ним? 😄
😢5😁3🔥1
Опять блочат ВПН
😱2💯1
тесты на ТСПУ. Будут проходить с 16:00 07.09.2023 по 11.09.2023 МСК
Решил ли ты уже вопрос блокировок впн в своей инфраструктуре?
Anonymous Poll
27%
Да
40%
Нет
33%
Не моя проблема
Всем привет! 👏
Эпопея про VPS на гипервизоре и LXD(Lxc) продолжается.

Хочу рассказать о такой вещи как изоляция контейнеров, если они публичные и используются среди клиентов, а не только вами
🚧 Изолировать сеть между контейнерами - нет проблем с помощью правил iptables и правильного режима виртуального интерфейса

Но как изолировать дисковую подсистему каждого контейнера
То есть, если storage pool у вас идет как директория для этих контейнеров, то и доступ эти контейнеры могут получать внутри этого пула.

Тогда можно создать для каждого контейнера свой пул и поидее он будет ограничен им (к примеру директорией /lxd/pool-1)

С этим вроде решили. 🏄 Но есть второй момент - квота дискового пространства, она также остается общей для всех контейнеров, каждый может писать сколько угодно пока диск не забьется, ведь это не qcow диск
НО, для этого придумали в конфигурации root тома контейнера специальный флаг в конфиге root size=2GB, то есть ограничили размер корневого раздела двумя гб.
К сожалению это работет только для zfs/btrfs и еще вроде lvm, с ext4 не прокатит

Как же тогда можно изолировать контейнерное дисковое пространство вместе с квотой? Ваши догадки?
Всем доброе утро👏

В предпоследнем абзаце последнего сообщения я ошибся с ext4, я имел ввиду про dir, то есть директория

ИТАК, варианты доступные для изолирования диска контейнера, напишу 2 вврианта

1) Не совсем правильный. Создаем с помощью утилиты dd диск img, форматируем его и монтируем в /mnt/lxd-1, далее создаем пул в этой директории для одного контейнера. В итоге он получит то что нужно в размере, который предоставляет этот образ, также изолируется от других.
Проблемы тут могут возникнуть при перезагрузке гипервизора, то есть надо позаботиться еще об автомонтировании

2) ПРАВИЛЬНЫЙ. В предыдущем посте я упомянул lvm, как раз он нам и нужен. Когда вы создаете профиль lxd при первоначальной команде lxd init, то выбирая для пула lvm можно указать существующий, либо создать новый, и если выбрать новый, то он создаст loop девайс, который как раз является lvm томом блочным устройством в виде физического файла, того же img, который располагается в директории /var/lib/lxd/...

Как раз для него можно задавать для каждого контейнера размер при старте через параметр -d root,size=5GB. В итоге контейнер получит и изоляцию и также нужный размер, управляемый lxd

Но тут есть одно НО, может кто-то уже догадался в чем может быть проблема?
👍1
📜 Ответ по проблеме с правильным вариантом.

Loop устройство (образ img) создается по дефолту в /var/lib/lxd/... и далее монтируется том. Естественно поменять расположение его нельзя при первоначальной инициализации, и после в конфигурации изменить на свой тоже нельзя.

Так как я использую на гипервизоре BCACHEFS том, созданный из ssd+hdd, то в этом вся загвоздка, что он не корневой и мне необходимо хранить все виртуалки и контейнеры на этом разделе

Какой выход? 🏃
Можно настроить симлинк на /var/lib/lxd.., но по мне это не верное решение, так как при обновлении может пойти что-то не так, и я такое не тестировал.

ПРАВИЛЬНОЕ решение заключается в создании loop блочного устройства (образ img) там где нужно, далее его монтирование через losetup и уже создаем через команду lxc storage create <pool-name> lvm source=<vg-name>

* образ loop должен быть разряженным и с заданным максимальным размером
Доделал lxd/lxc. Возможно сегодня залью функционал в бота.

То есть теперь для каждого будет доступно еще +1 сервак - lxc контейнер.

Хочу еще протестировать на lxc tun интерфейсы (вайргуард и тд)
🔥4
Кто играет в Mindustry?) Есть клиент и на линукс/винду/мак
Всем привет! 👏

Alpine Linux максимально минималистичен

Теперь он появился в боте vps @root_cheap_bot бесплатно! То есть вы можете его установить вторым сервером через команду /createvps

Ради этого даже накинул еще swap 25 гигов 😂
🔥6🏆1
Сорян братья, забыл отключить devmode) Сейчас бот должен отвечать
🤣2
Изза того что гипервизор однозадачный для создания виртуалок/контейнеров lxd и для команды /reload, то просто ожидайте сообщения что "ваш сервер готов к подключению" без флуда. Спасибо за понимание)
👍2
Сделал чекер логов для elasticsearch с помощью python и docker. Это просто скрипт, который проверяет логи в индексах. На скрине видна разница в рзамере обычного образа python3 и сделанного на alpine, НО с добавленной строкой в Dockerfile "apk add python3 py3-pip"
👍2
Внимание! ‼️

Блокировки снова начались, теперь SHADOWSOCKS не работает у некоторых пользователей в разных регионах 🤪😄

НО xray работает!
Решение было найдено в использовании стандартного Openvpn с любым портом, обязательно протоколом TCP и в конфиге клиента и сервера используется ключ tls-crypt