PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Samba über VPN - eingeschränkte Übertragungsrate



Waltz
01.07.08, 22:09
Hallo,

ich versuche (als Linux-Neuling) seit Wochen, dieses Problem in den Griff zu bekommen, doch ohne Erfolg: Mein Samba-Fileserver liefert die Daten viel zu langsam – aber nur manchmal. Ich weiß, dass es viele Threads zum Thema Samba-Performance gibt, doch scheint niemand dasselbe Problem zu haben (und alle Lösungsvorschläge, die ich finden konnte, habe ich natürlich berücksichtigt).

Zu den Details: Ich habe einen Samba-Fileserver auf Linux-Basis (Ubuntu Server 8.04) und greife darauf von meinem heimischen Client aus (Windows XP) über DSL und OpenVPN zu. Der Server ist angebunden mit 100 MBit/s, der Client mit DSL 16000. Alles funktioniert, wie es soll – nur: Die Übertragungsrate vom Server zum Client ist in bestimmten Fällen zu niedrig:

- Bei Kopiervorgängen (Server -> Client) erreiche ich Transferraten von etwa 3-5 MBit/s – nicht viel, aber ausreichend. Laut Wireshark beträgt die Größe der einzelnen Pakete dabei 32-64 kByte.
- Gleiches gilt, wenn ich eine Photoshop-Datei direkt aus der Freigabe öffne: gute Bandbreitennutzung.
- Mounte ich jedoch lokal einen TrueCrypt-Container, der in der Samba-Freigabe liegt, dauert dies ewig: Es werden nur 840 kBit/s übertragen; die Paketgröße liegt konstant bei 4 kByte. Dabei liegt viel Bandbreite brach.
- Öffne ich ein Video aus der Samba-Freigabe mit einer Videobearbeitung (Virtualdub), wird die Bandbreite genutzt (3-5 MBit/s, 32-64-kByte-Pakete), das Video lässt sich flüssig abspielen …
- … doch starte ich dasselbe Video direkt mit einem Mediaplayer, sind’s nach anfänglich starken Schwankungen wieder konstant 840 kBit/s und 4-kByte-Pakete. Da das Testvideo mit 1,5 MBit/s kodiert ist, ruckelt es stark; der Player nutzt also die Bandbreite einfach nicht.
- Nur manchmal – oft nach einem Video-Neustart - erreiche ich mit dem gleichen Video und dem gleichen Player „richtige“ Übertragungsraten (32 kByte pro Paket), sodass das Video nicht ruckelt.

Warum also beschränkt sich der Client in bestimmten Fällen (TrueCrypt, Videoplayer) selbst auf eine Paketgröße von 4 kByte, in anderen Fällen aber nicht?

Alle gängigen Tuning-Tipps für OpenVPN (TUN statt TAP, UDP statt TCP, verschiedene MTU-/Fragment-Größen etc.) habe ich probiert, die kursierenden Samba-Tipps (kernel locks/op locks ein- oder ausschalten, diverse Puffergrößen ändern, alle erdenklichen „Socket Options“-Paramter etc.) ebenso, verschiedene TCP/IP- und Cache-Einstellungen probiert – ohne Erfolg. Aber irgend etwas muss ich übersehen haben. An der Hardware sollte es übrigens nicht liegen - beim Test im heimischen LAN gab es keine Probleme, CPUs und Festplatten beider Seiten sind schnell genug. Hat vielleicht noch jemand eine Idee? Ich bin für alle Ratschläge sehr dankbar.

Meine OpenVPN-Konfiguration:


server 10.0.0.0 255.255.255.224
dev tun
port 178
proto udp
tun-mtu 1400
fragment 1300
mssfix
tls-server
dh /etc/openvpn/zertifikate/dh1024.pem
ca /etc/openvpn/zertifikate/ca.crt
cert /etc/openvpn/zertifikate/server.crt
key /etc/openvpn/zertifikate/server.key
ifconfig-pool-persist ipp.txt
client-to-client
keepalive 10 120
auth SHA1
cipher AES-256-CBC
comp-lzo
float
persist-key
persist-tun
verb 3
mute 10

Eine von vielen ausprobierten Samba-Konfigurationen:


[global]
netbios name = server
server string = Fileserver
workgroup = Arbeitsgruppe
wins support = yes
socket options = TCP_NODELAY IPTOS_LOWDELAY
interfaces = 10.0.0.0/24
bind interfaces only = true
hosts allow = 127.0.0.1 10.0.0.0/27
kernel oplocks = no
dns proxy = no
log file = /var/log/samba/log.%m
max log size = 1000
syslog = 0
panic action = /usr/share/samba/panic-action %d
encrypt passwords = true
passdb backend = tdbsam
obey pam restrictions = yes
invalid users = root
passwd program = /usr/bin/passwd %u

[Freigabe]
path = /home/freigabe
available = yes
browsable = yes
public = yes
writable = yes
oplocks = yes
level2 oplocks = yes

Besten Dank im Voraus für alle Ratschläge!

- Waltz

lkwg82
01.07.08, 23:19
ich würde bei Samba schauen, nicht bei OpenVPN, weil es ja nur 2. Instanz ist und OpenVPN ist ja egal welche Daten.

vielleicht unter Suchworten SAMBA+big Files+TCP oder so.

Viel Erfolg!

Waltz
02.07.08, 00:32
Danke für den Rat! Ich probier's mal mit diesen Suchwörtern.

Waltz
02.07.08, 20:21
Hm, leider finde ich immer noch nichts Hilfreiches - habt Ihr sonst noch 'ne Idee? Könnte die Netzwerkkarte des Servers defekt sein oder ist das bei diesem Fehlerbild unwahrscheinlich?

lkwg82
03.07.08, 00:02
du kannst mit netio (http://www.nwlab.net/art/netio/netio.html) mal die Geschwindigkeit testen. Wenn Sie ok, ist 100MBit ~ 10-12MB dann würde ich weiter bei Samba schauen.

Also mit meinen Suchworten habe ich etwas gefunden: http://www.cyberciti.biz/faq/howto-access-files-greater-than-2gb-samba/

probiere mal und berichte darüber!

n8

Waltz
03.07.08, 00:20
Danke für den Link! Allerdings geht's da um ein etwas anders gelagertes Problem, eines mit zu großen Dateien - so große Dateien hab' ich gar nicht und daher erschien auch diese Fehlermeldung bei mir noch nie.

Netio: Ich habe schon mal Messungen mit iperf gemacht, ist das vergleichbar? Damit komme ich zwischen Server und Client auf sehr hohe Werte nahe am Maximum meiner DSL-Leitung, und das innerhalb des VPNs. Daher vermute ich auch, dass Samba die Schuld trägt.

Danke für die Tipps!