Aktuelle Zeit: Do 18. Jul 2019, 11:04



Ein neues Thema erstellen Auf das Thema antworten  [ 4 Beiträge ] 
 Wie viel Platz benötigen kleine Dateien wirklich 
Autor Nachricht
Online
Globaler Moderator

Registriert: Mo 5. Apr 2010, 23:32
Beiträge: 6593
Bilder: 401

Bedankte sich: 174 mal
Erhielt: 858 Danksagungen in 795 Beiträgen

Bedanke dich für den Beitrag 
Beitrag Wie viel Platz benötigen kleine Dateien wirklich
Das Symptom:
      Wer mit Windows einen Ordner auf dem NAS analysiert,
      kann sehr unsinnige Informationen finden.



      Ich habe ein Beispiel künstlich provoziert, indem ich 100000
      winzige Dateien mit nur 1kB Größe erzeugt habe.
      Windows zeigt die Größe der Dateien perfekt mit 97,6MB an.
      Bei der Größe auf dem Datenträger zeigt es aber absoluten Unsinn.
      Hier müsste 394,9MB stehen und nicht 97,6GB.

          Bild



Die Lösung:

      Die folgenden Befehle ergänzen den Eintrag
      "allocation roundup size = 4096"
      unter der Zeile [global]
      in der Konfigurationsdatei /etc/samba/smb.conf
      und starten den Dienst neu.

      Code:
      sed -i '/\[global\]/a allocation roundup size = 4096' /etc/samba/smb.conf;/etc/init.d/smbd restart




Hintergünde:

Windows 10 addiert die einzelnen Dateigrößen korrekt und listet dann den dafür auf der Festplatte belegten Speicher auf.
Die Information dafür bekommt Windows aber vom Samba- Dienst des Linux NAS.
Die kleinste zuweisbare Einheit ist bei heutigen Filesystemen oft 4096 Byte (4kB).
Also auch jede kleinere Datei belegt mindestens 4kB.
Das kann man Samba mitteilen und der Speicher wird korrekt dargestellt.

Windows 7 lügt bei dieser Anzeige.
Es zeigt die Größe der Dateien korrekt an und kopiert diesen Wert einfach in die Anzeige "Größe auf dem Datenträger".
Das spielt bei Heute üblichen großen Dateien keine Rolle mehr.
Bei Dateien unter 4kB ist die Anzeige aber sinnfrei.

Belohnt wird man mit extremer Geschwindigkeit bei der Anzeige.
Meine 100000 Testdateien beschäftigen Windows 10 ca. 6 Minuten.
Windows 7 kann seine Lüge schon nach 11 Sekunden mitteilen.





alte Überlegungen:







      Ist das Netzlaufwerk einem Laufwerksbuchstaben zugewiesen,
      so kann man die richtige Belegung der Festplatte darüber abfragen.
      Merkt man sich den aktuellen Stand und kopiert nun einige Dateien dazu,
      so kann man deren Speicherverbrauch durch die Subtraktion des
      alten Füllstandes vom neuen ermitteln.

          Bild


      Auch der NASNavigator von Buffalo zeigt den belegten Speicher richtig an.
          Bild


2) Die Fehlersuche:

      2.1 die kleinste zuweisbare Einheit

          Die kleinste Einheit auf einer Linkstation ist 4kB.
          Jede Datei, obwohl sie nur 1kB groß ist, belegt 4kB.
          Auf der Linkstation belegen die 100MB also 400MB.

              Per Konsole auf dem NAS wird die belegte Größe richtig angezeigt:
              Code:
              du -h
              394.9M  .


          Den auf dem Datenträger belegten Speicher zeigen leider alle mir bekannten Linkstations falsch an.
          Der erste Wert im Windows Explorer ist richtig und der NASNavigator zeigt einem den Plattenfüllstand fast richtig an.
          Damit kann man leben.

          Das es auch richtig geht, zeigt meine TS1200D
          Bild

          Ich habe versucht die Einstellungen der Terastation auf die Linkstation zu übertragen.
          Es ist mir aber bisher nicht gelungen.

          Die Sambaversion ist nur geringfügig neuer.
          Code:
          [root@TS1200D Testfiles_100k_mal_1k]# smbd -V
          Version 3.6.25-75.osstech










