Linux 如何使用SLURM分配驱动器

Linux 如何使用SLURM分配驱动器,linux,plugins,disk,slurm,Linux,Plugins,Disk,Slurm,我需要在计算节点中共享驱动器(SSD或硬盘驱动器)。通用资源()调度是一个Slurm模块,设计用于管理不同类型的资源。例如,它获得了一个用于GPU分配管理的插件。我希望使用GRE来处理共享计算节点中的几个驱动器(并以独占方式访问这些驱动器的子集) 这是我的尝试(我使用的是slurm 15.08.10) /etc/slurm/slurm.conf(在head节点和compute节点上): /etc/slurm/gres.conf(在计算节点上): 在头节点和计算节点上重新启动slurm守护程序后,

我需要在计算节点中共享驱动器(SSD或硬盘驱动器)。通用资源()调度是一个Slurm模块,设计用于管理不同类型的资源。例如,它获得了一个用于GPU分配管理的插件。我希望使用GRE来处理共享计算节点中的几个驱动器(并以独占方式访问这些驱动器的子集)

这是我的尝试(我使用的是slurm 15.08.10)

/etc/slurm/slurm.conf(在head节点和compute节点上):

/etc/slurm/gres.conf(在计算节点上):

在头节点和计算节点上重新启动slurm守护程序后,现在可以进行ressource分配(Gres=drive:4出现在节点描述中):

但在分配驱动器时,没有特定的环境变量集:

> salloc -w cnode01 --gres=drive:2 --share
> env
  ...
  SLURM_NODELIST=cnode01
  SLURMD_NODENAME=cnode01
  SLURM_TOPOLOGY_ADDR=cnode01
  SLURM_PRIO_PROCESS=0
  SLURM_SRUN_COMM_PORT=52028
  SLURM_TOPOLOGY_ADDR_PATTERN=no
  SLURM_NNODES=1
  SLURM_STEP_NUM_NODES=1
  SLURM_JOBID=42
  SLURM_NTASKS=1
  SLURM_STEP_ID=0
  SLURM_STEP_LAUNCHER_PORT=52028
  SLURM_TASKS_PER_NODE=1
  SLURM_JOB_ID=42
  SLURM_STEPID=0
  SLURM_NODEID=0
  SLURM_TASK_PID=19131
  SLURM_NPROCS=1
  SLURM_CPUS_ON_NODE=32
  SLURM_DISTRIBUTION=cyclic
  SLURM_PROCID=0
  SLURM_JOB_NODELIST=cnode01
  SLURM_LOCALID=0
  SLURM_GTIDS=0
  SLURM_STEP_NUM_TASKS=1
  SLURM_JOB_NUM_NODES=1
  SLURM_STEP_TASKS_PER_NODE=1
  SLURM_STEP_NODELIST=cnode01
所有设备仍然可见:

> ssh cnode01 "ls /dev/sg*"
  /dev/sg0
  /dev/sg1
  /dev/sg2
  /dev/sg3
为了导出环境变量中的保留设备列表和/或能够隐藏未保留的设备,我是否需要准备一个特定的插件?如何进行

> scontrol show node cnode01
  NodeName=cnode01 Arch=x86_64 CoresPerSocket=8
     CPUAlloc=0 CPUErr=0 CPUTot=32 CPULoad=1.62
     Gres=drive:4
     NodeAddr=cnode01 NodeHostName=cnode01 Version=15.08
     OS=Linux RealMemory=257469 AllocMem=0 FreeMem=231417 Sockets=2 Boards=1
     State=IDLE ThreadsPerCore=2 TmpDisk=442475 Weight=1 Owner=N/A
     BootTime=2016-04-25T11:08:10 SlurmdStartTime=2016-04-27T11:01:35
     CapWatts=n/a
     CurrentWatts=0 LowestJoules=0 ConsumedJoules=0
     ExtSensorsJoules=n/s ExtSensorsWatts=0 ExtSensorsTemp=n/s
> salloc -w cnode01 --gres=drive:2 --share
> env
  ...
  SLURM_NODELIST=cnode01
  SLURMD_NODENAME=cnode01
  SLURM_TOPOLOGY_ADDR=cnode01
  SLURM_PRIO_PROCESS=0
  SLURM_SRUN_COMM_PORT=52028
  SLURM_TOPOLOGY_ADDR_PATTERN=no
  SLURM_NNODES=1
  SLURM_STEP_NUM_NODES=1
  SLURM_JOBID=42
  SLURM_NTASKS=1
  SLURM_STEP_ID=0
  SLURM_STEP_LAUNCHER_PORT=52028
  SLURM_TASKS_PER_NODE=1
  SLURM_JOB_ID=42
  SLURM_STEPID=0
  SLURM_NODEID=0
  SLURM_TASK_PID=19131
  SLURM_NPROCS=1
  SLURM_CPUS_ON_NODE=32
  SLURM_DISTRIBUTION=cyclic
  SLURM_PROCID=0
  SLURM_JOB_NODELIST=cnode01
  SLURM_LOCALID=0
  SLURM_GTIDS=0
  SLURM_STEP_NUM_TASKS=1
  SLURM_JOB_NUM_NODES=1
  SLURM_STEP_TASKS_PER_NODE=1
  SLURM_STEP_NODELIST=cnode01
> ssh cnode01 "ls /dev/sg*"
  /dev/sg0
  /dev/sg1
  /dev/sg2
  /dev/sg3