Skip to content

邮件系统配置

SonmiHPC集群系统集成任务邮件通知功能,该功能可以在用户提交计算任务或者在计算任务的不同阶段发送邮件通知集群用户。集群管理员可以通过配置来开启该功能。启用该功能需要以下准备:

  • 一个电子邮箱账户
  • 邮箱开通SMTP功能
  • 在集群中进行配置SMTP

下面例子以163邮箱为例,介绍具体的配置流程。

开通邮箱并开启SMTP功能

首先需要在163网易免费邮中注册一个邮箱,登陆后进入邮箱界面。在设置一项中点击POP3/SMTP/IMAP进行设置:

mail-1

在开启服务中可以看到IMAP/SMTP服务POP3/SMTP服务这两项。点击开启,开启过程需要进行短信验证。按照提示进行即可。

mail-2

开启成功后会弹出授权密码,请记住该授权密码。

mail-3

配置邮件系统

使用root用户,编辑 /etc/sonmi/config.yaml 文件,找到邮件配置:

mail:
    enabled: true            # 是否启用
    port: 5680               # 后端端口,保持默认即可
    smtp_host: smtp.163.com  # smtp服务器,各家邮箱的服务器地址各不相同
    smtp_port: 25            # smtp服务端口
    smtp_email: [email protected] # 你的邮箱账号
    smtp_username: test      # 你的邮箱名称,一般跟@前面字段相同
    smtp_password: test      # 这里请填入上面的授权密码
mail:
    enabled: true            # 是否启用
    port: 5680               # 后端端口,保持默认即可
    smtp_host: smtp.163.com  # smtp服务器,各家邮箱的服务器地址各不相同
    smtp_port: 25            # smtp服务端口
    smtp_email: [email protected] # 你的邮箱账号
    smtp_username: test      # 你的邮箱名称,一般跟@前面字段相同
    smtp_password: test      # 这里请填入上面的授权密码

修改配置之后,需要重启sonmictld服务以便生效。

systemctl restart sonmictld
systemctl restart sonmictld

如何使用邮件系统来接收计算任务通知

集群用户在slurm的提交脚本中增加如下的两个字段,就可以正常接收到任务的邮件通知。下面分别介绍两个字段的含义:

  • --mail-user:接收邮件通知的用户邮箱,当用户的任务进入不同的阶段,比如完成时,会使用上面配置的邮箱发送邮件到该邮箱。
  • --mail-type:邮件类别,可以为NONE, BEGIN, END, FAIL, REQUEUE, ALL等。分别会在任务对应的节点通知用户,可参考官方文档
#SBATCH [email protected]
#SBATCH --mail-type=ALL
#SBATCH [email protected]
#SBATCH --mail-type=ALL

下面以一个具体的示例来展示该功能,下面为示例的slurm脚本 mail-sample.job

#!/bin/bash
#SBATCH -N 1
#SBATCH -p sonmi
#SBATCH -n 1
#SBATCH -o output
#SBATCH [email protected]
#SBATCH --mail-type=ALL
cd $SLURM_SUBMIT_DIR
ulimit -s unlimited

/usr/bin/hostname
#!/bin/bash
#SBATCH -N 1
#SBATCH -p sonmi
#SBATCH -n 1
#SBATCH -o output
#SBATCH [email protected]
#SBATCH --mail-type=ALL
cd $SLURM_SUBMIT_DIR
ulimit -s unlimited

/usr/bin/hostname

使用下面的命令提交该任务:

sbatch mail-sample.job
sbatch mail-sample.job

任务提交后,可以在对应的邮箱可以看到邮件通知:

mail-4

当任务完成后,可以收到对应的任务完成通知邮件:

mail-5

本站内容未经授权禁止转载
联系邮箱: [email protected]