3. Anmerkungen:


      3.1 Mit der folgenden Schleife habe ich die Dateien auf dem NAS erzeugt
          Sie enthalten Zufallszahlen und keine Nullen.
          Code:
          for ((k=1; k<100001; k++)); do
          echo $k
          dd if=/dev/urandom of=Datei${k}.txt bs=1024 count=1 2>/dev/null
          done


      3.2 Die Schnittstelle von Linux zu Windows ist Samba.
          Die LS-QVL nutzt in der Firmware 1.74 vom 2018-02-05 folgende Version

          Code:
          smbd -V
          Version 3.6.3-31a.osstech


      3.3 ein Schönheitsfehler von du ist mir noch aufgefallen, wenn man die für Menschen lesbare Ansicht wählt

          "du -h" meldet 13G
          "du" meldet 12821180 Bytes
          teilt man das zwei mal durch 1024 bekommt man 12,22GB

          Code:
          du -h
          395M    ./Testfiles_100k_mal_3k
          9.6G    ./Testfiles_100k_mal_100k
          395M    ./Testfiles_100k_mal_2k
          16K     ./lost+found
          395M    ./Testfiles_100k_mal_4k
          1.2G    ./Testfiles_100k_mal_10k
          395M    ./Testfiles_100k_mal_1k
          13G     .


          Code:
          du
          403524  ./Testfiles_100k_mal_3k
          10003524        ./Testfiles_100k_mal_100k
          403524  ./Testfiles_100k_mal_2k
          16      ./lost+found
          403524  ./Testfiles_100k_mal_4k
          1203524 ./Testfiles_100k_mal_10k
          403524  ./Testfiles_100k_mal_1k
          12821180        .


      3.4 auch im NASNavigator gibt es einen kleinen Fehler

          Er zeigt die zur Verwaltung nötigen Dateien als belegte Nutzdaten an.

          Ein leere Festplatte ist also schon zu 5% belegt.
          Bild

          Beim Formatieren wird das auch angezeigt.
          Bild

          Die nicht nutzbaren 23,4GB zuzüglich der 12,2GB Testdaten ergeben dann auch 35,6GB Belegung auf der neuen Platte
          Bild



Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.


So 25. Feb 2018, 13:32
Profil Persönliches Album 
Dieser Werbeblock wird nur bei Gästen angezeigt
Online
Globaler Moderator

Registriert: Mo 5. Apr 2010, 23:32
Beiträge: 6593
Bilder: 401

Bedankte sich: 174 mal
Erhielt: 858 Danksagungen in 795 Beiträgen

Bedanke dich für den Beitrag 
Beitrag Re: Wie viel Platz benötigen kleine Dateien wirklich
Als ausführlichen Test habe ich nochmals
100000 Files in den Größen 2k, 3k, 4k, 10k und 100k
erstellt und die Summe dann auflisten lassen.

Das Positivbeispiel TS1200D

Code:
[root@TS1200D share]# df
Filesystem      Size  Used Avail Use% Mounted on
rootfs          4.7G  1.2G  3.3G  27% /
/dev/md1        4.7G  1.2G  3.3G  27% /
tmpfs           249M   76K  249M   1% /tmp
/dev/ram1        15M  116K   15M   1% /mnt/ram
/dev/md0        969M  396M  574M  41% /boot
/dev/md101      219G   13G  207G   6% /mnt/disk2
[root@TS1200D share]# du -h
395M    ./Testfiles_100k_mal_1k
395M    ./Testfiles_100k_mal_2k
395M    ./Testfiles_100k_mal_3k
395M    ./Testfiles_100k_mal_4k
1.2G    ./Testfiles_100k_mal_10k
9.6G    ./Testfiles_100k_mal_100k
13G     .




