配置服务账户

在管理节点中,使用工具 lico-passwd-tool。根据提示依次输入您设置的 postgresqlinfluxdbconfluent 用户及密码,完成配置。
  $ 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:

配置集群节点

在使用 LiCO 前请按以下步骤操作将集群信息输入系统
  cp /etc/lico/nodes.csv.example /etc/lico/nodes.csv

编辑集群信息文件 /etc/lico/nodes.csv,建议将此文件下载到本地计算机,并使用 Excel 或其他表格编辑软件来进行编辑,完成后上传管理节点,并覆盖原文件。集群信息文件由以下六个部分组成

机房信息

room

name

location_description

ShangHai Solution Room

Shanghai Zhangjiang

必须且只能输入一个机房信息,字段含义如下:

  1. name : 机房名称

  2. location_description : 机房的描述内容

逻辑组信息

管理员可以使用逻辑组来将集群中的节点进行分组,逻辑分组并不影响计算资源的使用和权限配置

逻辑组信息表如下:

group

name

login

必须输入至少一个逻辑组,字段含义如下:

  1. name : 逻辑组的名称

机房行信息

机房的行信息是指机房内机架排列信息,需要输入集群节点所在的机架行的信息

行信息表如下:

row

name

index

belonging_room

row1

1

ShangHai Solution Room

必须输入至少一个行信息,字段含义如下:

  1. name : 行名称,在一个机房内不能重复

  2. index : 行的排序信息,正整数,在一个机房内不能重复

  3. belonging_room : 所在机房,请填写 机房信息 中配置的名称

机架信息

输入集群节点所在的机架的信息,机架信息表如下:

rack

name

index

belonging_row

rack

1

row1

须输入至少一个机架信息,字段含义如下:

  1. name : 机架名称,在一个机房内不能重复

  2. column : 机架所在的列,正整数,在同一行内不能重复

  3. belonging_row : 机架所在的行名称,请填写行信息表中配置的名称

刀箱信息

如果集群中有刀箱服务器 Chassis ,需要输入刀箱信息,刀箱信息表如下:

chassis

name

belonging_rack

location_u_in_rack

machine_type

chassis1

rack1

7

d2

字段含义如下:

  1. name : 刀箱名称,在一个机房内不能重复

  2. belonging_rack : 所在机架的名称,请填写 机架信息 中配置的名称

  3. location_u_in_rack : 刀箱底端在机架中的位置,单位为 u ,对于标准机柜,值在 1-42 之间

  4. machine_type : 刀箱的机器类型,可用的刀箱型号请参考 : 刀箱型号列表

节点信息

需要将集群中所有节点的信息输入节点信息表,节点信息表如下:

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

字段含义如下:

  1. name : 服务器的 hostname ,必须是服务器的域名

  2. nodetype : 节点的业务类型,目前可选: 1) head :管理节点 2) login :登录节点 3) compute:计算节点

  3. immip : 节点的 BMC 系统的 IP 地址

  4. hostip : 节点管理网络的 IP 地址

  5. machine_type : 节点使用的产品名称,可用的产品请参考: 系统产品列表

  6. ipmi_user : 节点的 XCC (BMC) 帐号

  7. ipmi_pwd : 节点的 XCC (BMC) 密码

  8. belonging_service_node : 针对大型集群需要设置节点归属的服务节点,如没有服务节点请留空

  9. belonging_rack : 节点所在的机架名称,请填写机架信息表中配置的名称

  10. belonging_chassis : 节点所在的刀箱名称,需为在刀箱信息表中配置的,如果不属于任何刀箱请留空

  11. location_u : 节点所在的位置: 如果节点位于刀箱内,请输入该节点在刀箱中的槽位;如果节点位于机架内,请输入该节点的底端在机架中的位置,单位为 u

  12. width : 节点的宽度,全宽为 1 ,半宽为 0.5

  13. height : 节点的高度,单位为 u

  14. 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

新建文件 /var/tmp/vnc-mond.ini ,添加如下内容
[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

该模块主要实现以下几个功能:

  1. 用户冻结后,使用该用户无法使用 ssh 登录机器

  2. 用户冻结后,无法使用命令 su 切换到该用户

配置 ssh 命令,运行如下命令对文件 /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/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'
配置 su 命令,运行如下命令对文件 /etc/pam.d/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/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 ,将端口改为8080

    listen       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

  • 若需要隐藏服务器版本信息

    编辑文件 /etc/nginx/nginx.conf,在 http 区域中增加 server_tokens off; 一行
    http{
          ......
          sendfile         on;
          server_tokens    off;
          ......
    }
    

lico-ganglia-mond

编辑文件 /etc/lico/ganglia-mond.conf
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

  1. 修改 cfg_db_host 127.0.0.1cfg_db_port 5432PostgreSQL 服务所在的IP和端口;

  2. 修改 host 127.0.0.1port 8086influxdb 服务所在的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.1db_port = 5432

若集群中有多个 confluent,则需要配置为集群模式,编辑文件 /etc/lico/confluent-proxy.ini,修改如下:
  :emphasize-lines: 2

  [app:main]
  use = cluster-confluent-proxy

如果您需要更改 confluent 用户的相关信息,请参考 安装confluent, 创建或更改用户信息后,根据 配置服务账户 所示步骤进行信息更新。

lico-confluent-mond

编辑文件 /etc/lico/confluent-mond.ini
[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.1db_port = 5432PostgreSQL 服务所在的IP和端口
配置中 host = 127.0.0.1port = 8086InfluxDB 服务所在的IP和端口
如果你是根据本文安装的,confluent 将默认被安装在管理节点

lico-wechat-agent

编辑文件 /etc/lico/wechat-agent.ini
appid = <APPID>
secret = <SECRET>

Note

获取 APPID<SECRET> 参考: 微信公众平台