"Configless" Slurm
"Configless" Slurm is a feature that allows the compute nodes —
specifically the slurmd process — and user commands running on login
nodes to pull configuration information directly from the slurmctld instead of
from a pre-distributed local file. Your cluster does require a central set of
configuration files on the Slurm controllers — "configless" in Slurm's
parlance means that the compute nodes, login nodes, and other cluster hosts
do not need to be deployed with local copies of these files.
「構成なし」のSlurmは、計算ノード(具体的にはslurmdプロセス)と、ログインノードで実行されているユーザーコマンドが、事前に配布されたローカルファイルからではなく、slurmctldから構成情報を直接プルできるようにする機能です。クラスターではSlurmコントローラーに構成ファイルの中央セットが必要です— Slurmの用語で「構成なし」とは、計算ノード、ログインノード、およびその他のクラスターホストをこれらのファイルのローカルコピーでデプロイする必要がないことを意味します。
The slurmd on startup will reach out to a slurmctld that you specify and the
config files will be pulled to the node. This slurmctld can be identified by
either an explicit option, or — preferably — through DNS SRV
records defined within the cluster itself.
起動時のslurmdは、指定したslurmctldに到達し、構成ファイルはノードにプルされます。このslurmctldは、明示的なオプション、または(できれば)クラスター自体に定義されているDNS SRVレコードを使用して識別できます。
Installation
There are no extra steps required to install this feature. It is built in
by default starting with Slurm 20.02.
この機能をインストールするには、追加の手順は必要ありません。Slurm 20.02以降、デフォルトで組み込まれています。
Setup
The slurmctld must first be configured to run in the configless mode.
This is handled by setting SlurmctldParameters=enable_configless in
slurm.conf and restarting slurmctld.
slurmctldは、最初に構成なしモードで実行するように構成する必要があります。これは、slurm.confでSlurmctldParameters = enable_configlessを設定し、slurmctldを再起動することで処理されます。
Once enabled, you must configure the slurmd to get its configs from the
slurmctld. This can be accomplished either by launching slurmd with the
--conf-server option, or by setting a DNS SRV record and ensuring there
is no local configuration file on the compute node.
有効にしたら、slurmctldから構成を取得するようにslurmdを構成する必要があります。これは、-conf-serverオプションを指定してslurmdを起動するか、DNS SRVレコードを設定して、計算ノードにローカル構成ファイルがないことを確認することによって実行できます。
The --conf-server options takes precedence over the DNS record.
--conf-serverオプションはDNSレコードよりも優先されます。
The command line option takes "$host[:$port]", so an example would look like:
コマンドラインオプションは "$ host [:$ port]"をとるため、例は次のようになります。
slurmd --conf-server slurm-master:6817Specifying the port is optional and will default to 6817 if it is not present.
ポートの指定はオプションであり、存在しない場合のデフォルトは6817です。
The same information can be provided in a DNS SRV record. For example:
同じ情報をDNS SRVレコードで提供できます。例えば:
_slurmctld._tcp 3600 IN SRV 10 0 6817 slurm-backup _slurmctld._tcp 3600 IN SRV 0 0 6817 slurm-masterWill provide the required information to the slurmd on startup. As shown above, multiple SRV records can be specified if you have deployed Slurm in an HA setup. The DNS SRV entry with the lowest priority should be your primary slurmctld, with higher priority values for backup slurmctlds.
起動時に必要な情報をslurmdに提供します。上記のように、HAセットアップでSlurmをデプロイした場合は、複数のSRVレコードを指定できます。優先度が最も低いDNS SRVエントリがプライマリslurmctldであり、バックアップslurmctldsの優先度値が高い必要があります。
Initial Testing
With the slurmctld configured and slurmd started, you can check in a couple
places to make sure the configs are present on the node. Config files will be
in SlurmdSpoolDir under the /conf-cache/, and a symlink to this
location will be created automatically in /run/slurm/conf. You can
confirm that reloading is working by adding a comment to your slurm.conf on the
slurmctld node and running
scontrol reconfig and checking that the config
was updated.
slurmctldを構成してslurmdを開始したら、いくつかの場所をチェックインして、ノードに構成が存在することを確認できます。構成ファイルは/ conf-cache /の下のSlurmdSpoolDirにあり、この場所へのシンボリックリンクが/ run / slurm / confに自動的に作成されます。リロードが機能していることを確認するには、slurmctldノードのslurm.confにコメントを追加し、scontrol reconfigを実行して、構成が更新されたことを確認します。
Limitations
Using "%n" in "SlurmdSpoolDir" or "SlurmdPidFile" will not be properly
substituted for the NodeName unless slurmd is also launched with the "-N"
option.
「-N」オプションを指定してslurmdも起動しない限り、「SlurmdSpoolDir」または「SlurmdPidFile」で「%n」を使用しても、NodeNameは適切に置き換えられません。
If you are using systemd to launch slurmd, you must ensure that
"ConditionPathExists=*" is not present in the unit file or the slurmd will not
start. (The example slurmd.service file shipped in Slurm 20.02 and above does
not include this entry.)
systemdを使用してslurmdを起動する場合、ユニットファイルに「ConditionPathExists = *」が存在しないことを確認する必要があります。そうしないと、slurmdが起動しません。(Slurm 20.02以降に同梱されているslurmd.serviceファイルの例には、このエントリは含まれていません。)
If any of the supported config files "Include" additional config files,
the Included configs will NOT be shipped to the slurmds. Any additional
config files will need to be shared a different way or added to the parent
config.
サポートされている構成ファイルのいずれかが追加の構成ファイルを「含む」場合、含まれている構成はslurmdsに出荷されません。追加の構成ファイルは、別の方法で共有するか、親構成に追加する必要があります。
Notes
The order of precedence for determining what configuration source to use
is as follows:
使用する構成ソースを決定する優先順位は次のとおりです。
- The slurmd --conf-server $host[:$port] option
- The -f $config_file option
- The SLURM_CONF environment variable (if set)
- The default slurm config file (likely /etc/slurm.conf)
- Any DNS SRV records (from lowest priority value to highest)
Supported configuration files are:
サポートされている構成ファイルは次のとおりです。
- slurm.conf
- acct_gather.conf
- cgroup.conf
- cgroup_allowed_devices_file.conf
- ext_sensors.conf
- gres.conf
- knl_cray.conf
- knl_generic.conf
- plugstack.conf
- topology.conf
Last modified 11 May 2020