VMware vSphere 4: Distributed Resource Scheduler

Trong bài trước VMware vSphere 4: vMotion–sMotion chúng ta đã đi một cách tổng quan nhất về vMotion và sMotion. Tuy nhiên tính năng vMotion sẽ mang đến cho mọi người nhiều khuất mắc “vMotion giải quyết cho chúng ta bài toán cân bằng tải nhưng tại sao lại quá manual như vậy?” và đây cũng chính là khuất mắc lớn bài toán lớn cho VMware trong thời kỳ đầu phát triển. Để giải quyết bài toán này họ đã phát triển một tính năng gọi là DRS (Distributed Resource Scheduler), nó cho phép ứng dụng vMotion trong việc cân bằng workload hệ thống một cách tự động hóa nhất mà không cần đến quá nhiều thao tác từ phía con người trong quá trình hệ thông vận hành. Bên cạnh đó trong DRS còn hỗ trợ cách thuật toán giải quyết vấn đề cân bằng ngay từ những thao tác lựa chọn host đặt VM khi mới khởi tạo hoặc cân bằng tài nguyên khi thực hiện HA.

image

Sơ lược thì DRS gồm 4 tính năng sau:

  • Phân tích và khởi tạo máy ảo tại máy host thích hợp nhằm đảm bảo cân bằng hệ thống.

Tính năng này bắt gặp trong các tình huống power on máy ảo trong một cluster tùy theo việc cấu hình mà hệ thống sẽ đưa ra các đề nghị host thích hợp đặt máy ảo với các mức đề nghị khác nhau (1—>5) hoặc sẽ tự động hóa hoàn toàn thay vì đề nghị vị trí đặt máy ảo thích hợp (chú ý hành động power on này cũng tính trong trường hợp HA reset máy ảo)

  • Cân bằng tải hệ thống trong quá trình vận hành một cách tự động hóa

Hệ thống sẽ tự động monitor liên tục trạng thái tài nguyên CPU và Ram liên tục trên tất cả đối tượng host hay VM trong cluster đảm bảo khi có bất kỳ “trạng thái” mất cân bằng nào xảy ra thì hành đồng vMotion sẽ thực thi trên các VM và cũng tùy cấu hình của hệ thống mà nó sẽ ở dạng đề nghị hay tự động hóa.

image

Vậy khi nào thì tính năng DRS này xem hệ thống đang trong trạng thái mất cân bằng?

Nó sẽ dựa trên một tham số làm chuẩn gọi là độ lệch chuẩn. Mỗi Cluster khi cấu hình DRS sẽ có một độ lệch tiêu chuẩn đặt ra. Không biết cách tính toán ra sao nhưng con số này hầu như là fix qua việc tham khảo các cluster với các số lượng khác nhau (thông số hiện trong bảng summary mức Cluster):

  • 4 host : 0.141
  • 3 host : 0.163
  • 2 host : 0.2

image

Chú ý trong hình sẽ có 2 tham số độ lệch chuẩn:

  • Target host load standard deviation: là độ lệch chuẩn đề cập bên trên đây là một con số mang ý nghĩa kỳ vòng, nó càng nhỏ hơn nó thì cluster càng chứng tỏ đang ổn định về workload.
  • Current host load standard deviation: là độ lệch chuẩn hiện tại do hệ thống tính ra dựa trên trung bình workload trên một host của cluster và nó liên tục cập nhật tính toán lại sau mỗi 5 phút.

Khi Target host load standard deviation < Current host load standard deviation chứng tỏ hệ thống đang ở trạng thái “lệch”, workload ở tình trạng bất thường và cần thực hiện thao tác vMotion để cân bằng hệ thống. Nhưng để trước khi có thể thao tác vMotion thì hệ thống DRS với các thuật toán cần tìm ra các VMs thích hợp để thực hiện thao tác vMotion. Kết quả trả ra là thứ tự ưu tiên của các VMs thích hợp vMotion con số này đi từ 1 –> 5 số càng cao thì độ ưu tiên thực hiện vMotion càng cao đồng nghĩa với việc số càng cao thì tác động tới trạng thái workload của cluster càng tốt.

Vậy câu hỏi đặt ra lựa chọn VMs để vMotion dựa trên tiêu chí nào đây?

image

