Phương pháp đo tốc độ VMs trong hạ tầng VDI truy xuất ổ cứng trên Storage SAN/NAS


Nhiều bạn thắc mắc về vấn đề kiểm soát tốc độ truy cập ổ cứng của các VMs hoặc đưa ra khá nhiều câu hỏi như:

  1. Mức độ chịu tải truy cập của 1 ổ cứng SSD, HDD, IDE, SATA I/II/III trên hệ thống Share Storage , NAS, SAN được tính toán như thế nào ?
  2. Làm thế nào biết được có bao VMs chạy được cùng đồng thời trên các ổ cứng SSD, IDE, SAS, SATA ?
  3. Làm thế nào đo được mức độ tối ưu “Performance Virtual disk” khi triển khai các máy ảo trên hạ tầng VDI ?

Để trả lời cho các câu hỏi dạng tính toán tối ưu nói trên rất phức tạp, thậm chí là khó chính xác, xong để đi tới tận cùng của đáp án, chúng ta phải bắt đầu tư logic căn bản nhất, đó là sử dụng công cụ tính toán mô phỏng và ra đáp số cho từng câu hỏi trên.

Tôi xin giới thiệu công cụ tính toán mô phỏng giữa lý thuyết và thực hành để giải đáp phần nào các câu hỏi của các bạn, thực tế nó cũng chính là những bước làm việc nghiên cứu căn bản trước khi triển khai VDI của chúng tôi.

1. Mô hình tính toán tốc độ và tối ưu hệ thống VDI:

Công cụ cung cấp tính toán đo lường được hiệu suất VDI, nó chính là chìa khóa để hiểu

I/O thực hiện khi tạo cấu trúc VDI.

– Iometer được coi là công cụ tiêu chuẩn khi bạn muốn kiểm tra tải trọng trên một hệ thống lưu trữ. Trong khi có rất nhiều công cụ có sẵn, cân bằng giữa khả năng sử dụng của Iometer và chức năng đo lường. Tuy nhiên, Iometer có phương pháp mô phỏng rất nhanh gọn và dễ dùng và tôi xin viết ngắn gọn để hiển thị một cách chính xác làm thế nào bạn nên sử dụng Iometer để có được kết quả tốt nhất, đặc biệt là khi thử nghiệm cho các môi trường VDI.

Ngoài ra, Tôi cũng sẽ cho bạn thấy làm thế nào để ngăn cản khả năng một ai đó đang cố tình sử dụng Iometer để đưa ra các kết quả đánh lừa bạn.

Iometer không đòi hỏi cơ sở hạ tầng ngoài 2 phần mềm chạy trên OS, bạn có thể sử dụng nó để nhanh chóng xác định hiệu suất hệ thống lưu trữ. Trong trạng thái cài đặt và chạy ngay lập tức trên một máy tính để bàn (thuộc hệ thống VDI hoặc RDS).

– Thông tin phân tích về  I/O sẽ được tính trên hai thông số chính R/W tức là tốc độ đọc/ghi của ổ cứng  (khoảng 80% /20% ghi / đọc; 80%/20% ngẫu nhiên / tuần tự và cuối cùng là thông tin về khối kích thước của đọc / viết sẽ được tính trong khối 4k/8k tương đương như xem phim Full HD 4K / 8k của youtube). Kích thước khối trong một cửa sổ khối lượng công việc thực hiện khác nhau giữa 512B và 1MB, nhưng phần lớn sẽ được ở 4K/8K.

– Nhưng Iometer không cho phép một kích thước khối hỗn hợp trong quá trình thử nghiệm, nên tôi sẽ sử dụng một dạng khối 4K liên tục (không dùng 8K hoặc hơn).

Tóm lại: Điều đó cho thấy rằng, khi dùng Iometer là tốt cho việc phân tích hiệu suất hệ thống lưu trữ, nếu bạn cần mô phỏng một khối lượng công việc lớn hơn trong thực tế cho môi trường VDI của bạn, tôi khuyên bạn nên sử dụng công cụ này được cài đặt tương thích trong Login VSI hoặc DeNamik.

2. Sơ đồ Thực nghiệm:

Tắc nghẽn “thắt cổ chai” cho ra phép tính hiệu suất trong VDI

Iometer thường được chạy từ bên trong một cửa sổ của máy trạm được cài “sử dụng ổ cứng”  trên những hệ thống lưu trữ như: DAS, NAS, SAN thông qua các giao thức như: FC, FCoE, iSCSI, NFS, SMB. Điều này có nghĩa rằng có rất nhiều lớp giữa nó và lưu trữ như chúng ta thấy dưới đây:

image

Nếu chúng ta muốn kiểm tra hiệu năng của việc lưu trữ, lưu trữ phải là nút cổ chai. Điều này có nghĩa là phải có nguồn lực đủ lớn “dạng lũ ống” trong tất cả các lớp khác để xử lý lưu lượng truy cập.

Tác động hiệu quả của “Công nghệ tự định hướng và đề xuất” giúp đo lường Hiệu suất lưu trữ

Nếu máy ảo VM của bạn được cấp quyền sử dụng thông qua công nghệ ảo Citrix Provisioning Services (PVS), Citrix máy Dịch vụ kiểm soát (MCS) hoặc VMware View Clones Link, bạn sẽ nhận được phương pháp thực nghiệp “bottlenecked” bằng “công nghệ tự đề xuất” mà tôi đang nói đến.

– Bạn thử nghiệm với Iometer so sánh trên chính các ổ Virtual Disk cài OS bootable ví dụ: C: ổ đĩa của một máy ảo được cung cấp duy nhất, bạn sẽ không có được cái nhìn đầy đủ về hiệu suất lưu trữ khi các lượng lưu trữ thay đổi hoặc có các I/O Workload được xử lý.

Bạn không thể đo lượng IOPS tối đa từ một máy ảo duy nhất, hoặc 1 ổ cứng bootable OS duy nhất trên 1 VM vì ngoài tham số trực tiếp trên 1 VM bạn sẽ gặp các vấn đề về tranh chấp tài nguyên giữa các VM khi chúng cùng cố gắng để lưu trữ “stress-test”.

– Tôi sẽ luôn luôn thêm một ổ đĩa thứ hai vào máy ảo và kiểm tra Iometer chống lại một ổ đĩa cứng thứ hai như thể sẽ có khả năng by-passes qua được các vấn đề áp dụng cho PVS / MCS / VMware view Linked Clones.

Tóm lại: Trong 99% các trường hợp tôi sẽ thực sự kiểm nghiệm chứ không phải kiểm tra đối phó để tìm ra kết quả thông thường trên VM có OS Windows 7. Bởi điều này có nghĩa là một máy ảo mới được cài đặt từ đầu, không join domain và chỉ có các công cụ hypervisor thích hợp cài đặt như: VMware Tool Installer, VM Hyper-V Tool.

Hãy nhớ rằng, Iometer được thiết kế để kiểm tra lưu trữ. Bằng cách kiểm tra với một VM nằm trong môi trường ảo VDI, bạn sẽ có đường cơ sở phân tích hiệu suất lõi của VDI. Từ đó bạn có thể vào thử nghiệm một máy ảo cấu hình đầy đủ; và bây giờ bạn có thể hiểu được tác động của các trình điều khiển lọc AV, được cung cấp bởi các dòng liên kết, hoặc phần mềm / agent/ plug-in khác v.v.  nhằm xác định chính xác hiệu suất lưu trữ.

3. Sử dụng Iometer để thử nghiệm VDI: lợi thế và nhược điểm

Trước khi chúng ta chuyển sang các thiết lập cấu hình thực tế bằng Iometer, tôi muốn nói một chút về các tập tin thử nghiệm mà Iometer tạo để tạo “lũ ống” cho I/O. Tập tin này được gọi là iobw.tst và là lý do tại sao tôi khoái cũng là ghét Iometer. Nó là nguồn gốc để hình thành lên Iometers, lỗi lớn nhất và cũng là lợi thế lớn nhất của nó.

1. Lợi thế: Iometer có thể tạo ra bất kỳ kích thước của tập tin thử nghiệm mà bạn thích để đại diện cho các kịch bản thử nghiệm mà bạn cần. Khi chúng ta nói về một hệ thống VDI duy nhất có 100 máy ảo Win 7, hoặc 8 máy chủ ảo dòng  RDS, kích thước của các I/O ‘làm việc thiết lập “phải là ở mức tối thiểu, kích thước tổng thể của các bộ nhớ phân trang pagefiles: vì đây sẽ là một tập hợp các dữ liệu duy nhất mà luôn được sử dụng.

Vì vậy, nếu 1 VDI có 100 máy ảo Win 7 có cấu hình 1GB RAM, kiểm tra tập tin này sẽ có ít nhất 100GB và  cộng thêm 8 máy chủ ảo RDS có cấu hình 10GB RAM, nó sẽ có ít nhất 80GB.

Các thiết lập làm việc thực tế của dữ liệu có thể sẽ cao hơn nhiều so với điều này, nhưng tôi chỉ xin nói về mức tối thiểu.

