Dateifreigaben auf iSCSI-Geräten werden möglicherweise nicht neu erstellt, wenn Sie den Computer neu starten

Dieser Artikel bietet eine Lösung für ein Problem, das verhindern kann, dass Dateifreigaben beim Neustart des Computers neu erstellt werden.

Gilt für: Windows 10 (alle Editionen), Windows Server 2012 R2
Ursprüngliche KB-Nummer: 870964

Symptome

Sie verwenden den Microsoft iSCSI-Initiator-Dienst, um eine Verbindung mit einem iSCSI-Datenträgergerät (Internet SCSI) herzustellen. Die Dateifreigaben, die Sie für Ordner auf Ihrem iSCSI-Gerät erstellen, werden möglicherweise nicht neu erstellt, wenn Sie den Computer neu starten, auf dem die Freigaben erstellt werden.

Ursache

Das Problem kann auftreten, wenn der iSCSI-Initiatordienst nicht initialisiert wird, wenn der Serverdienst initialisiert wird. Der Serverdienst erstellt Dateifreigaben. Da iSCSI-Datenträgergeräte jedoch nicht verfügbar sind, kann der Serverdienst erst dann Dateifreigaben für iSCSI-Geräte erstellen, wenn der iSCSI-Dienst initialisiert ist.

Lösung

iSCSI-Initiator 2.x

Führen Sie die folgenden Schritte auf dem betroffenen Server aus, um das Problem in iSCSI-Initiator 2.x zu beheben:

  1. Machen Sie den Serverdienst vom iSCSI-Initiatordienst abhängig. Informationen dazu finden Sie im Abschnitt "Machen Sie den Serverdienst abhängig vom iSCSI-Initiatordienst".

  2. Konfigurieren Sie persistente Anmeldungen beim Ziel. Wenden Sie hierzu eine der folgenden Methoden an.

    Hinweis

    Wenn das Ziel auf der Registerkarte Persistentes Ziel angezeigt wird, sind die folgenden Schritte nicht erforderlich.

    Methode 1: Verwenden des iSCSI-Initiators in Systemsteuerung

    1. Doppelklicken Sie Systemsteuerung auf iSCSI-Initiator.
    2. Wählen Sie die Registerkarte Ziele aus.
    3. Wählen Sie in der Liste Ziel auswählen ein Ziel und dann Anmelden aus.
    4. Aktivieren Sie das Kontrollkästchen Diese Verbindung beim Starten des Systems automatisch wiederherstellen , und wählen Sie dann OK aus.

    Methode 2: Verwenden des Eingabeaufforderungsfensters

    1. Wählen Sie Ausführung starten> aus, geben Sie cmd ein, und wählen Sie dann OK aus.
    2. Geben Sie an der Eingabeaufforderung den folgenden Befehl ein, und drücken Sie dann die EINGABETASTE: iscsicli persistentlogintarget **target_iqn** T * * * * * * * * * * * * * * * 0

    Hinweis

    target_iqn ist der IQN-Name des Ziels.

  3. Konfigurieren Sie die Option BindPersistentVolumes für den iSCSI-Initiatordienst. Wenden Sie hierzu eine der folgenden Methoden an.

    Methode 1: Verwenden des iSCSI-Initiators in Systemsteuerung

    1. Doppelklicken Sie Systemsteuerung auf iSCSI-Initiator.
    2. Wählen Sie die Registerkarte Gebundene Volumes/Geräte aus.
    3. Wählen Sie Alle binden aus, um alle persistenten Ziele zu binden. Oder wählen Sie Hinzufügen aus, und geben Sie dann einen Laufwerkbuchstaben oder Bereitstellungspunkt ein, um ein bestimmtes Ziel zu binden.
    4. Wählen Sie OK aus.

    Methode 2: Verwenden des Eingabeaufforderungsfensters

    1. Wählen SieStart Run (Ausführung> starten) aus, geben Sie cmd ein, und drücken Sie dann die EINGABETASTE.

    2. Geben Sie iscsicli BindPersistentVolumes ein, und drücken Sie dann die EINGABETASTE.

      Hinweis

      Dies entspricht dem Auswählen der Option Alle binden in Methode 1.

Hinweis

Verwenden Sie diese Lösung nur, wenn dieses spezifische Problem mit Version 2.x des iSCSI-Initiatordiensts aufgetreten ist.

Machen Sie den Serverdienst vom iSCSI-Initiatordienst abhängig.

Verwenden Sie eine der folgenden Methoden, um den Serverdienst vom iSCSI-Initiatordienst abhängig zu machen.

Methode 1: Verwenden des Microsoft Service Control-Hilfsprogramms (Sc.exe)

Hinweis

