Каждый раз, когда я перезагружаю свою машину с Windows 10, мне приходится перезапускать службу iSCSI.
Всякий раз, когда я перезагружаюсь, диски iSCSI не подключаются, и я вижу "переподключение" в инициаторе Microsoft iSCSI, если я пытаюсь отключиться, я получаю сообщение об ошибке, но после перезапуска службы iSCSI (в этот момент я написал короткую PowerShell сценарий и положить его на моем рабочем столе), диски iSCSI переподключиться.
Кто-то рекомендовал удалить все порталы и добавить их без использования "быстрого подключения", это, похоже, не помогло.
Сервер iSCSI является устройством FreeNAS и имеет 1 портал с 1 целью и 2 экстентами. Раньше было 2 цели с одним экстентом каждая, но я объединил 2 цели в одну.
Я думал о создании запланированной задачи для перезапуска службы iSCSI при входе в систему, но я чувствую, что мне, вероятно, все равно придется заново создавать библиотеку Steam на диске каждый раз.
Следующие фрагменты истории гораздо менее актуальны, но могут содержать подсказки:
У меня есть игровой ПК с Windows 10 с нулевыми жесткими дисками и несколькими твердотельными накопителями SATA (я могу сломать его, если это имеет значение, но суть в том, что у меня нет портов SATA на моей материнской плате)
Вместо того, чтобы устанавливать жесткие диски для "медленного хранения" или использовать SMB (что довольно медленно), у меня есть 2 диска iSCSI (одна цель / портал, 2 разных экстента), поступающих с моего NAS.
Какое-то время это "только что сработало", в Черную пятницу 2018 года я получил SATA SSD емкостью 1 ТБ и адаптер, который заполнил мой последний порт SATA.
Проблемы начались совсем недавно, когда я получил встроенный USB3-концентратор, который входит в 5,25-дюймовый отсек... после его установки мой новый твердотельный накопитель емкостью 1 ТБ и диски iSCSI неожиданно перестали работать. Я работал через это. Адаптер PCIe-M.2 ослаб, и винт, удерживающий его на месте, не работал, поэтому я заменил винт, запустил chkdsk и т. Д., И все было хорошо. Но... как-то это испортило iSCSI? непонятно, но это произошло одновременно. Если бы игра "The Talos Principal" (установленная на 1 ТБ SSD), могла бы испортить ее. (У меня был забавный сбой, когда освободился твердотельный накопитель, но опять же, не очень актуально для проблем с iSCSI)
Я изменил настройки iSCSI на своем NAS, чтобы иметь 1 портал + 1 цель с 2 экстентами вместо 1 портала с 2 целями (по одному экстенту на каждую цель). Это чертовски запутало Windows, я в основном делал это, потому что он казался чище, но я смог отключить службу iSCSI, удалить драйвер, сбросить настройки iSCSI из реестра и заново добавить все, и все выглядело хорошо,
1 ответ
Поэтому я в итоге создал задачу по расписанию, которая запускает службу iSCSI, но задерживается до готовности сети (аналогичные решения рекомендуют отложить на одну минуту).
Затем я установил Steam на 90-е годы после входа в систему, а не при входе в систему...
Это не идеально, но я перезагружаю свой компьютер... а потом иду выпить кофе или еще чего-нибудь, и я возвращаюсь, и я могу играть в игры на своем диске iSCSI, не вмешиваясь в настройки.
Запланированное задание выглядит так:
<?xml version="1.0" encoding="UTF-16"?>
<Task version="1.4" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
<RegistrationInfo>
<Date>2016-03-11T17:58:47.9924646</Date>
<Author>gkmachine</Author>
<URI>\Start iSCSI service at startup delayed</URI>
</RegistrationInfo>
<Triggers>
<BootTrigger>
<ExecutionTimeLimit>PT10M</ExecutionTimeLimit>
<Enabled>true</Enabled>
</BootTrigger>
</Triggers>
<Principals>
<Principal id="Author">
<UserId>S-1-5-18</UserId>
<RunLevel>LeastPrivilege</RunLevel>
</Principal>
</Principals>
<Settings>
<MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy>
<DisallowStartIfOnBatteries>true</DisallowStartIfOnBatteries>
<StopIfGoingOnBatteries>true</StopIfGoingOnBatteries>
<AllowHardTerminate>true</AllowHardTerminate>
<StartWhenAvailable>false</StartWhenAvailable>
<RunOnlyIfNetworkAvailable>true</RunOnlyIfNetworkAvailable>
<IdleSettings>
<StopOnIdleEnd>true</StopOnIdleEnd>
<RestartOnIdle>false</RestartOnIdle>
</IdleSettings>
<AllowStartOnDemand>true</AllowStartOnDemand>
<Enabled>true</Enabled>
<Hidden>false</Hidden>
<RunOnlyIfIdle>false</RunOnlyIfIdle>
<DisallowStartOnRemoteAppSession>false</DisallowStartOnRemoteAppSession>
<UseUnifiedSchedulingEngine>true</UseUnifiedSchedulingEngine>
<WakeToRun>false</WakeToRun>
<ExecutionTimeLimit>PT72H</ExecutionTimeLimit>
<Priority>7</Priority>
<RestartOnFailure>
<Interval>PT5M</Interval>
<Count>999</Count>
</RestartOnFailure>
</Settings>
<Actions Context="Author">
<Exec>
<Command>powershell</Command>
<Arguments>"-Command" "Restart-Service -Name 'Microsoft iSCSI Initiator Service'"</Arguments>
</Exec>
</Actions>
</Task>
Я использовал Glary Utilities, чтобы отложить запуск Steam Client Bootstrapper на 90 секунд, но, вероятно, вы могли бы удалить загрузочное приложение и установить запланированное задание, вместо того, чтобы устанавливать странную вспомогательную утилиту (хотя мне нравится Glary и сохранить это вокруг).