Điều này có nghĩa rằng nó sẽ rất khó khăn cho một Storage array hoặc RAID để giữ làm việc thiết lập trong bộ nhớ cache.

Iometer cho phép chúng ta thiết lập các tập tin thử nghiệm với một kích thước bất kỳ sẽ bắt chước như một thiết lập làm việc bình thường. Trong thực tế, tôi đã tìm thấy rằng một tập tin thử nghiệm 10-20GB là đủ để bắt chước một cách chính xác lưu lượng trên máy VDI duy nhất. Nếu bạn vẫn cần nhận được kết quả lớn hơn từ lưu trữ của bạn, chúng ta hoàn toàn có thể tăng kích thước của tập tin thử nghiệm này.

2. những bất lợi: iobw.tst có thể bị lỗi. Nếu bạn thay đổi kích thước các tập tin mà không xóa, nó không thay đổi kích thước (nó chưa có lỗi) và nếu bạn xóa các tập tin mà không đóng “Close Iometer”, Iometer sẽ bị treo.

Ngoài ra, nếu bạn không chạy Iometer as administrator, Windows 7 sẽ đặt các tập tin iobw.tst trong hồ sơ cá nhân “user profile data” thay vì thư mục gốc của C :. OK, đó không phải là về mặt kỹ thuật lỗi căn bản của Iometer, nhưng nó vẫn còn gây phiền nhiễu nếu bạn không làm đúng quỳ trình.

 

4. Cấu hình khuyến cáo dùng Iometer tính toán VDI:

image

 

Số lượng Workers chủ yếu là số lượng các threads được sử dụng để tạo ra các yêu cầu I/O, tuyển thêm Workers sẽ bổ sung độ trễ, nó cũng sẽ bổ sung thêm một lượng nhỏ amount trong tổng số I/O. Chúng ta chỉ xem xét 4 works để có sự cân bằng tốt nhất giữa độ trễ và IOPS.

Chọn máy tính có nghĩa là tất cả các Workers đều được cấu hình cùng một lúc, bạn có thể kiểm tra xem các Workers được cấu hình một cách chính xác bằng cách chọn từng workers riêng lẻ để kiểm tra.

Các ổ đĩa thứ hai nên được sử dụng để tránh các vấn đề với trình điều khiển lọc AV / dự phòng v.v. trên ổ C: (mặc dù Iometer luôn luôn nên được chạy trong một cấu hình cài đặt ngầm định).

Số lượng các thành phần cung cấp cho bạn kích thước của tập tin thử nghiệm, điều này là cực kỳ quan trọng như được đề cập ở trên. Bạn có thể sử dụng các trang web sau đây để xác định các chuẩn kích thước GB sectors:

http://www.unitconversion.org/data-storage/blocks-to-gigabytes-conversion.html

Các kích thước được sử dụng trong ví dụ để có được 10-20GB là 21.943.040  – 41.943.040 sectors.

Lý do cho việc cấu hình vượt  trên 16 I/O tương tự như số lượng Workers  tăng I/O sẽ làm tăng độ trễ trong khi tăng nhẹ IOPS. Như với việc tăng Workers, tôi nghĩ rằng 16 là một sự thỏa hiệp tốt. Bạn cũng có thể tham khảo bài viết sau đây liên quan đến con số I/O ngon lành: http://communities.vmware.com/docs/DOC-3961

Network Target Tab: không có gì thay đổi.

Thông số truy cập:

image

Để cấu hình một khối lượng công việc bắt chước một máy tính để bàn, chúng ta cần phải tạo ra một đặc điểm kỹ thuật mới.

image

