NFS:SFU

Aus TuxBoxWIKI
Version vom 5. August 2012, 16:25 Uhr von MTM (Diskussion | Beiträge) (Links angepasst und ergänzt)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche


Allgemeines

In Windows Vista und Windows 7 steht "Server for NFS" nicht zur Verfügung. Die "Services for UNIX" wurden zwar umbenannt in "Subsystem for UNIX-based Applications", enhalten jedoch nur den "Client for NFS" und sind außerdem nur in den Varianten Enterprise und Ultimate enthalten. Der cygwin NFS-Server funktioniert jedoch auch unter Vista.


Der NFS-Server von Microsoft(R) "Services for UNIX" (SFU) mit DBox2 & Neutrino. Wie konfiguriert man die "Services for UNIX" zur Benutzung mit einer DBox2, die mit Neutrino läuft?


Dies ist eine Anleitung, wie man die Microsoft(R) "Services for Unix" installiert, um mit einer DBox2 und Neutrino, Verzeichnisse per NFS zu mounten, um diese dann an der DBox2 zur Aufnahme und/oder Wiedergabe zu nutzen.


Zur Info:

  • Testumgebung: PC mit Windows XP Pro ServicePack 1 mit diversen Microsoft-Patchen.
  • Alle verwendeten Namen, Ordner und Aliase sind vermutlich wahlfrei.
  • Alle nichterwähnten Einstellungen und Auswahlmöglichkeiten können auf Default gelassen werden.
  • Ein Einrichten von weiteren Windows-Benutzern oder irgendwelcher Rechte ist nicht notwendig.


Links


Anleitung

Voraussetzungen

  • Betriebssystem:
  • Eine NTFS-Partition, für das Installationsverzeichnis


Download folgender Dateien

  1. http://www.microsoft.com/windows/sfu
  2. Windows Services for UNIX 3.5 Downloads
  3. Register to Download
  4. English (Steht z.Z. nur auf englisch zur Verfügung.)
  5. Sich da durchhangeln, eine gültige eMail-Adresse angeben und die korrekte Schuhgröße, bis man endlich zum Download kommt. Dafür ist es ja auch kostenlos.
  6. Download SFU35SEL_EN.exe (217 MB)


Dateien von der DBox2 holen

  • Per FTP folgende Dateien von der DBox2 holen: /var/etc/group und /var/etc/passwd
  • Auf dem PC ein Verzeichnis anlegen z.B. "D:\Programme\SFU\dboxusers" und die Dateien "group" und "passwd" dort hinkopieren.


Setup

  • SFU35SEL_EN.exe entpacken nach C:\Temp\SFU35SEL_EN
  • C:\Temp\SFU35SEL_EN\Setup.exe doppelklicken
  [Next]
  Werte für "Name" und Organization" eingeben.
  [Next]
  (x) I accept the agreement
  [Next]
  (x) Custom Installation
  [Next]
  Alles abwählen außer unter NFS
  - "Server for NFS" unter NFS
  - "Server for NFS Authentification" unter Authentication tools for NFS
  [Next]
  (x) Change the default behavior to case sensitive.
  [Next]
  (x) Local User Name Mapping Server
  (x) Password and group files
  [Next]
  Password file path and name:
  D:\Programme\SFU\dboxusers\passwd
  Group file path and name:
  D:\Programme\SFU\dboxusers\group
  Windows domain name:
  \\RECHNERNAME (hier steht der tatsächliche Name des eigenen Rechners)
  [Next]
  Installation location:
  D:\Programme\SFU\NFS\
  Das Zielverzeichnis muss auf einer NTFS-Partition liegen.
  [Next]
  You must Restart...
  [Yes]


Kontrolle

  • Nachsehen bei:
  • Start -> Einstellungen -> Systemsteuerung -> Verwaltung > Dienste "Server for NFS" und "User Name Mapping" ob diese Dienste Status: Gestartet / Autostarttyp: Automatisch


Achtung: sollten sich die Dienste nicht starten lassen, schaut bitte nach ob evtl. andere NFS Server Dienste schon laufen. Wenn z.B. eine TrueGrid NFS Server Installation vorhanden ist (und die entspr. 2 Dienste gestartet sind), kann SFU nicht starten. Wenn die beiden SFU Dienste nicht gestartet sind, werden die nächsten Schritte nicht funktionieren.


Kennwort festlegen

Der Windows-User, der im nächsten Schritt beim Mapping zugeordnet wird (z.B. Administrator), muss über ein Kennwort verfügen. Falls er keins hat, muss ihm vor dem "User Mapping" eins zugeteilt werden.

  • Start -> Einstellungen -> Systemsteuerung -> Verwaltung -> Computerverwaltung -> System ->
  • Lokale Benutzer und Gruppen -> Benutzer -> rechte Maustaste auf den Benutzernamen -> Kennwort festlegen