Bild


Bild








und ein weiteres Negativbeispiel die aktuelle LS520

reale 13GB Testdaten

Code:
root@LS520:/home/rec/1# du -h
1.2G    ./Testfiles_100k_mal_10k
395M    ./Testfiles_100k_mal_3k
9.6G    ./Testfiles_100k_mal_100k
395M    ./Testfiles_100k_mal_1k
395M    ./Testfiles_100k_mal_2k
395M    ./Testfiles_100k_mal_4k
13G     .



Code:
smbd -V
Version 4.0.26


Bild

Eine neue Version von Samba hat also keine positiven Einfluss auf den Fehler.


So 25. Feb 2018, 17:29
Profil Persönliches Album 
Online
Globaler Moderator

Registriert: Mo 5. Apr 2010, 23:32
Beiträge: 6593
Bilder: 401

Bedankte sich: 174 mal
Erhielt: 858 Danksagungen in 795 Beiträgen

Bedanke dich für den Beitrag 
Beitrag Re: Wie viel Platz benötigen kleine Dateien wirklich
Wieso meldet nur die Terastation die richtigen Werte?

1. Unterschied
SMB2
Die Linkstations dürfen ab Werk nur SMB1


Hier die Originalkonfiguration der Terastation:
Code:
cat /etc/samba/smb.conf
[global]
    dos charset = CP437
    unix charset = UTF-8
    display charset = UTF-8
    netbios name = TS1200D
    server string = TeraStation
    socket options = IPTOS_LOWDELAY TCP_NODELAY
    min receivefile size = 1024
    max xmit = 65536
    use sendfile = yes
    allocation roundup size = 134217728
    os level = 1
    wins server =

    wide links = yes
    workgroup = LAN
    security = user
    auth methods = guest sam
    passdb backend = tdbsam:/etc/samba/smbpasswd.tdb
    encrypt passwords = Yes
    passwd program = /usr/bin/passwd %u
    passwd chat = *New*password* %n\n *Retype*new*password* %n\n *passwd:*all*authentication*tokens*updated*successfully*
    unix password sync = yes
    unix extensions = no
    guest account = nobody
    null passwords = yes
    guest only = no
    password level = 14
    map to guest = Bad User

    veto files = /.AppleDesktop/Network Trash Folder/TheVolumeSettingsFolder/.AppleDouble/.AppleDB/.com.apple.timemachine.supported/
    delete veto files = yes

    deadtime = 15
    invalid users = mail, deamon
    admin users = root
    username map = /etc/samba/smbusers

    log level = 1
    max log size = 0

    lock directory = /etc/samba/lock

    dos filetimes = Yes
    dos filetime resolution = No
    map archive = Yes
    map hidden = No
    map system = No
    dns proxy = No
    show add printer wizard = No
    host msdfs = no
    disable spoolss = yes
    max protocol = SMB2
    wide links = yes
    lanman auth = yes
    load printers = no
[info]
    comment = TeraStation Utilities
    path = /mnt/info
    browsable = yes
    printable = no
    writable = no
    guest ok = yes
    csc policy = disable
[share]
    comment =
    path = /mnt/disk2/share
    browsable = yes
    printable = no
    writable = yes
    guest ok = yes
    force create mode = 666
    force security mode = 666
    force directory mode = 777
    force directory security mode = 777
    csc policy = disable
    vfs objects = recycle, audit
    recycle:repository = trashbox
    recycle:keeptree = 1
    recycle:versions = 1
    recycle:directory_mode = 777
    recycle:minsize = 1
    recycle:exclude = .DS_Store ._* .smbdelete*
    audit:facility = LOCAL6
    audit:priority = INFO



Ich werde SMB2 auf der LS520 aktivieren und testen.

