Nâng cao tính khả dụng của các dịch vụ lưu trữ với Hệ thống lưu trữ NFS (4)

Phần kết luận

Hiệu suất so với phiên bản trước

Bảng sau đây tóm tắt sự khác biệt về hiệu suất quan sát được giữa Thiết kế được xác thực cho Bộ lưu trữ NFS và phiên bản mới nhất, NSS7.4-HA (siêu dữ liệu chỉ được so sánh với các tệp trống vì không có dữ liệu NSS7.4 cho các tệp 4KiB).

Bảng 7. So sánh hiệu suất tối đa với giải pháp thế hệ trước

Đồng bằng hiệu suất cao nhất

Lưu trữ DTVD NFS

NSS7.4 – Lưu trữ HA

thứ tự Đỉnh ghi 1 MB: tăng 3,12%

4.985 MB/giây

4.834 MB/giây

thứ tự Đỉnh đọc 1MB: tăng 3,22%

7.250 MB/giây

7.024 MB/giây

Đỉnh ghi 4KB ngẫu nhiên: giảm 0,12%

7.281 IOp

7.290 IOp

Đỉnh đọc 4KB ngẫu nhiên: Giảm 31,32%

11.405 IOp

16.607 IOp

Tạo hoạt động/Đỉnh thứ hai: tăng 63,44%

88.579 Hoạt động/giây

54.197 Hoạt động/giây

Hoạt động thống kê/Đỉnh thứ hai: tăng 11,39%

581.734 Hoạt động/giây

522.231 Hoạt động/giây

Xóa hoạt động/Đỉnh thứ hai: Tăng 84,75%

87.469 Hoạt động/giây

47.345 Hoạt động/giây

Tóm lại, Thiết kế được Dell Technologies xác thực cho Bộ lưu trữ HPC NFS sẽ được hưởng lợi từ phiên bản hệ điều hành mới, vì giới hạn dung lượng được hỗ trợ của RHEL 8.3 XFS cho phép bạn sử dụng bất kỳ ổ đĩa cứng nào được hỗ trợ trên PowerVault ME4084, tối đa là ổ đĩa cứng 18TB hiện tại.

Hệ thống có những lợi ích hiệu suất đáng kể từ những cải tiến đối với các thành phần hệ điều hành, các thành phần nhanh hơn trên máy chủ Dell EMC PowerEdge R750, bộ điều hợp NVIDIA Mellanox ConnectX-6 với tốc độ dữ liệu và tin nhắn cao hơn. Ví dụ: khi chạy điểm chuẩn với một vài luồng (1-16) và đối với các hoạt động siêu dữ liệu như tạo và xóa, bất kể số lượng luồng. Tuy nhiên, cần phải nghiên cứu thêm để hiểu một số hiện tượng giảm hiệu suất và cố gắng giảm thiểu hoặc ngăn chặn chúng.

Đối với công việc trong tương lai, cần có một công cụ tốt hơn IOzone để mô tả các lần đọc ngẫu nhiên của 4 khối KiB, để cho phép kiểm soát nhiều hơn tải IO và thời gian thực thi, đồng thời giảm hoặc loại bỏ các hiệu ứng bộ nhớ đệm ở mọi nơi (máy khách và máy chủ). Một ứng cử viên phù hợp để thực thi cục bộ và từ xa là FIO.

Trong các nỗ lực định chuẩn MDtest trong tương lai, mục tiêu sẽ được sửa đổi để sử dụng tổng số 2.097.152 tệp cho mỗi thao tác siêu dữ liệu = 2^20 = 2Mi (hai triệu lũy thừa hai). Duy trì số lượng tệp trên mỗi thư mục cố định đến 2048, cho phép tăng số lượng người dùng từ 1 lên 1024 theo quyền hạn của hai, nhưng sử dụng số lượng thư mục trên mỗi luồng để giữ nguyên tổng số tệp, cố định ở mức 2Mi.

 

Điểm chuẩn IOzone

Điểm chuẩn IOzone được sử dụng để đo thông lượng đọc và ghi tuần tự (MB/giây) và hoạt động đọc và ghi ngẫu nhiên I/O mỗi giây (IOPS). Bạn có thể tải xuống IOzone từ http://www.iozone.org/ . Phiên bản 3.492 đã được sử dụng cho các thử nghiệm này và được cài đặt trên cả máy chủ NFS và tất cả các nút tính toán.

Các thử nghiệm IOzone được chạy từ 1–16 nút ở chế độ nhóm với một luồng trên mỗi nút, sau đó số lượng luồng trên mỗi nút được tăng lên trên tất cả các nút để mô phỏng số lượng máy khách cao hơn. Tất cả các bài kiểm tra là N-to-N. Có nghĩa là, N máy khách sẽ đọc hoặc ghi N tệp độc lập.

Giữa các lần kiểm tra, quy trình sau được thực hiện để giảm thiểu hiệu ứng bộ đệm:

• Ngắt chia sẻ NFS trên máy khách.

• Xóa bộ nhớ cache của hệ điều hành trên máy khách

• Mount chia sẻ NFS trên client.

Bảng 8. Đối số dòng lệnh IOzone

Đối số Iozone

Sự miêu tả

-tôi 0

viết bài kiểm tra

-tôi 1

Đọc bài kiểm tra

-tôi 2

Kiểm tra truy cập ngẫu nhiên

-+n

không thi lại

-c

Bao gồm đóng cửa trong tính toán thời gian

-t

Số của chủ đề

-e

Bao gồm tuôn ra trong tính toán thời gian

-r

Kích thước bản ghi

-S

Kích thước tập tin

-t

Số của chủ đề

+m

Vị trí của máy khách để chạy IOzone khi ở chế độ nhóm

-w

Không hủy liên kết (xóa) tệp tạm thời

-TÔI

Sử dụng O_DIRECT, bỏ qua bộ đệm của máy khách

Đưa ra kết quả trong ops/giây

Đối với các thử nghiệm tuần tự, kích thước tệp được thay đổi cùng với số lượng máy khách sao cho tổng lượng dữ liệu được ghi là 512 GiB (số máy khách * kích thước tệp trên mỗi máy khách = 512GiB), sao cho lượng dữ liệu được sử dụng cho mỗi thử nghiệm là gấp đôi RAM máy chủ để loại bỏ hiệu ứng bộ đệm trên máy chủ. Bằng cách sử dụng -c và -e trong thử nghiệm, IOzone cung cấp một cái nhìn thực tế hơn về những gì một ứng dụng điển hình đang làm.

Ví dụ IOzone Sequential Write (đường dẫn được sử dụng có thể khác trong hệ thống của bạn)

# /usr/sbin/iozone -i 0 -c –e –w –r 1024k –s 16g –t 32 -+n -+m ./clientlist

Ví dụ về IOzone Sequential Reads (đường dẫn được sử dụng có thể khác trong hệ thống của bạn)

# /usr/sbin/iozone -i 1 -c -e -w -r 1024k -s 16g -t 32 -+n -+m ./clientlist

Đối với các thử nghiệm ngẫu nhiên, sau khi tạo tệp với quá trình truyền tuần tự, mỗi khách hàng sẽ đọc và sau đó ghi ngẫu nhiên 4GiB dữ liệu. Kích thước bản ghi được sử dụng cho các thử nghiệm ngẫu nhiên là 4KiB để mô phỏng các truy cập dữ liệu ngẫu nhiên nhỏ.

Tạo tệp IOzone trước khi kiểm tra ngẫu nhiên (đường dẫn được sử dụng có thể khác trong hệ thống của bạn)

# /usr/sbin/iozone -i 0 -c –e –w –r 1024k –s 4g –t 32 -+n -+m ./clientlist

IOzone IOPs Đọc và ghi ngẫu nhiên (đường dẫn được sử dụng có thể khác trong hệ thống của bạn)

# /usr/sbin/iozone -i 2 -w -r 4k -I -O -w -+n -s 4g -t 32 -+m ./clientlist

Tham số dòng lệnh O_Direct cho phép chúng tôi bỏ qua bộ đệm trên nút tính toán mà chúng tôi đang chạy chuỗi IOzone và vì NFS được gắn dưới dạng đồng bộ hóa nên nó cũng buộc phải ghi vào đĩa mỗi lần truyền trên máy chủ trước khi thao tác hoàn tất.

Bảng 9. Đối số dòng lệnh Mpirun

đối số mpirun

Sự miêu tả

-np

Số lượng quy trình đồng thời

–map-by nút

Hướng dẫn mpirun phân bổ lõi từ các nút theo kiểu vòng tròn (mỗi lần một nút) để phân phối đồng đều các luồng giữa tất cả các nút

–allow-run-as-root

Cho phép mpirun chạy khi được thực thi bởi người dùng root

–hostfile

Cho mpirun biết vị trí của tệp máy chủ

Đối số MDtest

Sự miêu tả

-d testdir[@testdir2]

Thư mục mà các bài kiểm tra sẽ chạy. Đối với nhiều đường dẫn, nó phải sử dụng tên đường dẫn đủ điều kiện. [mặc định: thư mục làm việc của mdtest].

-i lặp lại

Số lần lặp lại bài kiểm tra sẽ chạy [mặc định: 1]

-b yếu tố phân nhánh

Yếu tố phân nhánh của cấu trúc thư mục phân cấp [mặc định: 1].

-z độ sâu của cây

Độ sâu của cây thư mục phân cấp [mặc định: 0].

-L

Tệp/thư mục chỉ được tạo ở cấp độ lá của cây.

-I items_per_directory

Số mục trên mỗi thư mục trong cây [mặc định: 0].

-y

Đồng bộ hóa tệp vào đĩa sau khi ghi.