Trong khi trạng thái bất thường còn tồn tại hệ thống sẽ luôn tính toán danh sách thự tự ưu tiên của các máy ảo bằng cách đưa chúng vào một bộ lọc (màu tím) với máy ảo là v và host là h. Thuật toán này sẽ so mỗi VM với tất cả các host ngoại trừ so với chính host đang chứa VM này. Thao tác tiếp theo là so sánh trọng tải hiện tại giữa h và host nguồn hiện tại cũng như phân tích rủi ro và các lợi điểm chập nhận được:

  • Cost benefit
    • Cost: CPU reserved during migration on t he target host
    • Cost: Memory consumed by shadow VM during VMotion on the target host
    • Cost: VM “downtime” during the VMotion
    • Benefit: More resources available on source host due to migration
    • Benefit: More resources for migrated VM as it moves to a less utilized host
    • Benefit: Cluster Balance
  • Risk Analysis
    • Stable vs unstable workload of the VM (historic info used)

Khi thỏa mãn các điều kiện trên thì hệ thống DRS sẽ giả lập hành động vMotion để tính toán ra một con số g gọi là độ lệch chuẩn đạt được khi thực hiện vMotion vm này với host này. Kết quả g sẽ được tính một lần nữa ra một có số nguyên 1 –>5 gọi là độ ưu tiên với công thức như sau:

6 – ceil(LoadImbalanceMetric / 0.1 * sqrt(NumberOfHostsInCluster))

Tuy nhiên tùy theo cấu hình mà chúng ta se quyết định hệ thống automated vMotion dựa theo danh sách này hoặc chỉ mang tính danh sách đề nghị và chúng ta cần thao tác đồng ý trong bảng danh sách đó để thực hiện vMotion.

Ở đây sẽ có một số thắc mắc liệu rằng đúng là host đang quá tải cần cân bằng nhưng việc vMotion có khi nào lại thực hiện trên các VM đang có workload cao hay không vì bản chất vMotion chúng là có lơi nhất (chiếm quá nhiều tài nguyên) mà thực tế lại ko muốn vMotion các VM dạng này vì ai dám chắc rằng hành động này không làm ảnh hưởng đến nó. Dạng câu hỏi này chúng ta sẽ dễ dàng trả lời là 50/50 vì với những VM dạng này liệu chúng đã có thể qua được bộ lọc của DRS hay không với các Cost benefit như trên cũng như rủi ro mà bên trên đề cập Smile

  • Khả năng quản lý nguồn năng lượng hệ thống – Distributed Power Management

Cũng như chức năng tối ưu hóa quá trình tải tài nguyên qua nhiều máy chủ lưu trữ ESX của DRS, DPM cũng có thể góp phần thực hiện chức năng này bằng cách di chuyển các máy ảo khách khỏi những máy chủ không sử dụng và tắt những máy chủ này.
Trong VMWare, DPM được mô tả như sau:

”VMWare DRS tích hợp tính năng quản lý điện năng phân phối (DPM) thử nghiệm. Khi DPM được kích hoạt hệ thống sẽ đối chiếu công suất cấp độ máy chủ và cluster với yêu cấu của những máy ảo đang vận hành trong cluster đó. Dựa trên kết quả so sánh, DPM sẽ đề cuất (hay tự động triển khai) các biện pháp giúp giảm tiêu thụ điện năng của cluster.”

Tại sao máy chủ đã được bật lại không cần thiết và không được sử dụng? Điều này giống như khi chúng ta bật đèn khi đã có đủ ánh sáng – một sự lãng phí không cần thiết. Và DPM có thể tự động tắt những máy chủ không sử dụng đến vấn đề này thường gặp trong một số trường hợp hệ thống máy chủ lớn trong các khoản thời gian không workload đâm ra lãng phí tiền điện để vận hành các máy chủ. Lúc này DRS sẽ thực hiện nhiệm vụ của mình vMotion sang một nhóm host đủ tải còn các host dư sẽ standby tiế kiệm điện năng.

image

  • Thiết lập quy tắc cho các mối quan hệ máy ảo

Trong thực tế vì một vài lý do như hiệu suất, băng thông… mà người thiết kế sẽ có nhu cầu đặt ra một nhóm máy ảo A nhất định chỉ năm trong một nhóm máy host A nhất định tương tự cũng sẽ có quy tắc nhóm các máy ảo B chỉ được DRS qua một nhóm các máy host B nhất định. Trong DRS tính năng hỗ trợ giải quyết bài toán này gọi là DRS Host Affinity

image

Posted on 25/10/2011, in VMware and tagged , , , , , . Bookmark the permalink. Để lại bình luận.

Gửi phản hồi

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Log Out / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Log Out / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Log Out / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Log Out / Thay đổi )

Connecting to %s

%d bloggers like this: