Udziały plików na urządzeniach iSCSI mogą nie zostać ponownie utworzone po ponownym uruchomieniu komputera

Ten artykuł zawiera rozwiązanie problemu, który może uniemożliwić ponowne utworzenie udziałów plików po ponownym uruchomieniu komputera.

Dotyczy: Windows 10 — wszystkie wersje, Windows Server 2012 R2
Oryginalny numer KB: 870964

Symptomy

Usługa Inicjator iSCSI firmy Microsoft służy do nawiązywania połączenia z urządzeniem dyskowym iSCSI (Internet SCSI). Udziały plików utworzone dla folderów znajdujących się na urządzeniu iSCSI mogą nie zostać ponownie utworzone po ponownym uruchomieniu komputera, na którym są tworzone udziały.

Przyczyna

Problem może wystąpić, gdy usługa inicjatora iSCSI nie zostanie zainicjowana podczas inicjowania usługi serwera. Usługa Server tworzy udziały plików. Jednak ponieważ urządzenia dyskowe iSCSI nie są dostępne, usługa Serwera nie może tworzyć udziałów plików dla urządzeń iSCSI do momentu zainicjowania usługi iSCSI.

Rozwiązanie

Inicjator iSCSI 2.x

Aby rozwiązać problem w programie iSCSI Initiator 2.x, wykonaj następujące kroki na serwerze, którego dotyczy problem:

  1. Uzależnij usługę serwera od usługi inicjatora iSCSI. Aby uzyskać informacje o tym, jak to zrobić, zobacz sekcję "Uzależnij usługę serwera od usługi inicjatora iSCSI".

  2. Skonfiguruj trwałe logowania do obiektu docelowego. Aby to zrobić, należy skorzystać z jednej z następujących metod.

    Uwaga

    Jeśli na karcie Trwały obiekt docelowy zostanie wyświetlony obiekt docelowy, poniższe kroki nie są wymagane.

    Metoda 1. Używanie inicjatora iSCSI w Panel sterowania

    1. W Panel sterowania kliknij dwukrotnie inicjator iSCSI.
    2. Wybierz kartę Obiekty docelowe .
    3. Wybierz obiekt docelowy na liście Wybierz element docelowy , a następnie wybierz pozycję Zaloguj.
    4. Wybierz, aby zaznaczyć pole wyboru Automatycznie przywróć to połączenie po uruchomieniu systemu , a następnie wybierz przycisk OK.

    Metoda 2. Używanie okna wiersza polecenia

    1. Wybierz pozycję Uruchom start>, wpiszcmd, a następnie wybierz przycisk OK.
    2. W wierszu polecenia wpisz następujące polecenie, a następnie naciśnij klawisz Enter: iscsicli persistentlogintarget **target_iqn** T * * * * * * * * * * * * * * * 0

    Uwaga

    target_iqn to nazwa IQN obiektu docelowego.

  3. Skonfiguruj opcję BindPersistentVolumes dla usługi inicjatora iSCSI. Aby to zrobić, należy skorzystać z jednej z następujących metod.

    Metoda 1. Używanie inicjatora iSCSI w Panel sterowania

    1. W Panel sterowania kliknij dwukrotnie inicjator iSCSI.
    2. Wybierz kartę Powiązane woluminy/urządzenia .
    3. Wybierz pozycję Powiąż wszystkie , aby powiązać wszystkie trwałe obiekty docelowe. Możesz też wybrać pozycję Dodaj, a następnie wprowadzić literę dysku lub punkt instalacji, aby powiązać określony obiekt docelowy.
    4. Wybierz przycisk OK.

    Metoda 2. Używanie okna wiersza polecenia

    1. Wybierz pozycję Uruchom,> wpisz cmd, a następnie naciśnij klawisz Enter.

    2. Wpisz iscsicli BindPersistentVolumes, a następnie naciśnij klawisz Enter.

      Uwaga

      Jest to takie samo jak wybranie opcji Powiąż wszystko w metodzie 1.

Uwaga

Tego rozwiązania należy użyć tylko wtedy, gdy wystąpi ten konkretny problem z wersją 2.x usługi inicjatora iSCSI.

