Kiểm soát tài nguyên Processor trong các máy khách Hyper-V

Robert Larson

Quản trị mạng - Windows Server 2008 Hyper-V cho phép bạn sử dụng đến bốn bộ vi xử lý ảo trong một máy ảo và cho phép bạn cấu hình các tùy chọn để các bộ vi xử lý ảo này được cân bằng như thế nào giữa các máy ảo. Trong bài này chúng tôi sẽ giới thiệu cho các bạn các tùy chọn cho việc điều khiển tài nguyên của bộ vi xử lý và cách sử dụng chúng như thế nào.

Hyper-V sử dụng các bộ vi xử lý và các lõi vật lý để cung cấp các bộ vi xử lý ảo cho các máy ảo. Mỗi một máy ảo bắt đầu với một bộ vi xử lý ảo, nhưng bạn có thể tăng số bộ vi xử lý ảo lên 2 hoặc 4 trên mỗi máy ảo. Các bộ vi xử lý ảo là các thread thực trong partition cha được chạy tên một bộ vi xử lý vật lý. Khi một máy ảo được đưa vào hoạt động, trạng thái “on”, một thread sẽ được tạo cho mỗi bộ vi xử lý trong máy ảo và có thể được lập lịch trình bởi Virtual Machine Manager (VMM) trên lõi vật lý hoặc một bộ vi xử lý vật lý riêng.

Việc cấu hình số các bộ vi xử lý trong một máy ảo được thực hiện từ hộp thoại các thiết lập máy ảo. Bạn có thể quan sát số các bộ vi xử lý ảo khi máy ảo đang hoạt động, tuy nhiên không thể thay đổi số các bộ vi xử lý có sẵn cho tới khi máy ảo trong trạng thái “off”. Hình 1 thể hiện cho các bạn thấy hộp thoại có các thiết lập, trong hình này nút Processor đã được chọn và bạn có thể thấy phần bên phải có khả năng chọn số các bộ vi xử lý, trong trường hợp này, 1 hoặc 2 bộ vi xử lý đang có sẵn. Điều này được xác định bởi số lõi có sẵn trong phần partition cha. Để thay đổi và chọn 4 bộ vi xử lý trong một máy ảo, partition cha phải có 4 lõi (hoặc 4 bộ vi xử lý nếu không đa lõi).

Hình 1

Kiểm soát tài nguyên

Sự ảo hóa sẽ cho phép bạn thiết lập một số hạn chế cho công việc xử lý phần cứng vật lý. Chúng tôi có thể chỉ có 4 lõi trên máy chủ vật lý, tuy nhiên đã tạo và có hơn 4 máy ảo đang chạy. Mỗi một máy ảo sẽ chia sẻ một bộ vi xử lý ảo trong partition cha, tuy nhiên nếu không có sự hạn chế áp đặt thì một máy ảo có thể dùng hết toàn bộ một lõi trong máy. Cho ví dụ, nếu chúng tôi đặt một bộ vi xử lý máy ảo một trên một máy có một bộ vi xử lý bốn lõi thì máy ảo sẽ có một thread có thể tiêu tốn tương đương toàn bộ lõi hoặc thời gian xử lý. Nếu nó có 2 bộ vi xử lý đã được cấu hình thì điều đó có khả năng tiêu tốn cho 2 lõi. Còn trong trường hợp bạn cấu hình máy ảo thành có 4 lõi thì nó có thể tiêu tốn tất cả các năng suất xử lý của máy chủ và chiếm phần tài nguyên của các máy ảo khác.

Virtual Machine Manager (VMM) quản lý việc lập lịch trình cho các thread của tất cả các máy ảo đang hoạt động. Mặc định, nó sẽ cố gắng cân bằng việc xử lý trên tất cả các lõi trong máy vật lý để cân bằng sự phân phối đến các bộ vi xử lý. Như đã giới thiệu ở trên, một máy ảo hoàn toàn có thể dùng hết toàn bộ các lõi của bộ vi xử lý và lấy đi các thread đang chạy trên một lõi. Tuy Hyper-V không có khả năng giống như vậy (khả năng cho việc quản trị cụ thể lõi bộ vi xử lý có một thread chạy trên), nhưng bạn vẫn có khả năng “lệnh” cho VMM những gì muốn áp dụng cho việc kiểm soát tài nguyên trên mỗi một máy ảo để thiết lập các hạn chế đối với khả năng của các máy ảo.

Hyper-V đã thực hiện việc kiểm soát tài nguyên theo các cách khác nhau:

  • Thiết lập một dự trữ cho việc xử lý tài nguyên bằng phần trăm
  • Thiết lập sự tối đa cho việc xử lý tài nguyên bằng phần trăm
  • Thiết lập trọng lượng tương đương của máy ảo với nhau trong hệ thống.

Dự trữ máy ảo

Sự dự trữ máy ảo cho phép bạn chỉ định phần trăm của bộ vi xử lý ảo được gán để máy ảo đó sẽ được bảo vệ trên host vật lý. Giá trị này có thể nằm trong dải từ 1-100% và tương quan với số bộ vi xử lý được gán cho máy ảo. Cho ví dụ, nếu một host vật lý có 4 lỗi và bạn gán một bộ vi xử lý đơn cho một máy ảo thì máy ảo đó có thể sử dụng toàn bộ lõi bộ vi xử lý về thời gian xử lý nhưng không được bảo đảm rằng thời gian xử lý có sẵn ở mọi thời điểm.

