ZFS replication works completely different to rsync. First it is based on ZFS snapshots what allows to sync
open files in their last state on disk. Next it creates a pure datastream from the content of a snap that is send
to the target filesystem. Therefor performance is not reduced if you transfer many small files and only limited
by network and the disk subsystem. You can sync two filesystems with replication even when they are in the
Petabyte range down to some minutes delay (near realtime) what would not be possible with rsync.
This is a huge improvement over sync methods like rsync but you must accept the serious restriction that ZFS
replication does not compare source and target data. This is not a problem on an initial replication as the whole
filesystem is transferred. On the following incremental replications, you must rollback the target filesystem
to the exact state of the according source snap that represents the state at last replication run. A new source
snap that contains modified datablocks related to the last common snap can then be transferred to update the
target filesystem. The only control that replication has is that it can detect if the target base snap for a rollback
is not exact identical to the according base snap on the source machine. In such a case replication is cancelled
with an snap mismatch error. If something happens during the transfer like zfs send not started correctly, ZFS
problems on source or target side, network problems or pool busy, you will get only a „receive: failed to read
from stream“ error without more details.
In case of problems, check
- Replication requires that all source machines and target machine are grouped
Open menu Extensions > Appliance group and klick on ZFS on an appliance under group members.
If you do not see a listing of the remote filesystems, try to re-add the appliance to the group, optionally
delete the group member in /var/web-gui/_log/group on source and target (problem may result from a host
renaming) or delete the whole group on all members with Extensions > Appliance group > delete members
and rebuild the group.
- Replication requires that the napp-it webserver is running on port 81 on source and target machine.
The replication itself is done via a netcat datastream on a port > 50000. These ports must be open.
Check if napp-it is working on both machines. If you have a firewall, check that port 81 and the replication
port (see menu Jobs) are open.
- Replication requires an identical ZFS snap-state on source and target
Check if you have a snap-pair with same max jobid_nr_n numbers on source or target. If you do not have
identical corresponding snaps, you must restart with an initial sync after a rename of the target file system as a
backup. If the following initial replication is successfull you can delete the renamed filesystem.
This means: be careful when you delete replication snaps. Especially the last two snap numbers on target and
the same snapnumbers on source should not be destroyed without need. If for whatever reason a snap-pair
with same number is not exact identical (can happen ex due follwing snaps with size=0 and results in a snap
mismatch or stream error) and you have a former snap pair_nr you can destroy the last target snap. If you start
a replication run then, the last snap-pair is used. If you delete a replication job, destroy its repli snaps manually.
- Other problems
Check if you have enough space on source and target (check also reservations and quota settings)
If the receiver and sender is starting but no data is transferred, check for network or routing problems problems.
Check if source or target filesystem is blocking, example with a list snapshots or list filesystem command. A re-
boot may help then. If a filesysestem or snap listing lasts longer than 45s this may resuld in a timeout problem.
optionally: Set several replication to a different time to reduce load, optionally reduce max_arc cache to
increase free RAM. With MTU 9000 and transfer problems/ stream error, try MTU 1500
Check free memory ex in menu System > Basic Statistic > Memory (free/freelist should be > 2GB)
optionally reduce ARC usage example to 80% in menu System > Appliance tuning (Pro complete)
Free meomry is shown on a source system in menu Jobs > Remote log (napp-it 16.11+)
Содержание ZFS Storage
Страница 8: ...3 1 ZFS Configurations...
Страница 45: ...Example Map Chenbro 50 x 3 5 Bay...