Skip to content

Commit 3379d2f

Browse files
committed
docs: switch default README to English with Chinese translation
Reorganize README files to use English as the default language: - README.md is now the English version (was README_EN.md) - README_CN.md is now the Chinese version (was README.md) - Remove redundant README_EN.md file - Update cross-reference links between language versions This change improves accessibility for international users while maintaining full Chinese documentation support.
1 parent 22de3d7 commit 3379d2f

File tree

3 files changed

+426
-381
lines changed

3 files changed

+426
-381
lines changed

README.md

Lines changed: 129 additions & 129 deletions
Original file line numberDiff line numberDiff line change
@@ -1,119 +1,119 @@
11
# JVP
22

3-
jimyag's virtualization platform. jimyag 的虚拟化平台
3+
jimyag's virtualization platform
44

5-
[English](README_EN.md) | 中文
5+
English | [中文](README_CN.md)
66

7-
## 简介
7+
## Introduction
88

9-
JVP 是一个基于 QEMU/KVM libvirt 的虚拟化平台,提供完整的虚拟机生命周期管理功能。支持通过 RESTful API 和现代化的 Web 管理界面创建、管理和监控虚拟机实例。
9+
JVP is a virtualization platform based on QEMU/KVM and libvirt, providing complete virtual machine lifecycle management. It supports creating, managing, and monitoring virtual machine instances through RESTful API and a modern web management interface.
1010

11-
![节点管理](docs/static/nodes.png)
11+
![Node Management](docs/static/nodes.png)
1212

13-
![实例列表](docs/static/instance.png)
13+
![Instance List](docs/static/instance.png)
1414

15-
![实例详情](docs/static/instance-detail.png)
15+
![Instance Details](docs/static/instance-detail.png)
1616

17-
![VNC 控制台](docs/static/instance-vnc.png)
17+
![VNC Console](docs/static/instance-vnc.png)
1818

19-
![串口控制台](docs/static/instance-console.png)
19+
![Serial Console](docs/static/instance-console.png)
2020

21-
![存储池列表](docs/static/storage-pool.png)
21+
![Storage Pool List](docs/static/storage-pool.png)
2222

23-
![存储池详情](docs/static/storage-pool-detail.png)
23+
![Storage Pool Details](docs/static/storage-pool-detail.png)
2424

25-
![模板管理](docs/static/template.png)
25+
![Template Management](docs/static/template.png)
2626

27-
![快照管理](docs/static/snapshot.png)
27+
![Snapshot Management](docs/static/snapshot.png)
2828

29-
## 核心功能
29+
## Core Features
3030

31-
### 实例管理(Instances)
31+
### Instance Management
3232

33-
- **创建实例**:自定义 CPU、内存、磁盘,支持桥接或 NAT 网络
34-
- 集成 cloud-init,支持用户数据与 SSH 公钥注入
35-
- **查询实例**:按节点/ID 查询,返回网卡、MAC、IP、多 IP 信息、开机自启动标记、启动时间
36-
- **生命周期管理**:启动、停止、重启、删除(可选同时删除卷)
37-
- **修改实例属性**:调整 CPU、内存、名称、自动启动
38-
- **密码重置**:基于 guest-agent 的异步重置(后台执行),保留 virt-customize 兜底
39-
- **远程控制台**:支持 VNC/Serial 控制台
33+
- **Create Instances**: Customize CPU, memory, and disk, support bridge or NAT networking
34+
- Integrated cloud-init, supports user data and SSH public key injection
35+
- **Query Instances**: Query by node/ID, returns network interfaces, MAC, IP, multiple IPs, autostart flag, start time
36+
- **Lifecycle Management**: Start, stop, reboot, delete (optionally delete volumes)
37+
- **Modify Instance Properties**: Adjust CPU, memory, name, autostart
38+
- **Password Reset**: Asynchronous reset based on guest-agent (background execution), with virt-customize fallback
39+
- **Remote Console**: Support VNC/Serial console
4040

41-
### 节点与存储
41+
### Nodes and Storage
4242

