{
"meta": {
"title": "Post-instalación: Sistema | Documentación de ProxMenux",
"description": "Optimizaciones a nivel de sistema en el script post-instalación Customizable de ProxMenux: límites de tamaño de journald y logrotate, límites de kernel y descriptores de fichero más altos, tuning de memoria balanceado, kexec para reinicios rápidos, y recuperación ante kernel panic."
},
"header": {
"title": "Post-instalación: Sistema",
"section": "Configuración post instalación de Proxmox"
},
"intro": {
"title": "Qué cubre esta categoría",
"body": "Seis optimizaciones independientes a nivel de sistema. Tunean journald y logrotate para que los logs no llenen el disco, suben los límites de kernel y descriptores de fichero para que aplicaciones con muchos archivos abiertos no peguen contra el techo, balancean la memoria para un host de virtualización, añaden kexec para \"reinicios sin BIOS\", y configuran recuperación automática ante kernel panic. Las seis están registradas y son reversibles desde el menú Uninstall."
},
"journald": {
"heading": "Optimizar journald",
"intro": "Reescribe /etc/systemd/journald.conf con valores por defecto sensatos para que el journal de systemd no pueda comerse lentamente tu partición raíz, luego reinicia systemd-journald y limpia (vacuum) los logs existentes.",
"keyTitle": "Valores clave",
"keyItems": [
"Storage=persistent — conservar logs en disco entre reinicios.",
"SystemMaxUse=64M / RuntimeMaxUse=60M — límites de uso de disco y memoria del journal.",
"Compress=yes, Seal=no — comprimir logs, saltar el forward-secure sealing (ahorra CPU).",
"MaxLevelStore=info — almacenar info y superiores (requerido para el visor de logs del ProxMenux Monitor y para que Fail2Ban detecte fallos de autenticación SSH/Proxmox desde el journal).",
"Límite de frecuencia: 1000 events / 30 s para evitar una avalancha de registros.",
"ForwardToSyslog=no, ForwardToWall=no — no duplicar mensajes a syslog ni broadcastear a consolas."
],
"tipTitle": "Por qué importa MaxLevelStore=info",
"tipBody": "Usar un nivel más estricto como warning hace que el visor de logs del ProxMenux Monitor muestre entradas casi idénticas en todos los rangos de fechas (porque la mayoría de la actividad es de nivel info), e impide que Fail2Ban vea logins fallidos. Si quieres menos volumen de logs, apóyate en el cap SystemMaxUse y en RateLimitBurst en lugar de bajar el nivel almacenado."
},
"logrotate": {
"heading": "Optimizar logrotate",
"intro": "Reescribe /etc/logrotate.conf con ajustes globales de frecuencia diaria y tamaño, 7 rotaciones conservadas, compresión y copytruncate para que los servicios sigan escribiendo sin reabrir los archivos. El tamaño aparece después de la frecuencia diaria y prevalece salvo que una regla particular lo cambie. El logrotate.conf original se copia a .bak la primera vez.",
"tipTitle": "Amigable con Log2RAM",
"tipBody": "La directiva size 10M prevalece sobre el ajuste diario anterior; no significa lo que ocurra primero. Logrotate comprueba el umbral al ejecutarse y las reglas particulares pueden cambiar los valores globales. Con /var/log en la RAM de Log2RAM, revisa las reglas y la frecuencia del temporizador para controlar el espacio."
},
"limits": {
"heading": "Aumentar varios límites del sistema",
"intro": "Sube un puñado de límites de kernel, systemd y PAM que por defecto tienen valores demasiado bajos para un host que ejecuta muchas VMs, contenedores y servicios en red.",
"headerFile": "Archivo",
"headerSets": "Qué establece",
"rows": [
{
"file": "/etc/sysctl.d/99-maxwatches.conf",
"sets": "fs.inotify.max_user_watches / max_user_instances / max_queued_events = 1048576"
},
{
"file": "/etc/sysctl.d/99-maxkeys.conf",
"sets": "kernel.keys.maxkeys / root_maxkeys = 1000000"
},
{
"file": "/etc/sysctl.d/99-swap.conf",
"sets": "vm.swappiness = 10, vm.vfs_cache_pressure = 100"
},
{
"file": "/etc/sysctl.d/99-fs.conf",
"sets": "fs.nr_open / file-max = 2097152, fs.aio-max-nr = 1048576"
},
{
"file": "/etc/security/limits.d/99-limits.conf",
"sets": "nofile y nproc a 1.048.576 (ilimitados para root)"
},
{
"file": "/etc/systemd/system.conf + user.conf",
"sets": "DefaultLimitNOFILE=1048576 para servicios systemd"
},
{
"file": "/etc/pam.d/common-session + runuser-l",
"sets": "session required pam_limits.so para que lo anterior se aplique en shells de login"
},
{
"file": "/root/.profile",
"sets": "ulimit -n 1048576 para la shell de root"
}
],
"tipTitle": "Por qué importa inotify",
"tipBody": "Docker, Syncthing, los observadores de archivos de Node.js y los análisis de bibliotecas de Plex pueden agotar max_user_watches. El valor predeterminado depende del núcleo y la memoria; no siempre es 8192. Subirlo a 1M permite más observadores, sin preasignarlos. Los observadores activos consumen memoria del núcleo: vigila el uso en hosts con poca RAM."
},
"memory": {
"heading": "Optimizar ajustes de memoria",
"intro": "Escribe un perfil sysctl balanceado en /etc/sysctl.d/99-memory.conf. Diseñado para un host hipervisor — prefiere mantener los working sets de las VMs en RAM y libera páginas de forma proactiva para que las ráfagas de allocation no se atasquen.",
"warnTitle": "swappiness=10 en hosts con memoria justa",
"warnBody": "En un host con 16 GB de RAM ejecutando muchas VMs, bajar el swappiness puede empujar al kernel a OOM-killear procesos en lugar de hacer swap. Si estás viendo eventos OOM de forma rutinaria, sube el swappiness de vuelta a 30–60 en /etc/sysctl.d/99-memory.conf después de ejecutar el script."
},
"kexec": {
"heading": "Activar reinicios rápidos (kexec)",
"intro": "Instala kexec-tools y lo conecta para que puedas reiniciar el host directamente a un kernel nuevo sin pasar por el firmware BIOS/UEFI. En servidores grandes donde el POST tarda 45 – 90 segundos, esto convierte un reinicio de una pausa para el café en unos pocos segundos de downtime.",
"installsTitle": "Qué instala ProxMenux",
"installsItems": [
"Paquete kexec-tools (debconf pre-respondido con kexec-tools/load_kexec boolean false para que apt no pregunte y quede desactivado el auto-load al apagar).",
"Unit systemd /etc/systemd/system/kexec-pve.service — carga el kernel de Proxmox y el initrd en memoria al arrancar, reutilizando la cmdline actual.",
"Un alias en /root/.bash_profile: reboot-quick → systemctl kexec."
],
"usageIntro": "Uso tras el siguiente reinicio (o systemctl start kexec-pve manual):",
"warnTitle": "Cuándo no usar kexec",
"warnBody": "kexec se salta el init a nivel de firmware. Si dependes de BIOS/UEFI para resetear el estado del hardware — por ejemplo, una GPU haciendo passthrough que solo resetea limpiamente con un POST completo, o un firmware de HBA problemático — los reinicios kexec pueden dejar esos dispositivos en un estado a medio inicializar. Usa un reboot normal tras upgrades de kernel o cuando necesites que los cambios de BIOS/UEFI surtan efecto. reboot-quick es para reinicios del día a día."
},
"panic": {
"heading": "Activar reinicio en kernel panic",
"intro": "Hace que el kernel se reinicie automáticamente en lugar de quedarse para siempre en una pantalla de panic. Crítico en hosts Proxmox headless/remotos donde un kernel colgado significa que todas tus VMs están caídas hasta que puedas hacer power-cycle a la caja.",
"tipTitle": "Combínalo con acceso a consola remota",
"tipBody": "El auto-reinicio es un mecanismo de recuperación, no una herramienta de debug. Si quieres investigar un panic en lugar de simplemente volver, usa la opción kexec de arriba con el soporte kdump del kernel (no configurado por ProxMenux) o captura una consola serie a otro host antes de activar el auto-reinicio."
},
"verify": {
"heading": "Verificación",
"intro": "Tras aplicar las optimizaciones de Sistema:",
"tipTitle": "Restauración y limitaciones",
"tipBody": "Las seis opciones se registran en installed_tools.json y aparecen en Desinstalar optimizaciones. La restauración elimina los archivos de configuración, la unidad y el alias de kexec, reescribe journald.conf con los valores predeterminados de systemd y restaura logrotate.conf desde su backup. Algunos límites activos requieren otra sesión o reinicio."
},
"related": {
"heading": "Relacionado",
"items": [
{
"label": "Comandos de sistema útiles",
"href": "/docs/help-info/system-commands",
"tail": " — verifica los cambios (free -h, journalctl, ulimit -a)."
},
{
"label": "Rendimiento",
"href": "/docs/post-install/performance",
"tail": " — tuning adicional a nivel de sistema (pigz)."
},
{
"label": "Desinstalar optimizaciones",
"href": "/docs/post-install/uninstall",
"tail": " — revierte cualquiera de estos cambios."
},
{
"label": "Post-instalación personalizable",
"href": "/docs/post-install/customizable",
"tail": " — volver al menú padre."
}
]
}
}