Hier die Konfiguration der LS-QVL
Code:
cat /etc/samba/smb.conf
[global]
    dos charset = ISO8859-15
    unix charset = UTF-8
    display charset = UTF-8
    netbios name = QVL
    server string = "LinkStation"
    socket options = TCP_NODELAY
    max xmit = 65536
    use sendfile = yes
    os level = 1
    wins server =

    workgroup = LAN
    security = user
    auth methods = guest sam
    passdb backend = tdbsam:/etc/samba/smbpasswd.tdb
    encrypt passwords = Yes
    passwd program = /usr/bin/passwd %u
    passwd chat = *New*password* %n\n *Retype*new*password* %n\n *passwd:*all*authentication*tokens*updated*successfully*
    unix password sync = yes
    unix extensions = no
    guest account = nobody
    null passwords = yes
    guest only = no
    password level = 14
    map to guest = Bad User

    veto files = /.AppleDesktop/Network Trash Folder/TheVolumeSettingsFolder/.AppleDouble/.AppleDB/.com.apple.timemachine.supported/
    delete veto files = yes

    deadtime = 15
    invalid users = mail, deamon
    admin users = root
    username map = /etc/samba/smbusers

    log level = 1
    max log size = 0

    lock directory = /etc/samba/lock

    dos filetimes = Yes
    dos filetime resolution = No
    map archive = Yes
    map hidden = No
    map system = No
    dns proxy = No
    show add printer wizard = No
    host msdfs = no
    disable spoolss = yes
    wide links = yes
    lanman auth = yes
    load printers = no
[info]
    comment = LinkStation Utilities
    path = /mnt/info
    browsable = yes
    printable = no
    writable = no
    guest ok = yes
    csc policy = disable
[share]
    comment = recovered
    path = /mnt/array1/share
    browsable = yes
    printable = no
    writable = yes
    guest ok = yes
    force create mode = 666
    force security mode = 666
    force directory mode = 777
    force directory security mode = 777
    csc policy = manual
    vfs objects = recycle
    recycle:repository = trashbox
    recycle:keeptree = 1
    recycle:versions = 1
    recycle:directory_mode = 777
    recycle:minsize = 1


Das sind die Unterschiede:

Code:
    socket options = IPTOS_LOWDELAY TCP_NODELAY
    min receivefile size = 1024
    allocation roundup size = 134217728
    wide links = yes
    max protocol = SMB2


noch zu lesen:
https://web.nettworks.org/forum/index.php?t=msg&th=8570&prevloaded=1&&start=40


Mo 26. Feb 2018, 00:09
Profil Persönliches Album 
Online
Globaler Moderator

Registriert: Mo 5. Apr 2010, 23:32
Beiträge: 6593
Bilder: 401

Bedankte sich: 174 mal
Erhielt: 858 Danksagungen in 795 Beiträgen

Bedanke dich für den Beitrag 
Beitrag Re: Wie viel Platz benötigen kleine Dateien wirklich
in der [global] Sektion
der
/etc/samba/smb.conf

genügt der Eintrag
Code:
allocation roundup size = 0


um den von den Dateien belegten Platz sauber anzuzeigen.
Dadurch wird wohl die Rundung abgeschaltet.

Dieser Eintrag soll sich jedoch auf die Geschwindigkeit auswirken, mit welcher die Clients die Strukturen auflisten können.
Benchmarks mache ich später noch.



Zitat:
allocation roundup size (S)

This parameter allows an administrator to tune the allocation size reported to Windows clients. The default size of 1Mb generally results in improved Windows client performance. However, rounding the allocation size may cause difficulties for some applications, e.g. MS Visual Studio. If the MS Visual Studio compiler starts to crash with an internal error, set this parameter to zero for this share.

The integer parameter specifies the roundup size in bytes.

Default: allocation roundup size = 1048576

Example: allocation roundup size = 0 # (to disable roundups)


von http://www.samba.org/samba/docs/man/manpages-3/smb.conf.5.html

























alt

Analyse TS1200D


