Soy administrador (sysadmin) de varios sistemas en GC (Google Clould) y uno de los sistemas que administro es una instancia de Koha (Sistema integral de gestión bibliotecaria) en una plataforma GCE (Google Compute Engine).
Al monitorizar el sistema Koha, el uso del CPU de la instancia estaba siempre al 100% de su capacidad, lo cual causaba molestia a los usuarios debido a que el sistema estaba demasiado lento.
Al revisar las causas, encontré que esto se debe a web crawlers los cuales hacen búsquedas en el catálogo de Koha para poder indexar resultados, la búsqueda de soluciones me llevo a este wiki de Koha para poder realizarle un tuning (afinamiento) al sistema.
https://wiki.koha-community.org/wiki/Koha_Tuning_Guide
Esta guía ayudo a muchos, pero en mi caso no, los web crawlers seguian accediendo a pesar de agregar el archivo " robots.txt ".
La forma de solucionarlo fue creando (en mi caso) el archivo .htaccess con este archivo de configuraron del servidor Apache logre detener los web crawlers el uso de este archivo de configuración, puede traer repercusiones a tu servidor, en el caso de eficiencia y tiempo de espera, pero para una instancia pequeña como la que administro es perfecta.
Usando esta lista:
http://www.robotstxt.org/db.html
y este generador de archivo .htaccess en esta página http://incredibill.me/htaccess-block-user-agent
ya con el archivo creado, simplemente resto ponerlo en la carpeta www de apache y reiniciar el servidor, con esto se arreglo el problema de los web crawlers que alentaban el procesador y las búsquedas en mi instancia de Koha.
Espero que esta información les sea de ayuda a quien logre encontrar esta entrada.
Aquí podrás encontrar mis apuntes. lo cuales compartiré con el mundo.
Mostrando las entradas con la etiqueta GCE. Mostrar todas las entradas
Mostrando las entradas con la etiqueta GCE. Mostrar todas las entradas
jueves, 28 de julio de 2016
lunes, 4 de enero de 2016
Evitar que el SSH hacia instancia GCE se rompa.
Feliz 2016 a todos =)
En mi experiencia con GCE (Google Compute Engine) he tenido la mala fortuna que al realizar una tarea larga como un "dd" para hacer el respaldo del disco duro o al comprimir el imagen que crear el "dd" el SSH después de un rato de inactividad me marca:
Bueno lo que he estado utilizando y me ha ayudado no solo a evitar el broken pipe si no también para poder darme cuenta de lo que hace la maquina es utilizar:
pv es un comando con el cual podemos añadir una barra de progreso a esos comandos que no cuentan con un modificador o bandera para activar la barra de progreso.
1.- Para usarlo es necesario instalarlo si no se tiene
2.- Para usar pv con dd se utiliza el siguiente comando
3.- Para utlizar pv con pigz
Con eso obtendrás una barra de progreso similar a esta
Con esto evité el broken pipe.
En mi experiencia con GCE (Google Compute Engine) he tenido la mala fortuna que al realizar una tarea larga como un "dd" para hacer el respaldo del disco duro o al comprimir el imagen que crear el "dd" el SSH después de un rato de inactividad me marca:
Write failed: Broken pipe
ERROR: (gcloud.compute.ssh) [/usr/local/bin/ssh] exited with return code [255].
Bueno lo que he estado utilizando y me ha ayudado no solo a evitar el broken pipe si no también para poder darme cuenta de lo que hace la maquina es utilizar:
pv es un comando con el cual podemos añadir una barra de progreso a esos comandos que no cuentan con un modificador o bandera para activar la barra de progreso.
1.- Para usarlo es necesario instalarlo si no se tiene
$ sudo apt-get install pv
2.- Para usar pv con dd se utiliza el siguiente comando
$ sudo dd if=/dev/disk/by-id/google-temp |pv|sudo dd of=/mnt/tmp/disc.img bs=5M
3.- Para utlizar pv con pigz
$ pv -tpreb /archivo/a/comprimir | pigz -k --best > comprimido.gz
Con eso obtendrás una barra de progreso similar a esta
17.4GB 0:11:28 [35.5MB/s] [====> ] 7% ETA 2:25:52
Con esto evité el broken pipe.
lunes, 12 de octubre de 2015
Exportar instance (VM) de Google Compute engine para resguardo local (LINUX VM)
Para hacer un respaldo de la VM de GCE debes de hacer lo siguientes:
1.- Crear un nuevo disco temporal este debe ser una copia del disco actual que estas utilizando, para esto debes de hacer un "snapshot" de tu disco y con ese crear el nuevo.
2.-Debes de ejecutar el comando attach-disk desde tu maquina local para poder vincular el disco creador a tu sistema operativo, esto se logra con el siguiente comando:
$ gcloud compute instances attach-disk [tu instancia] --disk temp \--device-name temporary-disk \--zone [zona de tu proyecto]
4.-Con el proceso anterior finalizado, ingresa por SSH a tu VM y revisa que el vinculo de tu Disco duro temporal se haya realizado y se encuentre montado en tu sistema operativo. para eso deberás listar los discos duros de tu SO con el siguiente comando:
$ ls -l /dev/disk/by-id/google-*
tendrás un salida similar a la siguiente:
$ ls -l /dev/disk/by-id/google-*
lrwxrwxrwx 1 root root 9 Jul 29 17:56 /dev/disk/by-id/google-persistent-disk-0 -> ../../sda
lrwxrwxrwx 1 root root 10 Jul 29 17:56 /dev/disk/by-id/google-persistent-disk-0-part1 -> ../../sda1
lrwxrwxrwx 1 root root 9 Aug 25 18:16 /dev/disk/by-id/google-temporal-disk -> ../../sdb # El disco temporal reside en: /dev/sdb
5.-Se crea un carpeta temporal, este paso es importante recuerda la ruta:
$ sudo mkdir /mnt/tmp
6.-Monta el nuevo disco:
$ sudo /usr/share/google/safe_format_and_mount -m "mkfs.ext4 -F" /dev/sdb /mnt/tmp
7.-Este paso es el mas importante, con el comando "gcimagebundle" se creará un archivo .tar del disco duro montado, y lo pondrá en la carpeta temporal que se creo antes, por eso es importante crear el disco duro temporal con las imagen del disco a resguardar.
$ sudo gcimagebundle \-d /dev/sda -o /mnt/tmp/ --log_file=/tmp/abc.log
nota: el tiempo de ejecución de este proceso, dependerá del tamaño de tu disco y del tipo de VM que estés utilizando.
8.-Cuando el proceso termine, busca un archivo con un nombre conformado de un gran cadena de números hexadecimales con extensión .tar.gz
/mnt/tmp/HEX-NUMERO.image.tar.gz
9.-Por ultimo copia ese archivo a tu maquina local con el comando de copia que puse anteriormente (Copiar archivos de pc local a VM en Google Compute Engine) y respalda el archivo de la manera que mas te agrade, en mi caso son dvds
martes, 29 de septiembre de 2015
Copiar archivos de pc local a VM en Google Compute Engine
Si tienes una VM en GCE (Google Compute Engine) y necesitas copiar archivos de tu VM a tu pc local o quieres enviar archivos de tu pc local a tu VM hay un comando que te puede funcionar
Los ejemplos que se mostraran son en PC con Linux a un VM con Linux (Sí, trabajo con Linux...)
PC a VM
gcloud compute copy-files [/archivo/a/copiar] [Nombre de tu VM]:[/directorio/destino] --zone "[la zona donde reside tu VM]"
VM a PC
gcloud compute copy-files [Nombre de tu VM ]:[/archivo/a/copiar] --zone "[la zona donde reside tu VM]" [/directorio/destino]
Importante:
Para hacer la copia de archivos debes de estar "logueado" en gcloud
gcloud auth loggin
y tener seleccionado el proyecto donde se encuentra tu VM
gcloud config set [projectnombre-de-tú-proyecto]
para mas información consulte https://cloud.google.com/sdk/gcloud/reference/compute/copy-files
Suscribirse a:
Entradas (Atom)


