Задать вопрос

Почему долго грузятся бездисковые клиенты по iSCSi?

В качестве сервера iSCSi выступает MS Server 2016 Standard. Подняты:
- DHCP (отправляет параметры сети, отправляет информацию - откуда и какой файл загружать (menu.lst конфиг), в котором указаны возможные варианты загрузки),
- WDS (отправляет menu.lst список возможных вариантов загрузки (grub). Вариант загрузки один, а именно файл, в котором вся информация об параметрах подключения к iSCSi)
- iSCSi (3 образа системы для 3-х клиентов. На каждый образ своя цель).
В качестве прогружаемой системы - Windows 7 Professional x64 sp1.
Конфиг iPXE:
#!ipxe
dhcp net0
set net0/gateway 192.168.1.111
set keep-san 1
sanboot iscsi:192.168.1.111::::iqn.romo

(P.s. Третяя строка по причине того, что интернет шлюз (192.168.1.1) и сервер iSCSi (192.168.1.111) это разные машины. Без этого параметра загрузка не проходит вообще и упирается в синий экран 7b;
последняя строка для каждого из компьютеров разная, меняется iqn цель. Чтобы каждый компьютер грузился со своего образа, а не три с одного.)

Сеть гигабитная, 80 Мегабайт в секунду в один конец летит уверенно.
Проблема - система долго висит на стартовой анимации windows 7, тоесть на разноцветных лепестках. Из за этой задержи загрузка проходит минуты 3 примерно, точно не замерял. В самом начале я проводил эксперименты на виртуальных машинах, на которых роль сервера была возложена на Server 2008, вместо WDS и dhcp была програмуля Tftpd64. Ситуация с долгой прогрузкой была такая же. Потом все перевел на физические машины и более новое ПО, ситуация не изменилась. Дело точно не в железе - на сервере высокоскоростной ССД, сеть работает как надо. И! Как только этот этап проходит - все начинает летать. Быстро открываются программы, никаких задержек в работе. Если не говорить пользователю, что все грузится по сети - пользователь считает, что в системе стоит ссд (не преувеличиваю).
Я предполагаю, что все дело все же в содержании конфига iPXE. Прошу помощи тех, кто имел дело с подобным построением системы бездисковой загрузки.
  • Вопрос задан
  • 925 просмотров
Подписаться 4 Простой Комментировать
Решения вопроса 1
@Romk_Ride Автор вопроса
Снял, посмотрел, к конкретным выводам и решениям пока не могу эту информацию подвести. Ситуация следующая: Почти 2 минуты (105 секунд, если быть точнее) при старте система вообще ничего не делает. Спустя это время прогрузка система подает признаки жизни и быстро завершает процесс. Самые важные моменты: (на третьей фото темно-зеленым выделен параметр Disk IO)
5db1b943acb29537924924.png
5db1b087e0916999096170.png
5db1b96767b16014717984.png

Время инициализации (как я понимаю) системных файлов:
5db1b1834f496745437008.png

По этой фото можно увидеть, что в самом начале прогружается сначала rdyboost.sys, затем наступает долгая пауза, после чего прогружается msiscsi.sys и все остальное в кратчайшие сроки.
Если же смотреть на сам сервак, то можно заметить следующее: как только проходит инициализация ipxe и передает загрузчику винды, на сервере отображается, что к цели имеется подключение. Спустя примерно секунд 10 статус переводится в "не подключено". На клиенте я в этот момент наблюдаю уже сошедшийся пульсирующий рисунок windows с надписью Windows 7 снизу. Полторы минуты примерно ничего не меняется. И вот спустя это время статус цели снова переводится в подключено и на клиенте начинают проявляться признаки продолжения загрузки.

Размышляя над всевозможными причинами делал следующее:
-Понижал необходимость запуститься rdyboost.sys с обязательного (параметр Start в реестре) "0" до по требованию "3" (синий экран 7b)
-Изменял необходимость запуска msiscsi.sys до обязательного 0 (по дефолту 3) (результата не дало)
-Создал группу драйверов, добавил в эту группу все, что в системных драйверах относится к iscsi (iscsiprt, msiscsi) поставил эту группу как можно выше в списке приоритетов групп системных файлов. Встала сразу после Boot Bus Extender. Если устанавливать группу выше - практически в самом начале попытки загрузиться вылетает синий экран 7b. (результата не дало)
-В параметре HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Disk "TimeOutValue" изменил значение с 60 с. до 15 с. Предполагая, что система пытается сначала опросить жесткий диск (которого нет), давая какое то время таймаута на повтор запроса. (результата не дало)
-Скачивал другой файл ipxe.krn, предполагая, что в нем может быть что-то не так. (визуально немного поменялась загрузка на этапе инициализации ipxe, система же грузится так же долго)