-u

Tạo một thư mục làm việc duy nhất cho mỗi tác vụ (giả sử tùy chọn -d).

-t

Bao gồm chi phí quản lý thư mục làm việc duy nhất trong kết quả (giả sử tùy chọn -u).

Điểm chuẩn MDtest

Điểm chuẩn MDtest được sử dụng để đo các hoạt động Tạo, Thống kê và Loại bỏ Siêu dữ liệu. Bảng sau đây cung cấp các định nghĩa cho một số thuật ngữ được sử dụng trong tài liệu này. Bạn có thể tải xuống MDtest từ https://github.com/hpc/ior/releases . Phiên bản 3.3.0 đã được sử dụng trong các thử nghiệm này. Nó đã được biên dịch và cài đặt trên mỗi máy khách để có thể truy cập được. MDtest được sử dụng với mpirun . Đối với các thử nghiệm này, OpenMPI phiên bản 4.0.4rc3-1.51237 đã được sử dụng, được bao gồm trong Mellanox OFED được sử dụng trên máy khách, sau đó được sao chép trên máy chủ và tạo phiên bản đã chọn để có cấu hình nhất quán. Bảng sau đây mô tả các đối số dòng lệnh MDtest . 

Hình 7. Các đối số dòng lệnh MDtest

đối số mpirun

Sự miêu tả

-np

Số lượng quy trình đồng thời

–map-by nút

Hướng dẫn mpirun phân bổ lõi từ các nút theo kiểu vòng tròn (mỗi lần một nút) để phân phối đồng đều các luồng giữa tất cả các nút

–allow-run-as-root

Cho phép mpirun chạy khi được thực thi bởi người dùng root

–hostfile

Cho mpirun biết vị trí của tệp máy chủ

Thuật ngữ

Bảng sau đây cung cấp các định nghĩa cho một số thuật ngữ được sử dụng trong tài liệu này.

Bảng 10. Thuật ngữ 

Thuật ngữ

Sự định nghĩa

trí tuệ nhân tạo

Trí tuệ nhân tạo

ĐTVD

Thiết kế đã được Dell Technologies xác nhận

Khả dụng cao

HPC

Máy tính hiệu năng cao

NFS

Hệ thống tệp mạng

NSS

Giải pháp lưu trữ NFS

RHEL

Doanh nghiệp mũ đỏ Linux

máy ảo

Máy ảo

Đối số MDtest

Sự miêu tả

-d testdir[@testdir2]

Thư mục mà các bài kiểm tra sẽ chạy. Đối với nhiều đường dẫn, nó phải sử dụng tên đường dẫn đủ điều kiện. [mặc định: thư mục làm việc của mdtest].

-i lặp lại

Số lần lặp lại bài kiểm tra sẽ chạy [mặc định: 1]

-b yếu tố phân nhánh

Yếu tố phân nhánh của cấu trúc thư mục phân cấp [mặc định: 1].

-z độ sâu của cây

Độ sâu của cây thư mục phân cấp [mặc định: 0].

-L

Tệp/thư mục chỉ được tạo ở cấp độ lá của cây.

-I items_per_directory

Số mục trên mỗi thư mục trong cây [mặc định: 0].

-y

Đồng bộ hóa tệp vào đĩa sau khi ghi.

-u

Tạo một thư mục làm việc duy nhất cho mỗi tác vụ (giả sử tùy chọn -d).

-t

Bao gồm chi phí quản lý thư mục làm việc duy nhất trong kết quả (giả sử tùy chọn -u).

Như với các mẫu truy cập ngẫu nhiên IOzone , chỉ một lần lặp được sử dụng cho mỗi lần chạy và phải tuân theo quy trình sau để giảm thiểu hiệu ứng bộ đệm trong quá trình kiểm tra siêu dữ liệu:

  1. Ngắt kết nối chia sẻ NFS trên máy khách.
  2. Thả bộ đệm hệ điều hành trên máy khách.
  3. Gắn kết NFS Chia sẻ trên máy khách.

Ví dụ kiểm tra tệp siêu dữ liệu và thư mục (đường dẫn được sử dụng có thể khác trong hệ thống của bạn)

# mpirun –allow-run-as-root –map-by node -np 16 –hostfile hostfile mdtest -d /mnt/hnss/mdtest -i 1 -b 20 -z 1 -L -I $NumFiles -y -u -t

Lưu ý: Kết quả điểm chuẩn phụ thuộc nhiều vào khối lượng công việc, yêu cầu ứng dụng cụ thể cũng như thiết kế và triển khai hệ thống. Hiệu suất hệ thống tương đối sẽ thay đổi do các yếu tố này và các yếu tố khác. Do đó, không nên sử dụng khối lượng công việc này để thay thế cho tiêu chuẩn ứng dụng khách hàng cụ thể khi hoạch định năng lực quan trọng và/hoặc quyết định đánh giá sản phẩm được dự tính.