43-
- **多节点管理**:支持同时管理多个 libvirt 节点(本地和远程),构建分布式虚拟化集群
44-
- **本地节点**:自动创建 `local (qemu:///system)` 节点
45-
- **远程节点**:通过 libvirt URI 添加远程节点(如 `qemu+ssh://user@host/system`
46-
- **节点类型**:支持 compute(计算)、storage(存储)、hybrid(混合)等类型
47-
- **节点操作**:添加、删除、启用、禁用节点
48-
- **节点概要**:查看每个节点的 CPU/内存/NUMA/虚拟化能力等硬件信息
49-
- **存储池管理**:按节点管理存储池,列举/创建/启停/删除存储池,查看存储池使用情况
50-
- **存储卷管理**:按节点和存储池列举卷,创建卷,查看卷详情(容量、分配、格式),删除卷
43+
- **Multi-Node Management**: Support managing multiple libvirt nodes (local and remote) simultaneously, building distributed virtualization clusters
44+
- **Local Node**: Automatically creates `local (qemu:///system)` node
45+
- **Remote Nodes**: Add remote nodes via libvirt URI (e.g., `qemu+ssh://user@host/system`)
46+
- **Node Types**: Support compute, storage, hybrid, and other node types
47+
- **Node Operations**: Add, delete, enable, disable nodes
48+
- **Node Summary**: View hardware information for each node (CPU/memory/NUMA/virtualization capabilities, etc.)
49+
- **Storage Pool Management**: Manage storage pools by node, list/create/start/stop/delete storage pools, view storage pool usage
50+
- **Storage Volume Management**: List volumes by node and storage pool, create volumes, view volume details (capacity, allocation, format), delete volumes
5151

52-
### 快照管理(Snapshots)
52+
### Snapshot Management
5353

54-
- **创建快照**:为虚拟机创建快照,支持包含内存状态
55-
- **列举快照**:按节点和虚拟机查询快照列表
56-
- **快照详情**:查看快照的详细信息(创建时间、状态、磁盘信息等)
57-
- **回滚快照**:将虚拟机恢复到指定快照状态
58-
- **删除快照**:删除不再需要的快照,释放存储空间
59-
- **快照类型**:支持内部快照(qcow2)和外部快照(所有格式)
54+
- **Create Snapshots**: Create snapshots for virtual machines, support including memory state
55+
- **List Snapshots**: Query snapshot list by node and virtual machine
56+
- **Snapshot Details**: View detailed snapshot information (creation time, state, disk information, etc.)
57+
- **Revert Snapshots**: Restore virtual machine to specified snapshot state
58+
- **Delete Snapshots**: Delete snapshots that are no longer needed, free up storage space
59+
- **Snapshot Types**: Support internal snapshots (qcow2) and external snapshots (all formats)
6060

61-
### 模板管理(Templates)
61+
### Template Management
6262

63-
- **注册模板**:从 URL 下载云镜像或从本地文件导入
64-
- **列举模板**:查看所有可用的虚拟机模板
65-
- **模板详情**:查看模板的元数据(操作系统、大小、来源等)
66-
- **删除模板**:删除不再使用的模板
67-
- **模板类型**:支持云镜像模板(UbuntuDebianAlpine 等)和快照导出的自定义模板
63+
- **Register Templates**: Download cloud images from URL or import from local files
64+
- **List Templates**: View all available virtual machine templates
65+
- **Template Details**: View template metadata (operating system, size, source, etc.)
66+
- **Delete Templates**: Delete templates that are no longer used
67+
- **Template Types**: Support cloud image templates (Ubuntu, Debian, Alpine, etc.) and custom templates exported from snapshots
6868

69-
### 密钥对管理(KeyPairs)
69+
### Key Pair Management
7070

71-
- **创建密钥对**:支持 RSA ED25519 算法
72-
- **导入密钥对**:导入现有公钥
73-
- **查询密钥对**:支持按 ID、名称等条件查询
74-
- **删除密钥对**:删除不再使用的密钥对
75-
- **自动注入**:创建实例时自动注入 SSH 公钥
71+
- **Create Key Pairs**: Support RSA and ED25519 algorithms
72+
- **Import Key Pairs**: Import existing public keys
73+
- **Query Key Pairs**: Support querying by ID, name, etc.
74+
- **Delete Key Pairs**: Delete key pairs that are no longer used
75+
- **Auto Injection**: Automatically inject SSH public keys when creating instances
7676

77-
### Web 管理界面
77+
### Web Management Interface
7878

79-
- **现代化 UI**:基于 React + Vite + Tailwind CSS 构建的响应式 Web 界面
80-
- **实时监控**:查看实例状态、资源使用情况、网络信息等
81-
- **远程控制台**:集成 VNC Serial 控制台,支持图形和文本界面访问
82-
- **统一管理**:通过 Web 界面管理所有资源(实例、节点、存储、模板、快照、密钥对)
79+
- **Modern UI**: Responsive web interface built with React + Vite + Tailwind CSS
80+
- **Real-time Monitoring**: View instance status, resource usage, network information, etc.
81+
- **Remote Console**: Integrated VNC and Serial console, support graphical and text interface access
82+
- **Unified Management**: Manage all resources (instances, nodes, storage, templates, snapshots, key pairs) through web interface
8383

84-
## 环境要求
84+
## Requirements
8585

86-
### 必需工具
86+
### Required Tools
8787

88-
| 工具 | 用途 |
89-
| ------------------------------ | ------------------------------------------ |
90-
| **libvirt** | 虚拟化管理核心(libvirtd 守护进程) |
91-
| **virsh** | 执行 qemu-agent-command |
92-
| **qemu-img** | 磁盘镜像操作(创建、调整大小、转换、快照) |
93-
| **genisoimage** **mkisofs** | 生成 cloud-init ISO |
94-
| **ssh** | 远程节点连接(VNC/串口代理、文件传输) |
88+
| Tool | Purpose |
89+
| ------------------------------ | ---------------------------------------------------- |
90+
| **libvirt** | Virtualization management core (libvirtd daemon) |
91+
| **virsh** | Execute qemu-agent-command |
92+
| **qemu-img** | Disk image operations (create, resize, convert, snapshot) |
93+
| **genisoimage** or **mkisofs** | Generate cloud-init ISO |
94+
| **ssh** | Remote node connection (VNC/serial proxy, file transfer) |
9595

96-
### 可选工具
96+
### Optional Tools
9797

98-
| 工具 | 用途 |
99-
| ------------------ | -------------------------------------------- |
100-
| **wget** | 下载模板镜像(优先使用) |
101-
| **curl** | 下载模板镜像(wget 不可用时回退) |
102-
| **ip** | 查询 ARP 邻居表获取 VM IP(优先使用) |
103-
| **arp** | 查询 ARP 表获取 VM IPip 命令不可用时回退) |
104-
| **virt-customize** | 重置虚拟机密码(兜底方案) |
105-
| **socat** | 远程节点 VNC/串口转发(远程节点上需要) |
98+
| Tool | Purpose |
99+
| ------------------ | ------------------------------------------------------ |
100+
| **wget** | Download template images (preferred) |
101+
| **curl** | Download template images (fallback when wget unavailable) |
102+
| **ip** | Query ARP neighbor table for VM IP (preferred) |
103+
| **arp** | Query ARP table for VM IP (fallback when ip unavailable) |
104+
| **virt-customize** | Reset VM password (fallback method) |
105+
| **socat** | VNC/serial forwarding for remote nodes (required on remote host) |
106106

