Raspberry PI Server


Raspberry PI 1b como servidor en casa

Hace mas de 8 años que tenemos un portátil como servidor en casa, un Celeron II + 4 gb + 128 gb SSD y Xubuntu.
Lo compramos por unos 300 €uros en época de ofertas y luego le pusimos el disco 128 SSD.


El server hace todo lo que necesito y también sirve como "Cliente" para la familia, los productos/servicios que tiene corriendo son
Servidor Correo para varias cuentas de la familia
Srv OwnCloud
Srv SSH
Srv web + https + servicios + php + cgis + WebMail
Srv de Impresión + Impresora HP Laser
Srv openvpn (VPN)
Srv Squid (proxy)
Srv MySQL
noip2 (gestión de ip dinámico)
ThinkSpeak (monitorización del server remota)
LetsEncrypt
mpg123 (mp3 player como hilo musical)

Estos son aplicaciones Clientes
www.netflix.com
GMusicPlayer (reprod mp3)
PGAdmin
VirtualBox (con 2 equipos virtuales)
Skype + Whatsapp + telegram + slack
Aftershoot (retoques de fotos)
R Studio
Remmina
Keypassx
WPS (clone de office)
Claws (cliente de correo)
RoboMongo
SqlDeveloper (Oracle)
SublimeText3
TeamViewer 12
VeraCrypt
Vivaldi browser
GPG4USB
SNX para redes VPN en empresas

Suele estar encendido las 24 hs todos los dias del año, excepto durante las vacaciones, las teclas están gastados, pensaba en cambiarlo y poner algo mejor/mejor. pensando que ya tenemos 4 portátiles en casa, comprar otro mas para servidor produciría pasar a tener 5 (CINCO) portátiles.... parece demasiado.

¿ Porqué una PI 1b ?
Recordé que tenía tirada en un cajón una Raspberry PI B (512 mb), estaba tirada desde hace unos 3 años luego de hacer pruebas y descubrir que le faltaba potencia para ser un ReproMultimedia, el KODI es muy bueno pero la PI es demasiado poco para moverlo.
https://kodi.tv/kodi-v17-1-krypton/

Luego de probar Raspbian, pendrive, teclados, ratones, wifi USB... fue al cajón.

Hasta hace 1 mes atras, donde pensé en darle otra oportunidad.
https://www.raspberrypi.org/products/model-b/

Pensé en Raspbian, un SD de 8 gb serie 10 que también estaba tirado en el cajón.
https://www.raspberrypi.org/downloads/noobs/

La instalación es bastante simple, bajar Noobs, renombrarlo de ZIP a ISO, usando DD, pasar el ISO al SD, meter el SD en la PI y enchufar un cargador de teléfomo MicroSD.
Durante la instalación indicar un "overclock MEDIO", para que no caliente tanto la PI pero que los Mhz que brinde el micro sean un poco mayores. La verdad que es que el CPU es muy limitada en potencia (ARM) y 512 no es tanto, pero acaba funcionando un Raspbian con interfax gráfica.


Luego estuvo unos dias, quitando cosas, la parte gráfica, paquetes y servicios que no necesitaba, con eso logré llegar a los 800 megas usados en Disco y un consumo inicial de ram de 150 megas.

Al ser Debian (cada año que pasa me gusta mas), fuí copiando configuraciones y archivos del portátil (server viejo) a la PI (Server nuevo). El proceso era instalar el producto (ej: apt install squid) y luego pisar los ficheros de configuración.

Estuve unos 15 horas para preparar todo, algunos procesos son demasiado lentos para la PI, algo que con un disco SSD y un Celeron demoran segundos, en la PI fueron minutos. pero quedó todo funcionando bastante bien.

Luego tuve que cambiar unas reglas en el router para redireccionamiento de puertos y mantener ambos servidores en paralelo durante unos dias.

Hoy llevo un mes funcionando únicamente con la PI, el consumo eléctrico es notoriamente menor, ocupo mucho menos espacio en mi "cuevita" informática privada (cajita plástica), tengo que acomodar las partes, porque ahora tengo un monitor Dell 27" que enciendo durante las horas de trabajo en casa.
https://www.amazon.es/gp/product/B00OOKGECK/ref=oh_aui_detailpage_o02_s00?ie=UTF8&psc=1



El viejo servidor Asus, ahora está cerrado la mayoría del tiempo (hibernando), lo abrimos y usamos para ver NetFlix, navegación en internet y edición de fotos. Unas horas cada dia como mucho.

He logrado pasar todo a una PI 1b y que funcione bastante bien, inclusive OwnCloud y OpenVPN que son productos mas pesados, funcionan "bastante bien". La velocidad no es la misma que con el Portátil y el SSD... pero se pueden usar.


Para OwnCloud instalé un miniusb de 16 gb conectado a la PI, suficiente para los archivos de uso diario, además de tener dos NAS de 1 tb cada una conectadas a la red.


Pensé en colocarle XFCE y usarla como Browser, pero la PI no lo soporta, es lenta y con poca RAM para eso, en mi portátil personal (Asus tp300) veo que uso 6 gb de RAM solo con Firefox... imposible tener funcionando la parte gráfica en la PI, aunque la parte texto si que funciona bien.


Al arrancar con todo funcionando, usa 124 mb ram.