Các thông số kỹ thuật truy cập mới cần phải có các cài đặt sau. Điều này đảm bảo rằng các mô hình thử nghiệm là thống nhất và phù hợp nhất có thể trong một khối lượng workload của VDI. Các thiết lập là:

 

  • 80% Viết

  • 80% Random

  • Block 4K

  • Ranh giới truy cập tới hạn mức 128K, điều này có lẽ là quá mức cần thiết và 4K sẽ là tốt, nhưng nên loại bỏ bất kỳ vấn đề chỉnh đĩa.

  • Những tham số trên là phức tạp, bạn có thể tìm hiểu qua link:  http://www.atlantiscomputing.com/win7iops 

    image

    Sau đó, bạn nên thêm các thông số kỹ thuật truy cập cho việc quản lý.

    image

     

    Lưu ý: Tôi chỉ cấu hình thử nghiệm để chạy trong vòng 30 giây, kết quả sẽ được nhận sau khoảng thời gian đó. Quan trọng hơn, nếu bạn đang thử nghiệm trên SAN, Iometer khi cấu hình một cách chính xác sẽ sơi tất cả các hiệu suất SAN của bạn. Vì vậy, nếu bạn đang có khối lượng công việc khác trên SAN của bạn, chạy Iometer trong một thời gian dài sẽ ảnh hưởng nghiêm trọng tới chúng.

    image

     

    Thiết lập Update Frequency (seconds) để xem kết quả diễn ra.

    Thiết lập ‘Results Since’ để chọn ‘Start of Test’ bạn sẽ nhận được các giá trị tính a reliable average.

    Cả 2 giá trị Read và Write tính giá trị trung bình. response times (Latency) là rất cần thiết.

    Bạn nên lưu kết quả ra 1 file csv, nó sẽ lưu tất cả các kết quả mà bạn đang cần thực nghiệm.

    Lưu cấu hình

    Bạn nên lưu lại cấu hình để sử dụng sau này bằng cách nhấn vào biểu tượng ổ đĩa. Điều này sẽ tiết kiệm cho bạn phải cấu hình lại Iometer mỗi lần chạy thử nghiệm mà bạn làm. Các tập tin được lưu dưới dạng * .icf ở một vị trí lựa chọn của bạn.

    Giải thích kết quả

    iometer_result

    Các giá trị nói về IOPS càng cao thì càng tốt, chính là dòng “Total I/Os per Second” và nó phải được tính toán trên một độ trễ hợp lý, bất kỳ điều gì được thực hiện dưới < 5ms là vô cùng tốt.

    Đối với IOPS tối đa có thể cho một trục số trễ là 200ms, bạn nên kiểm tra kỹ kết quả đừng đi theo suy đoán, dự đoạn giá trị. ví dụ: Đối với một ổ SSD, bạn có thể có được từ 3 – 15.000 IOPS tuỳ thuộc vào độ trống rỗng của ổ cứng đó, nó sẽ như thế nào với việc sử dụng và mức độ tốn kém tới đâu khi phải phục vụ nhiều VM trong VDI ? do vậy, bạn nên kiểm tra kỹ lưỡng hiệu suất sử dụng và lưu trữ.

    Bạn không cần phải chia IOPS cho bao nhiêu máy VM hoặc kiểm tra thông lượng, lượng đọc, ghi v.v. vì chúng ta đã biết fix IOmeter đọc 20%, ghi 80% rồi (phần cấu hình ở trên).

     

    Làm thế nào bạn có thể kiểm tra một người nào đó sử dụng công cụ nào đó để lừa bạn về hiệu suất Lưu trữ ?

    –  Nếu các bạn không để mắt đến chuyện hiệu suất “Performance and sizing” hoặc bạn chưa bao giờ được ROBUSTA đào tạo, hoặc nói thẳng bạn chưa bao giờ có ý định học hỏi ở chúng tôi, bạn sẽ không có nhiều kỹ năng, chia sẻ kinh nghiệm, Bạn sẽ luôn nhận được kết quả  hiển thị chữ “thất bại” làm đại diện cho bạn.

    – Dưới đây là một danh sách những thứ để kiểm tra khi có ai đó đang hiển thị cho bạn một kết quả trong mơ.

  • Điều gì làm nên kích thước của các tập tin thử nghiệm có trong Windows Explorer / Linux Explorer ?
  • – Nó cần phải được thử nghiệm rất lớn (tối thiểu 10- 20GB) bởi ảo hoá đồng nghĩa sẽ có các file VMDK, VHD siêu lớn.

  • Làm thế nào xác định tuần tự các khối lượng công việc Workloads cho các bộ vi xử lý CPU ?
  • – Chúng nên xử lý tuần tự, dễ dàng hơn đó là để hiển thị kết quả tốt hơn cho IOPS và kiểu Passthrough. (Nó nên được đặt ở mức tối thiểu là 75% – 80% so với ngẫu nhiên)

  • Kích thước khối “block size” là gì?
  • – Windows có một kích thước khối 4K, VMware VMFS có kích thước 8K – 18K, bất cứ điều gì khác không phải là một cách kiểm tra có liên quan và có thể giúp chúng ta xác định đúng các nhà cung cấp thiết bị chuẩn.

     

    Chúc các bạn tiến bộ không ngừng ở ngành CNTT VDI !

    About thangletoan

    Hallo Aloha

    Posted on 07/09/2015, in Ảo hoá, Ảo hoá VMware, Horizon View, Horizon View 5.2, Horizon View 6.1.1, vdi, VHD, VMware, VMware ESXi, VMware ESXi 5, VMware ESXi 6, VMware ESXi host, VMware Horizon View 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: