配置服务账户
$ sudo lico-passwd-tool
Please enter the postgres username:
Please enter the postgres password:
Please confirm the postgres password:
Please enter the influxdb username:
Please enter the influxdb password:
Please confirm the influxdb password:
Please enter the confluent username:
Please enter the confluent password:
Please confirm the confluent password:
配置集群节点
cp /etc/lico/nodes.csv.example /etc/lico/nodes.csv
编辑集群信息文件 /etc/lico/nodes.csv
,建议将此文件下载到本地计算机,并使用 Excel 或其他表格编辑软件来进行编辑,完成后上传管理节点,并覆盖原文件。集群信息文件由以下六个部分组成
机房信息
room |
name |
location_description |
---|---|---|
ShangHai Solution Room |
Shanghai Zhangjiang |
必须且只能输入一个机房信息,字段含义如下:
name : 机房名称
location_description : 机房的描述内容
逻辑组信息
管理员可以使用逻辑组来将集群中的节点进行分组,逻辑分组并不影响计算资源的使用和权限配置
逻辑组信息表如下:
group |
name |
---|---|
login |
必须输入至少一个逻辑组,字段含义如下:
name : 逻辑组的名称
机房行信息
机房的行信息是指机房内机架排列信息,需要输入集群节点所在的机架行的信息
行信息表如下:
row |
name |
index |
belonging_room |
---|---|---|---|
row1 |
1 |
ShangHai Solution Room |
必须输入至少一个行信息,字段含义如下:
name : 行名称,在一个机房内不能重复
index : 行的排序信息,正整数,在一个机房内不能重复
belonging_room : 所在机房,请填写 机房信息 中配置的名称
机架信息
输入集群节点所在的机架的信息,机架信息表如下:
rack |
name |
index |
belonging_row |
---|---|---|---|
rack |
1 |
row1 |
须输入至少一个机架信息,字段含义如下:
name : 机架名称,在一个机房内不能重复
column : 机架所在的列,正整数,在同一行内不能重复
belonging_row : 机架所在的行名称,请填写行信息表中配置的名称
刀箱信息
如果集群中有刀箱服务器 Chassis ,需要输入刀箱信息,刀箱信息表如下:
chassis |
name |
belonging_rack |
location_u_in_rack |
machine_type |
---|---|---|---|---|
chassis1 |
rack1 |
7 |
d2 |
字段含义如下:
节点信息
需要将集群中所有节点的信息输入节点信息表,节点信息表如下:
node |
name |
nodetype |
immip |
hostip |
machine_type |
ipmi_user |
ipmi_pwd |
belonging_service_node |
belonging_rack |
belonging_chassis |
location_u |
width |
height |
groups |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
head |
head |
10.240.212.13 |
127.0.0.1 |
sr650 |
USERID |
<PASSWORD> |
rack1 |
2 |
1 |
1 |
head |
字段含义如下:
name : 服务器的 hostname ,必须是服务器的域名
nodetype : 节点的业务类型,目前可选: 1) head :管理节点 2) login :登录节点 3) compute:计算节点
immip : 节点的 BMC 系统的 IP 地址
hostip : 节点管理网络的 IP 地址
machine_type : 节点使用的产品名称,可用的产品请参考: 系统产品列表
ipmi_user : 节点的 XCC (BMC) 帐号
ipmi_pwd : 节点的 XCC (BMC) 密码
belonging_service_node : 针对大型集群需要设置节点归属的服务节点,如没有服务节点请留空
belonging_rack : 节点所在的机架名称,请填写机架信息表中配置的名称
belonging_chassis : 节点所在的刀箱名称,需为在刀箱信息表中配置的,如果不属于任何刀箱请留空
location_u : 节点所在的位置: 如果节点位于刀箱内,请输入该节点在刀箱中的槽位;如果节点位于机架内,请输入该节点的底端在机架中的位置,单位为 u
width : 节点的宽度,全宽为 1 ,半宽为 0.5
height : 节点的高度,单位为 u
groups : 节点所属的逻辑组的名称,一个节点可以属于多个逻辑组,组名之间使用逗号(;)分隔逻辑组名需为在逻辑组信息表中配置
配置LiCO服务
LiCO 的服务配置文件位于 /etc/lico/lico.ini
。
该配置文件控制 LiCO 各类后台服务组件的运行参数,请按照实际情况并参考下文的注解来进行修改。
如果您在 LiCO 运行期间更改配置,为使配置生效,需重启 LiCO。
$ sudo systemctl restart lico
Attention
配置文件中下文未提及的部分请咨询服务人员后进行修改,自行修改可能会导致系统无法正常工作
基础配置
# Cluster domain settings
domain = hpc.com
数据库配置
# PostgreSQL address
db_host = 127.0.0.1
# PostgreSQL port
db_port = 5432
# PostgreSQL database name
db_name = lico
# InfluxDB address
influx_host = 127.0.0.1
# InfluxDB port
influx_port = 8086
# InfluxDB database name
influx_database = lico
登陆配置
# Maximum number of login password error attempts
login_fail_max_chance = 3
存储配置
# Shared storage directory
# If strictly adhering to the shared directory configurations in this document, change
# to: share_dir = /home
share_dir = /home
调度器配置
# The scheduler configuration currently supports Slurm, LSF, and Torque. Slurm is the default.
scheduler_software = slurm
告警配置
# WeChat proxy server address
wechat_agent_url = http://127.0.0.1:18090
# WeChat notification template ID
wechat_template_id = <WECHAT_TEMPLATE_ID>
# SMS proxy server address
sms_agent_url = http://127.0.0.1:18092
# Email proxy server address
mail_agent_url = http://127.0.0.1:18091
Note
以上只有在集群安装了微信、短信、邮件代理服务模块时才需要配置。获取 <WECHAT_TEMPLATE_ID> 请参考官网:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1445241432
集群配置
# Confluent port
confluent_port = 4005
功能配置
[app:django]
# For the functional module used, modify based on the actual module purchased.
# If only using the HPC module, change to: use = hpc
# If only using the AI module, change to: use = ai
# After changing the configuration, you must enter lico init and refresh the data table.
use = hpc+ai
配置LiCO组件
lico-vnc-mond
[vnc]
# Modify IP to management node address
url=http://127.0.0.1:18083/session
timeout=30
Attention
注意 127.0.0.1 部分修改为实际的管理节点 IP
$ sudo xdcp compute /var/tmp/vnc-mond.ini /etc/lico/vnc-mond.ini
lico-env
该模块主要实现以下几个功能:
用户冻结后,使用该用户无法使用 ssh 登录机器
用户冻结后,无法使用命令 su 切换到该用户
$ sudo psh compute 'echo "auth required pam_python.so pam_lico.py --url=http://${sms_name}:18080 --timeout=40 --ignore_conn_error" >> /etc/pam.d/sshd'
$ sudo psh compute 'echo "account required pam_python.so pam_lico.py --url=http://${sms_name}:18080 --timeout=40 --ignore_conn_error" >> /etc/pam.d/sshd'
$ sudo psh compute 'echo "auth required pam_python.so pam_lico.py --url=http://${sms_name}:18080 --timeout=40 --ignore_conn_error" >> /etc/pam.d/su'
$ sudo psh compute 'echo "account required pam_python.so pam_lico.py --url=http://${sms_name}:18080 --timeout=40 --ignore_conn_error" >> /etc/pam.d/su'
$ sudo xdcp all /etc/pam.d/sshd /etc/pam.d/sshd
$ sudo xdcp all /etc/pam.d/su /etc/pam.d/su
lico-portal
针对安装了 lico-portal 模块需要对外提供 Web 服务的节点,做如下修改:
编辑文件
/etc/nginx/nginx.conf
,将端口改为8080listen 8080 default_server; listen [::]:8080 default_server;
server { listen 8080; server_name localhost; …… }
若需要修改 https 的默认端口(改为非443), 请修改
/etc/nginx/conf.d/https.conf
listen <port> ssl http2;
Note
请确认设置的端口没有被其他服务占用且没有被防火墙拦截。
修改文件
/etc/nginx/conf.d/sites-available/antilles.conf
set $lico_host 127.0.0.1;
Attention
注意根据您的实际环境相应的修改管理节点的 IP 地址(不能是域名)
编辑文件
/etc/lico/portal.conf
编辑该文件可以添加自定义快捷链接,配置格式可参考文件:
/etc/lico/portal.conf.example
若需要隐藏服务器版本信息
http{ ...... sendfile on; server_tokens off; ...... }
lico-ganglia-mond
influxdb {
cfg_db_host 127.0.0.1
cfg_db_port 5432
cfg_db_name lico
host 127.0.0.1
port 8086
database lico
timeout 10
}
Attention
修改
cfg_db_host 127.0.0.1
和cfg_db_port 5432
为 PostgreSQL 服务所在的IP和端口;修改
host 127.0.0.1
和port 8086
为 influxdb 服务所在的IP和端口。
lico-confluent-proxy
编辑文件 /etc/lico/confluent-proxy.ini
[DEFAULT]
# database
db_host = 127.0.0.1
db_port = 5432
db_name = lico
Note
根据 PostgreSQL 服务所在的IP和端口修改 db_host = 127.0.0.1 和 db_port = 5432。
:emphasize-lines: 2
[app:main]
use = cluster-confluent-proxy
如果您需要更改 confluent 用户的相关信息,请参考 安装confluent, 创建或更改用户信息后,根据 配置服务账户 所示步骤进行信息更新。
lico-confluent-mond
[database]
db_host = 127.0.0.1
db_port = 5432
db_name = lico
[influxdb]
host = 127.0.0.1
port = 8086
database = lico
timeout = 10
Attention
db_host = 127.0.0.1
和 db_port = 5432
为 PostgreSQL 服务所在的IP和端口host = 127.0.0.1
和 port = 8086
为 InfluxDB 服务所在的IP和端口lico-wechat-agent
appid = <APPID>
secret = <SECRET>
Note
获取 APPID 和 <SECRET> 参考: 微信公众平台