Es folgt eine Warnung, dass Daten verloren gehen können. Diese Warnung habe ich bisher immer missachtet und vermisse keine Daten. Um welche Art von Daten es sich dabei handeln soll, weiß ich nicht. [Anm.: Wenn Du unter Windows XP verschlüsselte Verzeichnisse benutzt, dann kann der User, für den Du das Pwd geändert hast, nicht mehr auf seine verschlüsselten Daten zugreifen.]


User Mapping

  • Start -> Einstellungen -> Systemsteuerung -> Verwaltung ->
  • Services for UNIX Administration -> User Name Mapping -> [Maps] -> Show User Maps


User name mapping.PNG


  Windows user name: Administrator, UNIX user name: root
  [Add]
  [OK]
  [OK]
  [Apply]
  Schließen (Menü -> Datei -> Beenden oder einfach [X])


Freigaben einrichten

  • Arbeitsplatz: dort zu dem Ordner duchhangeln, den man freigeben möchte z.B. "D:\Aufnahme".
  • Rechte Maustaste auf den Ordner -> Eigenschaften -> NFS Sharing


Freigabe einrichten.PNG Freigabe permissions.PNG


  • Beim Punkt "Type of access" je nach Bedarf Read-only (nur lesen) oder Read-Write (lesen und schreiben) einstellen
  • Nach belieben weitere Freigaben einrichten.


Firewall Einstellungen

Solltest du Windows XP als Betriebssystem einsetzen, musst du noch folgende Ports in der XP Firewall freigegeben:

  Port     Protokoll     Bezeichnung  
  111     UDP     Portmapper  
  111     TCP     Portmapper  
  1039     TCP     Status  
  1039     UDP     Status  
  1047     TCP     Nlockmgr  
  1047     UDP     Nlockmgr  
  1048     TCP     Mountd  
  1048     UDP     Mountd  
  2049     TCP     NFS-Server  
  2049     UDP     NFS-Server  

als Bereich bitte jeweils "Nur für eigenes Netzwerk (Subnetz)" freigeben.

Damit man das unter Windows XP/2003 nicht mühselig von Hand einstellen muss, öffnet man einfach einen DOS-Prompt und führt nacheinander folgende Befehle aus:

netsh firewall add portopening protocol = TCP port = 111 name = "NFS-Portmapper 111 TCP" mode = ENABLE scope = SUBNET profile = ALL
netsh firewall add portopening protocol = TCP port = 1039 name = "NFS-Status 1039 TCP" mode = ENABLE scope = SUBNET profile = ALL
netsh firewall add portopening protocol = TCP port = 1047 name = "NFS-Nlockmgr 1047 TCP" mode = ENABLE scope = SUBNET profile = ALL
netsh firewall add portopening protocol = TCP port = 1048 name = "NFS-Mountd 1048 TCP" mode = ENABLE scope = SUBNET profile = ALL
netsh firewall add portopening protocol = TCP port = 2049 name = "NFS-Server 2049 TCP" mode = ENABLE scope = SUBNET profile = ALL
netsh firewall add portopening protocol = UDP port = 111 name = "NFS-Portmapper 111 UDP" mode = ENABLE scope = SUBNET profile = ALL
netsh firewall add portopening protocol = UDP port = 1039 name = "NFS-Status 1039 UDP" mode = ENABLE scope = SUBNET profile = ALL
netsh firewall add portopening protocol = UDP port = 1047 name = "NFS-Nlockmgr 1047 UDP" mode = ENABLE scope = SUBNET profile = ALL
netsh firewall add portopening protocol = UDP port = 1048 name = "NFS-Mountd 1048 UDP" mode = ENABLE scope = SUBNET profile = ALL
netsh firewall add portopening protocol = UDP port = 2049 name = "NFS-Server 2049 UDP" mode = ENABLE scope = SUBNET profile = ALL

Wer ein anderes Betriebssystem bzw. eine andere Firewall im Einsatz hat, muss diese ebenfalls entsprechend konfigurieren.

(siehe auch Infoseite von Microsoft)


Mounten

  • Das heißt [dbox]-Taste drücken => "Hauptmenü" - "Einstellungen" - "Netzwerk" - "NFS Verzeichnis mounten", dann erscheint diese Liste mit acht "leeren" Einträgen, für je ein Verzeichnis.


Nfs cifs mounten leer.png


  • Den ersten Eintrag selektieren und [OK]


Dann erscheint die Liste der nötigen Eingaben für ein zu mountendes Verzeichnis.

  • Typ NFS auswählen


Zu mountendes verzeichnis.png


NFS/CIFS Server IP Die IP des Rechners auf dem der SFU NFS Server läuft.

  • Im Beipsiel: 192.168.0.2


  • Beim Punkt Verzeichnis/Freigabe als Name "Aufnahme" eintragen. Lokales Verzeichnis mit Rauf, Runter, Rechts und Links sich zum richtigen Verzeichnis auf der DBox2 hangeln (im Beispiel: /mnt/filme) und mit [OK] bestätigen.


