For the complete documentation index, see llms.txt. This page is also available as Markdown.

Overprovision CPU và lập kế hoạch tài nguyên

Hiểu về cấp phát CPU, tỷ lệ overcommit và các tác động hiệu năng trong VergeOS, bao gồm tỷ lệ khuyến nghị theo loại khối lượng công việc và các phép tính lập kế hoạch dung lượng.

Tổng quan

Quá cấp phát CPU (còn gọi là overcommit) cho phép bạn phân bổ nhiều lõi CPU ảo hơn cho các workload so với số lõi vật lý hiện có. Hướng dẫn này giải thích cách VergeOS xử lý tài nguyên CPU, tác động của việc quá cấp phát và các phương pháp tốt nhất cho việc lập kế hoạch dung lượng.

Cách VergeOS phân bổ CPU hoạt động

Lõi ảo so với lõi vật lý

Khi bạn gán vCPU cho một máy ảo (VM), bạn đang phân bổ các lõi ảo được lập lịch lên các lõi CPU vật lý. VergeOS không dành riêng các lõi vật lý cho VM — thay vào đó, nó sử dụng chia sẻ theo lát thời gian để chia sẻ tài nguyên vật lý.

Các điểm chính:

  • Theo mặc định, vCPU không được ghim vào lõi vật lý

  • Nhiều vCPU từ các VM khác nhau có thể chia sẻ cùng một lõi vật lý

  • Bộ lập lịch của hypervisor quản lý việc phân bổ thời gian CPU

Cài đặt "Số lõi tối đa trên mỗi máy"

Cài đặt của cụm này kiểm soát số lõi CPU tối đa có thể được phân bổ cho một workload duy nhất (VM, node tenant hoặc dịch vụ NAS).

Vị trí: Hạ tầng > Cụm > [Tên cụm] > Chỉnh sửa

Tỷ lệ quá cam kết CPU

Tỷ lệ overcommit là gì?

Tỷ lệ giữa tổng số vCPU đã phân bổ và tổng số lõi vật lý:

Ví dụ: Một cụm 2 node với 32 lõi mỗi node (tổng 64) chạy các VM với tổng 96 vCPU sẽ có tỷ lệ overcommit 1,5:1.

Tỷ lệ khuyến nghị theo loại workload

Loại workload
Tỷ lệ
Ghi chú

Workload nhẹ/văn phòng

4:1 đến 6:1

VM desktop, máy chủ tệp

Mục đích chung hỗn hợp

2:1 đến 4:1

Mô hình doanh nghiệp điển hình

Máy chủ cơ sở dữ liệu/ứng dụng

1:1 đến 2:1

Nhạy cảm với hiệu năng

Điện toán hiệu năng cao

1:1 hoặc thấp hơn

Workload bị giới hạn bởi CPU

Tác động đến hiệu năng

Khi overcommit hoạt động tốt

  • Workload theo đợt: Các VM thỉnh thoảng có đột biến CPU nhưng phần lớn thời gian nhàn rỗi

  • Thời điểm khác nhau: Các workload đạt đỉnh vào những thời điểm khác nhau

  • Ứng dụng phụ thuộc I/O: Các VM chờ đĩa hoặc mạng nhiều hơn CPU

Khi overcommit gây ra vấn đề

  • Workload bị giới hạn bởi CPU: Ứng dụng liên tục sử dụng 100% CPU

  • Ứng dụng nhạy cảm với độ trễ: Hệ thống thời gian thực, VoIP, giao dịch

  • Nhu cầu đồng thời: Tất cả VM đều cần CPU cùng lúc

Dấu hiệu của việc overcommit quá mức

  1. Thời gian sẵn sàng CPU cao: Các VM chờ CPU vật lý sẵn có

  2. Hiệu năng không nhất quán: Ứng dụng lúc thì hoạt động tốt, lúc thì kém

  3. Hệ điều hành khách hiển thị CPU cao: Nhưng hypervisor cho thấy mức sử dụng thấp hơn

Lập kế hoạch dung lượng

Tính toán dung lượng CPU khả dụng

Đối với cụm có dự phòng N+1:

Ví dụ: Cụm 4 node, mỗi node 32 lõi, tỷ lệ mục tiêu 2:1

  • Khả dụng: (4-1) × 32 = 96 lõi

  • vCPU có thể sử dụng: 96 × 2 = 192 vCPU

Các lưu ý về di chuyển

Khi một node bị lỗi hoặc chuyển sang bảo trì:

  • Tất cả VM phải vừa với các node còn lại

  • Mỗi VM phải nằm trong cài đặt "Số lõi tối đa trên mỗi máy"

  • Các VM có nhiều vCPU có thể bị kẹt nếu không có node đơn lẻ nào có thể chứa chúng

