Linux Ubuntu server 20.04 (Tutorial)

Soujiro

Fanático
Bueno en vista que tuve que armar un servidor de bio informatica https://www.capa9.net/temas/epyc.1130960/ decidi aprovechar el vuelito y hacer un mini tutorial de instalacion basico de un "servidor", dado que no hay mucha info en español disponible. Aca de todas formas se corrio con suerte por que tanto el procesador EPYC 7302p y la placa madre Asrock Rack EPYCD8-2T/R32 estan soportados out of the box.

1) instalar ubuntu 20.04

Siempre instalar una version LTS en maquinas que son servidores, no ponerse creativo e instalar la versiones desktop "popularesh" lo mas importante es que la distro sea estable. Esto nos deja con solo 3 opciones Ubuntu Server, Suse, Centos. Debido a todo el drama de Centos en los ultimos tiempos preferi irme por el lado ubuntu de la fuerza, dado que con suse no tengo experiencia.
La instalacion de Ubuntu en sus ultimas versiones es demasiao facil, asi que fue un vil siguiente siguiente siguiente a lo mas Wintendo

2) instalar sensors
Primero que nada necesitamos poder ver al menos la temperatura del CPU para esto
Código:
sudo apt install lm-sensors
    sudo sensors-detect
Aca llenar las pantallas donde te preguntan si quieres probar xx sensors, le dije que si a todo dado que esta limpio el equipo, si estuviese en ambiente ya productivo revisaria item por item y ver cuales son "peligrosos"

3) instalar impi
Código:
sudo apt install ipmitool
    sudo ipmitool sdr type Temperature
Captura.PNG

Como es una placa de servidor tiene una interfaz de administracion remota (impi) que permite ver muchas mas cosas que en una placa normal, particularmente temperatura en vairos lugares de la placa y velocidad de los fans

4) Habilitar alarmas por estado discos (smart)
Código:
sudo apt install smartmontools

smartmontools revisara periodicamente los atributos smart de los discos de la maquina y enviara un correo en caso de error en cualquiera de ellos

6) habilitar un Raid1 con 2 discos
Para la informacion se compraron 2 discos de 1 terabayte (maldita pandemia), los cuales iran en raid1 para prevenir cualquier perdida de datos.

Para hacer esto primero identificamos los discos

Código:
lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
Raid1_1.PNG

Ahora Creamos el raid

Código:
sudo mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sdb /dev/sdc
Raid1_2.PNG

Vemos el progreso

Código:
cat /proc/mdstat
Raid1_3.PNG

Despues de un par de horas podemos al fin crear el sistema de achivos
Raid1_4.PNG

Código:
sudo mkfs.ext4 -F /dev/md0
Carpeta para el montaje
Código:
sudo mkdir -p /DATA
Preparamos fstab
Código:
echo '/dev/md0 /DATA ext4 defaults,nofail,discard 0 0' | sudo tee -a /etc/fstab
Montamos
Código:
sudo mount /DATA
Preparamos mdam para que el raid quede listo al iniciar el equipo
Código:
sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf
sudo update-initramfs -u

Finalizamos con el lugar donde almacenaremos nuestra data

6) Cliente de correo
Necesitamos que la maquina sea capaz de enviar correos con las alarmas, para eso instalaremos msmtp

Código:
sudo apt-get install msmtp msmtp-mta

Ahora hay que configurarlo

Código:
sudo nano /etc/msmtprc
Código:
defaults
auth on
tls  on
tls_trust_file /etc/ssl/certs/ca-certificates.crt
logfile /var/log/msmtp.log

# Gmail configuration
account gmail
host    smtp.gmail.com
port    587
from    [email protected]
user    your-username
password app-specific-password
account default: gmail
Reeemplazamos con los valores adecuados y ya esta

5) docker
Estamos en el 2021 si no usas docker estas haciendo algo muy muy muy mal

