Montaje de Sistema de Archivos NFS Usando Autofs
Replicar, Recuperar Pool Root ZFS FreeBSD
Contruir o reconstruir un sistema a partir de instantáneas (snapshot)
Replicar instantáneas en otro sistema es una característica de OpenZFS que mejora la administración de datos, proporciona un mecanismo para manejar una falla de hardware con una pérdida de datos y un tiempo de inactividad mínimos. La replicación también es una forma conveniente de transferir una copia de un sistema existente a otro, por ejemplo, implementar un laboratorio completo de sistemas similares.
Enviar una copia de seguridad al servidor vía ssh utilizando zfs send receive
Servidor: tormenta FreeBSD 13.1 NUC 11 Essential DDR4-2933 CPU 4 \ 32GB RAM M.2 NVMe PCIe 3.0 Cliente: solaris FreeBSD 13.1 Dell Latitude 7390 DDR4-2400 CPU 8 \ 16GB RAM M.2 NVMe PCIe 3.0
% cat /etc/hosts | grep tormenta ... 192.168.88.160 tormenta ...
Configurar acceso SSH
OpenZFS utiliza SSH para cifrar la replicación durante la transferencia de red.
Puede generar un par de claves con ssh-keygen y luego enviar una copia de la clave pública al servidor. Presione enter en todas las indicaciones para aceptar los valores predeterminados y no solicitar una frase de contraseña.
Dado que root enviará la replica, cambie esta línea en el archivo de configuración del demonio SSH /etc/ssh/sshd_config
#PermitRootLogin no
a
PermitRootLogin yes
Recargar la configuración del demonio SSH
service sshd reload
Enviar una copia de la clave pública al sistema recector (tormenta)
cat ~/.ssh/id_rsa.pub | ssh 192.168.88.160 'cat >>.ssh/authorized_keys' Password for root@192.168.88.160: exit
Crear un conjunto de datos para almacenar las instatáneas replicadas /usr/backup/poolrecovery.
tormenta # zfs create canmount=off zroot/usr/backup tormenta # zfs get mounted zroot/usr/backup NAME PROPERTY VALUE SOURCE zroot/usr/backup mounted no - tormenta # zfs create zroot/usr/backup/poolrecovery
Creamos la instantánea recursiva del conjunto de datos del pool zroot que incluye los sistemas de archivos secundarios
solaris # zfs snapshot -r zroot@zroot.snap1_dell
Comprobar los recursos compartidos por el servidor tormenta
solaris % showmount -e tormenta Exports list on tormenta: ... /usr/backup/poolrecovery 192.168.88.0 ...
Montar el recurso compartido
# mount -o soft,intr,rw tormenta:/usr/backup/poolrecovery /mnt
Enviar la instantánea de forma recursiva, redirigimos (como archivo comprimido .gz) a la ubicación compartida para poder acceder a esta ubicación al construir el cliente
# zfs send -Rv zroot@snap1_dell | gzip > /mnt/zroot.snap1.gz
Enviar a un sistema que se encuentra en otra ubicación geografica a través de una conexión ssh
zfs send -Rv zroot@snap-20241125 | ssh root@185.166.84.138 "gzip > \ /export/recovery/solaris/zroot@snap-solaris-20241125.gz
Enviar al servidor de la red local a través de una conexión ssh
zfs send -Rv zroot@snap-20241125 | ssh root@192.168.88.160 "gzip > \ /export/recovery/solaris/zroot@snap-solaris-20241125.gz
Proceso de recuperación
Asumimos que ha realizado una instalación limpia en el sistema a restaurar eligiendo el particionado auto ZFS del instalador de FreeBSD. Es recomendable que antes de instalar y desde la shell borrar todos los errores asociados a los dispositivos virtuales del grupo y borrar los recuentos de errores de datos asociados al grupo.
# zpool labelclear -f /dev/nda0p1
Iniciar con una memoria usb que contenga una img de FreeBSD 13.1 (RELEASE actual)
En la pantalla de instalacion
Install Shell Live cd
Elegir (live cd)
login: root
Intro (no necesita contrasena)
Iniciar la red con el comando
dhclient em0
Ver información de la conexión
# ifconfig
Comprobar conectividad
# ping freebsd.org
Configurar ssh
configurar un sshd único para esta sesión.
# mkdir /tmp/etc # mount_unionfs /tmp/etc /etc # edit /etc/ssh/sshd_config
editar /etc/ssh/sshd_config y cambiar la configuración de PermitRootLogin de no a sí y eliminar el comentario, puede utilizar Ctrl-Y para buscar "root".
Establecer una contrasena para el usuario root (no teclee root directamente, utilice passwd root)
# passwd root
Importar el zpool
# zpool import -fR /tmp/montado zroot
Incluir la direccion IP en el archivo /etc/exports del servidor nfs tormenta
Agregar en el archivo /etc/rc.conf la línea
nfs_client_enable
# service nfsclient start NFS access cache time=60
Montar recurso compartido NFS
# mount -o soft,intr,rw 192.168.88.51:/usr/backup/poolrecovery /mnt
ls /mnt/ zroot.snap1.gz
Ya tenemos el archivo que utilizaremos
Lanzamos el comando, gzcat descomprime el archivo, lee el archivo y la operacion de lectura redirige al comando receive, para recibir el sistema de archivos en el pool zroot
# gzcat /mnt/zroot.snap1.gz | zfs receive -Fv zroot
Establecer el sistema de archivos de arranque
zpool set bootfs=zroot/ROOT/default zroot
# umount -f /tmp/montado
Reiniciar el sistema
# reboot
Sí, ha funcionado
En este punto tenemos todo tal y como estaba en el momento en que se crearon las instantáneas
Utilizar el usuario no privilegiado carlos para el envío y recepción de instantáneas
Permisos para el envío de instantáneas
zfs allow -u carlos create,destroy,hold,mount,receive,send,snapshot zroot
Permisos para la recepción de instantáneas
zfs allow -u carlos create,destroy,mount,mountpoint,quota,receive,send,\ snapdir zrootFreeBSD es genial!.
No hay comentarios:
Publicar un comentario