Disco de registro separado para Kerio Control

Parecía que era más fácil poner los registros en un disco separado, pero no, hay algunos trucos.







Antecedentes



Recuerdo que era una hermosa tarde de invierno, cuando de repente se hizo evidente que había un problema con Kerio Control.

¡Kerio Control no pudo escribir los cambios en la configuración y estaba sucediendo algún tipo de maldad!



El diagnóstico fue rápido y preciso: el disco del sistema Kerio Control se quedó sin espacio.



La razón, el gran tronco viejo.



Hubo varias soluciones:



  • Registros claros
  • Aumente el espacio en disco del sistema
  • Agregar disco adicional para registros


Este último parecía el más lógico.



De hecho, no buscamos caminos fáciles, pero estamos tratando de hacer el trabajo concienzudamente, para que esto no vuelva a suceder y nada pueda arruinar otra velada maravillosa.



Un lector sofisticado del artículo dirá de inmediato, pero deje que Kerio sea capaz de limpiar los registros y almacenarlos en un período de tiempo bien definido.

Sí, puede, pero el registro salió en volumen desde el intervalo de tiempo especificado en el servidor. ¿Cómo afrontar esta situación?



Decisión



Kerio Control Virtual Appliance es una máquina virtual que vive en un disco, la solución parecía muy simple:



  • Agregar un disco virtual adicional en el hipervisor
  • Hacer marcado ext4 o ext3
  • Agregar nuevo montaje de disco a fstab
  • Busque el archivo de configuración de Kerio y especifique una nueva ruta para los registros.


¡PERO NO!



Comenzando con "Agregar nuevo montaje de disco a fstab", algo salió mal.



Resultó que a Kerio no le importaba fstab.



El disco estaba perfectamente montado manualmente, pero el automático no quería nada después de lanzarse.



Después de desplazarme por los directorios de archivos en busca de algo desconocido, me llamó la atención el archivo 05basefs , es decir, me gustaron mucho las siguientes inscripciones: base y fs , pero 05 no estaba interesado en absoluto. Después de examinar su contenido, me di cuenta de que el sistema de archivos está montado aquí.



Entonces todo parecía simple, durante mucho tiempo hay un archivo winroute.CFG, todas las configuraciones se almacenan allí, también puede especificar la ruta al directorio con registros allí.



Pero resultó que me equivoqué aquí, Kerio presta atención a las nuevas rutas en el archivo de configuración, pero algo no funciona, el registro después de cambiar las rutas arroja errores o no muestra nada en absoluto.



Bueno, está bien, ¡montemos un nuevo disco en la ubicación actual del registro!



Implementación



Después de todo lo anterior, la implementación es muy sencilla.



Primero, necesitamos conectarnos al terminal Kerio Control, la forma más fácil de hacerlo es usando SSH.



Habilite temporalmente el acceso SSH.



Para hacer esto, debe iniciar sesión en el panel de administración e ir a la sección "Estado del sistema" mientras mantiene presionada la tecla Shift.







Si hizo todo correctamente, aparecerá un botón de activación SSH en la parte inferior junto al botón de reinicio del servidor:







Active SSH temporalmente (¡no olvide deshabilitarlo después de la configuración!)

Después de habilitar SSH, puede conectarse al servidor utilizando el cliente SSH.



Es mejor usar un cliente que pueda copiar archivos inmediatamente al servidor, explicaré por qué más adelante.



Entonces, lo que tenemos ahora:



  • Creamos y conectamos un nuevo disco al servidor.
  • Marcado en ext4 o ext3
  • SSH activado y conectado al servidor


A continuación, necesitamos arreglar el archivo 05basefs ubicado en la siguiente ruta . \ Etc \ boxrc.d \ 05basefs .



Pero antes de editarlo, debe hacer dos cosas más.



La primera es averiguar el desarrollo del nuevo disco para registros.

Para averiguar el nombre del disco, ejecute lsblk y obtenga algo como