РЕШЕНИЕ подкралось незаметно:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Psched
Start меняем с 1 на 0.

Новые данные:
Фазы загрузки
5db47afa0ffad793321494.png
Процессы
5db47b0b70b76201483240.png
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
fzfx
@fzfx
18,5 дм
сделайте профилирование загрузки: снимите трейс загрузки и проверьте, что тормозит процесс.
https://habr.com/ru/post/106684/
Ответ написан
Комментировать
Storozh2005
@Storozh2005
Romk_Ride
РЕШЕНИЕ подкралось незаметно:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Psched
Start меняем с 1 на 0.

Можно сделать более грамотно с точки зрения настоящего системного администратора компьютеров(имхо):
1. Верните значение Start на 1 -> перезагрузка;

2. После перезагрузки компьютера запускаете командную строку с правами администратора (меню "Пуск" -> набираете cmd(на англ. языке) -> ПКМ(Правой Кнопкой Мыши) на появившейся строчке cmd и щёлкнуть ЛКМ(Левой Кнопкой Мыши) по строке выпадающего меню "Запуск от имени администратора"(Run as administrator) -> появится окно командной строки); в командной строке набрать gpedit.msc, нажать на клавиатуре клавишу "Ввод"(Enter) -> появится окно "Редактор локальной групповой политики"(Local Group Policy Editor) (и далее также будут названия пунктов меню на русском языке, а в скобках их соответствующие названия на англ. языке); командную строку не надо закрывать;

3. В левой части окна: "Конфигурация компьютера"(Computer Configuration) -> "Административные шаблоны"(Administrative Templates) -> "Сеть"(Network) -> "Планировщик пакетов QoS"(QoS Packet Scheduler); в правой части окна параметр "Ограничить резервируемую пропускную способность"(Limit reservable bandwidth) -> ПКМ -> "Изменить"(Edit) -> "Включить"(Enabled) -> внизу опускаем значение переменной "Ограничение пропускной способности (%):"(Bandwidth limit (%):) с 20 до 0(ноля) -> "Применить"(Apply) -> "OK";

4. Желательно в оснастке "Редактор локальной групповой политики"(Local Group Policy Editor) поменять значение ещё одной переменной. В левой части окна: "Конфигурация компьютера"(Computer Configuration) -> "Конфигурация Windows"(Windows Settings) -> "Параметры безопасности"(Security Settings) -> "Локальные политики"(Local Policies) -> "Параметры безопасности"(Security Options) -> переменная "Сетевая безопасность: уровень проверки подлинности LAN Manager"(Network security: LAN Manager authentication level) -> ПКМ -> "Изменить"(Edit) -> в выпадающем списке выбрать "Отправлять LM и NTLM - использовать сеансовую безопасность NTLMv2 при согласовании"(Send LM & NTLM - use NTLMv2 session security if negotiated) -> "Применить"(Apply) -> "OK"; оснастку можно закрывать;

5. В командной строке набрать gpupdate /Force, нажать на клавиатуре клавишу "Ввод"(Enter) -> дождаться применения политик к компьютеру и пользователю -> после этого перезагрузка;

6. "Панель управления"(Control Panel) -> в правом верхнем углу окна выбрать вид "Крупные значки"(Large icons) или "Мелкие значки"(Small icons) -> "Центр управления сетями и общим доступом"(Network and Sharing Center) -> в левом верхнем углу окна нажать ЛКМ(одинарный щелчок) на "Изменение параметров адаптера"(Change adapter settings) -> выбрать ЛКМ(одинарный щелчок) сетевой адаптер -> ПКМ -> "Свойства"(Properties) -> отключаем сетевые протоколы(снимаем с них галочки): "Планировщик пакетов QoS"(QoS Packet Scheduler) и "Протокол Интернета версии 6 (TCP/IPv6)"(Internet Protocol Version 6 (TCP/IPv6)) -> ЛКМ(одинарный щелчок) на OK внизу окна.

Всё. Да, я понимаю, что в данном случае(подходе) надо сделать слишком много "телодвижений", но, повторюсь, так более правильно с точки зрения настоящего системного администратора компьютеров, чем потом искать где "собака порылась"(имхо).
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы