26MB보다 작은 파일에 대한 이상한 rsync samba btrfs 동작

26MB보다 작은 파일에 대한 이상한 rsync samba btrfs 동작

서버 백업을 공유하기 위해 Raspberry Pi에 간단한 하위 볼륨 Data01을 사용하여 btrfs 파일 시스템을 만들었습니다. Raspberry Pi에 삼바 공유를 만들었습니다.

그 후 fstab을 통해 우분투 20.04 서버에 삼바 공유를 마운트하고 서버의 일부 파일을 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 공유 문제인 것 같습니다.

마운트에서는 이것이 내 마운트 옵션이라고 말합니다.

//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

알았어 찾았어 삼바의 버그라서 버전을 확인하고 최신 라즈베리 OS로 업그레이드했더니 이제 작동한다

관련 정보