> 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/run-the-platform/vi/may-ao/vm-best-practices.md).

# Các phương pháp tốt nhất cho máy ảo

Các khuyến nghị sau đây nhằm tạo các máy ảo để sử dụng trong VergeOS. Một số liên quan đến thiết lập của máy, ví dụ (phân bổ RAM, NIC, v.v.), trong khi những mục khác liên quan đến cấu hình trong hệ điều hành khách. Tuân theo các hướng dẫn thực hành tốt nhất có thể tránh các sự cố tiềm ẩn và mang lại hiệu năng tốt hơn.

## Khuyến nghị nhập

Các khuyến nghị sau đây áp dụng cho việc nhập từ các VM hiện có và di chuyển từ vật lý sang ảo:

* Trước khi xuất từ các hệ thống khác, hãy gỡ cài đặt tất cả ứng dụng khách của hypervisor, ví dụ VMware guest agent, các thành phần tích hợp Hyper-V, v.v. Những ứng dụng khách này sẽ không có tác dụng gì khi chạy trong VergeOS, do đó gây lãng phí tài nguyên và có thể gây ra các kết quả bất lợi khác.
* Hãy gỡ bỏ mọi trình điều khiển/phần mềm phụ thuộc phần cứng cụ thể (ví dụ: các bộ giám sát cập nhật BIOS, v.v.) trước khi xuất ảnh vật lý.
* Trước khi thực hiện xuất các ổ đĩa vật lý, hãy gỡ cài đặt phần cứng sẽ không tồn tại trong máy ảo.
* Nếu không, hãy giữ cấu hình phần cứng càng giống càng tốt (số lượng và dung lượng ổ đĩa, số lượng và loại CPU).
* Thông thường, nên giữ nguyên địa chỉ MAC từ máy trước đó trên máy VergeOS mới; nếu không, một địa chỉ MAC khác sẽ bị hệ điều hành khách nhận diện như một thiết bị mạng mới và yêu cầu cấu hình lại toàn bộ thiết lập mạng của khách. Đối với một máy được nhập bằng các tiện ích nhập tự động của VergeOS, bạn sẽ được nhắc chọn giữ địa chỉ MAC hoặc tự động tạo địa chỉ MAC mới. Đối với các máy được nhập thủ công (ví dụ: tạo shell VM và nhập các ổ đĩa), địa chỉ MAC có thể được ghi lại từ máy hiện có rồi nhập thủ công khi tạo NIC của máy mới.

{% hint style="warning" %}
Điều quan trọng cần nhớ là không bao giờ được để hai máy chạy trong cùng một mạng với cùng một địa chỉ MAC.
{% endhint %}

{% hint style="info" %}
Việc di chuyển một máy Windows vật lý sang ảo có thể yêu cầu khởi tạo lại các khóa bản quyền Windows.
{% endhint %}

## Phân bổ RAM

Lượng RAM cấp cho một VM là lượng cần thiết để chạy đầy đủ các workload bên trong VM. Khi một VM được bật nguồn, RAM sẽ được cấp cho VM đó từ một pool bộ nhớ sẵn có và sau đó không thể cấp cho các VM khác nữa (điều này không phụ thuộc vào mức độ hoạt động trong hệ điều hành khách). Nói chung, một máy ảo trong VergeOS có thể được cấp ít RAM hơn so với khi chạy bare metal và trong các môi trường ảo hóa khác; RAM vốn thường cần trong VM để đáp ứng các chức năng hiệu năng đĩa, bộ nhớ đệm, v.v. không còn cần nữa vì các chức năng này được vSAN xử lý tự động.

## Chọn loại CPU

* Theo mặc định, mỗi cụm cung cấp một loại CPU mặc định, dựa trên loại CPU được phát hiện của phần cứng máy chủ; đây thường là tùy chọn tốt nhất để chọn cho mỗi máy.
* Nếu một máy ảo được nhập và loại CPU bị thay đổi, có thể cần kích hoạt lại giấy phép Windows/thêm các chu kỳ nguồn.
* Nếu một máy có thể cuối cùng sẽ được di chuyển/failover sang các cụm có phần cứng CPU máy chủ khác nhau, hãy chọn loại chip CPU thuộc hạng thấp nhất được sử dụng trong số các cụm khi tạo VM mới. Điều này sẽ đảm bảo máy có thể được chuyển sang các hạng chip cũ hơn mà không gặp sự cố.

## Họ hệ điều hành

Việc chọn đúng Họ hệ điều hành (ví dụ: Windows/Linux/FreeBSD) cho VM sẽ giúp đảm bảo các cờ QEMU chính xác được dùng khi khởi động VM, từ đó có thể ảnh hưởng đến hiệu năng. Điều này đặc biệt quan trọng đối với các VM dựa trên Windows.

## Tiết kiệm điện

Tất cả các tính năng tiết kiệm điện nên bị vô hiệu hóa trong hệ điều hành khách vì những tính năng này sẽ không mang lại lợi ích gì và rất có thể sẽ gây ra sự cố. Hãy chọn một *Hiệu năng* hồ sơ thay vì hồ sơ tiết kiệm điện.

