> For the complete documentation index, see [llms.txt](https://docs.verge.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.verge.io/knowledge-base/vi/automation-api/force-power-off-vm-using-api.md).

# Buộc tắt nguồn một VM bằng API

## Tổng quan

{% hint style="info" %}
**Các điểm chính**

* Sử dụng API VergeOS để buộc tắt nguồn một VM bị treo
* Yêu cầu quyền truy cập API/Swagger
* Quy trình bao gồm nhiều lệnh gọi API để đảm bảo xác định đúng mục tiêu
* Chỉ nên sử dụng khi các phương pháp tắt nguồn thông thường không thành công
  {% endhint %}

Hướng dẫn này giải thích cách buộc tắt nguồn một máy ảo (VM) không phản hồi bằng API VergeOS khi các phương pháp tắt nguồn tiêu chuẩn không thành công.

## Điều kiện tiên quyết

* Quyền truy cập vào giao diện VergeOS với quyền quản trị
* Tên của VM bị treo/không phản hồi
* Hiểu biết cơ bản về các thao tác API

{% hint style="warning" %}
**Quan trọng**

Quy trình này chỉ nên được sử dụng khi các phương pháp tắt nguồn tiêu chuẩn đã thất bại. Việc buộc VM tắt nguồn có thể dẫn đến mất dữ liệu hoặc hỏng dữ liệu nếu không được sử dụng cẩn thận.
{% endhint %}

## Các bước

### 1. Truy cập Tài liệu API

1. Điều hướng tới **Hệ thống** trong giao diện VergeOS
2. Nhấp vào **API Documentation** (còn gọi là Swagger)

### 2. Xác định VM ID

1. Trong giao diện API, hãy tìm và mở rộng **VMs** bảng
2. Nhấp vào màu xanh **GET** nút
3. Trong phần tham số:
   * Sử dụng bộ lọc `name eq your_vm_name` để tìm một VM cụ thể
4. Nhấp **Thực thi**
5. Ghi lại các trường `Máy` số từ phản hồi

### 3. Lấy ID trạng thái máy

1. Đi tới **machines** bảng
2. Nhấp vào màu xanh **GEt /machines/{id}**
3. Trong phần tham số:
   * Đặt `id` vào `Số máy từ phản hồi trước đó`
   * Đặt `fields` sang `status`
4. Nhấp **Thực thi**
5. Từ phản hồi, ghi lại `status` giá trị

### 4. Xác minh trạng thái máy

1. Đi tới **machine\_status** bảng
2. Nhấp vào màu xanh **GET /machine\_stats/{id}**
3. Trong phần tham số:
   * Đặt `id` sang `status_number` (sử dụng giá trị trạng thái từ bước 3)
   * Đặt `fields` sang `most`
4. Nhấp **Thực thi**
5. Xác minh đây là VM đúng bằng cách kiểm tra:
   * Số lõi
   * Phân bổ RAM
   * Thông tin trạng thái
   * Số máy

### 5. Buộc tắt nguồn

1. Trong **machine\_status** bảng, nhấp vào **PUT**
2. Nhập số trạng thái làm `id` **resource id**
3. Trong phần nội dung yêu cầu, nhập JSON sau:

```json
{
    "running": false,
    "migratable": true,
    "status": "đã dừng",
    "state": "offline"
}
```

4. Nhấp **Thực thi**

### 6. Xác minh đã tắt nguồn

1. Quay lại giao diện VergeOS
2. Xác minh rằng VM hiển thị là đã tắt nguồn

## Khắc phục sự cố

{% hint style="warning" %}
**Các sự cố thường gặp**

* Nếu VM không hiển thị là đã tắt nguồn sau khi gọi API, hãy đợi vài phút để trạng thái được cập nhật
* Nếu trạng thái không được cập nhật, hãy xác minh rằng tất cả ID ở các bước trước đều chính xác
* Trong trường hợp có lỗi, hãy kiểm tra phản hồi API để xem các thông báo lỗi cụ thể
  {% endhint %}

## Ghi chú bổ sung

* Luôn ghi lại ID và các giá trị trạng thái của VM trước khi thực hiện thay đổi
* Nếu có thể, hãy cân nhắc chụp snapshot của VM trước khi buộc tắt nguồn
* Theo dõi VM sau khi buộc tắt nguồn để đảm bảo nó khởi động bình thường khi cần

***

## Phản hồi

{% hint style="info" %}
**Cần trợ giúp?**

Nếu bạn không cảm thấy thoải mái với quy trình này, vui lòng liên hệ với đội ngũ hỗ trợ của chúng tôi để được trợ giúp.
{% endhint %}

***

{% hint style="info" %}
**Thông tin tài liệu**

* Cập nhật lần cuối: 2024-01-28
* Phiên bản VergeOS: Tất cả
  {% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.verge.io/knowledge-base/vi/automation-api/force-power-off-vm-using-api.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