Uzależnij usługę serwera od usługi inicjatora iSCSI

Użyj jednej z następujących metod, aby uzależnić usługę serwera od usługi inicjatora iSCSI.

Metoda 1. Korzystanie z narzędzia Microsoft Service Control (Sc.exe)

Uwaga

Nie trzeba modyfikować rejestru podczas korzystania z tej metody. W związku z tym ta metoda jest preferowanym sposobem ustawiania zależności usługi.

  1. Wybierz pozycję Uruchom,> wpisz cmd, a następnie naciśnij klawisz Enter.

  2. Wpisz sc config LanManServer depend= Samss/Srv2/MSiSCSI, a następnie naciśnij klawisz Enter.

    Jeśli masz dostęp administracyjny do serwera, możesz uruchomić to polecenie z komputera sieciowego. Wpisz następujące polecenie i naciśnij klawisz ENTER:

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

Metoda 2. Używanie Redaktor rejestru

Ważna

W tej sekcji, metodzie lub w tym zadaniu podano informacje dotyczące modyfikowania rejestru. Niepoprawne zmodyfikowanie rejestru może jednak być przyczyną poważnych problemów. Dlatego należy uważnie wykonywać podane czynności. Dla większego bezpieczeństwa przed zmodyfikowaniem rejestru należy wykonać jego kopię zapasową. Dzięki temu będzie można przywrócić rejestr w przypadku wystąpienia problemu. Aby uzyskać więcej informacji dotyczących wykonywania kopii zapasowej i przywracania rejestru, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
322756 Jak wykonać kopię zapasową rejestru i przywrócić go w systemie Windows

Microsoft Windows 2000

  1. Uruchom Edytor rejestru.

  2. Odszukaj i wybierz następujący podklucz rejestru:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanManServer

  3. W menu Edytuj wybierz pozycję Dodaj wartość.

  4. Wpisz DependOnService w polu Nazwa wartości , wybierz pozycję REG_MULTI_SZ w polu Typ danych , a następnie naciśnij klawisz Enter.

  5. W oknie Redaktor wielociągowej wpisz MSiSCSI w polu danych, a następnie wybierz przycisk OK.

  6. Zamknij Edytor rejestru.

Więcej informacji

Procedury opisane w sekcji "Rozwiązywanie" można wykonać przy użyciu narzędzi Sc.exe i Iscsicli.exe. W tym celu utwórz plik wsadowy, który używa tych poleceń, a następnie uruchom plik wsadowy bezpośrednio lub uruchom plik wsadowy w inny sposób. Na przykład uruchom plik wsadu przy użyciu zasady grupy.

Firma Microsoft podaje przykłady programowania tylko dla celów ilustracyjnych, nie udzielając żadnej rękojmi, wyrażonej wprost ani dorozumianej, w tym także, ale nie tylko, dorozumianej rękojmi co do przydatności handlowej lub do określonych celów. W tym artykule zakłada się, że czytelnik zna demonstrowany język programowania oraz narzędzia używane do tworzenia i debugowania procedur. Wykwalifikowani pracownicy Pomocy technicznej firmy Microsoft mogą pomóc w wyjaśnieniu działania określonej procedury. Nie zmodyfikują jednak tych przykładów w celu zapewnienia dodatkowych funkcji ani procedur konstruowania w celu spełnienia określonych wymagań.

Aby wykonać skrypt dla całej operacji opisanej w sekcji "Rozwiązanie", utwórz plik wsadowy zawierający następujący tekst:

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

Problem może również wystąpić w magazynie innym niż iscsi, jeśli usługa serwera jest uruchomiona przed zainicjowaniem magazynu. W takim przypadku możemy użyć poniższego obejścia, zakładając, że G to litera dysku, którą chcemy monitorować:

  1. Zapisz skrypt jako *.bat plik.

     :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. Możemy dodać plik nietoperza do polecenia "Uruchom skrypt":

    1. Umieść plik wsadu w %systemroot%\System32\GroupPolicy\Machine\Scripts\Startup
    2. Uruchom polecenie gpedit , aby otworzyć zasady komputera lokalnego
    3. Dodaj plik wsadu do skryptu uruchamiania.