SCRIPT para enviar datos a thingspeak
#!/bin/bash

api_key='xxxxxxxxxx'

stat | awk '/^cpu / {print $5}'`; USED=`echo 2 k 100 $SECOND $FIRST - $NUMCPUS / - p | dc`
used_cpu_percent=`awk -v a="$(awk '/cpu /{print $2+$4,$2+$4+$5}' /proc/stat; sleep 1)" '/cpu /{split(a,b," "); print 100*($2+$4-b[1])/($2+$4+$5-b[2])}' /proc/stat`
echo $used_cpu_percent

# get memory
used_mem=`ps -A | wc -l`
# free -m | tr -s ' ' | grep buffers/cache | cut -f3 -d' '`
# total_mem=`free -m | tr -s ' ' | grep Mem | cut -f2 -d' '`
# used_mem_percent=`echo "scale=2;100*$used_mem/$total_mem" | bc`
echo $used_mem

# get disk use as a percent
used_disk_percent=`df -lh | awk '{if ($6 == "/") { print $5 }}' | head -1 | cut -d'%' -f1`
echo $used_disk_percent

# Post Ext Storage usage
disco=`df -h | grep /opt | cut -c 34-36`
echo $disco

# post the data to thingspeak
curl -k --data "api_key=$api_key&field1=$used_cpu_percent&field2=$used_mem&field3=$used_disk_percent&field4=$disco" https://api.thingspeak.com/update



Finalmente los servicios que quedaron corriendo son

[ - ] alsa-utils
[ + ] apache2
[ + ] avahi-daemon
[ - ] bootlogs
[ - ] bootmisc.sh
[ - ] checkfs.sh
[ - ] checkroot-bootclean.sh
[ - ] checkroot.sh
[ + ] console-setup
[ + ] cron
[ + ] cups
[ + ] cups-browsed
[ + ] dbus
[ + ] dhcpcd
[ + ] dovecot
[ + ] dphys-swapfile
[ + ] fake-hwclock
[ - ] hostname.sh
[ - ] hwclock.sh
[ + ] kbd
[ + ] keyboard-setup
[ - ] killprocs
[ - ] kmod
[ - ] lightdm
[ - ] motd
[ - ] mountall-bootclean.sh
[ - ] mountall.sh
[ - ] mountdevsubfs.sh
[ - ] mountkernfs.sh
[ - ] mountnfs-bootclean.sh
[ - ] mountnfs.sh
[ + ] mysql
[ + ] networking
[ - ] nfs-common
[ + ] ntp
[ + ] openvpn
[ - ] plymouth
[ - ] plymouth-log
[ + ] postfix
[ + ] procps
[ + ] raspi-config
[ + ] rc.local
[ - ] rmnologin
[ - ] rpcbind
[ - ] rsync
[ + ] rsyslog
[ - ] saned
[ - ] sendsigs
[ + ] squid
[ + ] ssh
[ - ] sudo
[ + ] triggerhappy
[ + ] udev
[ + ] udev-finish
[ - ] umountfs
[ - ] umountnfs.sh
[ - ] umountroot
[ + ] urandom
[ - ] x11-common



Los puertos

PORT STATE SERVICE
22/tcp open ssh
25/tcp open smtp
80/tcp open http
143/tcp open imap
443/tcp open https
631/tcp open ipp
993/tcp open imaps
3128/tcp open squid-http
3306/tcp open mysql


Almacenamiento

Filesystem Size Used Avail Use% Mounted on
/dev/root 5,9G 2,8G 2,8G 50% /
devtmpfs 214M 0 214M 0% /dev
tmpfs 218M 0 218M 0% /dev/shm
tmpfs 218M 8,6M 209M 4% /run
tmpfs 5,0M 4,0K 5,0M 1% /run/lock
tmpfs 218M 0 218M 0% /sys/fs/cgroup
/dev/mmcblk0p6 65M 21M 45M 32% /boot
/dev/sda1 15G 4,0G 9,4G 30% /opt/a
tmpfs 44M 0 44M 0% /run/user/1000
tmpfs 44M 0 44M 0% /run/user/0


Procesos

systemd─┬─agetty
├─apache2───10*[apache2]
├─avahi-daemon───avahi-daemon
├─colord─┬─{gdbus}
│ └─{gmain}
├─cron
├─cups-browsed
├─cupsd
├─dbus-daemon
├─dhcpcd
├─dovecot─┬─anvil
│ └─log
├─login───bash
├─master─┬─anvil
│ ├─pickup
│ ├─proxymap
│ ├─qmgr
│ ├─smtpd
│ └─tlsmgr
├─mysqld_safe───mysqld───23*[{mysqld}]
├─noip2
├─ntpd
├─openvpn
├─packagekitd─┬─{gdbus}
│ └─{gmain}
├─polkitd─┬─{gdbus}
│ └─{gmain}
├─pulseaudio───{null-sink}
├─rsyslogd─┬─{in:imklog}
│ ├─{in:imuxsock}
│ └─{rs:main Q:Reg}
├─rtkit-daemon───2*[{rtkit-daemon}]
├─squid───squid───unlinkd
├─sshd───sshd───sshd───bash───sudo───su───bash───pstree
├─2*[systemd───(sd-pam)]
├─systemd-journal
├─systemd-logind
├─systemd-udevd
└─thd

Comentarios

Entradas populares