Disco ZFS Local Send Receive Snapshots en FreeBSD La replicación de ZFS consta de dos partes: zfs send que serializa una instantánea o una serie de instantáneas en un flujo de datos mezclado, y zfs receive, que convierte ese flujo en un sistema de archivos ZFS. La replicación basada en instantáneas significa que puede hacer una replicación incremental, enviando sólo los bloques que han cambiado; los mismos datos nunca se envían dos veces. El conjunto de datos ZFS transmitido es totalmente coherente, a diferencia del volcado o rsyncing de un sistema de archivos en vivo. Crear un punto de montaje # mkdir /mnt/zbackupsConectar la unidad usb # lsblk
DEVICE MAJ:MIN SIZE TYPE LABEL MOUNT
ada0 0:96 112G GPT - -
ada0p1 0:97 260M efi gpt/efiboot0 /boot/efi
ada0p2 0:98 512K freebsd-boot gpt/gptboot0 -
free -:- 492K - - -
ada0p3 0:99 2.0G freebsd-swap gpt/swap0 SWAP
ada0p3.eli 0:93 2.0G freebsd-swap - SWAP
ada0p4 0:100 110G freebsd-zfs gpt/zfs0 zfs
free -:- 452K - - -
da0 1:164 932G GPT - -
da0p1 1:166 932G freebsd-zfs - zfs
# geom disk list
Geom name: ada0
Providers:
1. Name: ada0
Mediasize: 120034123776 (112G)
Sectorsize: 512
Stripesize: 4096
Stripeoffset: 0
Mode: r3w3e6
descr: Samsung SSD 850 EVO 120GB
lunid: 5002538d4010a7f6
ident: S21UNXAG517311N
rotationrate: 0
fwsectors: 63
fwheads: 16
Geom name: da0
Providers:
1. Name: da0
Mediasize: 1000204886016 (932G)
Sectorsize: 512
Stripesize: 4096
Stripeoffset: 0
Mode: r0w0e0
descr: HGST HTS 541010A9E680
lunname: HGST HTS541010A9E680 160324JD1042ZF1J
lunid: 3016032414104216
ident: 160324A41042A61A4543
rotationrate: unknown
fwsectors: 63
fwheads: 255
Particionar el disco externo. Esta es una operación destructiva e irreversible
# gpart destroy -F da0
# gpart create -s gpt da0
da0 created
# gpart add -t freebsd-zfs -s 900G -l zbackups da0
da0p1 added
# gpart show da0
=> 40 1953525088 da0 GPT (932G)
40 1887436800 1 freebsd-zfs (900G)
1887436840 66088288 - free - (32G)
gpart show -p da0
=> 40 1953525088 da0 GPT (932G)
40 1887436800 da0p1 freebsd-zfs (900G)
1887436840 66088288 - free - (32G)
# zpool create zbackups da0p1
Establecer el punto de montaje
# zfs set mountpoint=/mnt/zbackups zbackups
Crear conjunto de datos (dataset) en la unidad zbackups - los puntos de montaje se crean automáticamente.
# zfs create zbackups/carlos
# zfs create zbackups/vm
# zfs create zbackups/vm/alpine
# zfs create zbackups/vm/arch
# zfs create zbackups/vm/freebsd
# zfs list
NAME USED AVAIL REFER MOUNTPOINT
zbackups 1.02M 868G 96K /mnt/zbackups
zbackups/carlos 104K 868G 104K /mnt/zbackups/carlos
zbackups/vm 384K 868G 96K /mnt/zbackups/vm
zbackups/vm/alpine 96K 868G 96K /mnt/zbackups/vm/alpine
zbackups/vm/arch 96K 868G 96K /mnt/zbackups/vm/arch
zbackups/vm/freebsd 96K 868G 96K /mnt/zbackups/vm/freebsd
...
Listar snapshot
# zfs list -t snapshotEnviar el conjunto de datos del directorio personal a la unidad externa zbackups.
Primero crear la instantánea para después enviar
(snap_`date +%d%m%y%H%M`)
zfs snapshot zroot/usr/home@/carlos@snap_`date +%d%m%y%H%M`
# zfs snapshot zroot/usr/home/carlos@snap_1910211203
Enviar el conjunto de datos a zbackups/carlos
# zfs send -v zroot/usr/home/carlos@snap_1910211203 | zfs receive -F \
zbackups/carlos
# zfs snapshot zroot/vm@snap_1910211203
# zfs send -v zroot/vm@snap_1910211203 | zfs receive -F zbackups/vm
# zfs snapshot zroot/vm/alpine@snap_1910211203
# zfs send -v zroot/vm/alpine@snap_1910211203 | zfs receive -F \
zbackups/vm/alpine
# zfs snapshot zroot/vm/arch@snap_1910211203
# zfs send -v zroot/vm/arch@snap_1910211203 | zfs receive -F zbackups/vm/arch
# zfs snapshot zroot/vm/freebsd-12-2@snap_1910211203
# zfs snapshot zroot/vm/freebsd-12-2/disk1@snap_1910211203
# zfs send -Rv zroot/vm/freebsd-12-2@snap_1910211203 | zfs receive \
-F zbackups/vm/freebsd
snapshot del pool completo zroot
# zfs snapshot -r zroot@snap1_021121
Crear dataset zbackups
# zfs create zbackups/snap1full
Enviar recursivamente las snpashots
# zfs send -vR zroot@snap_021121 | zfs receive zbackups/snap1full
Los conjuntos de datos de las instantáneas recibidas deben estar impecables para que los zfs reciban aceptar actualizaciones incrementales o diferenciales. La bandera -F le dice a zfs Receive que revierte cualquier cambio que impida aceptar esto instantánea.
# zfs send -vR zroot@snap_021121 | zfs receive -F zbackups/snap1full
# grc zfs list -t all -r zbackups
Instantáneas incrementales
Crear las instantánea(s)
# zfs snapshot zroot/usr/home/carlos@snap_20102112020
Enviar instantáneas incrementales.
# zfs send -i zroot/usr/home/carlos@snap_1910211203 \
zroot/usr/home/carlos@snap_20102112020 | zfs receive \
-F zbackups/carlos
% smartctl -a /dev/ada0
smartctl 7.2 2020-12-30 r5155 [FreeBSD 13.0-RELEASE-p4 amd64] (local build)
Copyright (C) 2002-20, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF INFORMATION SECTION ===
Model Family: Samsung based SSDs
Device Model: Samsung SSD 850 EVO 120GB
Serial Number: S21UNXAG517311N
LU WWN Device Id: 5 002538 d4010a7f6
Firmware Version: EMT01B6Q
User Capacity: 120.034.123.776 bytes [120 GB]
Sector Size: 512 bytes logical/physical
Rotation Rate: Solid State Device
TRIM Command: Available
Device is: In smartctl database [for details use: -P show]
ATA Version is: ACS-2, ATA8-ACS T13/1699-D revision 4c
SATA Version is: SATA 3.1, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is: Wed Oct 20 00:00:26 2021 CEST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
...
% smartctl -a /dev/da0
martctl 7.2 2020-12-30 r5155 [FreeBSD 13.0-RELEASE-p4 amd64] (local build)
Copyright (C) 2002-20, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF INFORMATION SECTION ===
Model Family: HGST Travelstar 5K1000
Device Model: HGST HTS541010A9E680
Serial Number: 160324JD1042ZF1J45DS
LU WWN Device Id: 5 000cca 887d56d1c
Firmware Version: JA0OA5M0
User Capacity: 1.000.204.886.016 bytes [1,00 TB]
Sector Sizes: 512 bytes logical, 4096 bytes physical
Rotation Rate: 5400 rpm
Form Factor: 2.5 inches
Device is: In smartctl database [for details use: -P show]
ATA Version is: ATA8-ACS T13/1699-D revision 6
SATA Version is: SATA 2.6, 3.0 Gb/s (current: 3.0 Gb/s)
Local Time is: Wed Oct 20 00:02:24 2021 CEST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
=== START OF READ SMART DATA SECTION ===
SMART Status not supported: Incomplete response, ATA output registers missing
SMART overall-health self-assessment test result: PASSED
...
FreeBSD es genial!.
No hay comentarios:
Publicar un comentario