0

I want to use rsync to backup data from webserver to Truenas. The webserver runs Debian 11 and Truenas is at 12.0-U5 The backup is saved on the webserver in an encrypted format using restic. Since it's already encrypted I want to use rsync directly to avoid ssh overhead.

On Debian rsync is at version 3.2.3 and on Truenas 3.1.3 now when I use

rsync -rdt rsync://rsync@truenas

I occasionally get a connection reset by peer

rsync: [Receiver] safe_read failed to read 1 bytes: Connection reset by peer (104)
rsync error: error in rsync protocol data stream (code 12) at io.c(276) [Receiver=3.2.3]

This happens like 3, 4 or 5 times and then the transfer works.

rsync -rdt rsync://rsync@truenas
web_backup      
db_backup 

I fired up tcpdump to see what happens. The client sends the same string all the time but truenas' rsync sometimes responds and sometimes resets the connection ([R]-Flag):

Successful transfer:

12:26:44.035035 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto TCP (6), length 66)
    truenas.873 > webserver.58482: Flags [P.], cksum 0x2e81 (correct), seq 1:15, ack 15, win 1027, options [nop,nop,TS val 2820912976 ecr 2728215840], length 14
E..B..@.@..P......n..i.r.y...:.c...........
.#.P..E @RSYNCD: 31.0

12:26:44.035098 IP (tos 0x0, ttl 63, id 53872, offset 0, flags [DF], proto TCP (6), length 52)
    webserver.58482 > truenas.873: Flags [.], cksum 0xd829 (correct), ack 15, win 502, options [nop,nop,TS val 2728215841 ecr 2820912976], length 0
E..4.p@.?.....n......r.i.:.c.y.......).....
..E!.#.P
12:26:44.035127 IP (tos 0x0, ttl 63, id 53873, offset 0, flags [DF], proto TCP (6), length 53)
    webserver.58482 > truenas.873: Flags [P.], cksum 0xce20 (correct), seq 15:16, ack 15, win 502, options [nop,nop,TS val 2728215841 ecr 2820912976], length 1
E..5.q@.?.....n......r.i.:.c.y....... .....
..E!.#.P

12:26:44.035218 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto TCP (6), length 69)
    truenas.873 > webserver.58482: Flags [P.], cksum 0x56b7 (correct), seq 15:32, ack 16, win 1027, options [nop,nop,TS val 2820912976 ecr 2728215841], length 17
E..E..@.@..M......n..i.r.y...:.d....V......
.#.P..E!web_backup      

12:26:44.035226 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto TCP (6), length 83)
    truenas.873 > webserver.58482: Flags [FP.], cksum 0xa8e8 (correct), seq 32:63, ack 16, win 1027, options [nop,nop,TS val 2820912976 ecr 2728215841], length 31
E..S..@.@..?......n..i.r.y.!.:.d...........
.#.P..E!db_backup       
@RSYNCD: EXIT

Failed transfer:

12:26:50.724628 IP (tos 0x0, ttl 63, id 469, offset 0, flags [DF], proto TCP (6), length 66)
    webserver.58532 > truenas.873: Flags [P.], cksum 0x98eb (correct), seq 1:15, ack 1, win 502, options [nop,nop,TS val 2728222530 ecr 633812564], length 14
E..B..@.?..{..n........iB.'.M..............
.._B%.6T@RSYNCD: 31.0

12:26:50.724972 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto TCP (6), length 40)
    truenas.873 > webserver.58532: Flags [R], cksum 0x43ae (correct), seq 1292349879, win 0, length 0
E..(..@.@..j......n..i..M.......P...C.........
12:26:50.725398 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto TCP (6), length 66)
    truenas.873 > webserver.58532: Flags [P.], cksum 0x96d0 (correct), seq 1:15, ack 15, win 1027, options [nop,nop,TS val 633812564 ecr 2728222530], length 14
E..B..@.@..P......n..i..M...B.'............
%.6T.._B@RSYNCD: 31.0

12:26:50.725470 IP (tos 0x0, ttl 63, id 0, offset 0, flags [DF], proto TCP (6), length 40)
    webserver.58532 > truenas.873: Flags [R], cksum 0xd85b (correct), seq 1123821333, win 0, length 0
E..(..@.?..j..n........iB.'.....P....[..

Truenas log doesn't show anything else:

Sep  3 12:26:44 truenas 1 2021-09-03T12:26:44.030844+02:00 truenas.local rsyncd 10028 - - connect from UNDETERMINED (webserver)
Sep  3 12:26:44 truenas 1 2021-09-03T12:26:44.031075+02:00 truenas.local rsyncd 10028 - - module-list request from UNDETERMINED (webserver)
Sep  3 12:26:50 truenas 1 2021-09-03T12:26:50.721209+02:00 truenas.local rsyncd 10032 - - connect from UNDETERMINED (webserver)
Sep  3 12:26:50 truenas 1 2021-09-03T12:26:50.721447+02:00 truenas.local rsyncd 10032 - - rsync: safe_read failed to read 1 bytes [Receiver]: Connection reset by peer (54)
Sep  3 12:26:50 truenas 1 2021-09-03T12:26:50.721476+02:00 truenas.local rsyncd 10032 - - rsync error: error in rsync protocol data stream (code 12) at io.c(276) [Receiver=3.1.3]

What is going on here?

user6329530
  • 237
  • 2
  • 13

1 Answers1

0

Try to use an old & same version of rsync on your debian (oldstable). Because TrueNAS-13.1-RELEASE use rsync version 3.1.3 protocol version 31. Seems the most recent version with working FreeBSD ACL support (202112). Also rsync current issues and debugging.