FCP-Suite开启审批网络架构说明文档
基于审批架构的 FCP-Suite 部署是由审批架构
、FCP-Suite速石栈
这两个部分组合起来的。
FCP-Suite 是把一堆本地节点构建成高性能计算集群的速石栈;
审批架构是在 FCP-Suite 速石栈上套一个数据保护的壳;它是一个基础设施的部署架构。
一、基于审批架构的 FCP-Suite 部署介绍
基于审批架构的速石栈的使用是这样的:用户在本地登录 VPN,通过 VPN 建立的通道,连接到远程桌面(VDI),在远程桌面中访问速石 portal。除了使用 DM(Data-manager) 工具下载审批通过的数据外,其他数据的流向边界限制在远程桌面。
审批架构通过网络划分和防火墙规则限制来限定数据流向的边界。
在设计中,审批架构划分了 3 层网络,第一层是称为 VPN 层网络,第二层称为 VDI 层网络,第三层称为速石栈网络,速石栈网络还会包含其他构成 HPC 集群的子网;
VPN 层网络主要规划用于搭建 VPN,入口请求(inbound)只允许被外部网络(0.0.0.0/0) 访问 VPN 端口;
VDI 层网络主要规划用于搭建 VDI,入口请求(inbound)只允许被 VPN 层网络访问远程桌面端口;
速石栈网络规划主要用于搭建速石栈和高性能集群,其中规划的子网有管理节点子网,审批集群子网,高性能集群子网,高性能集群登录节点子网等;
速石栈网络中,用于部署速石栈系统的主机称为管理节点,规划到管理节点子网中,速石栈网络中的其他主机称为集群节点,按需求规划到对应的子网中。
具体部署架构图 如下:
二、基于审批架构的 FCP-Suite 基础设施规划
- 网络规划
- 各层网络中主机规划
- 各级网络、资源的防火墙规则规划
2.1. 网络规划
规划 3 层网络及对应的网络层的子网,并创建所有网络
VPN 层网络 cidr 规划为:10.0.1.0/24;
VDI 层网络 cidr 规划为:10.0.2.0/24;
速石栈网络规划的子网:管理节点子网(10.0.3.0/24),审批集群子网(10.0.4.0/24),高性能集群子网(10.0.16.0/20),高性能集群登录节点子网(10.0.7.0/24)
2.2 各层网络中主机规划
2.2.1 VPN 层网络主机和 VDI 层网络主机规划
VPN 和 VDI 主机资源、操作系统等不做建议,按需规划。
Note: 分别把用于 VPN 和 VDI 部署的主机规划到 VPN 网络和 VDI 网络
2.2.2 FCP-Suite 速石栈部署主机规划
FCP-Suite速石栈部署要求提供
- 部署速石栈需要的资源
- NAS 共享存储
- [可选] 定制的认证服务,如 LDAP,NIS,AD 等
- [可选] 定制的 ntp server 时间同步服务器
- 管理节点
- 集群节点
2.3. 部署速石栈需要的资源
2.3.1. NAS 共享存储
主机资源、操作系统等不做建议,按需规划。
要求提供3个共享目录:/fastone, fastone-audited, /fastone-audited
如果规划了审批集群子网(10.0.4.0/24),需要确保审批挂载 /fastone-auditing, /fastone-audited
只能被审批子网下的节点挂载;
可以通过设置 nfs allowcidr
来限制
2.3.2 [可选] 定制的认证服务,如 LDAP,NIS,AD 等
提供定制的认证服务认证方式
LDAP,NIS 提供: ldap_uri, ldap_base, readonly_binddn, readonly_bindpw
(readonly_binddn, readonly_bindpw 可选)
nis 提供:nis_server, nis_domain
2.3.3 [可选] 定制的 ntp server 时间同步服务器
提供定制的 ntp server uri,在速石栈部署时使用
2.3.4 速石栈网络中的管理节点规划
1. 管理节点机器资源要求:
要求2台管理节点的登录用户拥有免密sudo权限,并拥有相同的登录密码或秘钥
管理节点中按各节点部署服务的不同分为:Fastone-Core, Fastone-Monitor 节点
测试环境最低配置要求,生产环境配置建议通过sizing工具进行测算
节点 | 操作系统 | 配置 | 磁盘 |
---|---|---|---|
Fastone-Monitor | ubuntu 22.04 | 4核8G | 100GiB |
Fastone-Core | ubuntu 22.04 | 4核16G + 8G swap | 100GiB |
2. 集群节点机器资源要求:
要求批量部署的集群节点的登录用户拥有免密sudo权限,并拥有相同的登录密码或秘钥
集群节点最小配置要求,生产环境配置建议通过sizing工具进行测算
节点 | 操作系统 | 配置 | 磁盘 |
---|---|---|---|
Compute Node | ubuntu 18.04, ubuntu 22.04, centos/redhat 6.10, centos/redhat 7.9 | 2核4G | 50GiB |
Head Node | ubuntu 18.04, ubuntu 22.04, centos/redhat 6.10, centos/redhat 7.9 | 4核16G | 50GiB |
Login Node | ubuntu 18.04, ubuntu 22.04, centos/redhat 6.10, centos/redhat 7.9 | 2核4G | 50GiB |
2.4. 各级网络、资源的防火墙规则规划
2.4.1 VPN,VDI 层防火墙规则规划
VPN 层网络(10.0.1.0/24):入口请求(inbound)只允许被外部网络(0.0.0.0/0) 访问 VPN 端口
VDI 层网络(10.0.2.0/24):入口请求(inbound)只允许被 VPN 网络 (10.0.1.0/24) 访问远程桌面端口
2.4.2 速石栈网络层防火墙规则规划
以下所有防火墙规则除特殊标识说明外,默认的防火墙规则协议是 tcp
1. NAS 共享存储:
要求 nfs 端口如 2049(nfs), 111(port-mapper) 等 nfs 相关端口 被速石栈网络(管理节点子网(10.0.3.0/24),审批集群子网(10.0.4.0/24),高性能集群子网(10.0.16.0/20),高性能集群登录节点子网(10.0.7.0/24))访问
防火墙规则列表可能如下:
服务 | 方向 | 策略 | 协议 | 源地址(source) | 端口范围 |
---|---|---|---|---|---|
nfs server ip | ingress(入方向) | allow | tcp | 10.0.3.0/24, 10.0.4.0/24, 10.0.7.0/24, 10.0.16.0/20 | 2049(nfs), 111(port-mapper) |
如果规划了审批集群子网(10.0.4.0/24),那么需要确保审批挂载 /fastone-auditing, /fastone-audited
只能被审批子网下的节点挂载;
可以通过设置 nfs allowcidr
来限制
2. [可选] 客户提供的认证服务,如 LDAP,NIS,AD 等的防火墙规则规划:
- 客户提供的认证服务(LDAP,NIS,AD)所在节点需对管理节点网络(10.0.3.0/24)放开端口(ad(389),ldap(389),nis(111,617-618,834-836))访问;
- 客户提供的认证服务(LDAP,NIS,AD)所在节点需对集群节点网络(10.0.4.0/24, 10.0.16.0/20,10.0.7.0/24)放开端口(ad(389),ldap(389),nis(111,617-618,834-836))访问;
防火墙规则列表可能如下:
服务 | 方向 | 策略 | 协议 | 源地址(source) | 端口范围 |
---|---|---|---|---|---|
外置认证服务 | ingress(入方向) | allow | tcp | 10.0.3.0/24, 10.0.4.0/24, 10.0.7.0/24, 10.0.16.0/20 | ad(389),ldap(389),nis(111,617-618,834-836) |
3. [可选] 客户提供的 ntp server 的防火墙规则规划:
- 客户提供的 ntp server 所在节点需对管理节点网络(10.0.3.0/24)放开端口(123, udp协议)访问;
- 客户提供的 ntp server 所在节点需对集群节点网络(10.0.4.0/24, 10.0.16.0/20,10.0.7.0/24)放开端口(123, udp协议)访问;
防火墙规则列表可能如下:
服务 | 方向 | 策略 | 协议 | 源地址(source) | 端口范围 |
---|---|---|---|---|---|
ntp | ingress(入方向) | allow | udp | 10.0.3.0/24, 10.0.4.0/24, 10.0.7.0/24, 10.0.16.0/20 | 123 |
4. 外发邮件的邮件服务器的防火墙规则规划:
fastone-core 节点防火墙允许邮件相关出口请求(25, 465)到外部邮件服务器(smtp.mxhichina.com)
防火墙规则列表可能如下:
目标 | 方向 | 策略 | 协议 | 源地址(source) | 端口范围 |
---|---|---|---|---|---|
fastone-core | egress(出方向) | allow | tcp | smtp.mxhichina.com | 25, 465 |
5. 管理节点防火墙规则规划:
- 管理节点间内全端口互通
- fastone-core 节点需要对 VDI 层网络(10.0.2.0/24)开放端口: 80, 433, 2000(ra), 8000(dm)
- fastone-core 节点对 VPN 层网络(10.0.1.0/24)放开端口 8000
- fastone-core 对集群节点网络(10.0.4.0/24, 10.0.16.0/20,10.0.7.0/24)放开端口: 5432(pg), 9000(api), 50121(loki),123(ntp,udp协议), 389(ldap), 445(samba,可选), 3333(slurm-accounting-agent), 6819(slurmdbd)
防火墙规则列表可能如下:
目标 | 方向 | 策略 | 协议 | 源地址(source) | 端口范围 |
---|---|---|---|---|---|
10.0.3.0/24 | all | allow | all | 10.0.3.0/24 | all |
fastone-core | ingress(入方向) | allow | tcp | 10.0.2.0/24 | 80, 433, 2000(ra), 8000(dm) |
fastone-core | ingress(入方向) | allow | tcp | 10.0.1.0/24 | 8000 |
fastone-core | ingress(入方向) | allow | tcp | 10.0.4.0/24, 10.0.16.0/20,10.0.7.0/24 | 5432(pg), 9000(api), 50121(loki), 123(ntp,udp协议), 389(ldap), 445(samba,可选), 3333(slurm-accounting-agent), 6819(slurmdbd) |
6. 集群节点防火墙规则规划:
- 集群节点网络(10.0.4.0/24, 10.0.16.0/20,10.0.7.0/24)内全端口互通
- 除审批集群,集群节点网络(10.0.16.0/20,10.0.7.0/24)之间全端口互通
- 集群节点网络(10.0.4.0/24, 10.0.16.0/20,10.0.7.0/24)内的节点对 VDI 层网络(10.0.2.0/24)放开端口: 2000(ra), 5901-5999(vnc port)
- 集群节点网络(10.0.4.0/24, 10.0.16.0/20,10.0.7.0/24)内的节点对管理节点网络(10.0.3.0/24)放开端口列表如下:
服务 | ssh | remote-access svc | rdp | rpc-statd | vnc | slurmctld | scheduler | loki | fs-scale | billing-mgr |
---|---|---|---|---|---|---|---|---|---|---|
端口 | 22 | 2000 | 3389 | 4003-4004 | 5900-5999 | 6817 | 7000 | 25057-25058 | 50023 | 5000-5001 |
服务 | sge-master/sge-exec | slurmExporterPort | pbsproExporterPort | sge-exporter | lsfExporterPort | nodeExporterPort | wmiExporterPort | dcgmExporterPort |
---|---|---|---|---|---|---|---|---|
端口 | 6444-6445 | 8010 | 8020 | 8040 | 8060 | 9100 | 9182 | 9400 |
防火墙规则列表可能如下:
目标 | 方向 | 策略 | 协议 | 源地址(source) | 端口范围 |
---|---|---|---|---|---|
10.0.4.0/24 | all | allow | all | 10.0.4.0/24 | all |
10.0.16.0/20 | all | allow | all | 10.0.16.0/20,10.0.7.0/24 | all |
10.0.7.0/24 | all | allow | all | 10.0.16.0/20,10.0.7.0/24 | all |
10.0.4.0/24, 10.0.16.0/20,10.0.7.0/24 | ingress(入方向) | allow | tcp | 10.0.2.0/24 | 2000(ra), 5901-5999(vnc port) |
10.0.4.0/24, 10.0.16.0/20,10.0.7.0/24 | ingress(入方向) | allow | tcp | 10.0.3.0/24 | 22,3389,4003-4004,5901-5999,6817,7000,25057-25058,50023,5000-5001,8010,8020,8060,9100,9182,9400,8040,6444,6445 |
7. 新增的集群子网的防火墙规则规划:
假设新增的子网是:10.0.8.0/24
- fastone-core 对新增子网(10.0.8.0/24)放开端口: 5432(pg), 9000(api), 50121(loki), 123(ntp,udp协议), 389(ldap), 445(samba,可选), 3333(slurm-accounting-agent), 6819(slurmdbd)
- [可选] 如果使用了客户提供的外置认证系统,则:
- 客户提供的认证服务(LDAP,NIS,AD)所在节点需对新增子网(10.0.8.0/24)放开端口(ad(389),ldap(389),nis(111,617-618,834-836))访问
- [可选] 如果使用了客户提供的外置nfs-server,则:
- 客户提供的 ntp server 所在节点需对新增子网(10.0.8.0/24)放开端口(123, udp协议)访问
- 新增子网(10.0.8.0/24)内全端口互通
- 新增子网(10.0.8.0/24)与集群节点网络(10.0.16.0/20,10.0.7.0/24)之间全端口互通
- 新增子网(10.0.8.0/24)内的节点对 VDI 层网络(10.0.2.0/24)放开端口: 2000(ra), 5901-5999(vnc port)
- 新增子网(10.0.8.0/24)内的节点对管理节点网络(10.0.3.0/24)放开端口列表如下:
服务 | ssh | remote-access svc | rdp | rpc-statd | vnc | slurmctld | scheduler | loki | fs-scale | billing-mgr |
---|---|---|---|---|---|---|---|---|---|---|
端口 | 22 | 2000 | 3389 | 4003-4004 | 5900-5999 | 6817 | 7000 | 25057-25058 | 50023 | 5000-5001 |
服务 | sge-master/sge-exec | slurmExporterPort | pbsproExporterPort | sge-exporter | lsfExporterPort | nodeExporterPort | wmiExporterPort | dcgmExporterPort |
---|---|---|---|---|---|---|---|---|
端口 | 6444-6445 | 8010 | 8020 | 8040 | 8060 | 9100 | 9182 | 9400 |
防火墙规则列表可能如下:
目标 | 方向 | 策略 | 协议 | 源地址(source) | 端口范围 |
---|---|---|---|---|---|
fastone-core | ingress | allow | tcp | 10.0.8.0/24 | 5432(pg), 9000(api), 50121(loki), 123(ntp,udp协议), 389(ldap), 445(samba,可选), 3333(slurm-accounting-agent), 6819(slurmdbd) |
[可选] 客户提供的认证服务(LDAP,NIS,AD)所在节点 | ingress | allow | tcp | 10.0.8.0/24 | ad(389),ldap(389),nis(111,617-618,834-836) |
[可选] 如果使用了客户提供的外置nfs-server | ingress(入方向) | allow | udp | 10.0.2.0/24 | 123 |
10.0.8.0/24 | all | allow | all | 10.0.8.0/24 | all |
10.0.8.0/24 | all | allow | all | 10.0.16.0/20,10.0.7.0/24 | all |
10.0.8.0/24 | ingress | allow | tcp | 10.0.2.0/24 | 2000(ra), 5901-5999(vnc port) |
10.0.8.0/24 | ingress | allow | tcp | 10.0.3.0/24 | 22,3389,4003-4004,5901-5999,6817,7000,25057-25058,50023,5000-5001,8010,8020,8060,9100,9182,9400,8040,6444,6445 |