🚧 Изолировать сеть между контейнерами - нет проблем с помощью правил 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
Forwarded from Linux News
Новый код GNOME ускоряет работу с многомониторами для проприетарного драйвера NVIDIA.
GNOME, одна из самых популярных сред с открытым исходным кодом для рабочего стола Linux, выпустила обновление, которое значительно повышает производительность при использовании многомониторной настройки с проприетарным драйвером NVIDIA.
Ранее пользователи сталкивались с проблемами при подключении нескольких мониторов к компьютеру с проприетарным др......
GNOME, одна из самых популярных сред с открытым исходным кодом для рабочего стола Linux, выпустила обновление, которое значительно повышает производительность при использовании многомониторной настройки с проприетарным драйвером NVIDIA.
Ранее пользователи сталкивались с проблемами при подключении нескольких мониторов к компьютеру с проприетарным др......
👍1
Forwarded from Linux News
Loongson готовит виртуализацию LoongArch KVM для Linux 6.7.
Компания Loongson Technology, китайский производитель процессоров, готовит поддержку виртуализации LoongArch KVM для следующего релиза ядра Linux 6.7. Это позволит пользователям запускать виртуальные машины на процессорах Loongson с архитектурой LoongArch.
Loongson Technology разрабатывает собственные процессоры, основанные на архитектуре MIPS. Они......
Компания Loongson Technology, китайский производитель процессоров, готовит поддержку виртуализации LoongArch KVM для следующего релиза ядра Linux 6.7. Это позволит пользователям запускать виртуальные машины на процессорах Loongson с архитектурой LoongArch.
Loongson Technology разрабатывает собственные процессоры, основанные на архитектуре MIPS. Они......
👍5