Andrew Moa Blog Site

Ubuntu安装SIMULIA2024

为什么选择SIMULIA?首先是Abaqus功能强大,绝大多数结构问题都能求解。其次流固耦合方便,STAR-CCM+自带案例就手把手你怎么和Abaqus双向耦合。再次是过往经历的惯性,毕竟主机厂Abaqus用得可不少,不缺案例和资源。

1. 准备工作

首先安装开发环境和一些必要的软件:

sudo apt update # 更新软件源
sudo apt upgrade # 更新本地安装的软件
sudo apt install build-essential # 安装开发环境
sudo apt install csh tcsh ksh gcc g++ gfortran libstdc++5 build-essential make libjpeg62 libmotif-dev

解压安装包:

mkdir iso # 新建一个iso文件夹,用于存放解压出来的文件
tar xvzf DS.SIMULIA.SUITE.2024.LINX64.tar.gz -C ./iso # 解压到iso文件夹中

2. 安装过程

2.1 启动安装程序

首先定义环境变量,不然无法启动安装程序:

# 可以把下面的内容加到${HOME}/.bashrc里,然后重新启动终端
export DSYAuthOS_`lsb_release -si`=1
export DSY_Force_OS=linux_a64
export NOLICENSECHECK=true

进入/iso/1文件夹,运行安装程序。启动图形化界面在终端运行./StartGUI.sh,类似Windows下的安装方式,跟着向导一步步安装即可。

这里选择文本界面:

./StartTUI.sh # 启动文本界面安装向导

7222cbf4b6f8545b9766ce654edf28ba.png

Enter下一步。

阅读时长2分钟
Andrew Moa

Ubuntu安装Slurm

Slurm,和PBS、LSF一样,超算上常用的任务管理系统。Slurm优点是开源免费、活跃度很高,近几年国内新兴的超算平台几乎都提供了Slurm作为主要的任务管理系统。PBS开源后活跃度低得可怜,更新到最新系统后安装一直出问题,提了issue也不见答复。LSF有版权风险,国内应用也不多,属于很少见的类型。至于命令和脚本,这三家都大差不差,学会了其中一家另外的也是手到擒来。

Ubuntu安装Slurm还是十分简单的,重要的工具基本都编译好了,直接apt安装即可,其他依赖项会自动安装:

sudo apt install slurmd	# 安装计算节点守护进程
sudo apt install slurmctld # 安装管理节点守护进程

Slurm需要有一个专门的用户用于通信等操作,这个用户的默认用户名是slurm,上面的命令其实已经自动在Ubuntu中生成了slurm用户,可以通过下面的命令验证:

lastlog | grep slurm

如果Ubuntu没有生成slurm用户,可以用以下命令生成:

sudo useradd slurm

Slurm配置文件主要在 /etc/slurm/ 目录下,主配置文件:/etc/slurm/slurm.conf,我们需要生成配置文件。官方提供了辅助生成配置文件的工具:Slurm Configuration Tool

根据网页内容提示,填写配置文件其中一些关键部分:

ClusterName=Cluster # 集群命名,任意英文和数字组合

SlurmctldHost=dell-vm # 管理节点,这里填本机名称

NodeName=dell-vm # 计算节点,同样填本机名称
PartitionName=debug # 计算节点所在分区,默认为debug
CPUs=32 # 计算节点CPU核心数,根据实际情况填写
Sockets=1 # CPU插槽数,根据实际情况填写
CoresPerSocket=32 # 每插槽核心数,根据实际情况填写
ThreadsPerCore=1 # 每核心线程数,建议为1,不建议打开超线程

SlurmUser=slurm # 默认为slurm用户,不建议改成root用户

StateSaveLocation=/var/spool/slurmctld # 管理节点守护进程的存储文件夹,默认即可
SlurmdSpoolDir=/var/spool/slurmd # 计算点守护进程的存储文件夹,默认即可

更多解释可以参考中科大网站上的信息。(1)

网页内容填写完成后点击最下面的Submit,把显示的配置文件模板拷贝下来,存到/etc/slurm/slurm.conf文件中:

sudo vim /etc/slurm/slurm.conf	# 复制粘贴到这个文件里

生成守护进程的读写文件夹:

sudo mkdir /var/spool/slurmd # Ubuntu下提示文件夹已存在,无视它
sudo mkdir /var/spool/slurmctld

启动Slurm的服务:

sudo systemctl enable slurmd
sudo systemctl enable slurmctld
sudo systemctl start slurmd
sudo systemctl start slurmctld

查看Slurm守护进程的启动状态:

阅读时长1分钟
Andrew Moa

Ubuntu挂载Windows共享文件夹(cifs+nfs)

在虚拟机中运行计算文件,会导致虚拟磁盘膨胀,占用太多磁盘空间。这个时候可以通过挂载宿主机文件夹的形式,把计算文件转移到宿主机磁盘上,避免了虚拟磁盘膨胀的问题。在Windows中建立共享文件夹,这里省略了,只需要确保虚拟机能通过IP地址访问宿主机即可。

1. 查看资源路径

以下命令查看服务器共享出来的资源路径,确认挂载点:

smbclient -L 172.25.64.1 -U ${username}

915cf6282a8325b667b52d37dea315f0.png

挂载点访问路径://172.25.64.1/Share

2. 挂载方法

想要在Ubuntu中访问Windows共享文件夹,首先得安装cifs工具:

sudo apt install cifs-utils

然后通过mount命令挂载共享文件夹:

sudo mount -t cifs //172.25.64.1/Share /mnt -o username=${username},password=${password}

这里的IP地址172.25.64.1是虚拟机中访问的宿主机的网关地址,Share是宿主机共享的文件夹,/mnt是要挂载到的虚拟机本地访问路径,把命令后面的${username}${password}替换成访问用户名和密码即可。需要注意的是,Windows本地用户的用户名需要写成${计算机名}\${用户名}的形式,用反斜杠连接,例如:xxx-desktop\administrator。如果是在线账户的话就需要填写完整的邮件账户名称。如果密码中包含逗号等特殊转义字符的话,命令行就不要包含,password=及后面的内容,后续根据提示输入密码登录。

如果出现无读写权限的问题,挂载命令中增加dir_mode=0777,file_mode=0777

sudo mount -t cifs //172.25.64.1/Share /mnt -o dir_mode=0777,file_mode=0777,username=${username},password=${password}

如果想只添加某些特定用户的读写权限,通过uidgid指定用户和组:

sudo mount -t cifs //172.25.64.1/Share /mnt -o uid=user,gid=group,username=${username},password=${password}

通过mount命令可以查看挂载情况:

mount | grep cifs

b9e4cda2700bd92ba7d89159f79cc007.png

阅读时长1分钟
Andrew Moa