# MIPS超云平台V2 **Repository Path**: AJiangS/mips-super-cloud-platform-v2 ## Basic Information - **Project Name**: MIPS超云平台V2 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-06-01 - **Last Updated**: 2026-10-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # MIPS超云平台 #### 软件架构 软件架构说明 分为两个系统,管理端后端的开发语言为java,版本暂定为jdk17。 1. 管理端后端 - 主要用于用户管理、计费、资源分配等操作 - 这里的数据库要使用云数据库,保证数据同步 - 管理端部署到多个服务器,防止某个服务器宕机 - 直接通过Docker API(2375端口)管理GPU服务器上的容器,不再需要中间的分布式服务 - 使用 Glances 和 GPUView 获取 GPU 服务器的系统和 GPU 状态信息 2. 管理端前端 前端用vue --- ## 核心功能 ### 无卡启动 #### 功能说明 "无卡启动"是指创建实例时,仅在数据库中创建记录,不立即创建容器和分配GPU。用户可以: 1. 创建实例(仅数据库记录) 2. 需要时再手动启动(才真正创建容器和分配GPU) #### 优势 - **灵活配置调整**: 实例未启动时可以随时修改CPU、内存、GPU配置 - **资源节省**: 不占GPU但保留配置,需要时才分配 - **快速启动**: 配置好后一键启动 - **精确计费**: 只有运行中的实例才计费 #### 实例状态 | status | 状态名称 | 说明 | |--------|---------|------| | 0 | 删除中 | 实例正在被删除 | | 1 | 未启动 | 仅数据库记录,无容器 | | 2 | 运行中 | 容器已创建并运行 | | 3 | 已停止 | 容器已删除 | #### 使用流程 ``` 创建实例 → (可选)修改配置 → 启动实例 → 使用 → 停止实例 → (可选)再次启动 → 删除实例 status=1 status=1 status=2 status=3 status=3 (彻底删除 ``` --- ### 工作目录持久化 #### 功能说明 启用工作目录持久化后,容器内的 `/root/{容器名}` 目录会持久化到宿主机的 `/home/gpuadmin/dockerspace/{容器名}`。 #### 优势 - **数据不丢失**: 容器删除后,数据保留在宿主机上 - **灵活使用**: 无卡启动时就能上传文件到工作目录 - **目录隔离**: 每个容器有独立的工作目录 #### 使用流程 1. 创建实例时勾选"启用工作目录持久化" 2. 在宿主机的 `/home/gpuadmin/dockerspace/{容器名}` 中上传文件 3. 容器内访问 `/root/{容器名}` 即可使用 4. 容器删除后数据保留,下次重建同一容器名仍可使用 --- ### 资源监控 #### 功能说明 系统通过 Glances 和 GPUView 实时获取 GPU 服务器的资源状态信息,包括: - **CPU 状态**: CPU 核心数、使用率、型号 - **内存状态**: 总内存、已用内存、可用内存、使用率 - **磁盘状态**: 各挂载点的磁盘使用情况 - **系统信息**: 主机名、操作系统、内核版本、架构 - **GPU 状态**: GPU 显存、使用率、温度、功耗、风扇转速等 - **容器 GPU 使用**: 各容器占用的 GPU 资源情况 #### 监控服务 | 服务名 | 端口 | 功能 | API 端点 | |-------|------|------|----------| | Glances | 61208 | 系统资源监控 | /api/4/cpu, /api/4/mem, /api/4/fs 等 | | GPUView | 9988 | GPU 状态监控 | /api/gpustat/self | --- #### 系统架构 ``` ┌─────────────────────────────────────────────────────────────────┐ │ 用户(浏览器) │ └────────────────────────────┬────────────────────────────────────┘ │ ▼ ┌─────────────────────────────────────────────────────────────────┐ │ 管理端前端 (Vue) │ └────────────────────────────┬────────────────────────────────────┘ │ ▼ ┌─────────────────────────────────────────────────────────────────┐ │ 管理端后端 (Spring Boot) │ │ - 用户管理 │ │ - 实例管理 │ │ - 计费管理 │ │ - GPU分配管理 │ └────────────────────────────┬────────────────────────────────────┘ │ ┌───────────────────────┼───────────────────────┐ │ Docker API (2375) │ Glances (61208) │ GPUView ▼ ▼ ▼ ┌─────────────────────────────────────────────────────────────────┐ │ GPU服务器1/2/N │ │ - Docker (2375端口) │ │ - Glances (61208端口) - 系统监控 │ │ - GPUView - GPU监控 │ │ - NVIDIA GPU │ └─────────────────────────────────────────────────────────────────┘ ``` #### 技术栈 | 组件 | 技术 | 说明 | |-----|------|------| | 后端 | Java 17 + Spring Boot | 管理平台后端 | | 前端 | Vue 3 + Element Plus | 管理平台前端 | | 数据库 | MySQL | 云数据库,保证数据同步 | | 容器 | Docker + nvidia-docker | 容器运行时 | | 容器管理 | Docker API (2375) | 直接调用Docker原生API | | 系统监控 | Glances | 监控CPU、内存、磁盘等系统资源 | | GPU监控 | GPUView | 监控GPU显存、使用率、温度等 | --- #### 部署要求 管理平台服务器需要: 1. Java 17+ 2. MySQL 数据库 GPU服务器需要: 1. 安装 Docker 2. 安装 nvidia-container-toolkit 3. 配置 Docker daemon 监听 2375 端口 4. 安装并启动 Glances(监听 61208 端口) 5. 安装并启动 GPUView 6. 确保 /home/gpuadmin/dockerspace/ 目录存在并具有相应权限 --- #### 接口文档 详细接口文档请参考: - [实例管理接口文档](document/接口文档-管理端-实例管理.md) - [服务器端接口文档](document/接口文档-服务器端.md) - [GPU服务器外部服务部署指南](docs/GPU服务器外部服务部署指南.md) --- #### 安装教程 ### 管理端后端部署 1. 配置 application.yml 中的数据库连接 2. 配置服务器列表 3. 执行 `mvn spring-boot:run` ### 管理端前端部署 1. 配置 .env 中的后端API地址 2. 执行 `npm install && npm run dev` ### GPU服务器配置 1. 安装 Docker 和 nvidia-container-toolkit 2. 配置 Docker daemon 开启 2375 端口访问 3. 安装并配置 Glances 服务(61208 端口) 4. 安装并配置 GPUView 服务 5. 创建 /home/gpuadmin/dockerspace/ 目录 --- #### 使用说明 1. 用户登录系统 2. 创建实例,配置CPU、内存、GPU,可选择启用工作目录持久化 3. 需要时启动实例 4. 通过SSH连接到容器内使用 5. 在资源监控页面查看 GPU 服务器和各实例的资源使用情况 6. 使用完后停止实例释放资源