27 de noviembre de 2025

馃摑 Gu铆a R谩pida: C贸mo extender un volumen LVM en Linux (sin reiniciar)

¿Te ha pasado esto? Aumentas el tama帽o de un disco virtual (en VMware, Proxmox, AWS, etc.), pero cuando entras a tu servidor Linux, el sistema de archivos sigue igual.

Si usas LVM (Logical Volume Manager), el proceso para reclamar ese espacio nuevo consta de tres capas: Partici贸n F铆sica → Volumen F铆sico (PV) → Volumen L贸gico (LV).

Aqu铆 tienes los pasos exactos para hacerlo en caliente usando parted, sin necesidad de reiniciar el servidor.


1. Diagn贸stico: Identificar el espacio perdido

Primero, verificamos la situaci贸n. Usamos lsblk para ver la discrepancia entre el disco f铆sico y la partici贸n.


lsblk

Lo que ver谩s: Es probable que veas que el disco (disk) tiene el tama帽o nuevo (ej. 500G), pero la partici贸n (part) sigue con el tama帽o viejo (ej. 400G).

Plaintext
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
sdb               8:16   0  500G  0 disk 
└─sdb1            8:17   0  400G  0 part 
  ├─vg_data-lv1 254:0    0  263G  0 lvm  /data

2. Capa 1: Extender la Partici贸n (con Parted)

A diferencia de fdisk, la herramienta parted nos permite redimensionar particiones montadas de forma m谩s segura y directa.

Vamos a decirle a la partici贸n n煤mero 1 del disco /dev/sdb que ocupe el 100% del espacio disponible.


# Sintaxis: parted [DISCO] resizepart [NUMERO_PARTICION] [FIN]
sudo parted /dev/sdb resizepart 1 100%

Nota: Si te da un error o advertencia, aseg煤rate de que est谩s seleccionando el disco correcto.


3. Capa 2: Actualizar el Volumen F铆sico (PV)

Ahora que la partici贸n (/dev/sdb1) ya mide 500G, debemos avisarle a LVM que su contenedor ha crecido.


sudo pvresize /dev/sdb1

Verificamos que el Grupo de Vol煤menes (vg) ahora tenga espacio libre:

sudo vgs
# Deber铆as ver el espacio nuevo en la columna "VFree"

4. Capa 3: Extender el Volumen L贸gico (LV)

Con el espacio libre disponible en el grupo, extendemos el volumen l贸gico donde est谩n nuestros datos (por ejemplo, zb_data).

Opci贸n A: Asignar TODO el espacio libre disponible

sudo lvextend -l +100%FREE /dev/vg_zb_00/zb_data

Opci贸n B: Asignar una cantidad espec铆fica (ej. 50GB)

sudo lvextend -L +50G /dev/vg_zb_00/zb_data

5. Paso Final: Redimensionar el Sistema de Archivos

Este paso es crucial y a menudo se olvida. LVM ya es m谩s grande, pero el formato de archivos (ext4 o xfs) dentro de 茅l no lo sabe.

Si usas EXT4:

sudo resize2fs /dev/vg_zb_00/zb_data

Si usas XFS:

sudo xfs_growfs /srv/data_psql_zabbix
# (Nota: xfs_growfs usa el punto de montaje, no el dispositivo)

¡Listo! Verifica con df -h y ver谩s tu nuevo espacio disponible sin haber detenido ning煤n servicio.


馃殌 Resumen (TL;DR) para copiar y pegar

Si ya sabes qu茅 disco y partici贸n son, aqu铆 tienes la secuencia r谩pida:

# 1. Extender partici贸n f铆sica
sudo parted /dev/sdb resizepart 1 100%

# 2. Actualizar LVM
sudo pvresize /dev/sdb1

# 3. Extender Volumen L贸gico (usando todo el espacio)
sudo lvextend -l +100%FREE /dev/vg_zb_00/zb_data

# 4. Redimensionar filesystem (Ejemplo para ext4)
sudo resize2fs /dev/vg_zb_00/zb_data

23 de noviembre de 2025

馃挕 C贸mo Calcular el Porcentaje de Incremento o Subida

 El c谩lculo del porcentaje de incremento (o porcentaje de subida) es una habilidad fundamental, ya sea que analices precios, salarios, o el crecimiento de cualquier m茅trica. Nos ayuda a entender la magnitud del cambio con respecto al valor original.

La F贸rmula Clave

El proceso se reduce a tres pasos sencillos basados en esta f贸rmula general:





Pasos Detallados con Ejemplos

Paso 1: Hallar la Diferencia (Subida Neta)

Resta el valor inicial del valor final para saber cu谩nto aument贸 el valor en total.

ConceptoOperaci贸n
Matem谩ticas$12.65 - 6.60 = 6.05$
Programaci贸nsubida = valor_final - valor_inicial

Paso 2: Hallar el Ratio (Proporci贸n del Cambio)

Divide la subida neta (del Paso 1) entre el valor inicial. Esto te dar谩 un n煤mero decimal que representa la proporci贸n del cambio.

ConceptoOperaci贸n
Matem谩ticas$\frac{6.05}{6.60} \approx 0.9167$
Programaci贸nratio = subida / valor_inicial

Paso 3: Convertir a Porcentaje

Multiplica el ratio (del Paso 2) por $100$ para obtener el resultado final en formato de porcentaje.

ConceptoOperaci贸n
Matem谩ticas$0.9167 \times 100 = 91.67\%$
Programaci贸nporcentaje = ratio * 100

馃捇 Ejemplo Pr谩ctico con Variables de Programaci贸n

Imaginemos que quieres calcular el incremento en las visitas a tu web, que pasaron de 150 a 480.

馃摑 C贸digo (Pseudoc贸digo o Python)

# Valores de entrada
valor_inicial = 150  # Visitas el mes pasado
valor_final = 480    # Visitas este mes

# PASO 1: Calcular la diferencia (la subida neta)
subida = valor_final - valor_inicial
# subida = 480 - 150 = 330

# PASO 2: Calcular el ratio (la proporci贸n)
ratio = subida / valor_inicial
# ratio = 330 / 150 = 2.2

# PASO 3: Convertir a porcentaje
porcentaje_incremento = ratio * 100

# Resultado final
# porcentaje_incremento = 2.2 * 100 = 220.0
print(f"El incremento en las visitas fue del {porcentaje_incremento}%")

El incremento fue del 220%.

✨ Conclusi贸n

La clave est谩 en recordar que el denominador (la parte de abajo de la divisi贸n) siempre debe ser el valor inicial u original.

  • $\text{Siempre se divide por el valor que estaba **antes** del cambio.}$



4 de noviembre de 2025

C贸mo Autenticar la CLI de Gemini en Servidores Remotos (Adi贸s al Error 400)

Si intentas usar la CLI de Gemini (@google/gemini-cli) en un servidor remoto (como Debian 12, Ubuntu, o cualquier VPS) mediante SSH, pronto descubrir谩s que el proceso de autenticaci贸n de Google falla porque no puede abrir un navegador ni redirigir a localhost.

En nuestro caso, el problema fue doble: la variable GEMINI_API_KEY era ignorada y la URL de autenticaci贸n de Google estaba incompleta (Error 400: invalid_request).

A continuaci贸n, te mostramos el 煤nico camino garantizado para que Gemini CLI funcione en un entorno headless (sin interfaz gr谩fica).

馃洜️ Prerrequisito: Obtener y Exportar la API Key

Antes de cualquier cosa, aseg煤rate de tener tu clave API lista. Este m茅todo es el m谩s confiable para entornos de servidor.

  1. Obt茅n tu Clave API desde Google AI Studio.

  2. Exporta la clave como una variable de entorno en tu terminal SSH (aunque la CLI la ignore temporalmente, es un buen h谩bito):

    export GEMINI_API_KEY="TU_CLAVE_GENERADA_AQUI"

Paso 1: Forzar el Uso de la API Key en la Configuraci贸n

La CLI de Gemini prioriza el flujo de autenticaci贸n de cuenta personal (oauth-personal). Para forzar que use la clave API, debemos editar el archivo de configuraci贸n.

  1. Crea el directorio de configuraci贸n si no existe:

    mkdir -p ~/.gemini
  2. Crea o edita el archivo settings.json en el directorio de tu usuario:

    nano ~/.gemini/settings.json
  3. Aseg煤rate de que el archivo contenga 脷NICAMENTE tu clave API y no configuraciones de oauth-personal que podr铆an causar conflicto:

    {
      "apiKey": "AIzaSyB1xX9eXkAK3WlV1aOE3KXdtdt5D0unuNs"
    }
    

    (Reemplaza el valor con tu clave real. Este paso corrige la tendencia de la CLI a ignorar la variable de entorno y a intentar el flujo OAuth roto).


Paso 2: Ejecutar y Acceder al Men煤 de Autenticaci贸n

Al iniciar la CLI, esta ya no deber铆a fallar con el error 400 ni con la petici贸n de un c贸digo que no funciona. En su lugar, la CLI detectar谩 que tiene una clave API disponible y nos presentar谩 el men煤 de opciones.

  1. Ejecuta el comando principal:

    gemini
  2. La CLI te mostrar谩 el siguiente men煤 interactivo, reconociendo tu instalaci贸n:

    │ 1. Login with Google
    │ ● 2. Use Gemini API Key
    │ 3. Vertex AI
    

Paso 3: Seleccionar la Autenticaci贸n por API Key

Este es el paso cr铆tico donde le indicamos expl铆citamente a la herramienta qu茅 m茅todo usar, superando los fallos autom谩ticos.

  1. Usa las flechas de direcci贸n para mover el selector () a la Opci贸n 2: Use Gemini API Key.

  2. Presiona Enter para confirmar tu selecci贸n.

La CLI de Gemini autenticar谩 la sesi贸n inmediatamente usando la clave que ya definiste en el archivo ~/.gemini/settings.json.

Si todo es correcto, la CLI iniciar谩 el prompt interactivo de chat, ¡y podr谩s usar Gemini directamente desde tu terminal Debian remota!

Welcome to Gemini CLI. Type /help for assistance. 

(chat)> 

馃摑 Gu铆a R谩pida: C贸mo extender un volumen LVM en Linux (sin reiniciar)

¿Te ha pasado esto? Aumentas el tama帽o de un disco virtual (en VMware, Proxmox, AWS, etc.), pero cuando entras a tu servidor Linux, el siste...