dónde:

  • SDA - disco del sistema
  • sda1 - cargador de arranque
  • sda2 y sda3: la versión actual y aparentemente anterior de Kerio
  • sda4 - Var aquí la configuración y los registros predeterminados
  • SDB es nuestro nuevo disco


En el caso de que necesitemos guardar los registros actuales, debemos montar temporalmente el disco sdb en cualquier directorio vacío y transferir el contenido de / var / winroute / logs al sdb montado.



Después de la transferencia, desmonte sdb.



La segunda es permitir que el sistema de archivos modifique los archivos del sistema.

Kerio monta el disco del sistema donde se encuentra 05basefs con derechos de solo lectura.



para ver dónde y cómo realizamos mount premoted







Puede ver que / dev / sda2 está en el estado RO , y ahí es donde se encuentra la versión actual de Kerio y 05basefs también está allí.Habilite temporalmente la



escritura en / dev / sda2 con el comando mount -o rw, remontar / dev / sda2

Ahora puedes arreglar el archivo 05basefs, personalmente prefiero copiar el archivo ya arreglado, esto es conveniente, ya que habiendo hecho esto una vez, tendrás que repetir el procedimiento de reemplazo de archivo cada vez que actualices la versión de Kerio, ya que el 05basefs original se restaura con la nueva versión.



También puede usar el editor vi para cambiar el archivo; está en el sistema.



Cambie 05basefs de la siguiente manera



#!/bin/sh
# $Revision: 1.13 $

case "$1" in
start)
grep -q /tmp /proc/mounts || mount -t tmpfs tmp /tmp
mkdir -p /tmp/run

root=$(grep " / " /proc/mounts | grep -v rootfs | sed 's/ .*//')
DATA=${root%[23]}4
BOOT=${root%[23]}1

modprobe ext3
mount -o ro -t ext3 $BOOT /boot
if [ ! -z "$DATA" ] && ! mount -o data=ordered $DATA /var 2>/dev/null; then
echo "Creating new data partition..."
#mkfs.nilfs2 -b 1024 $DATA
mkfs.ext3 -b 4096 -q $DATA 2>&1
tune2fs -c 0 -i 0 -r 0 -E stride=512,stripe-width=512 $DATA
fsck -p $DATA
mount -o data=ordered $DATA /var
[ -d /var.default ] && cp -a /var.default/* /var
elif [ -f "/var.default/update.list" ]; then
for i in `cat /var.default/update.list`; do
[ -e "/var.default/$i" -o -h "/var.default/$i" ] || continue
! [ -e "/var/$i" -o -h "/var/$i" ] || continue
mkdir -p $(dirname "/var/$i")
cp -a "/var.default/$i" "/var/$i"
done
fi
mount -t ext4 /dev/sdb /var/winroute/logs
exit 0
;;
stop)
echo "Umounting data partition..."
for i in $(seq 1 10); do
if fuser -sm /var; then
sleep 1
else
break
fi
done
fuser -kms /var/winroute/logs
umount /var/winroute/logs
fuser -kms /var
umount /var
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
;;
esac




Explicaciones de los cambios en el archivo



mount -t ext4 / dev / sdb / var / winroute / logs

monta sdb en la ruta de registro original / var / winroute / logs



fuser -kms / var / winroute / logs

umount / var / winroute / logs


Desmonta sdb para corregir apagar el servidor.



Ahora regresaremos sda2 a su estado original con el comando mount -o r®, remount / dev / sda2.



Después de que el servidor se reinicie, Kerio escribirá registros en nuestro disco SDB dedicado.



Muleta



(después de todo, no puede prescindir de una muleta)



Como dije anteriormente, si se actualiza la versión de Kerio, el archivo 05basefs volverá a su estado original, Kerio comenzará a escribir registros en sda4 nuevamente. A lo largo de la ruta / var / winroute / logs.



Para que Kerio continúe escribiendo el registro en SDB, debe repetir el procedimiento de reemplazo de archivos.



All Articles