Sie müssen die Registrierung nicht ändern, wenn Sie diese Methode verwenden. Daher ist diese Methode die bevorzugte Methode zum Festlegen der Dienstabhängigkeit.

  1. Wählen SieStart Run (Ausführung> starten) aus, geben Sie cmd ein, und drücken Sie dann die EINGABETASTE.

  2. Geben Sie sc config LanManServer depend= Samss/Srv2/MSiSCSI ein, und drücken Sie dann die EINGABETASTE.

    Wenn Sie über Administratorzugriff auf den Server verfügen, können Sie diesen Befehl auf einem Netzwerkcomputer ausführen. Geben Sie folgenden Befehl ein, und drücken Sie die EINGABETASTE:

     sc \\computer_name config LanManServer depend= Samss/Srv2/MSiSCSI
    

Methode 2: Verwenden von Registrierungs-Editor

Wichtig

Dieser Abschnitt, diese Methode bzw. diese Aufgabe enthält eine Beschreibung der Schritte zum Bearbeiten der Registrierung. Durch die falsche Bearbeitung der Registrierung können schwerwiegende Probleme verursacht werden. Daher ist es wichtig, bei der Ausführung der folgenden Schritte sorgfältig vorzugehen. Für zusätzlichen Schutz sichern Sie die Registrierung, bevor Sie sie ändern. Sie können die Registrierung wiederherstellen, wenn ein Problem auftritt. Weitere Informationen zum Erstellen und Wiederherstellen einer Sicherungskopie der Registrierung finden Sie im folgenden Artikel der Microsoft Knowledge Base:
322756 Sichern und Wiederherstellen der Registrierung in Windows

Microsoft Windows 2000

  1. Starten Sie den Registrierungs-Editor.

  2. Klicken Sie auf den folgenden Registrierungsunterschlüssel:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanManServer

  3. Wählen Sie im Menü Bearbeiten die Option Wert hinzufügen aus.

  4. Geben Sie DependOnService in das Feld Wertname ein, wählen Sie REG_MULTI_SZ im Feld Datentyp aus, und drücken Sie dann die EINGABETASTE.

  5. Geben Sie im Fenster Multi-String Editor im DatenfeldMSiSCSI ein, und wählen Sie dann OK aus.

  6. Beenden Sie den Registrierungs-Editor.

Weitere Informationen

Sie können die im Abschnitt "Auflösung" beschriebenen Prozeduren mithilfe der Hilfsprogramme Sc.exe und Iscsicli.exe skripten. Erstellen Sie dazu eine Batchdatei, die diese Befehle verwendet, und führen Sie dann entweder die Batchdatei direkt aus, oder führen Sie die Batchdatei auf andere Weise aus. Führen Sie beispielsweise die Batchdatei mit Gruppenrichtlinie aus.

Die Verwendung der hier aufgeführten Informationen, Makro- oder Programmcodes geschieht auf Ihre eigene Verantwortung. Dies enthält, ohne Beschränkung, die stillschweigenden Garantien von Marktfähigkeit oder Eignung für einen bestimmten Zweck. Dieser Artikel setzt voraus, dass Sie sich mit der Programmiersprache auskennen, die hier gezeigt wird, und mit den Tools, die zum Erzeugen von Verfahren und zur Fehlerbeseitigung daran benutzt werden. Die Mitarbeiter der Microsoft Product Support Services erklären Ihnen gerne die Funktionsweise einer bestimmten Prozedur. Diese Beispiele werden jedoch nicht geändert, um zusätzliche Funktionen bereitzustellen oder Prozeduren zu erstellen, die Ihren spezifischen Anforderungen entsprechen.

Erstellen Sie zum Erstellen eines Skripts für den gesamten Vorgang, der im Abschnitt "Auflösung" beschrieben wird, eine Batchdatei, die den folgenden Text enthält:

sc config LanManServer depend= Samss/Srv2/MSiSCSI  
iscsicli BindPersistentVolumes

Das Problem kann auch bei Nicht-iscsi-Speicher auftreten, wenn der Serverdienst gestartet wird, bevor der Speicher initialisiert wurde. In diesem Fall können wir die folgende Problemumgehung verwenden, wobei angenommen wird, dass G der Laufwerkbuchstabe ist, den wir überwachen möchten:

  1. Speichern Sie das Skript als *.bat Datei.

     :Start  
      dir G: /AH  
      if %errorlevel% equ 0 goto :OK  
      ping 127.0.0.1 /n 5  
      goto :Start  
      :OK  
      net stop browser  
      net stop netlogon  
      net stop dfs  
      net stop lanmanserver /y  
      net start lanmanserver  
      net start dfs  
      net start netlogon  
      net start browser  
    
  2. Wir können die Bat-Datei zu "Skript starten" hinzufügen:

    1. Fügen Sie die Batchdatei in ein. %systemroot%\System32\GroupPolicy\Machine\Scripts\Startup
    2. Führen Sie aus gpedit , um die Richtlinie für den lokalen Computer zu öffnen.
    3. Fügen Sie die Batchdatei dem Startskript hinzu.