Ограничено ли количество экземпляров / сессий одновременных plink (putty)?
Я управляю многими устройствами, на которых мне нужно выполнять команды пакетного запуска, последовательно все работает нормально, но если я пытаюсь запустить их все параллельно, я получаю сетевые ошибки.
Я почти уверен, что с реальной сетью все в порядке (это выделенная гигабитная сеть, больше ничего не работает, есть 200 устройств, и отправляется только "sudo reboot", так что это вряд ли генерирует трафик).
Есть ли какие-нибудь ограничения, присущие ssh или putty, о которых я должен знать? Я хотел бы работать быстрее, чем делать это последовательно, но я прекрасно справляюсь с запуском его партиями разумного размера, я просто предпочитаю устанавливать размер пакета, зная, откуда он поступает, а не случайным образом при тестировании.
В настоящее время я делаю это:
для /F %i в (MYHOSTLIST.txt) запустите plink -pw MYPASSWORD MYLOGIN@%i sudo reboot
Это приводит к большому количеству ошибок после появления ожидаемой 200-битной команды Windows, удаляя запуск, он прекрасно работает, но требует бесконечной перезагрузки устройств в последовательности.
1 ответ
Вероятно, та же проблема, описанная здесь (включая решение): https://stackoverflow.com/questions/17472389/how-to-increase-the-maximum-number-of-child-processes-that-can-be-spawned-by-a-w
Я бы, однако, не рекомендовал бы порождать так много процессов, скорее поставил бы параллелизм на отдельные устройства, используя
for /F %i in (MYHOSTLIST.txt) do plink -pw MYPASSWORD MYLOGIN@%i "nohup sudo reboot &>/dev/null &"
который будет по-прежнему подключаться последовательно ко всем устройствам, но только для запуска команды перезагрузки, а затем немедленно отключиться и перейти к следующему устройству.
Другой вариант - использовать правильную операционную систему для управления этими устройствами Linux;-)