Phân tích hiệu suất VM trong VMware vSphere. Phần 3: Lưu trữ

Phân tích hiệu suất VM trong VMware vSphere. Phần 3: Lưu trữ

Phần 1. Về CPU
Phần 2. Về trí nhớ

Hôm nay chúng ta sẽ phân tích các số liệu của hệ thống con đĩa trong vSphere. Vấn đề lưu trữ là nguyên nhân phổ biến nhất khiến máy ảo chạy chậm. Trong trường hợp CPU và RAM, việc khắc phục sự cố kết thúc ở cấp độ bộ ảo hóa, thì nếu có vấn đề với đĩa, bạn có thể phải xử lý mạng dữ liệu và hệ thống lưu trữ.

Tôi sẽ thảo luận về chủ đề này bằng cách sử dụng ví dụ về khối truy cập vào hệ thống lưu trữ, mặc dù đối với truy cập tệp, các bộ đếm gần như giống nhau.

Một chút lý thuyết

Khi nói về hiệu suất của hệ thống con đĩa của máy ảo, người ta thường chú ý đến ba thông số có liên quan với nhau:

  • số lượng hoạt động đầu vào/đầu ra (Hoạt động đầu vào/đầu ra mỗi giây, IOPS);
  • thông lượng;
  • độ trễ của hoạt động đầu vào/đầu ra (Latency).

Số lượng IOPS thường quan trọng đối với khối lượng công việc ngẫu nhiên: quyền truy cập vào các khối đĩa nằm ở những nơi khác nhau. Một ví dụ về tải như vậy có thể là cơ sở dữ liệu, ứng dụng kinh doanh (ERP, CRM), v.v.

Băng thông quan trọng đối với tải tuần tự: quyền truy cập vào các khối được đặt lần lượt. Ví dụ: máy chủ tệp (nhưng không phải luôn luôn) và hệ thống giám sát video có thể tạo ra tải như vậy.

Thông lượng có liên quan đến số lượng thao tác I/O như sau:

Thông lượng = IOPS * Kích thước khối, trong đó Kích thước khối là kích thước khối.

Kích thước khối là một đặc tính khá quan trọng. Các phiên bản hiện đại của ESXi cho phép các khối có kích thước lên tới 32 KB. Nếu khối thậm chí còn lớn hơn, nó được chia thành nhiều khối. Không phải tất cả các hệ thống lưu trữ đều có thể hoạt động hiệu quả với các khối lớn như vậy, do đó, có tham số DiskMaxIOSize trong Cài đặt nâng cao ESXi. Bằng cách sử dụng nó, bạn có thể giảm kích thước khối tối đa bị trình ảo hóa bỏ qua (chi tiết hơn đây). Trước khi thay đổi thông số này, tôi khuyên bạn nên tham khảo ý kiến ​​của nhà sản xuất hệ thống lưu trữ hoặc ít nhất là kiểm tra các thay đổi trên bàn thí nghiệm. 

Kích thước khối lớn có thể có tác động bất lợi đến hiệu suất lưu trữ. Ngay cả khi số lượng IOPS và thông lượng tương đối nhỏ, độ trễ cao vẫn có thể được quan sát thấy với kích thước khối lớn. Vì vậy, hãy chú ý đến thông số này.

Độ trễ – thông số hiệu suất thú vị nhất. Độ trễ I/O của máy ảo bao gồm:

  • độ trễ bên trong bộ ảo hóa (KAVG, MilliSec hạt nhân trung bình/Đọc);
  • độ trễ do mạng dữ liệu và hệ thống lưu trữ cung cấp (DAVG, Trình điều khiển trung bình MilliSec/Lệnh).

Tổng độ trễ hiển thị trong HĐH khách (GAVG, MilliSec/Lệnh khách trung bình) là tổng của KAVG và DAVG.

GAVG và DAVG được đo và KAVG được tính toán: GAVG–DAVG.

Phân tích hiệu suất VM trong VMware vSphere. Phần 3: Lưu trữ
Nguồn

Chúng ta hãy xem xét kỹ hơn KAVG. Trong quá trình hoạt động bình thường, KAVG sẽ có xu hướng bằng XNUMX hoặc ít nhất là nhỏ hơn nhiều so với DAVG. Trường hợp duy nhất tôi biết về mức KAVG dự kiến ​​ở mức cao là giới hạn IOPS trên đĩa VM. Trong trường hợp này, khi bạn cố gắng vượt quá giới hạn, KAVG sẽ tăng lên.

Thành phần quan trọng nhất của KAVG là QAVG - thời gian xếp hàng xử lý bên trong bộ ảo hóa. Các thành phần còn lại của KAVG không đáng kể.

Hàng đợi trong trình điều khiển bộ điều hợp đĩa và hàng đợi lên mặt trăng có kích thước cố định. Đối với các môi trường có tải trọng cao, việc tăng kích thước này có thể hữu ích. Здесь mô tả cách tăng hàng đợi trong trình điều khiển bộ điều hợp (đồng thời hàng đợi lên mặt trăng sẽ tăng lên). Cài đặt này hoạt động khi chỉ có một VM hoạt động với mặt trăng, điều này rất hiếm. Nếu có nhiều VM trên mặt trăng thì bạn cũng phải tăng tham số Disk.SchedNumReqNổi bật (hướng dẫn  đây). Bằng cách tăng hàng đợi, bạn giảm QAVG và KAVG tương ứng.

Nhưng một lần nữa, trước tiên hãy đọc tài liệu từ nhà cung cấp HBA và kiểm tra các thay đổi trên bàn thí nghiệm.

Kích thước của hàng đợi lên mặt trăng có thể bị ảnh hưởng bởi việc đưa vào cơ chế SIOC (Điều khiển I/O lưu trữ). Nó cung cấp quyền truy cập thống nhất vào mặt trăng từ tất cả các máy chủ trong cụm bằng cách thay đổi động hàng đợi thành mặt trăng trên các máy chủ. Nghĩa là, nếu một trong các máy chủ đang chạy VM yêu cầu hiệu suất không tương xứng (VM hàng xóm ồn ào), SIOC sẽ giảm độ dài hàng đợi xuống mặt trăng trên máy chủ này (DQLEN). Thêm chi tiết đây.

Chúng tôi đã sắp xếp xong KAVG, bây giờ là một chút về DAVG. Mọi thứ ở đây đều đơn giản: DAVG là độ trễ do môi trường bên ngoài (mạng dữ liệu và hệ thống lưu trữ) đưa vào. Mỗi hệ thống lưu trữ hiện đại và không quá hiện đại đều có bộ đếm hiệu suất riêng. Để phân tích các vấn đề với DAVG, việc xem xét chúng là điều hợp lý. Nếu mọi thứ đều ổn ở phía ESXi và bộ lưu trữ, hãy kiểm tra mạng dữ liệu.

Để tránh các vấn đề về hiệu suất, hãy chọn Chính sách chọn đường dẫn (PSP) chính xác cho hệ thống lưu trữ của bạn. Hầu hết tất cả các hệ thống lưu trữ hiện đại đều hỗ trợ PSP Round-Robin (có hoặc không có ALUA, Truy cập đơn vị logic bất đối xứng). Chính sách này cho phép bạn sử dụng tất cả các đường dẫn có sẵn tới hệ thống lưu trữ. Trong trường hợp ALUA, chỉ các đường dẫn đến bộ điều khiển sở hữu mặt trăng mới được sử dụng. Không phải tất cả các hệ thống lưu trữ trên ESXi đều có quy tắc mặc định đặt chính sách Round-Robin. Nếu không có quy tắc nào cho hệ thống lưu trữ của bạn, hãy sử dụng plugin từ nhà sản xuất hệ thống lưu trữ, plugin này sẽ tạo quy tắc tương ứng trên tất cả các máy chủ trong cụm hoặc tự tạo quy tắc. Chi tiết đây

