aiida插件与伦敦帝国学院cx1 hpc的接口
aiida-icl的Python项目详细描述
aiida_icl
安装:
$ conda install -c cjs14 aiida-icl # or $ pip install aiida-icl
aiida插件,用于在伦敦帝国理工学院与hpc合作。
提供aiida.scheduler
入口点:pbspro_cx1
。
创建新计算机:
fromaiidaimportload_profile()fromaiida_icl.utilsimportget_cx1_computerload_profile()computer=get_cx1_computer('/path/to/workdir','/Users/user_name/.ssh/id_rsa')print(computer)
icl_cx1 (login.cx1.hpc.ic.ac.uk), pk: 8
生成计算metadata.options
:
fromaiida_icl.utilsimportJOB_CLASSES,get_calulation_optionsoptions=get_calulation_options(JOB_CLASSES.general_24)print(options)
{'resources':{'num_machines':1,'num_mpiprocs_per_machine':32},'max_memory_kb':10000000,'max_wallclock_seconds':86400,'withmpi':True}
设置ssh公钥和私钥
作为一种更安全的身份验证方法,使用公钥身份验证而不是直接使用密码访问远程主机。网上有很多解释 (包括here)和下面是一个简短的安装指南 (摘自here):
首先打开要连接的计算机上的外壳。输入cd~/.ssh。
如果ls
显示给名为“id_rsa”和“id_rsa.pub”的文件,则说明您已经有一个密钥对。
如果没有,请输入ssh-keygen
下面是结果的样子:
heiko@clove:~/.ssh$ ssh-keygen Generating public/private rsa key pair.Enter file in which to save the key (/Users/heiko/.ssh/id_rsa):Enter passphrase (empty for no passphrase):Enter same passphrase again:Your identification has been saved in id_rsa.Your public key has been saved in id_rsa.pub.The key fingerprint is:f0:da:dc:77:cf:71:12:c8:50:dc:18:a9:8d:66:38:ae heiko@clove.ch.ic.ac.ukThe key's randomart image is:+--[ RSA 2048]----+| .o= || .+ . || . ..+ || oo =o.. || .S+ o . || +.. . || ..o . . o..|| E . . +o|| o|+-----------------+
您应该保留标准目录并选择一个适当困难的密码短语。
刚才创建的两个文件是key和keyhole。第一个文件'id_rsa'是密钥。 你不应该把它给别人,也不应该允许别人复制它。 第二个文件'id_rsa.pub'钥匙孔。它是公开的,你可以把它给任何人。 在这种情况下,把它交给hpc。
如果您打开'id_rsa.pub',它应该包含一行,类似于:
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAwRDgM+iQg7OaX/CFq1sZ9jl206nYIhW9SMBqsOIRvGM68/6o6uxZo/D4IlmQI9sAcU5FVNEt9dvDanRqUlC7ZtcOGOCqZsj1HTGD3LcOiPNHYPvi1auEwrXv1hDh4pmJwdgZCRnpewNl+I6RNBiZUyzLzp0/2eIyf4TqG1rpHRNjmtS9turANIv1GK1ONIO7RfVmmIk/jjTQJU9iJqje9ZSXTSm7rUG4W8q+mWcnACReVChc+9mVZDOb3gUZV1Vs8e7G36nj6XfHw51y1B1lrlnPQJ7U3JdqPz6AG3Je39cR1vnfALxBSpF5QbTHTJOX5ke+sNKo//kDyWWlfzz3rQ== heiko@clove.ch.ic.ac.uk
现在登录到hpc并打开(或创建)文件'~/.ssh/authorized_keys'。 在文件末尾的新行中,您应该添加一个注释(以开头),说明该密钥对来自何处 然后在第二行中,您应该复制并粘贴“id_rsa.pub”文件的完整内容。
#MAC in the office ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAwRDgM+iQg7OaX/CFq1sZ9jl206nYIhW9SMBqsOIRvGM68/6o6uxZo/D4IlmQI9sAcU5FVNEt9dvDanRqUlC7ZtcOGOCqZsj1HTGD3LcOiPNHYPvi1auEwrXv1hDh4pmJwdgZCRnpewNl+I6RNBiZUyzLzp0/2eIyf4TqG1rpHRNjmtS9turANIv1GK1ONIO7RfVmmIk/jjTQJU9iJqje9ZSXTSm7rUG4W8q+mWcnACReVChc+9mVZDOb3gUZV1Vs8e7G36nj6XfHw51y1B1lrlnPQJ7U3JdqPz6AG3Je39cR1vnfALxBSpF5QbTHTJOX5ke+sNKo//kDyWWlfzz3rQ== heiko@clove.ch.ic.ac.uk
关闭“授权密钥”文件和与HPC的连接。现在再次连接。 将要求您输入密钥文件的密码短语。输入它。 您现在应该登录到hpc。如果您不需要密码,而是需要您帐户的密码, 服务器不接受您的密钥对。
到目前为止,我们已将为您的帐户输入密码替换为为为您的密钥对输入密码短语。 这就是所谓的ssh代理的用武之地。代理将为您存储密码,因此您没有 再进入他们。幸运的是MacOS有一个内置的,它应该会弹出并问你,是否需要 代理来处理你的密码。如果你说“是”,那是你最后一次听到或看到 或者你的密码。类似的代理或多或少存在于每一个操作系统中。从现在开始你只需要 输入主机名和用户名即可登录。