Bằng cách thiết lập giá trị dự trữ này là 100%, máy ảo này sẽ được dự trữ tương đương như toàn bộ lõi bộ vi xử lý. Nếu máy ảo nhàn rỗi khoảng 10% trong hầu hết tổng số thời gian thì 90% thời gian xử lý vẫn không có sẵn cho bất cứ máy ảo nào khác. Việc kiểm soát tài nguyên dự trữ sẽ hạn chế số lượng có sẵn của tài nguyên bộ vi xử lý ảo có thể được chia sẻ trên Hyper-V host và sẽ hạn chế số máy ảo hoạt động đồng thời. Nếu bạn có 20 máy ảo được cấu hình với một bộ vi xử lý đơn trên một host có 4 lõi và bạn thiết lập dự trữ là 100% thì bạn chỉ có thể sử dụng 4 máy ảo.

Sự dự trữ chỉ nên sử dụng trong trường hợp bạn muốn bảo đảm cho một máy ảo nào đó luôn hoạt động. Nó điển hình được sử dụng trên các máy ảo mà bạn biết rằng sẽ cần xử lý nhiều công việc và có tầm quan trọng thực sự.

Hạn chế máy ảo

Các hạn chế của máy ảo đối ngịch lại với sự dự trữ của nó, nó cho phép bạn chỉ định số lượng xử lý lớn nhất mà một máy ảo tiêu tốn. Giá trị này có thể được đặt từ 100-1% và tương đương với số bộ vi xử lý được gán cho máy ảo. Cho ví dụ, nếu một host vật lý có 4 lõi và bạn gán một bộ vi xử lý cho một máy ảo thì máy ảo đó có thể tiêu tốn hết toàn bộ thời gian xử lý của lõi nhưng không có hạn chế nào cả, chính vì vậy máy ảo có thể sử dụng toàn bộ tài nguyên của lõi. Tuy nhiên nếu thiết lập hạn chế là 10% thì máy ảo sẽ bị hạn chế tối đa là 10% về toàn bộ năng lực xử lý của lõi.

Nếu một máy ảo nào đó cần ưu tiên xử lý nó sẽ được hạn chế không hơn 10% năng suất của lõi và do đó sẽ có được hiệu suất tốt. Bằng cách sử dụng điều khiển hạn chế tài nguyên này sẽ hạn chế độ số lượng tài nguyên của bộ vi xử lý ảo có sẵn bị tiêu tốn trên Hyper-V host và cho phép bạn kiểm soát được số máy ảo vật lý làm việc đồng thời và có được số lượng cụ thể về năng suất xử lý trên mỗi máy ảo. Nếu bạn có 20 máy ảo được cấu hình với một bộ vi xử lý đơn trên một host có 4 lõi và thiết lập hạn chế là 10% thì bạn chỉ tiêu tốn tương đương hai lõi bộ vi xử lý và vẫn có thể cung cấp cho số máy còn lại khác (giả dụ có đủ bộ nhớ và tài nguyên đĩa). Điều này cũng có nghĩa rằng nếu bạn chỉ xử lý trên một máy ảo thì nó có thể sẽ không tiêu tốn hơn 10% năng suất xử lý của lõi.

Việc hạn chế bộ vi xử lý chỉ nên sử dụng nếu bạn muốn hạn chế năng suất xử lý của máy ảo. Cách thức này thường được sử dụng bởi các nhà cung cấp dịch vụ web, vì họ muốn có được khả năng tối đa số lượng máy ảo trên một host, tuy nhiên vẫn cung cấp một mức dịch vụ cụ thể.

Đối trọng tương xứng

Đối trọng tương xứng cho phép bạn chỉ định máy ảo có quyền ưu tiên mà không cần sử dụng một hạn chế hoặc sự dự trữ nào. Giá trị này được thiết lập từ 0-10000. Đối trọng tương xứng được sử dụng để tạo nên sự rõ ràng trong trường hợp ai đó muốn xử lý tài nguyên khi nhiều yêu cầu được thực hiện cùng một thời điểm. Cho ví dụ, mặc định nếu bạn có 4 máy ảo đang chạy, tất cả 4 đều chia sẻ năng suất xử lý như nhau vì chúng đều có đối trọng tương xứng bằng nhau. Nếu bạn có một máy nào đó quan trọng hơn các máy còn lại và muốn các yêu cầu trên máy đó được xử lý ưu tiên hơn các máy khác thì bạn có thể gán cho máy ảo đó đối trọng cao hơn so với các máy ảo khác. Điều này có nghĩa ràng nếu máy ảo có đối trọng cao hơn cần nhiều tài nguyên thì nó sẽ được phép sử dụng nhưng nếu nó không sử dụng đến chúng thì các máy ảo khác vẫn có thể sử dụng. Cách thức này vẫn bị hạn chế bởi số lượng bộ vi xử lý được gán cho máy ảo. Nếu bạn gán cho một máy ảo một bộ vi xử lý đơn và có đối trọng cao thì nó có thể sử dụng tối đa năng lực xử lý của lõi này.

Kết luận

Hyper-V cung cấp mặc định cho tất cả các máy ảo các mức ưu tiên ngang nhay và sự truy cập vào tài nguyên tương đương. Bạn có thể gặp phải các tình huống mà ở đó muốn bảo đảm rằng máy ảo có một số cụ thể năng suất xử lý đối với toàn bộ thời gian, có thể muốn bảo đảm rằng máy ảo có thể sẽ không bao giờ tiêu tốn nhiều hơn một số phần trăm cụ thể năng suất xử lý hoặc muốn nó cân bằng năng suất một cách mặc định trừ thời gian xử lý đỉnh và sau đó cho phép một máy ảo nào đó có quyền xử lý ưu tiên. Hyper-V cho phép bạn có được khả năng linh hoạt trong việc chọn phương pháp điều khiển tài nguyên trên một máy ảo của mình.

Thứ Năm, 18/12/2008 13:21
31 👨 991
0 Bình luận
Sắp xếp theo
    ❖ Kiến thức cơ bản