最近, 同事提出了一個新需求: 保留一些計算節點給研發專用。html
將計算節點放入到 主機組(host group)中, 在隊列中指定所使用的主機組以及能夠使用的用戶, 來達到限定某些用戶使用指定節點的目的shell
先將須要指定專門用戶的主機 Node-240 從默認的 @allhosts 中主機組中取出來,這樣,默認全部用戶可用的隊列 all.q 中就再也不使用 Node-240 節點。bash
原配置:操作系統
[admin@ master ~]$ qconf -shgrp @allhosts group_name @allhosts hostlist Node-243 Node-242 Node-241 Node-240
修改後:.net
[admin@ master ~]$ qconf -shgrp @allhosts group_name @allhosts hostlist Node-243 Node-242 Node-241
[admin@ master ~]$ qconf -ahgrp @rdhosts group_name @rdhosts hostlist Node-240
[admin@ master ~]$ qconf -au @rd,san.zhang,test.rd,si.li rd added "@rd,san.zhang,test.rd,si.li" to access list "rd" [admin@ master ~]$ qconf -su rd name rd type ACL fshare 0 oticket 0 entries @rd,san.zhang,test.rd,si.li
上述命令中, @rd,san.zhang,test.rd,si.li 爲用戶組中的用戶,使用的是操做系統中的用戶,帶有 @ 的爲系統中的用戶組,最後一個參數 rd 爲 UserSet 名稱。詳細參考: http://gridscheduler.sourceforge.net/htmlman/htmlman5/access_list.htmlcode
qconf -aq rd.q
** , 添加完成後效果以下:[admin@ master ~]$ qconf -sq rd.q qname rd.q hostlist @rdhosts seq_no 0 load_thresholds np_load_avg=1.75 suspend_thresholds NONE nsuspend 1 suspend_interval 00:05:00 priority 0 min_cpu_interval 00:05:00 processors UNDEFINED qtype BATCH INTERACTIVE ckpt_list NONE pe_list make orte rerun FALSE slots 1,[Node-240=47] tmpdir /tmp shell /bin/bash prolog NONE epilog NONE shell_start_mode posix_compliant starter_method NONE suspend_method NONE resume_method NONE terminate_method NONE notify 00:00:60 owner_list NONE user_lists rd xuser_lists NONE subordinate_list NONE complex_values NONE projects NONE xprojects NONE calendar NONE initial_state default s_rt INFINITY h_rt INFINITY s_cpu INFINITY h_cpu INFINITY s_fsize INFINITY h_fsize INFINITY s_data INFINITY h_data INFINITY s_stack INFINITY h_stack INFINITY s_core INFINITY h_core INFINITY s_rss INFINITY h_rss INFINITY s_vmem INFINITY h_vmem INFINITY
須要特別注意修改的爲:htm
hostlist @rdhosts slots 1,[Node-240=47] user_lists rd
其餘參數根據實際狀況修改。隊列