小于 26MB 的文件出现奇怪的 rsync samba btrfs 行为

小于 26MB 的文件出现奇怪的 rsync samba btrfs 行为

我在我的 Raspberry Pi 上创建了一个带有简单子卷 Data01 的 btrfs 文件系统,以共享备份我的服务器我在树莓派上创建了一个 samba 共享

之后,我通过 fstab 在我的 ubuntu 20.04 服务器上安装了 samba 共享,并尝试将一些文件从服务器同步到 raspi

乍一看它工作正常,但在第二次同步时,它看起来像 rsync 再次复制所有文件我以前从未使用过 rsync,所以我将一个大文件(3.2GB ISO)添加到服务器上的文件夹中,它只会复制一次但每次都会复制较小的文件

所以我的下一件事是检查 rsync 每次停止复制文件的文件大小 它看起来像 26MB

所以之后我查看了统计数据,我可以看到较小的文件没有正确的时间值

 Datei: Zwergentrunk-1.pdf
  Gr▒▒e: 740838         Bl▒cke: 1448       EA Block: 4096   regul▒re Datei
Ger▒t: 2eh/46d  Inode: 4917        Verkn▒pfungen: 1
Zugriff: (0744/-rwxr--r--)  Uid: ( 1001/srvbackup)   Gid: ( 1001/srvbackup)
Zugriff    : 2022-04-06 21:16:26.471913500 +0200
Modifiziert: 2022-04-06 21:16:26.563488588 +0200
Ge▒ndert   : 2022-04-06 21:16:26.557414539 +0200
Geburt     : -

但文件较大

Datei: ubuntu-20.04.4-desktop-amd64.iso
  Gr▒▒e: 3379068928     Bl▒cke: 6599744    EA Block: 4096   regul▒re Datei
Ger▒t: 2eh/46d  Inode: 4911        Verkn▒pfungen: 1
Zugriff: (0744/-rwxr--r--)  Uid: ( 1001/srvbackup)   Gid: ( 1001/srvbackup)
Zugriff    : 2022-04-06 18:40:32.667789400 +0200
Modifiziert: 2022-03-20 23:29:45.304778200 +0100
Ge▒ndert   : 2022-04-06 18:40:36.193852990 +0200
Geburt     : -

我希望有人有任何想法,最诚挚的问候

raspi 上的 fstab(缩短)

UUID=1483d2ca-66f7-4fe4-9494-4802b078a30b       /mnt/Backup01   btrfs   defaults        0       1

smb配置文件

[global]
   workgroup = ESD
   dns proxy = no
   log file = /var/log/samba/log.%m

   max log size = 1000
   syslog = 0
   panic action = /usr/share/samba/panic-action %d
   server role = standalone server
   passdb backend = tdbsam
   obey pam restrictions = yes
   unix password sync = yes

   passwd program = /usr/bin/passwd %u
   passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .

   pam password change = yes
   map to guest = bad user
   usershare allow guests = yes


[homes]
   comment = Home Directories
   browseable = no
   read only = yes
   create mask = 0700
   directory mask = 0700
   valid users = %S

[printers]
   comment = All Printers
   browseable = no
   path = /var/spool/samba
   printable = yes
   guest ok = no
   read only = yes
   create mask = 0700

[print$]
   comment = Printer Drivers
   path = /var/lib/samba/printers
   browseable = yes
   read only = yes
   guest ok = no

[Backup01-Data01]
        path= /mnt/Backup01/Data01
        browsable = yes
        read only false
        guest ok = no
        inherit acls = no
        inherit permissions = yes
        ea support = no
        store dos attributes = no
        printable = no
        #create mask = 0664
        #force create mode 0664
        #directory mask = 0775
        #force directory mode = 0775
        hide special files = yes
        follow symlinks = yes
        hide dot files = yes
        valid users = srvbackup
        invalid users =
        read list = srvbackup
        write list = srvbackup
        force user=srvbackup

服务器上的 fstab(缩短)

//officebeere/Backup01-Data01 /mnt/Backup01-Data01 cifs _netdev,uid=1000,gid=1000,username=srvbackup,password=**********  0  0

rsync命令

sudo rsync -avit --no-p  --progress --delete Zwergentrunk/ /mnt/Backup01-Data01/

更新:

我已经测试了更多,我可以说这不是 btrfs 问题(用其他 HDD 和 ext4 测试仍然是同样的问题)它不仅与 rsync 相关,还尝试了 cp -a 或 cp -preserver=timestamps --> 相同的问题,但是副本上有一点差异,我可以先看到正确的修改日期,然后再更改

我尝试在 Windows 中使用复制和粘贴 --> 修改日期是正确的

但是通过 touch -r sourefile destfile,我得到了正确的日期,因此可以采取解决方法

我希望有人有更好的解决方案,我认为这是 Samba 服务器或 Mount smb 共享问题

Mount 说这是我的 Mount 选项

//officebeere/Backup01-Data01 on /mnt/Backup01-Data01 type cifs (rw,relatime,vers=3.1.1,cache=strict,username=srvbackup,uid=1000,noforceuid,gid=1000,noforcegid,addr=192.168.1.5,file_mode=0755,dir_mode=0755,soft,nounix,serverino,mapposix,rsize=4194304,wsize=4194304,bsize=1048576,echo_interval=60,actimeo=1,_netdev)

答案1

好的,我找到了,这是 Samba 中的一个错误,所以我检查了版本并升级到最新的 Raspberry 操作系统,现在它可以工作了

相关内容