Linux: инструменты компрессии и архивации (zip/gzip/bzip, tar/7zip/7zz)

Задачи архивации и сжатия делаются зачастую вместе для создания ужатых архивов ряда файлов. Пример чаще всего используемой мной команды:
# АРХИВАЦИЯ БЕЗ СЖАТИЯ И УДАЛЕНИЯ ИСХОДНЫХ ДАННЫХ (БЫСТРЕЕ ДЕЛАЕТСЯ)
tar -cf trex.tgz /opt/trex/*

# АРХИВАЦИЯ СО СЖАТИЕМ GZIP И УДАЛЕНИЕМ ИСХОДНЫХ ДАННЫХ (БЫСТРЕЕ ПЕРЕДАЕТСЯ/ЗАНИМАЕМ МЕНЬШЕ МЕСТА)
tar --remove-files -czf logs.tgz
  Читать дальше

NMS, monitoring, observability, inventory, management, NTA, performance monitoring systems

  • Linux Performance Observability Tools: strace ltrace ss nstat gethostlatency sar proc dmesg dstat opensnoop laof fatrace filelife pcstat execsnoop mpstat profile runqlen offcputime softirqs turbostat show boost rmdsr perf fteace LTTng BCC bpftrace ext4dist ext4slower top atop ps pidstat vmstat slabtop free tiptop perf numastat hardirqs criticalstat nicstat netstat ip lldptool snmpget ethtool tcplife tcpretrans udpconnect tcpdump perf tiptop mdflush iostat biosnoop biolatency biotop blktrace swapon

  • Мониторинг призван уменьшать значение времени исправления проблем (MTTR) или даже предотвращать возникновение аварийных ситуаций (подробнее ниже)
  • Задача классического админа, решаемая мониторингом – сделать алерты в системе мониторинга на уменьшение количества краски в принтерах
  • Существует разная глубина взросления «мониоринга» – реакция по негативному фидбеку/инцидента от пользователя, реакция на события мониторинга еще до обращения клиента, автоматизация на события мониторинга (напр.
  Читать дальше

Linux, работа с дисками – разделы, файлы-папки, файловые системы в ОС, LVM (ls, lsblk, fdisk, find, rm/rmdir/shred/tmpwatch, dd, synctoy, df, du, tree, iotop, parted, mkfs, mount, fstab, fsck, find, clonezilla, parted/gparted, OSFmount, ln, life cd&usb, flock, iotop/iostat/lsof, split, paste)

  • Отдельная статья про оперативную память
  • Отдельная статья про диски (эта)
  • Отдельная статья про права
  • (Disk, enterprise) Mirror.yandex.ru: Storage
    • В текущий момент на трех серверах zfs, на трех серверах использует ext4 (не смог переехать на них на zfs из-за зависимости от старого пропатченного командой storage яндексом драйвера hba как контроллера sas и версии ядра linux для дисковой полки этих серверов; в итоге ядро и драйвер не поменять, а на старом ядре только древняя версия zfs), плюс что если будут проблемы уровня ФС они будут не везде 🙂
    • Планомерно мигрирует storage (все новые репы заводит там) с локального хранения на S3 yandex, но отказываться полностью от локального хранения не планирует (защита от кейса аварии в S3 яндекса и нужны будут недоступные дистрибутивы с зеркала).
  Читать дальше

Системное программирование (C, C++, RUST) и узкоспециализированные языки (fortran, cobol)

  • (rust, C) Значительная часть suricata написана на rust (25%), но часть C все равно значительно больше (73%).
  • (rust, C) Всего 4% кода ClamAV на rust, остальная C (80%) и C++ (9%)
  • (rust, C) apple / corecrypto – в сердце криптографии Apple ни одной строки на RUST, 80% кода C++ 😀
https://github.com/apple/corecrypto
  Читать дальше

Linux: ядро (kernel), процессы /proc в ОС и работа с ними (proc, ps, lsof, nice, kill, killall, top, lscpu, interrupts, smp irq affinity, isolcpus, taskset, cpuset/cset shield), утилизация процессора (user/system/idle/iowait/softirq)

  • kernel parameters /proc/cmdline (можно редактировать конфигом GRUB)
  • kernel parameters modification /etc/sysctl.conf
  • (Linux Kernel, Security, Coding practices/релизные циклы)
    Интересное из https://portal.linuxtesting.ru/about-linux-kernel.html#main
    • У ядра Linux примерно двухмесячный релизный цикл. Согласно статистике собранной за 10 последних лет, в работе над каждой версией ядра принимает участие более 1600 различных разработчиков, которые делают в среднем 7 изменений в ядро каждый час (непрерывно в течение 10 лет!),
  Читать дальше

Linux: DPDK, HYPERSCAN, SNABB; NETMAP DNA, PFRING, XDP; hugepages

  • Хорошие таблицы, взяты отсюда https://habr.com/ru/companies/garda/articles/985596/

Производитель Модель Скорость Ключевые особенности Применение
NVIDIA BlueField-3

 

DPU

400 Gbps 16x ARM Cortex-A78,

 

аппаратный eBPF

Cloud security, Zero-Trust
Intel IPU E2000 200 Gbps Интеграция с Open vSwitch, поддержка QAT Виртуализация,

 

SDN

AMD/Xilinx Alveo SN1000 100 Gbps FPGA + ARM-ядра,

 

анализ TLS/SSL

Финансовый мониторинг
Marvell OCTEON 10

 

DPU

100 Gbps 8x ARM Neoverse N2,

 

аппаратный DPI

Телеком (5G UPF)

Программные методы Аппаратные методы
  AF_PACKET PF_RING /

 

PF_RING ZC

DPDK (PMD) DPDK (AF_XDP) FPGA SmartNIC
Скорость До 10 Gbps 10 Gbps

 

40-100 Gbps

До 200+ Gbps До 100 Gbps Многократные 100G порты (400G, 800G) До 200 Gbps

 

на порт

Задержка

 

(Latency)

Высокая Средняя

 

Низкая

Очень низкая Низкая Экстремально низкая детерминированная Очень низкая детерминированная
Сложность реализации Низкая (стандартный

 

API)

Средняя (свои драйверы и библиотеки) Высокая (выделенные ядра, управление памятью) Высокая

 

(работа с еВРЕ)

Очень

 

высокая (HDL/Verilog/V

HDL, RTL-дизайна)

Высокая (ASIC,

 

C/OpenCL)

Стоимость Бесплатно (входит в состав ОС) Бесплатно /

 

Платная

Бесплатно, но мощные CPU

 

совместимые NIC

Бесплатно Очень высокая Высокая
Ключевые особенности Простота использ-ниЯ, стандартность Улучшенная производите-ть.
  Читать дальше

Linux: ssh (конфигурация, 2FA, туннели, примеры подключения, автологин, удаление сессий, radius, скрипты, туннелирование, проксирование)

  • SSH3 (seclab) – протокол по функционалу близкий к ssh поверх QUIC (есть реализаци клиента и сервера), название скорее неудачное, но в целом проект интересный – напр. маскировка под HTTPS, скорость за счет ускорения handshake, проброс не только TCP, но и UDP портов; встроенный в quic “mobile IP”, «вести себя как web сервер пока не получим нужный id», нативная поддержка oauth, поддержка сертификатов x.509.
  Читать дальше

Security: AAA (RADIUS, TACACS), Cisco ISE, Cisco DUO, Cisco TrustSec, Posture Assesment, Cisco Auth Failures

  • нормальная задача администратора – поднять radius сервер, прописать его на сетевом оборудовании, настроить интеграцию radius сервера с LDAP каталогом на windows server. В итоге ты логинишься на сетевое оборудование по доменной/AD учетной записи.
Различия Radius/Tacacs

Подробно в статьях Cisco (en/ru): 1 2 и ниже в статьях про RADIUS и TACACS.  Читать дальше

Популярные WEB сервера и заметки о них (apache/httpd, nginx)

Сравнение WEB можно посмотреть тут

  • nginx; tengine (alibaba nginx) – по сути community industry standard, особенно в высокопроизводительных решениях.
  • apache – данный блог на apache, проблем из-за этого не было. Лично у меня к нему даже несколько большее доверие т.к. он как поддерживался, так и поддерживается Apache Foundation, в отличии от NGINX, из которого ушел основатель.
  Читать дальше

SQL и базы данных: основы (индексы, ключи, нормализация), примеры SQL запросов, работа с таблицами CREATE, DROP, EDIT; использование SELECT (join, distinct, enlosed, like, sum, etc); балансировка/масштабирование (шардирование, репликация), TMDB (time series database)

  • http://sqlfiddle.com/ – очень удобный сайт по экспериментам с SQL (запросы, создание страниц и проч.)
  • https://dbfiddle.uk/Gx3c6fmQ – аналогично, с примером
основные инструменты SQL/NoSQL; big data; analytics
    • хранение
      • mysql/oracle/postres (более в почете сейчас последний, в том числе для bigdata в виде greenplum и TSDB в виде TimescaleDB)
      • OpenTSDB (Time Series Database)
      • redis
      • s3
      • elk – часто используется для логов
      • clickhouse
      • log stash
    • визуализация
      • Kibana
    • поиск по данным
      • ElasticSearch
Отдельные статьи
Time series database

В основном на основе статьи из habr

A time series database (TSDB) is a software system that is optimized for storing and serving time series through associated pairs of time(s) and value(s).
  Читать дальше