Lokales verzeichnis freigeben.png


  Beim Start mounten   erstmal auf "Nein" lassen bis alles läuft.
  Mount-Optionen       ro,soft,udp (Nur lesenden Zugriff auf das Verzeichnis)
                       rw,soft,udp (Auch Schreibzugriff. Notwendig für Aufnahmen)
  Jetzt mounten        [OK], wenn jetzt keine Fehlermeldung kommt, hat's geklappt.


Danach die Einträge für das 2. Verzeichnis (Mp3) eingeben. Die Einträge unter Berücksichtigung der tatsächlich benutzten Namen einrichten.


Für dieses Beispiel sollten die fertigen Einträge dann so aussehen (192.168.0.2 ist hier die IP des Rechners auf dem der Server läuft):


Nfs cifs mounten eintraege.png


  • Nach erfolgreicher Einrichtung zurück zum Menü "Einstellungen" und dort "Einstellung jetzt speichern", damit beim Neustart der DBox2 nicht alles wieder weg ist.
  • Nach erfolgreichem Testlauf können die Einträge bei Bedarf auch auf "auto: Ja" gesetzt werden, dann werden die NFS Laufwerke beim Start der DBox2 automatisch gemountet.
  • Falls die Verzeichnisse später auf der DBox2 gelöscht oder umbenannt werden sollen, müssen diese mount-Einträge vorher gelöscht werden, sonst nimmt es die Box übel.


Tuning Tips

UseWriteCache

UseWriteCache
HKLM\System\CurrentControlSet\Services\NfsSvr\Parameters\ (REG_DWORD)

Default is 0. Specifies whether or not write caching should be used. Set this value to 1 to enable                                      
write caching. This can give significant performance improvements; however, if the disk subsystem   
does not have an appropriate battery backup, data loss and corruption may occur during a power 
failure. Enabling write caching violates the NFS protocol semantics.


NFS-Only Mode

Enhanced NFS performance can be achieved by using the NFSONLY.EXE application. This allows a share 
to be modified to do more aggressive caching to improve performance. This may be set on a 
share-by-share basis. NFS-Only mode should not be used on any share that can be accessed by any 
means other than NFS, because data corruption can occur. However, as much as a 15% improvement has 
been observed when using an NFS-only share. The syntax of this command is:
NfsOnly <resourcename|sharename> [/enable|/disable]

Resourcename|sharename is the name of the NFS share. The /enable option turns on NFS-Only mode for 
the specified resource or share, while the /disable option turns off NFS-Only mode for the 
specified resource or share. The Microsoft Services for Network File System Server service must be 
restarted for NFS-Only mode to take effect. 


Haken und Ösen

Kleine Probleme...

Es sollte nicht verschwiegen werden, dass diese Installation mancherlei Schwierigkeiten mit sich bringt - ganz abgesehen von der komplizierten und umständlichen Einrichtung.

  • Wer einziger Nutzer an seinem PC ist und bisher ohne extra Passworteingabe Windows gestartet hat, muss nun jedes Mal nach ungefähr der Hälfte der Zeit für das Hochfahren sein Passwort eintippen. Löscht man das Passwort, funktioniert der Server nicht mehr. (Man kann jedoch z.B. mit TuneUp die automatische Anmeldung einstellen. Somit erspart man sich das für manchen recht lästige Anmelden bzw. es läuft halt automatisch.)
  • Auf jeder Partition, auf der etwas freigegeben wird, erzeugt der NFS-Server ein hässliches Verzeichnis "._nfs" im Root.
  • Wenn es mit einem anderen NFS-Server Schwierigkeiten gab (z.B. Aussetzer bei der Wiedergabe, fehlerhafte Aufnahmen), kann es mit SFU besser sein - muss aber nicht, und das Problem ist doch der Router, der PC, die LAN-Karte, oder die falsche Farbe des Netzwerkkabels.
  • Last but not least: Auch dadurch, dass für SFU auf Unterscheidung von Groß- und Kleinschreibung der Dateinamen bei Windows XP umgestellt werden muss, können sich noch unbekannte Probleme ergeben.


Abhilfe

Der einfachste Weg, den NFS-Server wieder abzuschalten, ist die oben genannten Services in ihren Eigenschaften zu deaktivieren, sie werden dann beim Windows-Start nicht mehr geladen. Wenn die Services nicht mehr laufen, können auch die "._nfs" Verzeichnisse gelöscht werden. Nachteil: Die SFU-Programme bleiben auf der Festplatte - bzw. eigentlich ist das ein Vorteil, denn bei Bedarf kann der Server ebenso leicht wieder aktiviert werden. Als Alternative bietet sich der gute alte Allegro an, der auch unter Windows 98 noch funktioniert.