============== Создание вычислительного кластера для последующей работы с Open MPI ============== Данная инструкция предназначена для настройка вычислительного кластера на операционных системах Debian/Astra Linux/Ubuntu 1) Создаем два устройства с именами (main_nod, 1_nod) число будущих узлов не ограничено В настройках сети мы используем сетевой мост 2) Запускаем устройства 3) Открываем терминал В открывшемся теминале мы создаем пользователя для запуска MPI Последовательно вводим представленные команды .. math:: sudo adduser mpiuser sudo usermod -aG sudo mpiusersu mpiuser 4) Проверяем свой Ip адрес для настройки соединения Последовательно вводим представленные команды .. math:: sudo apt-get install net-tools ifconfig 5) Создаем соединение между узлами(устройствами) Последовательно вводим представленные команды .. math:: sudo nano /etc/hosts в открывшемся файле на main_nod пишем ip адрес который мы узнали в пункте 4 и имя хоста для каждого узла .. math:: 127.0.0.1 localhost 10.1.20.1 master 10.1.20.2 nod1 На остальных узлах пишем ip адрес и имя main_nod .. math:: 127.0.0.1 localhost 10.1.20.1 master 6) Проверяем соединение между узлами Последовательно вводим представленные команды .. math:: Ping master ping nod1 7) Желательно обновить пакеты операционных систем на всех узлах до последних версий, для правильной работы Open MPI Open MPI требует, чтобы операционные системы были одинаковыми Последовательно вводим представленные команды .. math:: sudo apt-get update sudo apt-get upgrade 8) Устанавливаем и настраиваем ssh сервер + ssh клиент Последовательно вводим представленные команды .. math:: sudo apt-get install openssh-server openssh-client mkdir ~/.ssh chmod 700 ~/.ssh Создаем ssh ключ только на main_nod .. math:: cd ~/.sshssh-keygen -t rsa cp id_rsa.pub authorized_keys chmod 600 authorized_keys ssh-copy-id nod1 (тут вводятся имена хостов в которые копируется ключ) Копируем ssh-ключ на остальные узлы .. math:: cat id_rsa (этот ключ берем на master_nod) nano id_rsa (вставляем ключ из id_rsa на каждой ноде) chmod 600 id_rsa nano authorized_keys chmod 600 authorized_keys Создаем sshd_configure файл и перезапускаем ssh сервер .. math:: sudo nano /etc/ssh/sshd_config вводим в открывшийся файл .. math:: PubkeyAuthentication yes RSAAuthentication yes Перезапускаем ssh-сервер .. math:: sudo service ssh restart 9) Подключаемся по ssh к узлам .. math:: ssh nod1 10) Устанавливаем NFS сервер на master_nod .. math:: sudo apt-get install nfs-kernel-server 11) Создаем общую директорию в которой будет запускаться PRADIOS Последовательно вводим представленные команды .. math:: sudo apt-get install nfs-kernel-server sudo chown nobody:nogroup /home/mpiuser/Desktop/sharedfolder sudo chmod 777 /home/mpiuser/Desktop/sharedfolder 12) Создаем экспорта файл .. math:: sudo nano /etc/exports в этот файл вводим для кажого узла .. math:: /home/mpiuser/Desktop/sharedfolder nod1(rw,sync,no_subtree_check) /home/mpiuser/Desktop/sharedfolder nod2(rw,sync,no_subtree_check) вводим в теминале .. math:: sudo exportfs -a 13) Перезапускае NFS-сервер .. math:: sudo systemctl restart nfs-kernel-server 14) Проверяем работу firewall, если включен, требуется отклбючить .. math:: sudo ufw status 15) Устанавливаем nfs client на все узлы и создаем общую директорию Последовательно вводим представленные команды .. math:: sudo apt-get install nfs-commonsudo mkdir -p /home/mpiuser/Desktop/sharedfolder sudo chown nobody:nogroup /home/mpiuser/Desktop/sharedfolder sudo chmod 777 /home/mpiuser/Desktop/sharedfolder sudo mount master:/home/mpiuser/Desktop/sharedfolder /home/mpiuser/Desktop/sharedfolder Для проверки правильности работы созданной директории, можно создать или скопировать любой файл, он должен отобразиться на других узлах созданного вами вычислительного кластера