107-
### 远程节点额外要求
107+
### Additional Requirements for Remote Nodes
108108

109-
如果使用远程 libvirt 节点(如 `qemu+ssh://user@host/system`),远程主机需要:
109+
If using remote libvirt nodes (e.g., `qemu+ssh://user@host/system`), the remote host needs:
110110

111-
- **ssh** 服务
112-
- **socat**VNC/串口控制台)
113-
- **genisoimage** **mkisofs**cloud-init ISO 生成)
114-
- **find**, **cat**, **mkdir**, **rm**(基础 shell 命令)
111+
- **ssh** service
112+
- **socat** (for VNC/serial console)
113+
- **genisoimage** or **mkisofs** (for cloud-init ISO generation)
114+
- **find**, **cat**, **mkdir**, **rm** (basic shell commands)
115115

116-
### 安装命令
116+
### Installation Commands
117117

118118
**Debian/Ubuntu:**
119119

@@ -127,32 +127,32 @@ apt install libvirt-daemon-system qemu-utils genisoimage wget curl openssh-clien
127127
dnf install libvirt qemu-img genisoimage wget curl openssh-clients libguestfs-tools socat
128128
```
129129

130-
## 如何使用
130+
## How to Use
131131

132-
### 方式一:Docker 部署(推荐)
132+
### Option 1: Docker Deployment (Recommended)
133133

134-
Docker 部署会在容器内运行 libvirtd,完全接管宿主机的虚拟化环境。
134+
Docker deployment runs libvirtd inside the container, completely taking over the host's virtualization environment.
135135

136-
**1. 停止宿主机的 libvirt 服务**
136+
**1. Stop host libvirt services**
137137

138138
```bash
139139
sudo systemctl stop libvirtd libvirtd.socket virtlogd virtlogd.socket
140140
sudo systemctl disable libvirtd libvirtd.socket virtlogd virtlogd.socket
141141
```
142142

143-
**2. 创建数据目录**
143+
**2. Create data directory**
144144

145145
```bash
146146
sudo mkdir -p /var/lib/jvp
147147
```
148148

149-
**3. 启动容器**
149+
**3. Start the container**
150150

151151
```bash
152-
# 使用 docker-compose
152+
# Using docker-compose
153153
docker compose up -d
154154

155-
# 或直接使用 docker run
155+
# Or using docker run directly
156156
docker run -d \
157157
--name jvp \
158158
--hostname jvp \
@@ -174,28 +174,28 @@ docker run -d \
174174
ghcr.io/jimyag/jvp:latest
175175
```
176176

177-
**4. 访问 Web 界面**
177+
**4. Access the Web interface**
178178

179179
```
180-
http://<服务器IP>:7777
180+
http://<server-ip>:7777
181181
```
182182

183-
### 方式二:二进制文件部署
183+
### Option 2: Binary Deployment
184184

185-
**1. 下载二进制文件**
185+
**1. Download the binary**
186186

187-
[GitHub Releases](https://github.com/jimyag/jvp/releases) 下载适合您系统的二进制文件。
187+
Download the binary for your system from [GitHub Releases](https://github.com/jimyag/jvp/releases).
188188

189189
```bash
190-
# 创建目录
190+
# Create directory
191191
sudo mkdir -p /opt/jvp
192192

193-
# 下载并解压(以 linux amd64 为例)
193+
# Download and extract (example for linux amd64)
194194
wget https://github.com/jimyag/jvp/releases/latest/download/jvp_linux_amd64.tar.gz
195195
tar -xzf jvp_linux_amd64.tar.gz -C /opt/jvp
196196
```
197197

198-
**2. 创建 systemd 服务**
198+
**2. Create systemd service**
199199

200200
```bash
201201
sudo tee /etc/systemd/system/jvp.service > /dev/null <<EOF
@@ -216,82 +216,82 @@ WantedBy=multi-user.target
216216
EOF
217217
```
218218

219-
**3. 启动服务**
219+
**3. Start the service**
220220

221221
```bash
222222
sudo systemctl daemon-reload
223223
sudo systemctl enable jvp
224224
sudo systemctl start jvp
225225
```
226226

227-
**4. 访问 Web 界面**
227+
**4. Access the Web interface**
228228

229229
```
230-
http://<服务器IP>:7777
230+
http://<server-ip>:7777
231231
```
232232

233-
### 方式三:本地构建运行
233+
### Option 3: Build and Run Locally
234234

235-
**1. 构建项目**
235+
**1. Build the project**
236236

237237
```bash
238-
# 构建包含前端的完整二进制文件
238+
# Build complete binary file including frontend
239239
task build
240240
```
241241

242-
**2. 运行服务**
242+
**2. Run the service**
243243

244244
```bash
245-
# 运行 JVP 服务(默认端口 7777
245+
# Run JVP service (default port 7777)
246246
./bin/jvp
247247
```
248248

249-
**3. 访问 Web 界面**
249+
**3. Access the Web interface**
250250

251-
构建完成后,前端已嵌入到二进制文件中。启动服务后访问:
251+
After building, the frontend is embedded in the binary file. After starting the service, access:
252252

253253
```
254254
http://localhost:7777
255255
```
256256

257-
### 本地调试(Docker
257+
### Local Debugging (Docker)
258258

259259
```bash
260-
# 构建本地调试镜像
260+
# Build local debug image
261261
task debug-image
262262

