Post

Proxmox Backup Server

Proxmox Backup Server

Backups y Storage low cost en tu homelab.

Vamos a ver como hacer backups de nuestras maquinas virtuales de PVE, de sus LXC si los tenemos, y tambien podemos hacer backups de nuestros equipos fisicos.

Proxmox backup server es simplemente un regalo XD. Desde que lo descubrí se ha simplificado la manera en la que guardo mis datos, y como los puedo recuperar. En breve, desarrollaré este post, con algun ejemplo de script para hacer backups de rutas concretas de directorios de mi maquina de trabajo, y tambien de algunas capturas de como se recupera un directorio, un fichero, a una ruta diferente, o bien machacarlo. Y tambien algunos ejemplos referentes a entorno virtual, que en mi caso es Proxmox.

RAIDS, gestion de discos y recuperar un raid degradaded.

Bueno, empiezo la casa por el tejado en este post, pero recientemente me he econtrado con el problema de que uno de los Pools se ha degradado por un disco, y lo he tenido que cambiar, asi que voy a documentar el proceso.

Tenemos un pool degradado, y lo podemos ver o bien en el GUI, o bien desde el terminal:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
zpool status Pool4TTVMs
  pool: Pool4TTVMs
 state: DEGRADED
status: One or more devices has experienced an unrecoverable error.  An
	attempt was made to correct the error.  Applications are unaffected.
action: Determine if the device needs to be replaced, and clear the errors
	using 'zpool clear' or replace the device with 'zpool replace'.
   see: https://openzfs.github.io/openzfs-docs/msg/ZFS-8000-9P
config:

	NAME                        STATE     READ WRITE CKSUM
	Pool4TTVMs                  DEGRADED     0     0     0
	  raidz1-0                  DEGRADED     0     0     0
	    wwn-0x5000c500fb695f18  ONLINE       0     0     0
	    wwn-0x5000c500f77c1465  ONLINE       0     0     0
	    wwn-0x5000c500f77bca99  DEGRADED     0     0   668  too many errors

errors: No known data errors

Esta claro cual es el que tenemos que reemplazar, pero sabemos su www, nos hace falta ahora identificarlo por el device.
Para ello:

1
2
3
4
5
ls -l /dev/disk/by-id/ | grep 5000c500f77bca99

lrwxrwxrwx 1 root root  9 Sep 14 10:34 wwn-0x5000c500f77bca99 -> ../../sdf
lrwxrwxrwx 1 root root 10 Sep 14 10:34 wwn-0x5000c500f77bca99-part1 -> ../../sdf1
lrwxrwxrwx 1 root root 10 Sep 14 10:34 wwn-0x5000c500f77bca99-part9 -> ../../sdf9

Y ahora sacamos el serial, tenemos dos opciones:

1
2
3
4
5
udevadm info --query=all --name=/dev/sdf | egrep "ID_SERIAL=|ID_MODEL="
E: ID_MODEL=ST4000NE001-2MA101
E: ID_SERIAL=ST4000NE001-2MA101_WS258RBR
smartctl -i /dev/sdf |grep Serial
Serial Number:    WS258RBR

Con esto ya tenemos claro que disco es el que tendremos que cambiar. Ahora apagaremos el servidor para añair el disco. Por motivos de logistica no lo puedo hacer en caliente, y no se de manera empirica si funcionaría bien, asi que tengo que apagarlo, ponerlo en otro puerto sata y realizar el proceso de añadir el disco.
Una vez finalizado, me toca volver a apagarlo para extraer el disco defectoso.

Buscamos el nuevo www del nuevo disco insertado, que puede ser que haya cambiado de device (en mi caso ha pasado de ser del /dev/sdf al /dev/sdm)

1
2
3
ls -l /dev/disk/by-id/
lrwxrwxrwx 1 root root  9 Oct  4 20:49 ata-ST4000NT001-3M2101_WX11QXS5 -> ../../sdm
lrwxrwxrwx 1 root root  9 Oct  4 20:49 wwn-0x5000c500fb360b0f -> ../../sdm

Ahora vamos a hacer el resilvering, remplazando en el zpool el viejo www por el nuevo:

1
2
3
4
5
zpool replace Pool4TTVMs wwn-0x5000c500f77bca99 /dev/disk/by-id/wwn-0x5000c500fb360b0f

zpool status -v Pool4TTVMs

watch -n 30 zpool status Pool4TTVMs

Y despues cuando lo veamos con estado online, pasamos un scrub:

1
zpool scrub Pool4TTVMs

DEstrucción y creacion de un zpool.

Bueno pues el proceso anterior no acabo bien y el resilvering no consiguió integrar el nuevo disco habiendo perdido el anterior, asi que vamos a eliminar el zpool y lo volveremos a crear.
Previamente, todos los datos de ese zpool fueron extraidos, por lo que en este en este caso no nos importa eliminarlo y empezar de cero.

This post is licensed under CC BY 4.0 by the author.