Ngoài ra, một số nhà sản xuất hệ thống lưu trữ khuyên bạn nên thay đổi số lượng IOPS trên mỗi đường dẫn từ giá trị tiêu chuẩn là 1000 thành 1. Trong thực tế của chúng tôi, điều này giúp có thể “ép” nhiều hiệu năng hơn ra khỏi hệ thống lưu trữ và giảm đáng kể thời gian cần thiết cho chuyển đổi dự phòng trong trường hợp bộ điều khiển bị lỗi hoặc cập nhật. Kiểm tra các khuyến nghị của nhà cung cấp và nếu không có chống chỉ định, hãy thử thay đổi thông số này. Chi tiết đây.

Bộ đếm hiệu suất hệ thống con đĩa máy ảo cơ bản

Bộ đếm hiệu suất của hệ thống con đĩa trong vCenter được thu thập trong các phần Datastore, Disk, Virtual Disk:

Phân tích hiệu suất VM trong VMware vSphere. Phần 3: Lưu trữ

Trong phần Kho dữ liệu có các số liệu về kho lưu trữ đĩa vSphere (kho dữ liệu) nơi đặt các đĩa VM. Ở đây bạn sẽ tìm thấy các bộ đếm tiêu chuẩn cho:

  • IOPS (Yêu cầu đọc/ghi trung bình mỗi giây), 
  • thông lượng (tốc độ Đọc/Ghi), 
  • độ trễ (Đọc/Ghi/Độ trễ cao nhất).

Về nguyên tắc, mọi thứ đều rõ ràng từ tên của các quầy. Hãy để tôi thu hút sự chú ý của bạn một lần nữa đến thực tế là số liệu thống kê ở đây không dành cho một VM (hoặc đĩa VM) cụ thể mà là số liệu thống kê chung cho toàn bộ kho dữ liệu. Theo tôi, sẽ thuận tiện hơn khi xem các số liệu thống kê này trong ESXTOP, ít nhất là dựa trên thực tế là khoảng thời gian đo tối thiểu là 2 giây.

Trong phần Đĩa có số liệu về các thiết bị khối được VM sử dụng. Có các bộ đếm cho IOPS thuộc loại tổng (số lượng hoạt động đầu vào/đầu ra trong khoảng thời gian đo) và một số bộ đếm liên quan đến truy cập khối (Lệnh bị hủy bỏ, Đặt lại bus). Theo tôi, việc xem thông tin này trong ESXTOP cũng thuận tiện hơn.

Mục Đĩa ảo – hữu ích nhất từ ​​quan điểm tìm kiếm các vấn đề về hiệu suất của hệ thống con đĩa VM. Tại đây bạn có thể thấy hiệu suất của từng đĩa ảo. Thông tin này cần thiết để hiểu liệu một máy ảo cụ thể có gặp sự cố hay không. Ngoài các bộ đếm tiêu chuẩn về số lượng thao tác I/O, khối lượng đọc/ghi và độ trễ, phần này còn chứa các bộ đếm hữu ích hiển thị kích thước khối: Kích thước yêu cầu Đọc/Ghi.

Trong hình bên dưới là biểu đồ về hiệu suất của đĩa VM, nơi bạn có thể thấy số lượng IOPS, độ trễ và kích thước khối. 

Phân tích hiệu suất VM trong VMware vSphere. Phần 3: Lưu trữ

Bạn cũng có thể xem số liệu hiệu suất cho toàn bộ kho dữ liệu nếu SIOC được bật. Dưới đây là thông tin cơ bản về Độ trễ trung bình và IOPS. Theo mặc định, thông tin này chỉ có thể được xem trong thời gian thực.

Phân tích hiệu suất VM trong VMware vSphere. Phần 3: Lưu trữ

ESXTOP

ESXTOP có một số màn hình cung cấp thông tin về toàn bộ hệ thống con đĩa chủ, các máy ảo riêng lẻ và đĩa của chúng.

Hãy bắt đầu với thông tin về máy ảo. Màn hình “Disk VM” được mở bằng phím “v”:

Phân tích hiệu suất VM trong VMware vSphere. Phần 3: Lưu trữ

NVDISK là số lượng đĩa VM. Để xem thông tin cho từng đĩa, nhấn “e” và nhập GID của VM quan tâm.

Ý nghĩa của các thông số còn lại trên màn hình này được thể hiện rõ ràng qua tên gọi của chúng.

