Сервер

Обзор Это статья о быстром знакомстве с XDP. Поэтому я опущу подробные объяснения, такие как eBPF. XDP — это фреймворк для обработки пакетов на самом раннем этапе сетевого стека ядра Linux, который позволяет непосредственно вставлять программы в NIC (сетевую карту) с помощью eBPF. XDP позволяет обрабатывать пакеты быстрее, чем фильтры, такие как iptables, поскольку позволяет манипулировать пакетами на самом раннем этапе сетевого стека ядра Linux. В целом, можно считать, что программу XDP можно прикрепить к интерфейсу NIC, используя eBPF.
В связи с определенными обстоятельствами мне было нужно воспроизвести ситуацию остановки I/O, поэтому я записал свои заметки о том, как использовать dmsetup для этой цели. Воспроизведение остановки I/O с помощью dmsetup Проверка состояния dmsetup info Остановка I/O dmsetup suspend /dev/vol01/test Восстановление I/O dmsetup resume /dev/vol01/test Ссылки Команда dmsetup Red Hat Enterprise Linux 7 | Портал клиентов Red Hat
Обзор Я хотел провести небольшое нагрузочное тестирование с короткими пакетами и решил попробовать Pktgen-DPDK. Перед этим необходимо включить IOMMU. Запись о включении IOMMU Окружение Целевая среда Версия Ubuntu 22.04 DPDK 23.11.1 Pktgen-DPDK ветка main NIC Intel X520 DA2 Установка необходимых пакетов Установка зависимостей sudo apt-get update sudo apt-get install -y git build-essential libnuma-dev python3-pyelftools linux-headers-$(uname -r) meson ninja-build Сборка и установка DPDK Скачивание библиотеки DPDK Скачать DPDK В данный момент мы используем последнюю LTS версию, 23.
BIOS Ознакомьтесь с руководством по BIOS. Linux Kernel Добавление необходимых опций при загрузке # vi /etc/default/grub GRUB_CMDLINE_LINUX_DEFAULT="amd_iommu=on" Для AMD укажите amd_iommu=on, для Intel укажите intel_iommu=on. Обновление GRUB # update-grub Перезагрузка # reboot Проверка параметров # cat /proc/cmdline Проверка dmesg # dmesg | grep iommu
Записка о использовании SFP+ не от Intel на Intel X520 DA2 под управлением Linux. Добавление опции драйвера # cat << _EOF_ > /etc/modprobe.d/ixgbe.conf options ixgbe allow_unsupported_sfp=1,1 _EOF_ Выгрузка и повторная загрузка драйвера # modprobe -r ixgbe # modprobe ixgbe Генерация initramfs заново # update-initramfs -u Если этого не сделать, то при перезагрузке параметр allow_unsupported_sfp=1,1 не будет активен.
Это способ кешировать ошибки 502 (Плохой шлюз) и 504 (Время ожидания шлюза) с помощью веб-ускорителя Sakura Cloud. Частый доступ к контенту, который не может быть кеширован, или, даже если это кешируемый контент, может привести к тому, что исходный сервер будет возвращать 502 (Плохой шлюз) или 504 (Время ожидания шлюза) из-за высокой нагрузки на сервер. Обычно в ответах об ошибках, таких как в nginx, не добавляется заголовок Cache-Control, поэтому контент не кешируется, и нагрузка на исходный сервер продолжает оставаться высокой.
Записываю заметки по настройке Rundeck. Целевая среда Версия Ubuntu 22.04 Rundeck 4.14.1 Установка Java # apt-get install -y openjdk-11-jre-headless Регистрация репозитория Официальный способ предполагает использование apt-key, но в версии 22.04 возникает предупреждение, поэтому изменим способ. # curl -L https://packages.rundeck.com/pagerduty/rundeck/gpgkey > /etc/apt/keyrings/rundeck.asc Далее добавим репозиторий Rundeck. # cat << _EOF_ > /etc/apt/sources.list.d/rundeck.list deb [signed-by=/etc/apt/keyrings/rundeck.asc] https://packages.rundeck.com/pagerduty/rundeck/any/ any main deb-src [signed-by=/etc/apt/keyrings/rundeck.asc] https://packages.rundeck.com/pagerduty/rundeck/any/ any main _EOF_ После добавления репозитория обновим информацию о пакетах. # apt-get update Установка Rundeck # apt-get install rundeck Запуск сервиса Похоже, что после установки через apt демон не был перезагружен автоматически, поэтому выполняем это вручную.
Записываю отметки о настройке Zabbix 6.4. Конфигурация будет включать Zabbix + Nginx + php-fpm + PostgreSQL + TimescaleDB. Целевая среда Версия Ubuntu 22.04 Zabbix 6.4 PostgreSQL 15 Nginx 1.18.0 php-fpm 8.1.2 Регистрация репозитория Скачать и установить Zabbix # wget https://repo.zabbix.com/zabbix/6.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.4-1+ubuntu22.04_all.deb # dpkg -i zabbix-release_6.4-1+ubuntu22.04_all.deb # apt обновить Установка Zabbix # apt install zabbix-server-pgsql zabbix-frontend-php php8.1-pgsql zabbix-nginx-conf zabbix-sql-scripts zabbix-agent Установка PostgreSQL # apt install Установка PostgreSQL Добавление репозитория и установка # apt install software-properties-common gnupg postgresql-common apt-transport-https lsb-release wget # /usr/share/postgresql-common/pgdg/apt.
Оставляю заметки по установке Metabase на Ubuntu 22.04 LTS. Установка Java Необходимо установить Java Development Kit (JDK). apt-get install -y default-jdk Создание директории для установки Metabase install -d /opt/metabase cd /opt/metabase Скачивание Metabase Скачайте бинарный файл Metabase с помощью следующей команды. wget https://downloads.metabase.com/v0.45.3/metabase.jar Создание пользователя и группы useradd metabase -d /opt/metabase chown -R metabase:metabase /opt/metabase Создание файла службы systemd Создайте файл службы systemd с помощью следующей команды. cat << _EOF_ > /etc/systemd/system/metabase.
Команда dmesg в Busybox не имеет параметра -T для преобразования временных меток, поэтому я подготовил одноразовую команду для этого. Однострочная команда uptime=$(cut -d. -f1 /proc/uptime); dmesg | while read line; do time=$(echo $line | sed -e 's/^\[ *\([0-9]*\).*$/\1/g'); echo "[$(date -d @$(($(date +%s) - $uptime + $time)))] $(echo $line | cut -d ] -f 2 -)" ; done Краткое объяснение В файле /proc/uptime записано время, прошедшее с момента загрузки системы в секундах.