## ACPI

Nếu không có hỗ trợ ACPI, sẽ cần vào hệ điều hành khách để thực hiện tắt máy VM một cách sạch sẽ; điều này không tối ưu, đặc biệt khi có số lượng máy lớn. ACPI nên được bật và cấu hình trong hệ điều hành khách để cho phép tắt VM một cách an toàn từ giao diện quản lý VergeOS (hoặc qua API). Trước khi đưa VM vào môi trường sản xuất, nên kiểm tra *Khởi động lại* và *Tắt nguồn* các thao tác từ bảng điều khiển VergeOS, trong khi VM đang ở màn hình đăng nhập/màn hình khóa trong hệ điều hành khách, để xác minh ACPI được cấu hình đúng.

## Đồng bộ hóa đồng hồ

Thông thường, tất cả các máy chủ VM, đặc biệt là những máy chạy các ứng dụng yêu cầu thời gian chính xác, nên được cài đặt và cấu hình NTP trong hệ điều hành khách. Máy tính tự động đồng bộ với đồng hồ phần cứng của chúng khi bật/tắt nguồn và trong các khoảng giữa các lần tắt/bật nguồn theo cách được hệ điều hành khách điều khiển; tuy nhiên, thường chỉ như vậy là không đủ thường xuyên để giữ cho một VM đồng bộ thời gian một cách đầy đủ. NTP được thiết kế để giữ cho máy tính đồng bộ thường xuyên hơn (để duy trì đồng bộ hóa đồng hồ trong phạm vi vài mili giây). Máy chủ NTP nên được chọn cẩn thận, với các máy chủ biên trỏ đến các nguồn NTP được biết là đáng tin cậy và phù hợp về mặt địa lý. Vì điều quan trọng là các nút host và máy khách phải đồng bộ, các máy khách nên được cấu hình để sử dụng các nút host của chúng làm máy chủ NTP hoặc nên được cấu hình để dùng cùng các máy chủ NTP như các nút host vật lý.

### UTC/Thời gian địa phương - VM Windows

Theo mặc định, hệ thống cung cấp thời gian cho các máy ảo ở định dạng UTC. Windows, theo mặc định, mong đợi nhận thời gian theo giờ địa phương; do đó, đối với các máy ảo Windows, hãy làm một trong các cách sau:

* **Cấu hình cài đặt VergeOS để sử dụng giờ địa phương (cho VM)** - Chọn giờ địa phương làm nguồn đồng hồ trong cài đặt VM.
* **Cấu hình Windows để sử dụng UTC** - Thực hiện các thay đổi khóa registry thích hợp trong VM Windows để sử dụng định dạng UTC.

## Ổ đĩa VM

* Trình điều khiển Virtio thường mang lại hiệu năng tốt nhất. Hầu hết các phiên bản hệ điều hành Linux đều chứa sẵn trình điều khiển virtio.\
  Đối với máy Windows, các trình điều khiển virtio mới nhất có thể được tải xuống tại đây: <https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso>
* Hệ thống cung cấp thin provisioning trên lưu trữ, do đó dung lượng được cấp cho một ổ đĩa ảo nhưng chưa sử dụng thực tế sẽ không bị tiêu thụ; vì vậy, trong nhiều trường hợp, có thể nên cấp cho ổ đĩa một dung lượng lớn hơn để tránh phải tăng kích thước ổ đĩa sau này.
* Ổ đĩa Virtio-SCSI có thể được thay đổi kích thước mà không cần chu kỳ nguồn. Một số hệ điều hành khách/hệ thống tệp không hỗ trợ thu nhỏ ổ đĩa. Hãy kiểm tra tài liệu của hệ điều hành khách để xác minh xem việc thu nhỏ ổ đĩa có được hỗ trợ hay không.

## Bảo mật

Điều quan trọng cần nhớ là remote console cung cấp quyền truy cập trực tiếp bằng màn hình/bàn phím/chuột vào máy ảo; việc có được quyền truy cập console sẽ cho phép truy cập vào trạng thái hiện tại của hệ thống (ví dụ: nếu người dùng trước để hệ điều hành khách đăng nhập, người dùng sau đó sẽ có quyền truy cập dưới phiên đăng nhập đó của hệ điều hành khách). Khi tùy chọn console Spice hoặc VNC được bật cho một máy, có thể gán mật khẩu console để kiểm soát truy cập. Tuy nhiên, mật khẩu console không thay thế cho việc sử dụng các hướng dẫn đăng nhập thông minh trong hệ điều hành khách (ví dụ: tài khoản đăng nhập riêng lẻ, yêu cầu mật khẩu phức tạp, v.v.). Quyền hạn VergeOS cho phép kiểm soát rất chi tiết quyền truy cập của người dùng. Hãy sử dụng quyền của người dùng và nhóm để hạn chế truy cập vào các máy ảo khi phù hợp.

## Mạng

* Hãy sử dụng trình điều khiển mạng virtio khi có thể vì chúng thường mang lại hiệu năng tốt nhất. Các trình điều khiển virtio ổn định mới nhất có thể tải xuống tại: <https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso>\
  Hãy sử dụng trình điều khiển mạng kiểu cũ khi cần, nhưng hãy cân nhắc nâng cấp hệ điều hành lên phiên bản mới hơn nếu nó không hỗ trợ trình điều khiển mạng virtio.
* Hãy nhớ rằng -- việc teaming NIC nhìn chung không có lợi trên các VM VergeOS vì dự phòng mạng và cân bằng tải đã được cung cấp qua hạ tầng. Việc sử dụng NIC teaming trong hệ điều hành khách sẽ tiêu tốn tài nguyên không cần thiết và có thể gây ra sự cố. (Ngoại lệ duy nhất cho quy tắc này là trong các trường hợp máy đang sử dụng phần cứng chuyển tiếp mạng vật lý.)

## Đồ họa

* Vô hiệu hóa tất cả trình bảo vệ màn hình trong hệ điều hành khách.
* Loại bỏ tất cả hiệu ứng đồ họa (ví dụ: hiệu ứng kéo hoặc thu nhỏ) trong hệ điều hành khách.

## Bảo vệ dữ liệu - Snapshot và đồng bộ

Một kế hoạch bảo vệ dữ liệu khôn ngoan sẽ bao gồm việc sử dụng cả snapshot và đồng bộ.

* **Ảnh chụp Hệ thống** cung cấp các điểm quay lui cho toàn bộ hệ thống, cho phép khôi phục toàn bộ đám mây VergeOS đó về một thời điểm cụ thể. Thông thường, tốt nhất là cấu hình snapshot ở cấp đám mây; điều này sẽ bao gồm mọi thứ trong Cloud đó và cho phép khôi phục toàn bộ hệ thống, bao gồm từng VM và Tenant. Nhìn chung không cần cấu hình thêm snapshot ở cấp VM, trừ khi có những VM cụ thể cần được chụp thường xuyên hơn hoặc lưu giữ lâu hơn.
* **Snapshot VM thủ công** có thể được tạo ngay trước khi thực hiện các thay đổi, chẳng hạn như cập nhật hệ điều hành khách/ứng dụng hoặc thay đổi cấu hình nâng cao; sau đó các snapshot có thể được lưu cho đến khi xác minh các thay đổi VM.
* **Đồng bộ site** cho phép sao chép dữ liệu đến các hệ thống/vị trí VergeOS từ xa. Đồng bộ là một chiến lược quan trọng để bảo vệ dữ liệu và đảm bảo liên tục kinh doanh bằng cách đưa một bản sao có thể khôi phục nhanh ra ngoài site.

Hãy liên hệ Hỗ trợ để được trợ giúp thiết kế chiến lược bảo vệ dữ liệu của bạn bằng các chức năng tích hợp sẵn của VergeOS.

## Phần mềm khách

* Gỡ cài đặt mọi ứng dụng khách được thiết kế cho các nền tảng ảo hóa khác.
* Kiểm tra danh sách các dịch vụ khởi động tự động và vô hiệu hóa những dịch vụ không cần thiết.
* Chỉ cài đặt phần mềm thực sự cần thiết.

## Tùy chọn Console từ xa

Chỉ chọn tùy chọn console Spice khi sử dụng thin client Spice để có chuyển âm thanh qua, USB từ xa/phát trực tuyến video. Nếu không, tốt hơn là sử dụng VNC. Spice thường chỉ nên được cân nhắc cho các VM máy tính để bàn ảo. Các server luôn nên được cấu hình để dùng VNC trừ khi thực sự cần USB từ xa; nếu không, Spice sẽ có quá nhiều overhead không cần thiết.

{% hint style="success" %}
Việc thay đổi *Bảng điều khiển từ xa* Tùy chọn (VNC/Spice/None) yêu cầu một chu kỳ nguồn và thay đổi video.
{% endhint %}

## Loại máy (mô phỏng kiến trúc bo mạch chủ)

Q35 là mô phỏng mặc định cho VM và nói chung sẽ mang lại hiệu năng và tính năng tốt nhất. Thông thường, khi tạo VM mới, tốt nhất là giữ nguyên lựa chọn mặc định cho Loại máy (điều này sẽ cố định chipset vào phiên bản Q35 mới nhất hiện đang được cài đặt trên các host vật lý). Các phiên bản mô phỏng Q35 cũ hơn và tùy chọn mô phỏng i440FX được cung cấp để tương thích với hệ thống cũ. Cũng có một tùy chọn để chọn *Q35-...Mới nhất* làm một tùy chọn cho Loại máy. Tùy chọn này sẽ tự động nâng cấp VM lên phiên bản Q35 mới nhất hiện có (khi VM được tắt/bật nguồn), khi các phiên bản Q35 mới được cung cấp sau khi hệ thống host được nâng cấp.


---

# 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/run-the-platform/vi/may-ao/vm-best-practices.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.
