在亚马逊 AWS 上使用 OpenFOAM

OpenFOAM 运行环境已经在亚马逊 AWS Marketplace 上架多时,我最近试用了一下,谈谈感受。亚马逊给新用户提供为期一年的免费服务包,其中包括每月750小时的 EC2 机时,也就是说提供一台可以持续免费运行的虚拟机,配置为1个CPU核心、1GB内存。配置本身还算诱人,比腾讯云、阿里云优惠力度大,也足以试用 OpenFOAM、熟悉远程开发环境了。

配置过程非常顺利,按照说明操作就好了,这个说明对新手非常友好,CFD Direct From the Cloud: Run on AWS EC2。这里提醒下,选区的时候不要选孟买,从中国大陆访问太慢了。

在这个过程中,需要用到的 Linux 知识有:秘钥、ssh 远程登录、scp 文件拷贝等。这个虚拟机已经装好了 OpenFOAM,网页上设置好就可以用 ssh 登录使用了。我用 Linux 系统,使用流程大概是这样的:配置过程中产生的私钥保存到了 ~/.ssh/ 文件夹,编辑/新建 ~/.ssh/config,输入大概如下内容配置主机名

Host aws
  Hostname ec2-13-126-31-27.ap-south-1.compute.amazonaws.com
  User ubuntu
  IdentityFile ~/.ssh/MumbaiOF.pemCode language: JavaScript (javascript)

Host 后面是这个服务器的名字,Hostname 是服务器的公有 DNS,User 是服务器的用户名,默认是 ubuntu,IdentityFile 是私钥的位置。

远程登录只需使用如下命令,登录后就像使用本地计算机一样。

ssh aws

拷贝文件只需使用 scp 命令,几个例子

scp ~/.vimrc aws:~/
scp -r ~/OpenFOAM aws:~/Code language: JavaScript (javascript)

得益于我们在 .ssh/config 中配置的名字,命令非常简短易用。

用 ssh 登录到远程服务器后,可以使用 OpenFOAM 的全部命令行功能,如果需要图形界面还需要额外配置。

使用 AWS 云上手 OpenFOAM 比用本地的虚拟机或 Win10 的 Linux 子系统都要容易。AWS 的免费套餐还可以用来搭梯子、挂爬虫等等。

如果需要更多计算资源,就要付费使用 EC2 spot 了,这是一种竞价服务器,原理类似于利用服务器的闲时进行计算,比刚刚那种持续运行的服务器便宜很多,AWS 宣称最多优惠 90%,CFD Direct 公司认为典型场景下可以优惠 60%。参考 Cost of CFD in the Cloud | CFD Direct。如果你需要计算资源,但课题组既没有超算账号,又没有 Linux 工作站,AWS 不失为一个好的解决方案。

常恭

作者: 常恭

略懂 OpenFOAM

发表评论