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.
Vamos a 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
Envíe 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
A continuación creamos 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
# zfs get atime,compression,snapdir zroot/usr/backup
NAME PROPERTY VALUE SOURCE
zroot/usr/backup atime off inherited from zroot
zroot/usr/backup compression lz4 inherited from zroot
zroot/usr/backup snapdir visible inherited from zroot
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
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/nvd0
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 la import del zpool zroot
# 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 /mnt/zroot.snap1.gz | zfs receive -Fv 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 \
zroot
FreeBSD es genial!.
No hay comentarios:
Publicar un comentario