Các phương pháp hay nhất

Hướng dẫn chung

  1. Giám sát trước khi phân bổ: Hiểu các mẫu sử dụng CPU thực tế trước khi bổ sung dung lượng

  2. Định cỡ VM hợp lý: Bắt đầu với ít vCPU hơn và tăng theo nhu cầu

  3. Dành sẵn phần dự phòng: Giữ 20-30% dung lượng sẵn có cho các đột biến và failover

  4. Sử dụng giới hạn CPU một cách thận trọng: Chúng ngăn VM sử dụng tài nguyên nhàn rỗi sẵn có

Thiết kế cụm

  1. Kích thước node nhất quán: Giúp việc lập kế hoạch dung lượng đơn giản hơn

  2. Lập kế hoạch cho N+1: Luôn giả định sẽ có một node không khả dụng

  3. Ghi lại các giả định: Ghi lại mục tiêu overcommit và lý do của bạn

Cấu hình VM

  1. Khớp vCPU với workload: Nhiều vCPU hơn không phải lúc nào cũng có nghĩa là hiệu năng tốt hơn

  2. Cân nhắc NUMA: Đối với các VM lớn, hãy giữ vCPU trong ranh giới của node NUMA

  3. Kiểm tra hiệu năng: Đo kiểm với workload thực tế

Giám sát sức khỏe CPU

Các chỉ số chính cần theo dõi

Hệ số
Phạm vi lành mạnh
Hành động nếu vượt quá

Mức sử dụng CPU của cụm

Trung bình < 70%

Thêm node hoặc giảm số VM

Mức sử dụng CPU của node

Duy trì < 80%

Kiểm tra phân bố VM

CPU của từng VM

Khác nhau theo workload

Điều chỉnh kích thước lại hoặc điều tra

Sử dụng Bảng điều khiển VergeOS

  1. Điều hướng tới Cơ sở hạ tầng > Các cụm

  2. Xem biểu đồ mức sử dụng CPU

  3. Nhấp vào từng node để xem các chỉ số theo node

  4. Kiểm tra thống kê CPU của VM trong bảng điều khiển của từng VM

Để biết thêm chi tiết về giám sát cụm, xem Tổng quan về cụm.

Câu hỏi thường gặp

Tôi có thể gán nhiều vCPU hơn số lõi vật lý cho một VM đơn lẻ không?

Có, nhưng hiếm khi mang lại lợi ích. Một VM có nhiều vCPU hơn số lõi vật lý trên một node có thể gặp độ trễ lập lịch khi hypervisor chờ đủ số lõi khả dụng cùng lúc.

VergeOS có hỗ trợ ghim CPU không?

VergeOS không hỗ trợ ghim CPU (affinity). Bên trong hệ thống, VergeOS sử dụng Linux Completely Fair Scheduler (CFS) để lập lịch CPU. Mỗi vCPU được ánh xạ thành một tiến trình/luồng Linux, và tất cả các luồng vCPU cùng chia sẻ chung một hàng đợi chạy CFS. Bộ lập lịch dùng logic công bằng toàn cục để quyết định tiến trình nào được dùng CPU và theo thứ tự nào.

Thiết kế này đảm bảo sử dụng tài nguyên tối ưu và duy trì khả năng di chuyển VM cho live migration và failover. Khi bạn cấp phát vượt mức tài nguyên CPU, bạn đang chia sẻ nhóm lõi vật lý đó với các VM và tenant khác.

Điều này ảnh hưởng thế nào đến cấp phép phần mềm?

Một số phần mềm (Oracle, SQL Server) được cấp phép theo lõi vật lý hoặc socket. Cách lập lịch động của VergeOS có nghĩa là bạn không thể "phân vùng cứng" tài nguyên CPU. Hãy tham khảo chính sách cấp phép ảo hóa của nhà cung cấp phần mềm — nhiều bên cung cấp mô hình cấp phép theo vCPU hoặc theo VM phù hợp hơn với hypervisor hiện đại.

Còn NUMA thì sao?

Đối với các VM có nhiều vCPU, VergeOS cố gắng giữ phân bổ bộ nhớ và CPU trong cùng một node NUMA khi có thể. Để đạt hiệu năng NUMA tốt nhất, hãy giữ số vCPU của VM ở mức bằng hoặc thấp hơn số lõi của một socket duy nhất.

Chủ đề liên quan

Cập nhật lần cuối

Nội dung này có hữu ích không?