目录
0 Linux系统及ANSYS版本
系统:CentOS 7.8
ANSYS:2021 R1 SSQ破解
特别声明:下述所有操作都只针对上述操作系统和软件版本。
相关部分:未涉及到负载均衡部分以及Windows调用该计算集群进行计算,大部分集中在图形界面下进行操作,不涉及完全的命令行操作。
1 Linux系统安装及相关配置
1.1 系统安装
本部分不再赘述,相关问题百度即可解决。只需注意ANSYS版本与Linux版本兼容的问题,可以访问ANSYS官网中的平台支持,即可查询到最新的版本支持情况。预计2022R2才开始支持Ubuntu 20.04,选择系统时请注意。
具体步骤简述:下载系统镜像,制作系统安装盘(推荐使用Rufus)制作,重启要安装系统的电脑,选择启动项(不会的百度一下),安装系统。
集群的每台电脑都需要安装系统哦,安装时不同电脑需采用相同的用户名,后期修改比较麻烦,尽量开始就配置好。
1.2 CentOS 配置ntfs挂载
下载相关的挂载包:epel-release-7-11.noarch.rpm,ntfs-3g-libs-2021.8.22-2.el7.x86_64.rpm,ntfs-3g-2021.8.22-2.el7.x86_64.rpm。
采用下述命令依次安装即可: sudo rpm -ivh 包名称
安装完成后,ntfs类型的移动硬盘不需要额外的挂载操作即可访问,此挂载只是为了安装ANSYS。
1.3 SSH相关配置
首先进行网络配置,可以通过命令nmtui设置本机的IP地址,如主机为:192.168.1.1。其它节点依次为192.168.1.2~n,子网掩码填:255.255.255.0,确保各节点与主节点在同一IP段内。或者直接在图形界面下在设置中进行网络配置。
主节点和计算节点之间的通讯通过SSH协议进行,CentOS 7.8默认是安装了SSH的客户端和服务器,我们只需要输入:systemctl status sshd,即可以查看SSH-Server服务是否启动。未启动该服务的计算节点,我们是无法连接的,所以需要确保计算节点的SSH-Server服务启动。
可以通过ssh 192.168.1.2 访问别的电脑,此时我们需要输入被访问电脑的密码,才能登陆成功,输入exit即可退出登录。
为了实现无密码的访问,采用密钥对的方式实现,在主节点上输入:ssh-keygen,然后一路回车,即可完成密钥对的生成,然后采用ssh-copy-id 192.168.1.2~n 即可将公钥传输至其余计算节点。此时再输入ssh 192.168.1.2,就不再需要输入密码即可完成登录。
然后我们输入 sudo vi /etc/hosts,进入文件后按a,即可对文件进行编辑,在其中增加几行,实现主机名和IP地址的对应:
192.168.1.1 Host_PC
192.168.1.2 Node_1
192.168.1.3 Node_2
……
完成后,按Esc键,退出编辑模式,再输入":wq!"(冒号是命令的一部分),即可将该文件保存并退出。我们此时即可输入ssh Node_1,即可登录。
实际情况中,默认主机名并不是上述的Host_PC、Node_1等,需要我们对其进行修改,sudo vi /etc/hostname,将文件中内容改成你想改成的名称,如上述的Host_PC、Node_1等。
2 ANSYS 安装
b站有up主制作了相关的安装视频,并在下方评论区中有相关的资源提供,不再赘述。我是将ANSYS都安装在了默认的目录下:/usr/ansys_inc。
3 实际计算操作及相关问题解决方案
计算操作可以直接参照ANSYS User Guide进行操作。此过程可能会碰到各种问题,欢迎大家多多探讨。
3.1 实际测试
命令行中输入fluent即可启动图形界面窗口,在下方选择创建好的hosts文件,其中为每台机器的hostname。如果一台机器有多个核(超线程也算)的话,那么就需要将其hostname多次重复,每次只能占用一行。也可以选择直接输入各台机器的hostname。
hosts文件内容
Host_PC
Node_1
Node_1
Node_2
Node_2
如果启动成功的话,就会显示各个进程位于哪台机器的上,以及显示该台机器所有的核数。
3.2 No route to host
出现上述错误的时候,在下方有一个提醒:Check for fireworks!此时解决方案为:将防火墙清理一下sudo iptables -F。