Sysadminium
322 subscribers
148 photos
1 video
1 file
398 links
Я делюсь своими знаниями системного администратора. Всё проверено на себе — иногда даже дважды.
Download Telegram
✔️Chromium-bsu - прикольные аркадные "самолётики". Летишь вверх экрана, стреляешь по врагам и уворачиваешься от пуль. Классика в стиле старых аркад.

Устанавливается из стандартных репозиториев Mint/Ubuntu:
sudo apt update
sudo apt install chromium-bsu
👍3
✔️Frozen-bubble - пузырьковая стрелялка-пазл. Стреляешь цветными шариками, собирая группы одного цвета. Спокойная и залипательная.

Устанавливается из стандартных репозиториев Mint/Ubuntu:
sudo apt update
sudo apt install frozen-bubble
👍4
📌В этой статье познакомимся с Docker Compose — инструментом для создания многоконтейнерных систем с помощью одного конфигурационного файла.

✅Docker Compose — это инструмент для подготовки и запуска многоконтейнерных систем. Он позволяет с помощью одного файла описать всю инфраструктуру приложения и затем запустить её одной командой. Таким образом, вместо ручного запуска десятков контейнеров, вы получаете централизованное и управляемое описание всего стека.

С помощью Docker Compose можно:
🔹Описать все сервисы (контейнеры) в одном файле docker-compose.yml.
🔹Запустить весь стек одной командой: docker compose up.
🔹Docker Compose автоматически создаёт сеть, тома и настраивает проброс портов.
🔹В результате, становится легко масштабировать сервисы, пересобирать контейнеры и работать с логами.
👍9
📌Я создал на сайте страничку.

👉Она содержит полную иерархию всех материалов сайта: от рубрик к статьям. Используйте для быстрой и удобной навигации по сайту.
👍18
👉В статье будет рассказано про инструмент OOM Killer — который призван уберечь систему от зависания в случае нехватки физической памяти, путём завершения какого-то процесса и освобождения его памяти.

👉Любой запущенный процесс в системе потребляет оперативную память. И если память заканчивается, то система может, либо зависнуть, либо завершить один из её процессов. И чтобы система не зависла, в ней существует механизм, который отвечает за завершение процессов в случае нехватки памяти — OOM Killer (Out-Of-Memory Killer).

👉OOM Killer выбирает процесс для завершения смотря на баллы oom_score. А именно, при нехватки памяти, будет завершён процесс с наибольшим количеством баллов oom_score.
👍5
✅Здесь мы разбираем продвинутые инструкции в Dockerfile: HEALTHCHECK — для проверки работы приложения, LABEL — для добавления меток, ARG — для автоматизации, SHELL — для изменения оболочки.

👉Если мы собираем самодостаточный контейнер, который не будет зависеть от docker-compose.yml, то лучше сделать HEALTHCHECK прям в Dockerfile. А если мы не собираем свой образ, а просто используем уже готовый образ в docker-compose.yml, тогда имеет смысл настроить HEALTHCHECK там.

👉LABEL позволяет добавлять произвольные теги: автор, версия, описание, лицензия и т.д. Используется для документации, аудита, автоматизации.

👉Аргументы (ARG) позволяют передавать значения во время сборки (docker build), например, версию ПО, режим (dev/prod), конфиги.

👉По умолчанию команды RUN, CMD, ENTRYPOINT выполняются через /bin/sh -c. Но можно задать свою оболочку, например, /bin/bash. Для этого используем - SHELL.
👍7
В этой статье я демонстрирую создание и управление виртуальной машиной на Proxmox VE 8 с помощью консольной команды qm. Вероятно, на Proxmox VE 9 всё работает так же, но я этого пока не проверял.

👉Например создать виртуальную машину можно с помощью такой команды:
qm create 110 \
--name "vm-test" \
--memory 1024 \
--cores 1 \
--ostype l26 \
--scsi0 data:10 \
--cdrom nfs-store:iso/debian-12.8.0-amd64-netinst.iso \
--net0 model=virtio,bridge=vmbr0

Остальные примеры можете посмотреть в статье📝.
👍6😱1
📌Иногда требуется сконвертировать виртуальный диск из ESXi для использования в PVE.

Обратите внимание, эта заметка ориентирована на ZFS. Если у вас LVM-thin или другой тип хранилища, то команды конвертации могут отличаться.

От ESXi у вас обычно есть два файла:
🔹<имя>.vmdk - это дескриптор (текстовый файл, который содержит метаданные о формате). Для конвертации (qemu-img convert) нужно использовать именно этот файл - он содержит ссылку на файл с данными.
🔹<имя>-flat.vmdk - файл с данными, который нужно положить в один каталог с первым файлом.

В Proxmox VE я для хранилища дисков виртуальных машин использую ZFS. А ZFS использует для дисков тома (zvol), которые предоставляют блочное устройство без файловой системы. Именно поэтому при конвертации я использую формат RAW.

Продолжение👇
Итак, для начала создаём виртуальную машину на Proxmox VE. При создании нужно выбрать аналогичные настройки тем, что были на ESXi.
🔹Очень важно правильно выбрать тип диска (IDE / SATA / SCSI). Иначе система на виртуальной машине может не стартовать.
🔹На ESXi обычно используется сетевой адаптер VMXNET3/E1000. На PVE можно выбрать e1000.

Затем, убедимся, что размер zvol не меньше чем виртуальный размер VMDK, это делается с помощью команды:
# qemu-img info "<имя>.vmdk"


Желательно чтобы размер был даже немного больше (на 1-2GB), чтобы избежать ошибки при конвертации.

После этого, конвертируем виртуальный диск (vmdk) в zvol, который был создан для новой виртуальной машины на PVE.
❗️Виртуальная машина на PVE в этот момент должна быть выключена.
# qemu-img convert -f vmdk -O raw "<имя>.vmdk" /dev/zvol/data/vm-110-disk-0

❗️Путь /dev/zvol/... зависит от имени пула и VMID. В моём случае zpool=data, а vmid=110.
👍5
В этой статье я опишу, как выполнить расширение диска и файловой системы виртуальной машины Linux на Proxmox VE 8. Разберу 2 кейса: простое расширение файловой системы Ext4, и расширение LVM с разделом XFS.

Допустим нам не хватает места для хранения файлов в виртуальной машине. Proxmox VE 8 и 9 легко даёт расширить диск виртуальной машины, особенно если в качестве хранилища используется ZFS. Но просто расширить диск виртуальной машины мало, нужно ещё внутри расширить файловую систему. О том как это делается читайте в этой статье.
👍8
📌В этой статье описаны инструменты для сканирования образов Docker на уязвимости: docker scan и trivy. Но основное внимание уделено именно trivy.
👍9
tune2fs - стандартная утилита Linux для настройки параметров файловых систем семейства ext (ext2, ext3, ext4). Позволяет изменять критические параметры без переформатирования тома.

Основные возможности:
🔹Настройка интервалов проверки fsck (по количеству монтирований или времени).
🔹Изменение метки тома (label).
🔹Регулировка процента зарезервированных блоков.
🔹Просмотр детальной информации о ФС.
🔹Управление параметрами журналирования (для ext3/ext4).

Продолжение ниже👇
👍7
👉Просмотр всех параметров ФС:
$ sudo tune2fs -l /dev/sda1


👉Проверка fsck каждые 20 монтирований или раз в 7 дней:
$ sudo tune2fs -c 20 -i 7d /dev/sda1
tune2fs 1.47.0 (5-Feb-2023)
Setting maximal mount count to 20
Setting interval between checks to 604800 seconds


$ sudo tune2fs -l /dev/sda1 | egrep "Check interval|Maximum mount"
Maximum mount count: 20
Check interval: 604800 (1 week)

- Если указать нули, то это отключит автоматические проверки.

👉Изменение метки тома:
$ sudo tune2fs -L "root" /dev/sda1
tune2fs 1.47.0 (5-Feb-2023)


$ sudo tune2fs -l /dev/sda1 | grep "volume name"
Filesystem volume name: root


👉Включение/отключение журналирования (требует размонтирования):
$ sudo tune2fs -O has_journal /dev/sda1 # включить
$ sudo tune2fs -O ^has_journal /dev/sda1 # отключить


💡Для изменения параметров корневой ФС (/) используйте загрузку с LiveCD.
👍7
✔️Bomber - игра за самолётик (бомбардировщик). Вам доступно только одно действие, скидывать бомбы на сооружения с помощью клавиши "Пробел". Самолётик летит самостоятельно и постепенно снижается. А если вы не успеете уничтожить все сооружения, то разобьётесь о них.

Устанавливается из стандартных репозиториев Mint/Ubuntu:
sudo apt update
sudo apt install bomber
👍3
✔️Torcs - трёхмерный гоночный симулятор. Множество трасс, автомобилей, продвинутая физика. Игра не требовательна к ресурсам компьютера.

Устанавливается из стандартных репозиториев Mint/Ubuntu:
sudo apt update
sudo apt install torcs
👍4
В этой статье я разбираю две темы:
🔹ограничение ресурсов Docker контейнеров в docker-compose.yml,
🔹очистка системы от docker мусора.
👍7
✅В этой статье я на практике покажу запуск простых сервисов в Docker контейнерах. Будем поднимать следующие сервисы:
- Nginx,
- Apache2,
- Postgres,
- Redis,
- MySQL.

👉Я уже написал довольно много статей по Docker, получился неплохой мини курс. Эта статья, как бы, переходит от теории к практике, поэтому некоторые вещи я не объясняю. Зато даются практические примеры.
👍8
📌В этой статье я опишу как настроить Port Knocking в Mikrotik. Я буду вести настройку на версии RouterOS 7.20.8, но на других версиях всё должно настраиваться и работать аналогично.

👉Port Knocking — это метод скрытия сетевых служб, при котором порт остаётся закрытым до тех пор, пока клиент не отправит заранее определённую последовательность соединений на другие порты.
👍8
📌Обновил статью - Монтирование SSHFS

👉Из статьи вы узнаете про монтирование Linux каталога по сети с использованием SSHFS. Рассмотрим ручное и автоматическое монтирование с помощью с помощью systemd и fstab.
👍5
📝Выбор между SSHFS, CIFS и NFS
Зависит от инфраструктуры, ОС клиентов и требований к безопасности и производительности.

⭐️ SSHFS
Файловая система поверх SSH (через FUSE). Подходит для временного или административного доступа.

➕Плюсы:
- Нативное шифрование (SSH)
- Простая настройка
- Работает через один порт (22)
- Поддерживает ключи SSH

➖Минусы:
- Самый медленный
- Возможны проблемы с блокировками
- При обрыве соединения может зависнуть

⭐️ CIFS / SMB
Стандартный протокол Windows (в Linux - Samba). Хорош для файловых серверов с Windows-клиентами.

➕Плюсы:
- Отличная совместимость с Windows
- Поддержка ACL, блокировок
- Устойчивее к обрывам
- Шифрование

➖Минусы:
- Чувствителен к высокой задержке
- Сложность настройки: много параметров

⭐️ NFS
Нативный протокол Unix/Linux. Лучший выбор для Linux to Linux.

➕Плюсы:
- Самая высокая производительность
- Простая модель прав (через UID/GID или idmap)

➖Минусы:
- NFSv3 без шифрования а Kerberos в NFSv4 сложен в настройке
- Нет нативной поддержки Windows
👍7
📌В этой статье я покажу как можно подготовить шаблон виртуальной машины в Proxmox VE, и с помощью Cloud-Init настраивать виртуалки созданные из подготовленного шаблона.

👉Из статье вы узнаете: что такое Cloud-Init, узнаете про облачные образы (Cloud Images). В качестве примера я буду использовать шаблон Debian 13.
👍6