Code:
# df -i
Filesystem     Inodes IUsed IFree IUse% Mounted on
rootfs           306K   39K  268K   13% /
/dev/md1         306K   39K  268K   13% /
tmpfs             63K    42   63K    1% /tmp
/dev/ram1         63K    54   63K    1% /mnt/ram
/dev/md0          62K    14   62K    1% /boot
/dev/md101       918M  586K  917M    1% /mnt/disk2



Code:
# mount
rootfs on / type rootfs (rw)
/dev/md1 on / type ext3 (rw,relatime,errors=continue,barrier=1,data=writeback)
proc on /proc type proc (rw,relatime)
devpts on /dev/pts type devpts (rw,relatime,gid=5,mode=620)
tmpfs on /tmp type tmpfs (rw,relatime)
sysfs on /sys type sysfs (rw,relatime)
/dev/ram1 on /mnt/ram type tmpfs (rw,relatime,size=15360k)
/dev/md0 on /boot type ext3 (rw,relatime,errors=continue,barrier=1,data=writeback)
usbfs on /proc/bus/usb type usbfs (rw,relatime)
/dev/md101 on /mnt/disk2 type xfs (rw,noatime,attr2,usrquota,grpquota)




Buffalo nutzt XFS
Code:
#xfs_db -r /dev/md101
xfs_db> version
versionnum [0xb4e4+0xa] = V4,NLINK,QUOTA,ALIGN,DIRV2,LOGV2,EXTFLG,MOREBITS,ATTR2,LAZYSBCOUNT


Debian formatiert ab Werk in Ext4 und zeigt den gleichen Fehler.
Samab ist auf dem neuen Debian neu aktuell. An der Version liegt es also auch nicht.
Evtl. gibt es Versionen mit unterschiedlicher Funtionalität.


Code:
#smbd -V
Version 3.6.25-75.osstech



Test auf USB-Stick EXT3, Anzeige i.O.

Es scheint nicht am Filesystem zu liegen.

Buffalo nutzt OSSTech Samba
https://www.osstech.co.jp/support/2016-04-13







ausstehender Versuch

allocation roundup size = 0
und
allocation roundup size = 4096

aus
https://forums.unraid.net/topic/53133-share-in-windows-quotsize-vs-size-on-diskquot-massive-difference-question/


Di 2. Apr 2019, 23:59
Profil Persönliches Album 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  

Ein neues Thema erstellen Auf das Thema antworten  [ 4 Beiträge ] 





Suche nach:

Ähnliche Beiträge

Kleine kurze SMB Aussetzer
Forum: Buffalo Linkstation Duo
Autor: oxygen8
Antworten: 3
Just a Beginner ! und wirklich noch sehr am Anfang
Forum: Buffalo Linkstation Pro Duo
Autor: fauler_willi
Antworten: 7
dateien Ordner per nfs unsichtbar?
Forum: Buffalo Linkstation Pro/Live mit BitTorrent
Autor: masine
Antworten: 4
Aussetzer bei manchen MKV Dateien
Forum: Buffalo Linkstation Duo
Autor: mcearnie
Antworten: 4
Verbindungsabbrüche beim Speichern von Dateien
Forum: Buffalo Linkstation Duo
Autor: oxygen8
Antworten: 3

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 32 Gäste


Deine Berechtigungen

 Du darfst keine neuen Themen in diesem Forum erstellen.
 Du darfst keine Antworten zu Themen in diesem Forum erstellen.
 Du darfst deine Beiträge in diesem Forum nicht ändern.
 Du darfst deine Beiträge in diesem Forum nicht löschen.
 Du darfst keine Dateianhänge in diesem Forum erstellen.

Gehe zu:  


| NAS-Hilfe.de - die deutsche Buffalo NAS-Hilfe Seite | Mein Blog - Bloggen Querbeet... | Powered by phpBB © phpBB Group. | Deutsche Übersetzung durch phpBB.de | Impressum |