Habilitamos los repos de docker
Código:
sudo apt-get install -y apt-transport-https curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt-get update
Instalamos docker
Código:
sudo apt-get install -y docker-ce
Configuramos las redes docker para que sean mas "pequeñas"
Código:
sudo touch /etc/docker/daemon.json
sudo /bin/bash -c -- '/bin/echo "{ \"default-address-pools\":[{\"base\":\"172.17.0.0/12\",\"size\":28}] }" > /etc/docker/daemon.json'
Aplicamos los cambios
Código:
sudo systemctl restart docker
Agregamos el usuario actual al grupo docker
Código:
sudo usermod -aG docker `whoami`

6) Docker compose
Docker es muy util, pero con docker-compose mejora muchisimo asi que lo instalamos

Código:
sudo curl -L "https://github.com/docker/compose/releases/download/1.28.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

7) Herramientas utiles
Primero un compresor multitread y luego un visor/editor de json para la linea de comandos, ademas instalamos mas herramientas de monitoreo, para ver como funciona el server bajo carga

Código:
sudo apt-get install pigz jq sysstat cpufrequtils


8) Backup de todo
Ahora hacemos un backup del disco principal completo por que no quiero pasar por esto de neuvo
Código:
sudo su
dd bs=32M if=/dev/sda status=progress | pigz > /DATA/sda_disk.img.gz
backup.PNG

Uso de cpu
backup2.PNG

Uso de disco
backup3.PNG

Temperaturas
backup4.PNG

Finalizamos con el setup basico por ahora.

EDIT: me falot agregar cpufrequtils
 

Archivo adjunto

  • backup.PNG
    backup.PNG
    4,7 KB · Visitas: 19
Última modificación:

Largo

Miembro Activo
Que buen tutorial!! muy claro y paso por paso, consulta, para habilitar 2 tarjetas de red? si esque el servidor tiene mas de una? seria bueno para poder balancear el trafico entre 2 tarjetas de red.
saludos!
 
Upvote 0

Soujiro

Fanático
Ups, la placa trae de echo 2 tarjetas de red pero son 10G ademas de un puerto para la interfaz de administracion impi. La verdad tendria que buscar como hacer bonding y balanceo de carga en ubuntu, dado que cambiaron a netplan abandonando el clasico /etc/network/interfaces.

Creo que vere mas en detalle eso de la red cuando toque instalar el equipo en su ubicacion final, por ahora esta en mi cueva con simple dhcp.
 
Upvote 0

Largo

Miembro Activo
Bueno con una tarjeta de 10G no creo que haya mucha diferencia habilitar ambas, a menos que el trafico sea muy grande o de archivos de gran peso, igualmente muy buen tutorial.
 
Upvote 0

dwyer

Sonidista-Computin
Hola, consulta. Porque no hacer el Raid 1 por la placa? muy julero el controlador que trae? o definitivamente no trae

Saludos
 
Upvote 0

Soujiro

Fanático
Los controladores raid integrados en las placas madres son todos marca acme, para tener raid por hardware decente necesitas si o si una controladora independiente y en "teoria" por el tipo de carga en este caso no se justificaba dicha controladora. Por otra parte si llegara a fallar el chip del raid y/o la placa madre recuperar la data se vuelve un parto o derechamente no se puede.
 
Upvote 0

Zuljin

Fundador
Miembro del Equipo
Fundador
ADMIN
Disculpen la pregunta, ¿pero en el menú de instalación de Ubuntu existe la opción de instalación bien mínima? Es decir, cero entorno gráfico y únicamente paquetes base.
 
Upvote 0

Zuljin

Fundador
Miembro del Equipo
Fundador
ADMIN
Update. Puta, en vez de ponerle sticky al tema y dejarlo fijo arriba le puse "lock" :plaf. Estas cosas no me hubieran pasado en mudo.cl.
 
Upvote 0

Soujiro

Fanático
Jjauaju luego del @Zuljin bug respondo a tu pregunta, no existe eso de instalacion minimo en la version desktop de ubuntu, TIENES que usar la version server, esa es la que instala solo la base + openssh server
 
Upvote 0

dwyer

Sonidista-Computin
Me avisaron que el servidor que graba acá en la oficna no responde, así que me metí vía ILO y estaba pegado
lo reinicié y le hice una captura para quebrarme con los cores jajaja

Captura de Pantalla 2021-02-23 a la(s) 12.23.07.png
 
Upvote 0

dwyer

Sonidista-Computin
Upvote 0
Subir