263-
# 修改 docker-compose.yml 中 image 为 jvp:local 后启动
263+
# Modify image in docker-compose.yml to jvp:local, then start
264264
docker compose up -d
265265
```
266266

267-
## 未来计划
267+
## Future Plans
268268

269-
JVP 正在持续开发中,以下功能计划在未来版本中支持:
269+
JVP is under continuous development. The following features are planned for future releases:
270270

271-
### 用户体验增强
272-
- **国际化(i18n**:支持多语言切换(中文、英文等)
273-
- **深色/浅色主题切换**:支持主题切换和系统主题自动检测
274-
- **用户引导**:首次使用引导、功能提示、快速开始向导
271+
### User Experience Enhancements
272+
- **Internationalization (i18n)**: Support for multiple languages (Chinese, English, etc.)
273+
- **Dark/Light Theme Toggle**: Theme switching with automatic system theme detection
274+
- **User Onboarding**: First-time user guide, feature tooltips, quick start wizard
275275

276-
### 网络功能增强
277-
- **多种网络配置**:桥接、NAT、虚拟网络、直通网络、VLAN、网络 QoS
278-
- **网络隔离**:支持网络隔离和多网卡绑定
276+
### Network Feature Enhancements
277+
- **Multiple Network Configurations**: Bridge, NAT, virtual networks, passthrough networks, VLAN, network QoS, etc.
278+
- **Network Isolation**: Support for network isolation and multi-NIC bonding
279279

280-
### 设备直通虚拟化
281-
- **PCIe 设备直通**GPU、网卡、NVMePCIe 设备直通
282-
- **USB 设备直通**USB 设备直通和热插拔支持
283-
- **磁盘直通**:物理磁盘、分区、LVM 逻辑卷直通
280+
### Device Passthrough Virtualization
281+
- **PCIe Device Passthrough**: GPU, network cards, NVMe, and other PCIe device passthrough
282+
- **USB Device Passthrough**: USB device passthrough and hot-plug support
283+
- **Disk Passthrough**: Physical disk, partition, and LVM logical volume passthrough
284284

285-
### Windows 虚拟机支持
286-
- **Windows 安装支持**Windows ISO 镜像、VirtIO 驱动集成
287-
- **Windows 优化配置**CPU 模式优化、时钟同步、性能优化
288-
- **Windows 工具集成**QEMU Guest AgentVirtIO 驱动自动安装
285+
### Windows Virtual Machine Support
286+
- **Windows Installation Support**: Windows ISO images, VirtIO driver integration
287+
- **Windows Optimization**: CPU mode optimization, clock synchronization, performance tuning
288+
- **Windows Tools Integration**: QEMU Guest Agent, automatic VirtIO driver installation
289289

290-
更多详细信息请参考 [实现计划](docs/implement/implementation-plan.md)
290+
For more details, please refer to the [Implementation Plan](docs/implement/implementation-plan.md).
291291

292-
## 相关资料
292+
## Related Resources
293293

294294
- <https://www.voidking.com/dev-libvirt-create-vm/>
295295
- <https://sq.sf.163.com/blog/article/172808502565068800>
296296
- <https://shihai1991.github.io/openstack/2024/02/20/%E9%80%9A%E8%BF%87libvirt%E5%88%9B%E5%BB%BA%E8%99%9A%E6%8B%9F%E6%9C%BA/>
297-
- <https://www.baeldung.com/linux/qemu-uefi-boot> 启动 qemu UEFI 引导
297+
- <https://www.baeldung.com/linux/qemu-uefi-boot> Boot qemu with UEFI

0 commit comments

Comments
 (0)