Một màn hình hữu ích khác khi khắc phục sự cố là Disk adapter. Được gọi bằng phím “d” (các trường A,B,C,D,E,G được chọn trong hình bên dưới):

Phân tích hiệu suất VM trong VMware vSphere. Phần 3: Lưu trữ

Npth – số lượng đường dẫn đến mặt trăng có thể nhìn thấy được từ bộ chuyển đổi này. Để lấy thông tin cho từng đường dẫn trên bộ điều hợp, hãy nhấn “e” và nhập tên của bộ điều hợp:

Phân tích hiệu suất VM trong VMware vSphere. Phần 3: Lưu trữ

AQLEN – kích thước hàng đợi tối đa trên bộ chuyển đổi.

Ngoài ra trên màn hình này còn có bộ đếm độ trễ mà tôi đã nói ở trên: KAVG/cmd, GAVG/cmd, DAVG/cmd, QAVG/cmd.

Màn hình Thiết bị đĩa, được mở bằng cách nhấn phím “u”, cung cấp thông tin về các thiết bị khối riêng lẻ - mặt trăng (các trường A, B, F, G, I được chọn trong hình bên dưới). Tại đây bạn có thể xem trạng thái của hàng đợi cho các mặt trăng.

Phân tích hiệu suất VM trong VMware vSphere. Phần 3: Lưu trữ

DQLEN – kích thước hàng đợi cho một thiết bị khối.
ACTV – số lượng lệnh I/O trong hạt nhân ESXi.
QUED – số lượng lệnh I/O trong hàng đợi.
%ĐÔ LA MỸ – ACTV/DQLEN×100%.
TẢI – (ACTV + QUED)/DQLEN.

Nếu %USD cao, bạn nên cân nhắc việc tăng hàng đợi. Càng có nhiều lệnh trong hàng đợi thì QAVG càng cao và theo đó là KAVG.

Bạn cũng có thể xem trên màn hình Thiết bị đĩa xem VAAI (vStorage API for Array Integration) có đang chạy trên hệ thống lưu trữ hay không. Để thực hiện việc này, hãy chọn trường A và O.

Cơ chế VAAI cho phép bạn chuyển trực tiếp một phần công việc từ bộ ảo hóa sang hệ thống lưu trữ, chẳng hạn như zeroing, sao chép khối hoặc chặn.

Phân tích hiệu suất VM trong VMware vSphere. Phần 3: Lưu trữ

Như bạn có thể thấy trong hình trên, VAAI hoạt động trên hệ thống lưu trữ này: nguyên thủy Zero và ATS được sử dụng tích cực.

Mẹo tối ưu hóa công việc với disk subsystem trên ESXi

  • Hãy chú ý đến kích thước khối.
  • Đặt kích thước hàng đợi tối ưu trên HBA.
  • Đừng quên bật SIOC trên kho dữ liệu.
  • Chọn PSP theo khuyến nghị của nhà sản xuất hệ thống lưu trữ.
  • Hãy chắc chắn rằng VAAI đang hoạt động.

Bài viết hữu ích về chủ đề:http://www.yellow-bricks.com/2011/06/23/disk-schednumreqoutstanding-the-story/
http://www.yellow-bricks.com/2009/09/29/whats-that-alua-exactly/
http://www.yellow-bricks.com/2019/03/05/dqlen-changes-what-is-going-on/
https://www.codyhosterman.com/2017/02/understanding-vmware-esxi-queuing-and-the-flasharray/
https://www.codyhosterman.com/2018/03/what-is-the-latency-stat-qavg/
https://kb.vmware.com/s/article/1267
https://kb.vmware.com/s/article/1268
https://kb.vmware.com/s/article/1027901
https://kb.vmware.com/s/article/2069356
https://kb.vmware.com/s/article/2053628
https://kb.vmware.com/s/article/1003469
https://www.vmware.com/content/dam/digitalmarketing/vmware/en/pdf/techpaper/performance/vsphere-esxi-vcenter-server-67-performance-best-practices.pdf

Nguồn: www.habr.com

Thêm một lời nhận xét