У меня несколько машин в одной ЛВС, и я хотел бы получить статус top
/nvidia-smi
всех машин в одной команде, например, отправив
nvidia-smi-all
с одной из машин. Вывод будет представлять собой простую конкатенцию текстовых выходов со всех машин, порядок не имеет значения.
Мы предпочитаем не устанавливать никакого программного обеспечения для управления ресурсами (Kubernetes
, slarm
).
Я предполагаю, что это не должно быть сложно, если у меня есть список всех машин ip
, но я не смог найти что-нибудь в сети, вероятно, не знал, что искать.
Надеюсь, вопрос ясен, спасибо.
Для такого рода операция на основе оболочков UNIX я использовал PSSH (Parallel SSH), он позволяет создавать списки серверов, а затем проблемы команд SSH запросы запрашивают их параллельно, используя несколько потоков.
Для установки на Ubuntu 20.04 и 20.10 просто запустите
sudo apt install pssh
Пакет включает в себя команду PSSH для этой цели ..
Пример
Создайте файл Hosts / Cluster (скажите mycluster.hosts)
192.168.0.100:2222
192.168.0.101:22
192.168.0.102:22
, а затем этот файл с помощью команды pssh для выполнения команды «uptime» на каждом хосте.
parallel-ssh -h myCluster.hosts uptime
[1] 16:09:03 [SUCCESS] 192.168.0.100:2222 16:09:01 up 1:00, 2 users, load average: 0.07, 0.02, 0.00
[2] 16:09:03 [SUCCESS] 192.168.0.101:22 06:39:03 up 1:00, 2 users, load average: 0.00, 0.06, 0.09
[3] 16:09:03 [SUCCESS] 192.168.0.102:22 08:00:01 up 1:00, 8 users, load average: 0.00, 0.09, 0.18
Пакет также поставляется с параллельными версиями SCP, rsync и т. Д. Очень мощные инструменты. Предложите, что вы используете вариант / тестирование сухого запуска на одной машине, прежде всего, чтобы не разбить весь кластер.