Servidor

Resumen Este es un artículo sobre cómo tocar rápidamente XDP. Por lo tanto, omitiré las explicaciones detalladas sobre eBPF y otros temas. XDP es un marco para procesar paquetes en la etapa más temprana de la pila de red del núcleo de Linux, y permite insertar programas directamente en la tarjeta de interfaz de red (NIC) utilizando eBPF. Al operar paquetes en la etapa más temprana de la pila de red del núcleo de Linux, se puede procesar de manera más rápida que filtros como iptables.
Quería reproducir una situación en la que el I/O se detiene por diversas razones, así que aquí están mis notas sobre cómo reproduje la detención de I/O usando dmsetup. Reproduciendo la detención de IO con dmsetup Verificación del estado dmsetup info Detener el I/O dmsetup suspend /dev/vol01/test Reiniciar el I/O dmsetup resume /dev/vol01/test Enlaces Comando dmsetup Red Hat Enterprise Linux 7 | Portal del Cliente de Red Hat
Resumen Quería realizar una prueba de carga con un poco de tráfico de paquetes cortos, así que probé Pktgen-DPDK. Es necesario habilitar IOMMU de antemano. Notas sobre la habilitación de IOMMU Entorno Entorno objetivo Versión Ubuntu 22.04 DPDK 23.11.1 Pktgen-DPDK rama principal NIC Intel X520 DA2 Instalación de paquetes necesarios Instalación de dependencias sudo apt-get update sudo apt-get install -y git build-essential libnuma-dev python3-pyelftools linux-headers-$(uname -r) meson ninja-build Construcción e instalación de DPDK Descarga de la biblioteca DPDK
BIOS Consulta el manual de la BIOS. Linux Kernel Añadir las opciones necesarias al inicio # vi /etc/default/grub GRUB_CMDLINE_LINUX_DEFAULT="amd_iommu=on" Para AMD, especifica amd_iommu=on, y para Intel, intel_iommu=on. Aplicar los cambios de GRUB # update-grub Reiniciar # reboot Verificar los parámetros # cat /proc/cmdline Comprobar dmesg # dmesg | grep iommu
Notas sobre el uso de SFP+ no de Intel en Intel X520 DA2 en Linux. Agregar opciones al controlador # cat << _EOF_ > /etc/modprobe.d/ixgbe.conf options ixgbe allow_unsupported_sfp=1,1 _EOF_ Descargar y recargar el controlador # modprobe -r ixgbe # modprobe ixgbe Regenerar initramfs # update-initramfs -u Si no se realiza esto, allow_unsupported_sfp=1,1 no se activará al reiniciar.
Este artículo explica cómo hacer que el Web Accelerator de Sakura Cloud almacene en caché los errores 502 (Bad Gateway) y 504 (Gateway Timeout). Puede haber un acceso frecuente a contenido que no se puede almacenar en caché, o incluso contenido que sí se puede almacenar en caché, que provoca que el servidor de origen devuelva un 502 (Bad Gateway) o 504 (Gateway Timeout) debido a una alta carga del servidor.
Registro de las notas de configuración de Rundeck. Entorno Versión Ubuntu 22.04 Rundeck 4.14.1 Instalación de Java # apt-get install -y openjdk-11-jre-headless Registro del repositorio Dado que el método oficial utiliza apt-key, este mostrará advertencias en 22.04, así que lo cambiamos. # curl -L https://packages.rundeck.com/pagerduty/rundeck/gpgkey > /etc/apt/keyrings/rundeck.asc A continuación, añadimos el repositorio de 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_ Una vez añadido el repositorio, actualizamos la información del paquete.
Registraré las notas sobre la configuración de Zabbix 6.4. La configuración será Zabbix + Nginx + php-fpm + PostgreSQL + TimescaleDB. Entorno objetivo Versión Ubuntu 22.04 Zabbix 6.4 PostgreSQL 15 Nginx 1.18.0 php-fpm 8.1.2 Registro del repositorio Descargar e instalar 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 update Instalación de Zabbix # apt install zabbix-server-pgsql zabbix-frontend-php php8.1-pgsql zabbix-nginx-conf zabbix-sql-scripts zabbix-agent Instalación de postgresql # apt install Instalación de PostgreSQL Adición e instalación del repositorio # apt install software-properties-common gnupg postgresql-common apt-transport-https lsb-release wget # /usr/share/postgresql-common/pgdg/apt.
Dejo un registro de la instalación de Metabase en Ubuntu 22.04 LTS. Instalación de Java Se necesita el Java Development Kit (JDK). apt-get install -y default-jdk Creación del directorio de instalación de Metabase install -d /opt/metabase cd /opt/metabase Descarga de Metabase Descargue el binario de Metabase con el siguiente comando. wget https://downloads.metabase.com/v0.45.3/metabase.jar Creación de usuario y grupo useradd metabase -d /opt/metabase chown -R metabase:metabase /opt/metabase Creación del archivo de servicio systemd Cree el archivo de servicio de systemd con el siguiente comando.
El comando dmesg de Busybox no tiene la opción -T para convertir y mostrar los timestamps, así que intenté hacer una conversión en una sola línea. Una línea 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 Explicación general En /proc/uptime se registra el tiempo transcurrido en segundos desde que el sistema se inició.