Moin *,
ich habe hier ein Problem, welches ich nicht so genau einem Themenbereich zuordnen kann und lade es erstmal unter 'Netzwerk' ab. Kandidaten sind Netzwerk oder KVM oder Samba oder NFS. Es ist etwas komplizierter, daher muss ich leider vorweg etwas ausholen...
Und um noch weiter auszuholen: Ich habe dieses Thema zuvor schon hier http://www.linux-forum.de/geschachtelte-netzwerk-protokolle-cifs-nfs-2299091.html gepostet, aber bislang keine Antwort bekommen. Da mir das Thema wichtig ist, war ich zu einem Crossposting gezwungen.
Ich habe einen TechniSat TV 'Multyvision', welcher Inhalte aus dem LAN darstellen kann. Dabei stehen CIFS und DLNA(UPNP) als Protokolle zur Auswahl. Ich habe auf einem Server (CentOS 6.2) eine fette Multimedia-Sammlung (~4 TB).
Bei meinen ersten Versuchen habe ich festgestellt, dass das TV nicht mit der Samba-Version von CentOS 6.2 zurechtkommt, sondern auf einer älteren Version besteht (ein TCP-Dump zeigte, dass dort als CIFS-Client ein 'FUSION_CIFS_DEMO' verbaut ist - Google sagt, das Problem mit neueren Samba-Versionen haben andere auch bei diesem TV).
Da das Samba auf dem Server aber an anderer Stelle genutzt wird und ich das nicht anfassen wollte, habe ich eine virtuelle Maschine auf Basis von KVM aufgebaut, in welcher CentOS 5.7 mit Samba 3.0.33-3.29.el5_6.2 läuft. TV und diese VM liegen in einem separaten Netzwerk (172.16.13.0/24). Das funktioniert prima, denn das TV zeigt alle Formate (Video, Bilder, Musik) problemlos mit ausreichender Performance von dieser VM an, solange die Daten lokal auf der VM liegen.
Aber die Daten liegen auf dem nativen KVM-Host und nicht im Dateisystem der virtuellen Maschine. Das muss auch so bleiben, denn sie werden dort verwendet. Eine stumpfe Kopie verbietet sich aus vielen Gründen, nicht zuletzt weil wir hier über Terrabytes reden.
Also musste ich eine Lösung finden, die Daten in die VM als Referenz hineinzubekommen. Dazu sind mir zwei Wege eingefallen: Ein Cluster-Dateisystem (OCFS2 + Co.) oder die Anbindung über NFS. Ein Cluster-Dateisystem habe ich mir nicht zugetraut. Da die Daten eh schon über NFSv4 vom Host verteilt werden, habe ich diese Lösung versucht, wobei hier zwei Netzwerk-Protokolle hintereinander geschaltet werden müssen: NFS auf dem Host und Samba/CIFS auf der VM. Gewisse Einbussen in Sachen Performance würde ich da durchaus erwarten.
Prinzipiell funktioniert das Verfahren, aber ich habe ganz seltsame Performance-Messungen gemacht. Ach ja, und das TV weigert sich, Inhalte von diesem Samba-Share anzuzeigen. Die Files werden zwar gelistet, aber nicht angezeigt. Wobei ein zweites Samba-Share mit lokalen Daten bei exakt gleicher Konfiguration auf dem selben Server funktioniert.
Warum ich dann behaupte, dass das prinzipiell funktioniert? Weil ich ein OpenSUSE-Notebook in das 13er-Netz hängen kann und dort fehlerfrei mit smbclient oder über Dolphin (smb://vm1/...) auf die Files zugreifen kann, wenn auch etwas lahm.
Derzeit bin ich ziemlich ratlos. Ein Ansatzpunkt sind die Messwerte zur Performance, die für mich teilweise verwirrend sind.
Der KVM-Host heisst 'j4', die virtuelle Maschine 'vm1' und das OpenSUSE-Notebook 'j3'.
Auf vm1 ist das NFS von j4 so gemountet:
Die smb.conf enthält zwei Shares, einmal mit dem lokalen Dateisystem und zum anderen mit dem gemounteten NFS. Sonst ist alles identisch:
Jetzt zu den Messwerten:
1. Reiner NFS-Zugriff:
2. Reiner CIFS-Zugriff vom Notebook:
3. Geschachtelte Protokolle:
4. SCP in die andere Richtung:
5. Reiner NFS-Zugriff auf anderem System/Netz:
Insbesondere den Vergleich von Fall 1 und 3 finde ich fragwürdig. Wie kann es sein, dass in Fall 1 die Kopie via NFS 16 Minuten dauert, aber der vermeintliche Umweg bei Fall 3 mit 9 Minuten deutlich schneller ist, obwohl dort ja in Teilen der selbe Weg eingeschlagen wird, nur mit einer externen Station zusätzlich.
BTW: Alle Zeitmessungen habe ich mehrfach durchgeführt.
Bitte um Hilfe!
TNX
cu, Paul
ich habe hier ein Problem, welches ich nicht so genau einem Themenbereich zuordnen kann und lade es erstmal unter 'Netzwerk' ab. Kandidaten sind Netzwerk oder KVM oder Samba oder NFS. Es ist etwas komplizierter, daher muss ich leider vorweg etwas ausholen...
Und um noch weiter auszuholen: Ich habe dieses Thema zuvor schon hier http://www.linux-forum.de/geschachtelte-netzwerk-protokolle-cifs-nfs-2299091.html gepostet, aber bislang keine Antwort bekommen. Da mir das Thema wichtig ist, war ich zu einem Crossposting gezwungen.
Ich habe einen TechniSat TV 'Multyvision', welcher Inhalte aus dem LAN darstellen kann. Dabei stehen CIFS und DLNA(UPNP) als Protokolle zur Auswahl. Ich habe auf einem Server (CentOS 6.2) eine fette Multimedia-Sammlung (~4 TB).
Bei meinen ersten Versuchen habe ich festgestellt, dass das TV nicht mit der Samba-Version von CentOS 6.2 zurechtkommt, sondern auf einer älteren Version besteht (ein TCP-Dump zeigte, dass dort als CIFS-Client ein 'FUSION_CIFS_DEMO' verbaut ist - Google sagt, das Problem mit neueren Samba-Versionen haben andere auch bei diesem TV).
Da das Samba auf dem Server aber an anderer Stelle genutzt wird und ich das nicht anfassen wollte, habe ich eine virtuelle Maschine auf Basis von KVM aufgebaut, in welcher CentOS 5.7 mit Samba 3.0.33-3.29.el5_6.2 läuft. TV und diese VM liegen in einem separaten Netzwerk (172.16.13.0/24). Das funktioniert prima, denn das TV zeigt alle Formate (Video, Bilder, Musik) problemlos mit ausreichender Performance von dieser VM an, solange die Daten lokal auf der VM liegen.
Aber die Daten liegen auf dem nativen KVM-Host und nicht im Dateisystem der virtuellen Maschine. Das muss auch so bleiben, denn sie werden dort verwendet. Eine stumpfe Kopie verbietet sich aus vielen Gründen, nicht zuletzt weil wir hier über Terrabytes reden.
Also musste ich eine Lösung finden, die Daten in die VM als Referenz hineinzubekommen. Dazu sind mir zwei Wege eingefallen: Ein Cluster-Dateisystem (OCFS2 + Co.) oder die Anbindung über NFS. Ein Cluster-Dateisystem habe ich mir nicht zugetraut. Da die Daten eh schon über NFSv4 vom Host verteilt werden, habe ich diese Lösung versucht, wobei hier zwei Netzwerk-Protokolle hintereinander geschaltet werden müssen: NFS auf dem Host und Samba/CIFS auf der VM. Gewisse Einbussen in Sachen Performance würde ich da durchaus erwarten.
Prinzipiell funktioniert das Verfahren, aber ich habe ganz seltsame Performance-Messungen gemacht. Ach ja, und das TV weigert sich, Inhalte von diesem Samba-Share anzuzeigen. Die Files werden zwar gelistet, aber nicht angezeigt. Wobei ein zweites Samba-Share mit lokalen Daten bei exakt gleicher Konfiguration auf dem selben Server funktioniert.
Warum ich dann behaupte, dass das prinzipiell funktioniert? Weil ich ein OpenSUSE-Notebook in das 13er-Netz hängen kann und dort fehlerfrei mit smbclient oder über Dolphin (smb://vm1/...) auf die Files zugreifen kann, wenn auch etwas lahm.
Derzeit bin ich ziemlich ratlos. Ein Ansatzpunkt sind die Messwerte zur Performance, die für mich teilweise verwirrend sind.
Der KVM-Host heisst 'j4', die virtuelle Maschine 'vm1' und das OpenSUSE-Notebook 'j3'.
Auf vm1 ist das NFS von j4 so gemountet:
Code:
[root@vm1 ~]# grep 'j4' /etc/fstab
j4-private:/ /var/spool/samba/nfs nfs4 defaults 0 0
[root@j4 ~]# cat /etc/exports
/home/paul/nfs 172.16.11.0/24(rw,sync,fsid=0)
/home/paul/nfs 172.16.17.0/24(rw,sync,fsid=0)
/home/paul/nfs-test 172.16.13.0/24(rw,sync,fsid=0)
Die smb.conf enthält zwei Shares, einmal mit dem lokalen Dateisystem und zum anderen mit dem gemounteten NFS. Sonst ist alles identisch:
Code:
[no-nfs]
comment = Private Videos und Fotos
path = /var/spool/samba/no-nfs
public = yes
writable = no
printable = no
guest ok = yes
browseable = yes
read only = No
[nfs]
comment = Private Videos und Fotos
path = /var/spool/samba/nfs/
public = yes
writable = no
printable = no
guest ok = yes
browseable = yes
read only = No
Code:
[root@j4 ~]# ls -ltar /home/paul/nfs-test/
-rw-rw-r--. 1 paul private 987141 22. Dez 2011 DSCF5107.JPG
-rw-r--r--. 1 paul private 3837738 28. Dez 2011 07 - Meeting Across the River.mp3
-rw-r--r--. 1 paul private 3109984256 4. Nov 20:59 209_2012.08.23_11-03-59.mpg
Code:
[root@vm1 ~]# ls -ltar /var/spool/samba/nfs
-rw-rw-r-- 1 paul private 987141 22. Dez 2011 DSCF5107.JPG
-rw-r--r-- 1 paul private 3837738 28. Dez 2011 07 - Meeting Across the River.mp3
-rw-r--r-- 1 paul private 3109984256 4. Nov 20:59 209_2012.08.23_11-03-59.mpg
Jetzt zu den Messwerten:
1. Reiner NFS-Zugriff:
Code:
[root@vm1 samba]# time cp nfs/209_2012.08.23_11-03-59.mpg no-nfs/
real 16m36.143s
user 0m0.408s
sys 0m10.560s
[root@vm1 samba]# rpm -q nfs-utils
nfs-utils-1.0.9-60.el5
2. Reiner CIFS-Zugriff vom Notebook:
Code:
paul@j3:~> time smbclient //vm1/no-nfs/ --user=anonymous --no-pass -c 'get 209_2012.08.23_11-03-59.mpg'
Anonymous login successful
Domain=[GEHRKE] OS=[Unix] Server=[Samba 3.0.33-3.39.el5_8]
getting file \209_2012.08.23_11-03-59.mpg of size 3109984256 as 209_2012.08.23_11-03-59.mpg (9551,2 KiloBytes/sec) (average 9551,2 KiloBytes/sec)
real 5m19.081s
user 0m9.134s
sys 0m31.151s
3. Geschachtelte Protokolle:
Code:
paul@j3:~> time smbclient //vm1/nfs/ --user=anonymous --no-pass -c 'get 209_2012.08.23_11-03-59.mpg'
Anonymous login successful
Domain=[GEHRKE] OS=[Unix] Server=[Samba 3.0.33-3.39.el5_8]
getting file \209_2012.08.23_11-03-59.mpg of size 3109984256 as 209_2012.08.23_11-03-59.mpg (5414,1 KiloBytes/sec) (average 5414,1 KiloBytes/sec)
real 9m21.791s
user 0m9.779s
sys 0m31.744s
4. SCP in die andere Richtung:
Code:
[root@j4 ~]# time scp -i /home/paul/.ssh/id_rsa /home/paul/nfs/video/multyvision/209_2012.08.23_11-03-59.mpg root@vm1:/var/spool/samba/no-nfs
Enter passphrase for key '/home/paul/.ssh/id_rsa':
209_2012.08.23_11-03-59.mpg 100% 2966MB 3.7MB/s 13:23
real 13m35.002s
user 0m18.256s
sys 0m8.712s
5. Reiner NFS-Zugriff auf anderem System/Netz:
Code:
paul@j3:~> time cp j4.nfs/video/multyvision/209_2012.08.23_11-03-59.mpg .
real 4m26.593s
user 0m0.032s
sys 0m10.718s
Insbesondere den Vergleich von Fall 1 und 3 finde ich fragwürdig. Wie kann es sein, dass in Fall 1 die Kopie via NFS 16 Minuten dauert, aber der vermeintliche Umweg bei Fall 3 mit 9 Minuten deutlich schneller ist, obwohl dort ja in Teilen der selbe Weg eingeschlagen wird, nur mit einer externen Station zusätzlich.
Code:
Fall 1: cp@vm1 -> NFS-Client@vm1 -> NFS-Server@j4 : 16 Min
Fall 3: smbclient@j3 -> samba@vm1 -> NFS-Client@vm1 -> NFS-Server@j4 : 9 Min
BTW: Alle Zeitmessungen habe ich mehrfach durchgeführt.
Bitte um Hilfe!
TNX
cu, Paul