Решил ли ты уже вопрос блокировок впн в своей инфраструктуре?
Anonymous Poll
27%
Да
40%
Нет
33%
Не моя проблема
🚧 Изолировать сеть между контейнерами - нет проблем с помощью правил iptables и правильного режима виртуального интерфейса
Но как изолировать дисковую подсистему каждого контейнера ⁉
То есть, если storage pool у вас идет как директория для этих контейнеров, то и доступ эти контейнеры могут получать внутри этого пула.
Тогда можно создать для каждого контейнера свой пул и поидее он будет ограничен им (к примеру директорией /lxd/pool-1)
С этим вроде решили. 🏄 Но есть второй момент - квота дискового пространства, она также остается общей для всех контейнеров, каждый может писать сколько угодно пока диск не забьется, ведь это не qcow диск
НО, для этого придумали в конфигурации root тома контейнера специальный флаг в конфиге root size=2GB, то есть ограничили размер корневого раздела двумя гб. ‼
К сожалению это работет только для zfs/btrfs и еще вроде lvm, с ext4 не прокатит
Как же тогда можно изолировать контейнерное дисковое пространство вместе с квотой? Ваши догадки?
Но как изолировать дисковую подсистему каждого контейнера ⁉
То есть, если 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
‼ Но тут есть одно НО, может кто-то уже догадался в чем может быть проблема?
В предпоследнем абзаце последнего сообщения я ошибся с 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 должен быть разряженным и с заданным максимальным размером
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 интерфейсы (вайргуард и тд)
То есть теперь для каждого будет доступно еще +1 сервак - lxc контейнер.
Хочу еще протестировать на lxc tun интерфейсы (вайргуард и тд)
🔥4
Всем привет! 👏
Alpine Linux максимально минималистичен
Теперь он появился в боте vps @root_cheap_bot бесплатно! То есть вы можете его установить вторым сервером через команду /createvps
Ради этого даже накинул еще swap 25 гигов 😂
Alpine Linux максимально минималистичен
Теперь он появился в боте vps @root_cheap_bot бесплатно! То есть вы можете его установить вторым сервером через команду /createvps
Ради этого даже накинул еще swap 25 гигов 😂
🔥6🏆1
Изза того что гипервизор однозадачный для создания виртуалок/контейнеров lxd и для команды /reload, то просто ожидайте сообщения что "ваш сервер готов к подключению" без флуда. Спасибо за понимание)
👍2
Сделал чекер логов для elasticsearch с помощью python и docker. Это просто скрипт, который проверяет логи в индексах. На скрине видна разница в рзамере обычного образа python3 и сделанного на alpine, НО с добавленной строкой в Dockerfile "apk add python3 py3-pip"
👍2
Внимание! ‼️
Блокировки снова начались, теперь SHADOWSOCKS не работает у некоторых пользователей в разных регионах 🤪😄
НО xray работает!
Блокировки снова начались, теперь SHADOWSOCKS не работает у некоторых пользователей в разных регионах 🤪😄
НО xray работает!
‼Решение было найдено в использовании стандартного Openvpn с любым портом, обязательно протоколом TCP и в конфиге клиента и сервера используется ключ tls-crypt
Всем привет 👋
Простое и интересное видео для тех кому интересно как с помощью Python можно управлять серверами удаленно
https://www.youtube.com/watch?v=-fl8Jj4rmmM
Простое и интересное видео для тех кому интересно как с помощью Python можно управлять серверами удаленно
https://www.youtube.com/watch?v=-fl8Jj4rmmM
YouTube
FLASK API 🌟 УПРАВЛЕНИЕ сервером с помощью Python
В этом видео мы применим Python и Flask API для управления серверами. Познаем что такое API на простом примере, и как отдавать ответы выполненных команд, и сделаем это безопасно через HTTPS
Стили:
https://linuxlife.page/posts/22-manage-server-by-python…
Стили:
https://linuxlife.page/posts/22-manage-server-by-python…
👍5🏆1🤝1