用户以不同的方式访问计算环境。 常见的接入点是利用 SSH 和命令行接口(CLI)连接终端。 其他机制包括通过 VDI 或 Web 门户使用的按需提供的图形用户界面、Jupyter Lab 或 RStudio。 某些用户可能也会通过 Visual Studio Code(VS Code)使用 ssh。 最终用户入口点组件是塑造访问 HPC 云资源的用户体验的关键,它高度依赖于用户工作流和应用程序。
部署所有基本基础结构后,最终用户入口点将:
- 允许最终用户登录到计算机并提交作业;
- 允许最终用户请求远程桌面会话;
- 允许最终用户请求基于 Web 浏览器的会话来运行 Jupyter 实验室或 r-studio 等应用程序。
定义用户入口点需求
SSH 访问:
- 允许用户通过 SSH 登录到 HPC 环境,以便进行作业提交和管理。
- 确保已准备好安全身份验证和连接协议。
远程桌面访问:
- 允许用户为图形应用程序请求和建立远程桌面会话。
- 确定用户是否需要硬件加速的3D渲染。 后处理和可视化工作负载需要;终端访问和管理访问则不需要。
- 提供支持用户运行应用的VDI解决方案。
基于 Web 浏览器的访问:
- 支持基于 Web 浏览器的会话来运行 Jupyter Lab 或 RStudio 等应用程序。
- 确保与 HPC 环境和资源管理无缝集成。
工具和服务
SSH 访问:
- 使用标准 SSH 协议提供对 HPC 资源的安全命令行访问。
- 配置 SSH 密钥和用户权限,以确保安全高效的访问。
远程桌面访问:
- 对于管理和终端访问,基本的远程桌面服务器如xrdp就足够了。 参见 Use xrdp with Linux。
- 对于可视化和后期处理的3D渲染工作负载,请使用支持GPU的虚拟机规模和支持硬件加速OpenGL的会话技术。
- 请根据情况选择虚拟机大小。 NV家族尺寸暴露了加速渲染依赖的图形驱动功能;面向计算的尺寸通常不包括。
基于 Web 浏览器的访问:
- 为交互式会话部署基于 Web 的平台,例如 JupyterHub 或 RStudio Server。
- 若要允许无缝访问计算资源,请将这些平台与 HPC 环境集成。
最佳做法
安全身份验证和访问控制:
- 实现多重身份验证(MFA)和基于 SSH 密钥的身份验证以实现安全访问。
- 使用基于角色的访问控制(RBAC)管理用户权限,并确保符合安全策略。
优化用户体验:
- 为用户提供清晰的文档和培训,教他们如何访问和使用不同的入口点。
- 为了确保用户体验流畅,请持续监视和优化接入点的性能。
确保兼容性和集成:
- 测试和验证远程桌面和基于 Web 的访问解决方案与 HPC 应用程序的兼容性。
- 确认远程桌面会话中GPU加速是否激活。 一个渲染正常但速度缓慢的会话通常会回归软件渲染。
- 将访问解决方案与现有高性能计算基础设施集成,实现无缝的资源管理。
可伸缩性和性能:
- 根据用户需求配置访问点,确保高峰期的可用性和性能。
- 使用性能指标定期监视和优化入口点基础结构。
设置和部署的步骤示例
设置 SSH 访问:
配置 SSH 服务器:
在登录节点上安装和配置 SSH 服务器。
生成 SSH 密钥并将其分发给用户并配置用户权限。
sudo apt-get install openssh-server sudo systemctl enable ssh sudo systemctl start ssh
用户身份验证:
设置基于 SSH 密钥的身份验证,并将 SSH 服务器配置为禁用密码身份验证,以增强安全性。
ssh-keygen -t rsa -b 4096 ssh-copy-id user@hpc-login-node
设置远程桌面访问:
步骤取决于用户是否需要硬件加速渲染。
如需在无3D加速的情况下进行管理访问:
在登录节点安装远程桌面服务器并配置用户权限。
sudo apt-get install xrdp sudo systemctl enable xrdp sudo systemctl start xrdp这种设置为终端工作和文件管理提供了可用的桌面。 它不会加速OpenGL应用。
对于带有3D加速的可视化工作负载:
- 在NV家族虚拟机上部署会话,安装显卡驱动,而不是计算驱动。
- 选择支持GPU加速渲染的会话技术。
- 在将环境提供给用户之前,务必显式验证加速功能。
设置基于 Web 浏览器的访问:
部署 JupyterHub 或 RStudio Server:
在 HPC 环境中安装和配置 JupyterHub 或 RStudio Server。
sudo apt-get install jupyterhub sudo systemctl enable jupyterhub sudo systemctl start jupyterhub
与 HPC 资源集成:
配置基于 Web 的平台以与 HPC 计划程序和计算资源集成。
jupyterhub --no-ssl --port 8000