RAID уровня выше 5
RAID5 и RAID6 долгое время считались «золотым стандартом» для балансировки между надёжностью и экономией диска.
Но с ростом объёмов накопителей и нагрузок они стали проблемными.
Минусы RAID6 при больших дисках:
1️⃣ Восстановление после сбоя (rebuild) может занимать сутки и больше. Всё это время массив работает медленнее и под угрозой.
2️⃣ Чем больше диски, тем выше шанс ошибки чтения (URE) во время rebuild. В худшем случае массив падает целиком.
3️⃣ Запись требует вычисления чётности, что сильно режет IOPS.
Почему выбирают RAID10: RAID10 сочетает зеркалирование и страйпинг. Это даёт простую архитектуру и высокую скорость.
При отказе диска нужно восстановить только одну половину пары, поэтому rebuild проходит заметно быстрее.
Почему выбирают ZFS
ZFS идёт дальше классического RAID:
⏺ каждая операция проверяется контрольной суммой, что защищает от silent data corruption;
⏺ встроены снапшоты и репликация;
⏺ пулы расширяются гибко, без жёстких ограничений железного RAID-контроллера;
⏺ RAIDZ позволяет балансировать между избыточностью и ёмкостью, при этом сохраняя контроль над целостностью.
Почему админы выбирают RAID10 или ZFS вместо RAID6
RAID5 и RAID6 долгое время считались «золотым стандартом» для балансировки между надёжностью и экономией диска.
Но с ростом объёмов накопителей и нагрузок они стали проблемными.
Минусы RAID6 при больших дисках:
Почему выбирают RAID10: RAID10 сочетает зеркалирование и страйпинг. Это даёт простую архитектуру и высокую скорость.
При отказе диска нужно восстановить только одну половину пары, поэтому rebuild проходит заметно быстрее.
Почему выбирают ZFS
ZFS идёт дальше классического RAID:
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14❤6🤔2👎1
Давайте разберем один из частых вопросов, который может быть задан на собеседовании и как на него отвечать.
Это удобно для серверов с большим количеством приложений, которые не используют всю выделенную память одновременно, но создает риск, что при внезапной нагрузке система столкнется с нехваткой памяти. В таких случаях срабатывает oom-killer, завершая процессы для освобождения ресурсов.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤3
LVM snapshots: пример с PostgreSQL
Теперь разберём практическое применение — резервное копирование PostgreSQL без остановки сервиса.
Снапшоты работают по принципу copy-on-write: при изменении данных в оригинальном томе старая версия сохраняется в снапшоте.
⏺ Чтобы результат был хорошим, нужно принудительно записать все буферы базы на диск.
Шаги бэкапа
1️⃣ Создать снапшот:
2G — примерный размер под изменения на время копирования.
2️⃣ Смонтировать снапшот:
3️⃣ Скопировать файлы:
4️⃣ Очистить:
В прошлый раз я показал, как снапшоты LVM позволяют быстро «замораживать» состояние тома.
Теперь разберём практическое применение — резервное копирование PostgreSQL без остановки сервиса.
Снапшоты работают по принципу copy-on-write: при изменении данных в оригинальном томе старая версия сохраняется в снапшоте.
sudo -u postgres psql -c "CHECKPOINT;"
sync
Шаги бэкапа
lvcreate -L 2G -s -n pgdata_snap /dev/vg0/pgdata
2G — примерный размер под изменения на время копирования.
mkdir /mnt/pgsnap
mount /dev/vg0/pgdata_snap /mnt/pgsnap
rsync -a /mnt/pgsnap/ /backup/pgdata-$(date +%F)/
umount /mnt/pgsnap
lvremove /dev/vg0/pgdata_snap
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤4
ChatGPT 5 — страшное оружие в умелых руках
Российский разработчик Олег Миллер, занимающий обучением и тренировкой новой модели Open AI в Сан-Франциско, рассказывает в своём блоге:
• Как отключить цензуру у ChatGPT (инструкция)
• Малоизвестные ИИ, с которыми вы станете богатым
• Почему человечество обречено на катастрофу из-за развития ИИ
За такие инсайды он может быть уволен. Поэтому блог закрытый, а ссылка на него постоянно меняется. Успей вступить: https://t.iss.one/+iqnm1EACSaI4Yjcy
Российский разработчик Олег Миллер, занимающий обучением и тренировкой новой модели Open AI в Сан-Франциско, рассказывает в своём блоге:
• Как отключить цензуру у ChatGPT (инструкция)
• Малоизвестные ИИ, с которыми вы станете богатым
• Почему человечество обречено на катастрофу из-за развития ИИ
За такие инсайды он может быть уволен. Поэтому блог закрытый, а ссылка на него постоянно меняется. Успей вступить: https://t.iss.one/+iqnm1EACSaI4Yjcy
🤡21
SSH к Cisco без пароля: настройка через RSA-ключи
SSH-аутентификация по ключам давно стала стандартом в Linux/Unix-мире, а Cisco IOS (и NX-OS) поддерживает её ещё с начала 2000-х.
Основное преимущество ключей перед паролями:
⏺ невозможно перебрать брутфорсом (если ключ длинный),
⏺ админ не хранит пароли в заметках/Excel,
⏺ удобно централизованно управлять доступом: добавил или удалил ключ в pubkey-chain — и доступ сразу появился/пропал.
У каждого пользователя есть пара ключей: приватный (хранится у него) и публичный (копируется на устройство).
В отличие от классической схемы логин+пароль, тут нет ввода секретов в консоль, поэтому утечка через keylogger или сниффинг невозможна (при условии, что приватный ключ защищён паролем).
Практика
1️⃣ Включаем SSH на Cisco
2️⃣ Создаём пользователя
3️⃣ Подтягиваем публичный ключ
На клиенте:
Копируем содержимое ~/.ssh/id_rsa.pub и добавляем на Cisco:
4️⃣ Ограничиваем доступ только по ключам
Теперь при подключении:
пароль не нужен.
Нюансы
⏺ Можно завести нескольких пользователей с разными ключами.
⏺ При увольнении сотрудника ключ просто удаляется из pubkey-chain → не надо менять общий пароль.
⏺ Минимальный размер ключа лучше 2048, а в проде — 4096 бит.
⏺ Рекомендовано всегда включать только SSHv2 — SSHv1 давно небезопасен.
SSH-аутентификация по ключам давно стала стандартом в Linux/Unix-мире, а Cisco IOS (и NX-OS) поддерживает её ещё с начала 2000-х.
Основное преимущество ключей перед паролями:
У каждого пользователя есть пара ключей: приватный (хранится у него) и публичный (копируется на устройство).
При подключении клиент доказывает владение приватным ключом, а Cisco сравнивает это с публичным — если совпадает, вход разрешён.
В отличие от классической схемы логин+пароль, тут нет ввода секретов в консоль, поэтому утечка через keylogger или сниффинг невозможна (при условии, что приватный ключ защищён паролем).
Практика
conf t
ip domain-name lab.local
crypto key generate rsa modulus 2048
ip ssh version 2
username admin privilege 15 secret StrongPass123
На клиенте:
ssh-keygen -t rsa -b 2048
Копируем содержимое ~/.ssh/id_rsa.pub и добавляем на Cisco:
ip ssh pubkey-chain
username admin
key-string
ssh-rsa AAAAB3... user@host
exit
exit
line vty 0 4
transport input ssh
login local
Теперь при подключении:
ssh admin@router
пароль не нужен.
Нюансы
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10🔥6
Релиз Wireshark 4.4.9
В конце августа 2025 года вышла стабильная версия Wireshark 4.4.9 — свободного сетевого анализатора с открытым исходным кодом.
Обновлён код поддержки ряда протоколов: BACapp, LIN, MySQL, RDM, SABP, SCCP, sFlow и SSH. Сборки доступны для Windows, macOS и Linux, а стабильная ветка 4.4 проекта развивается с августа 2024 года, продолжая улучшать удобство анализа сетевого трафика для системных администраторов и инженеров.
В конце августа 2025 года вышла стабильная версия Wireshark 4.4.9 — свободного сетевого анализатора с открытым исходным кодом.
Релиз исправляет баги и уязвимости, улучшает графики потоков TCP и VoIP, дорабатывает интерфейсы и решает проблемы с кодировкой UTF-8.
Обновлён код поддержки ряда протоколов: BACapp, LIN, MySQL, RDM, SABP, SCCP, sFlow и SSH. Сборки доступны для Windows, macOS и Linux, а стабильная ветка 4.4 проекта развивается с августа 2024 года, продолжая улучшать удобство анализа сетевого трафика для системных администраторов и инженеров.
❤7👍3
NAT64 и DNS64: доступ IPv6-only клиентов к IPv4 ресурсам
В сетях, где используется только IPv6, часто возникает проблема: клиентам нужно обращаться к сервисам, которые ещё доступны только по IPv4. Решение — комбинация NAT64 и DNS64.
Когда клиент делает запрос к IPv4-хосту, он получает IPv6-адрес, который указывает на NAT64-шлюз.
NAT64 на маршрутизаторе или сервере превращает этот IPv6-трафик обратно в IPv4 и перенаправляет его к целевому серверу. Ответ идёт обратно по тому же пути.
Где применяют:
⏺ IPv6-only датацентры или филиалы, где внутренние клиенты не имеют IPv4.
⏺ Переходные сценарии при массовой миграции на IPv6.
⏺ Обеспечение совместимости с внешними сервисами, которые не поддерживают IPv6.
Пример конфигурации на Cisco IOS:
На Juniper JunOS это выглядит так:
И еще советы:
➖ Проверяйте, что префикс NAT64 корректно согласован с DNS64.
➖ Не все приложения корректно работают через NAT64 (например, некоторые старые FTP-клиенты).
➖ Мониторьте нагрузку на NAT64-шлюз, он становится точкой концентрации трафика.
Используя NAT64/DNS64, можно постепенно убирать IPv4 из инфраструктуры без потери совместимости с внешними сервисами.
В сетях, где используется только IPv6, часто возникает проблема: клиентам нужно обращаться к сервисам, которые ещё доступны только по IPv4. Решение — комбинация NAT64 и DNS64.
DNS64 преобразует A-записи IPv4 в синтетические AAAA-записи IPv6.
Когда клиент делает запрос к IPv4-хосту, он получает IPv6-адрес, который указывает на NAT64-шлюз.
NAT64 на маршрутизаторе или сервере превращает этот IPv6-трафик обратно в IPv4 и перенаправляет его к целевому серверу. Ответ идёт обратно по тому же пути.
Где применяют:
Пример конфигурации на Cisco IOS:
! Создание NAT64-пула
ipv6 nat64 v6v4-pool POOL1 192.0.2.0 192.0.2.255 prefix-length 96
! Включение NAT64 на интерфейсе
interface GigabitEthernet0/1
ipv6 nat64 enable
! Включение DNS64 на Cisco IOS XE
ipv6 dns64 64:ff9b::/96
На Juniper JunOS это выглядит так:
set security nat64 pool NAT64-POOL address 192.0.2.0/24
set security nat64 interface fe-0/0/0.0
set system services dns dns64 prefix 64:ff9b::/96
И еще советы:
Используя NAT64/DNS64, можно постепенно убирать IPv4 из инфраструктуры без потери совместимости с внешними сервисами.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8👍5🤔1
Какой параметр df показывает размеры файловых систем в человекочитаемом формате (GB/MB)?
Anonymous Quiz
87%
-h
4%
-k
7%
-m
2%
-t
😁11🤡6👏2💯1😈1
Хочешь ворваться в DevOps и наконец понять, как работают Kubernetes, Docker и CI/CD?
Ребята из Merion Academy (того самого Youtube-канала про IT), создали курс, который помогает не просто смотреть уроки, а реально учиться:
✔️ Грамотно подобранная программа курса.
✔️ Много практики.
✔️ Помогают разобраться с затыками.
✔️ Отдельно помогут с карьерой: как составить резюме, пройти собеседования и найти работу.
Что интересного в программе:
1. Построение CI/CD пайплайнов в GitLabCI и Jenkins
2. Настройка мониторинга с Zabbix, Prometheus и Grafana
3. Понимание DevSecOps, ZTNA, SASE, Defense in Depth
4. Работа с Docker, включая Docker Compose и Multistaging
5. Infrastructure-as-Code: Terraform и Ansible
5. Работа с хранилищем данных Redis
Какие технологии освоишь: Docker, Ansible, Grafana, Kubernetes, Terraform, Zabbix, ELK, Jenkins, Prometheus
Какие еще есть плюшки: у ребят очень доступные цены за счет того, что курс хоть и с ментором, но рассчитан на самостоятельное обучение – т.е. учишься в любое время, когда тебе удобно в образовательной платформе.
❇️ Первые 2 урока бесплатные — попробуй и реши, твое ли это.
Подробнее о курсе
Ребята из Merion Academy (того самого Youtube-канала про IT), создали курс, который помогает не просто смотреть уроки, а реально учиться:
✔️ Грамотно подобранная программа курса.
✔️ Много практики.
✔️ Помогают разобраться с затыками.
✔️ Отдельно помогут с карьерой: как составить резюме, пройти собеседования и найти работу.
Что интересного в программе:
1. Построение CI/CD пайплайнов в GitLabCI и Jenkins
2. Настройка мониторинга с Zabbix, Prometheus и Grafana
3. Понимание DevSecOps, ZTNA, SASE, Defense in Depth
4. Работа с Docker, включая Docker Compose и Multistaging
5. Infrastructure-as-Code: Terraform и Ansible
5. Работа с хранилищем данных Redis
Какие технологии освоишь: Docker, Ansible, Grafana, Kubernetes, Terraform, Zabbix, ELK, Jenkins, Prometheus
Какие еще есть плюшки: у ребят очень доступные цены за счет того, что курс хоть и с ментором, но рассчитан на самостоятельное обучение – т.е. учишься в любое время, когда тебе удобно в образовательной платформе.
❇️ Первые 2 урока бесплатные — попробуй и реши, твое ли это.
Подробнее о курсе
Merion Academy
DevOps-инженер с нуля
Стань DevOps-инженером с нуля и научись использовать инструменты и методы DevOps
🤡4🔥2👍1👏1💊1
TCP Tuning для высокой нагрузки
В больших сервисах стандартные сетевые настройки ядра Linux иногда становятся узким местом.
Например, при сотнях тысяч одновременных соединений сервер может «терять» пакеты SYN, а TCP-сессии застревать в TIME_WAIT. Чтобы этого избежать, настраивают несколько параметров через sysctl.
Основные параметры
1️⃣ net.core.somaxconn
Определяет максимальное количество ожидающих соединений в очереди listen().
2️⃣ tcp_max_syn_backlog
Размер очереди незавершённых TCP-соединений (SYN). Важно при пиковых нагрузках.
3️⃣ tcp_fin_timeout
Время удержания соединений в FIN_WAIT2, которое может «засорять» сервер.
4️⃣ tcp_tw_reuse и tcp_tw_recycle (внимание: tcp_tw_recycle устарел и опасен для NAT)
Позволяет повторно использовать TIME_WAIT-сессии для новых соединений.
Проверка эффекта
➖ Посмотреть количество TIME_WAIT-соединений:
➖ Нагрузить сервер с помощью ab или wrk и сравнить, сколько соединений сервер держит без потерь.
Автоматизация
Чтобы настройки сохранялись после перезагрузки, добавьте их в /etc/sysctl.conf:
и примените:
В больших сервисах стандартные сетевые настройки ядра Linux иногда становятся узким местом.
Например, при сотнях тысяч одновременных соединений сервер может «терять» пакеты SYN, а TCP-сессии застревать в TIME_WAIT. Чтобы этого избежать, настраивают несколько параметров через sysctl.
Основные параметры
Определяет максимальное количество ожидающих соединений в очереди listen().
# посмотреть текущее значение
sysctl net.core.somaxconn
# увеличить до 65535
sudo sysctl -w net.core.somaxconn=65535
Размер очереди незавершённых TCP-соединений (SYN). Важно при пиковых нагрузках.
sudo sysctl -w net.ipv4.tcp_max_syn_backlog=4096
Время удержания соединений в FIN_WAIT2, которое может «засорять» сервер.
sudo sysctl -w net.ipv4.tcp_fin_timeout=15
Позволяет повторно использовать TIME_WAIT-сессии для новых соединений.
sudo sysctl -w net.ipv4.tcp_tw_reuse=1
Проверка эффекта
ss -s | grep timewait
Автоматизация
Чтобы настройки сохранялись после перезагрузки, добавьте их в /etc/sysctl.conf:
net.core.somaxconn = 65535
net.ipv4.tcp_max_syn_backlog = 4096
net.ipv4.tcp_fin_timeout = 15
net.ipv4.tcp_tw_reuse = 1
и примените:
sudo sysctl -p
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8👍8
Давайте разберем один из частых вопросов, который может быть задан на собеседовании и как на него отвечать.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤3🔥3