Giải pháp sẵn sàng của Dell EMC cho Bộ lưu trữ dung lượng cao HPC BeeGFS

Giới thiệu

Các giải pháp sẵn sàng của Dell EMC dành cho Bộ lưu trữ dung lượng cao HPC BeeGFS là một giải pháp lưu trữ hệ thống tệp song song thông lượng cao, được hỗ trợ đầy đủ. Blog này thảo luận về kiến ​​trúc giải pháp, cách nó được điều chỉnh cho hiệu suất HPC và trình bày hiệu suất I/O bằng cách sử dụng cả điểm chuẩn tuần tự và ngẫu nhiên của IOZone. Giải pháp lưu trữ hiệu suất cao BeeGFS được xây dựng trên các thiết bị NVMe đã được mô tả trong blog này được xuất bản vào tháng 11 năm 2019. Kiến trúc đó nhấn mạnh đến hiệu suất và giải pháp được mô tả ở đây là giải pháp lưu trữ dung lượng cao. Hai giải pháp này cho BeeGFS khác nhau về mục tiêu thiết kế và trường hợp sử dụng. Giải pháp hiệu suất cao được thiết kế như một giải pháp lưu trữ sơ bộ, nền tảng cho các tập dữ liệu tạm thời thường không được lưu giữ sau thời gian tồn tại của công việc. Giải pháp dung lượng cao sử dụng 4 mảng Dell EMC PowerVault ME4084 được phổ biến đầy đủ với tổng số 336 ổ đĩa và cung cấp dung lượng thô là 4PB nếu được trang bị ổ đĩa 12 TB SAS. 


Nghị quyết

Kiến trúc tham khảo giải pháp

Giải pháp Dell EMC Ready cho Bộ lưu trữ dung lượng cao HPC BeeGFS bao gồm một máy chủ quản lý, một cặp máy chủ siêu dữ liệu, một cặp máy chủ lưu trữ và các mảng lưu trữ liên quan. Giải pháp này cung cấp dung lượng lưu trữ sử dụng một không gian tên duy nhất mà các nút tính toán của cụm có thể dễ dàng truy cập. Hình dưới đây hiển thị kiến ​​trúc tham chiếu giải pháp với các thành phần chính này:

  • Máy chủ quản lý
  • Máy chủ siêu dữ liệu ghép nối với PowerVault ME4024 làm bộ lưu trữ phía sau
  • Máy chủ lưu trữ ghép nối với PowerVault ME4084 làm bộ lưu trữ phía sau

Hình 1 cho thấy cấu trúc tham chiếu của giải pháp.

SLN320833_en_US__1image001

Hình 1: Giải pháp Sẵn sàng của Dell EMC cho Bộ lưu trữ HPC BeeGFS

Trong Hình 1, máy chủ quản lý chạy daemon giám sát BeeGFS là PowerEdge R640. Hai Máy chủ Siêu dữ liệu (MDS) là các máy chủ PowerEdge R740 trong cấu hình tính sẵn sàng cao đang hoạt động. Cặp MDS được kết nối với mảng 2U, PowerVault ME4024 bằng liên kết SAS 12 Gb/s . Mảng lưu trữ ME4024 lưu trữ các Mục tiêu siêu dữ liệu (MDT). Một cặp máy chủ PowerEdge R740 khác, cũng ở cấu hình có tính khả dụng cao đang hoạt động, được sử dụng làm Máy chủ lưu trữ (SS). Cặp SS này được kết nối với bốn mảng lưu trữ PowerVault ME4084 được điền đầy đủ bằng các liên kết SAS 12 Gb/giây. Mảng ME4084 hỗ trợ lựa chọn ổ đĩa cứng 4 TB, 8 TB, 10 TB hoặc 12 TB NL SAS 7.2 K RPM (HDD và lưu trữ Mục tiêu Lưu trữ (ST) cho hệ thống tệp BeeGFS. Giải pháp này sử dụng Mellanox InfiniBand HDR100 cho mạng dữ liệu.


Cấu hình phần cứng và phần mềm

Các bảng sau đây mô tả thông số kỹ thuật phần cứng và phiên bản phần mềm được xác thực cho giải pháp.

Máy chủ quản lý 1x Dell EMC PowerEdge R640
Máy chủ siêu dữ liệu (MDS) 2x Dell EMC PowerEdge R740
Máy chủ lưu trữ (SS) 2x Dell EMC PowerEdge R740
bộ vi xử lý Máy chủ quản lý: 2 x Intel Xeon Gold 5218 @ 2.3GHz, 16 lõi
MDS và SS: 2x Intel Xeon Gold 6230 @ 2.10 GHz, 20 lõi
Trí nhớ Máy chủ quản lý: 12 x 8GB DDR4 2666MT/s DIMM – 96GB
MDS và SS: 12x 32GB DDR4 2933MT/s DIMM – 384GB
InfiniBand HCA (Khe 8) 1x Bộ chuyển đổi HDR100 một cổng Mellanox ConnectX-6 cho mỗi MDS và SS
Bộ điều khiển lưu trữ bên ngoài 2x Dell 12Gbps SAS HBA (trên mỗi MDS)
4x Dell 12Gbps SAS HBA (trên mỗi SS)
Bao vây lưu trữ dữ liệu 4 hộp Dell EMC PowerVault ME4084 được trang bị đầy đủ với tổng số 336 ổ
Dung lượng lưu trữ thô 2,69 PB nếu được trang bị ổ SAS 8TB trong 4x ME4084
Bao vây lưu trữ siêu dữ liệu 1x Vỏ Dell EMC PowerVault ME4024 được điền đầy đủ với 24 ổ đĩa
Bộ điều khiển RAID Bộ điều khiển RAID song công trong vỏ ME4084 và ME4024
Ổ đĩa cứng Ổ đĩa NL SAS3 84 – 8TB 7200 RPM trên mỗi vỏ
ME4084 Ổ SSD 24 – 960GB SAS3 trên mỗi vỏ ME4024
Hệ điều hành Bản phát hành CentOS Linux 8.1.1911 (Lõi)
Phiên bản hạt nhân 4.18.0-147.5.1.el8_1.x86_64
Phiên bản Mellanox OFED 4.7-3.2.9.0
Grafana 6.6.2-1
InfluxDB 1.7.10-1
Hệ thống tệp BeeGFS 7.2 beta2

Bảng 1: Cấu hình thử nghiệm

Lưu ý: Với mục đích mô tả đặc tính hiệu suất, BeeGFS phiên bản 7.2 beta2 đã được sử dụng.


Chi tiết cấu hình giải pháp

Kiến trúc BeeGFS bao gồm bốn dịch vụ chính:

  1. Dịch vụ quản lý
  2. Dịch vụ siêu dữ liệu
  3. Dịch vụ lưu trữ
  4. Dịch vụ khách hàng

Ngoài ra còn có Dịch vụ Giám sát BeeGFS tùy chọn.

Ngoại trừ dịch vụ máy khách là mô-đun hạt nhân, các dịch vụ quản lý, siêu dữ liệu và lưu trữ là các quy trình không gian người dùng. Có thể chạy bất kỳ sự kết hợp nào của các dịch vụ BeeGFS (các thành phần máy khách và máy chủ) cùng nhau trên cùng một máy. Cũng có thể chạy nhiều phiên bản của bất kỳ dịch vụ BeeGFS nào trên cùng một máy. Trong cấu hình BeeGFS dung lượng cao của Dell EMC, dịch vụ giám sát chạy trên máy chủ quản lý, nhiều phiên bản của dịch vụ siêu dữ liệu chạy trên các máy chủ siêu dữ liệu và một phiên bản duy nhất của dịch vụ lưu trữ chạy trên các máy chủ lưu trữ. Dịch vụ quản lý được cài đặt trên máy chủ siêu dữ liệu.  

Dịch vụ giám sát

Dịch vụ giám sát BeeGFS ( beegfs-mon.service ) thu thập số liệu thống kê BeeGFS và cung cấp cho người dùng, sử dụng cơ sở dữ liệu chuỗi thời gian InfluxDB . Để trực quan hóa dữ liệu, beegfs-mon-grafana cung cấp bảng điều khiển Grafana được xác định trước có thể được sử dụng ngay lập tức. Hình 2 cung cấp tổng quan chung về cụm BeeGFS hiển thị số lượng dịch vụ lưu trữ và dịch vụ siêu dữ liệu trong quá trình thiết lập (được gọi là các nút trong bảng điều khiển). Nó cũng liệt kê các chế độ xem bảng điều khiển khác có sẵn và cung cấp tổng quan về các mục tiêu lưu trữ.

SLN320833_en_US__2image002(1)

Hình 2 Bảng điều khiển Grafana – Tổng quan về BeeGFS

 


Dịch vụ siêu dữ liệu

Mảng lưu trữ ME4024 được sử dụng để lưu trữ siêu dữ liệu được cung cấp đầy đủ các ổ SSD 960GB 24x. Các ổ đĩa này được cấu hình trong các nhóm đĩa RAID1 tuyến tính 12x gồm hai ổ đĩa, mỗi nhóm như trong Hình 3. Mỗi nhóm RAID1 là một mục tiêu Siêu dữ liệu.

SLN320833_en_US__3image003

Hình 3 Mảng ME4024 được điền đầy đủ với 12 MDT

 

Trong BeeGFS, mỗi dịch vụ siêu dữ liệu chỉ xử lý một MDT duy nhất. Vì có 12 MDT nên cần có 12 phiên bản của dịch vụ siêu dữ liệu. Mỗi máy chủ trong số hai máy chủ siêu dữ liệu chạy sáu phiên bản của dịch vụ siêu dữ liệu. Các mục tiêu siêu dữ liệu được định dạng bằng hệ thống tệp ext4 (hệ thống tệp ext4 hoạt động tốt với các tệp nhỏ và thao tác tệp nhỏ). Ngoài ra, BeeGFS lưu trữ thông tin trong các thuộc tính mở rộng và trực tiếp trên các nút của hệ thống tệp để tối ưu hóa hiệu suất, cả hai đều hoạt động tốt với hệ thống tệp ext4.

Trở lại đầu trang


Dịch vụ quản lý

Dịch vụ beegfs-mgmtd được thiết lập trên cả hai máy chủ siêu dữ liệu. Cửa hàng mgmtd của beegfs được khởi tạo trong thư mục mgmtd trên mục tiêu siêu dữ liệu 1 như hình bên dưới:

/opt/beegfs/sbin/beegfs-setup-mgmtd -p /beegfs/metaA-numa0-1/mgmtd -S beegfs-mgmt

Dịch vụ quản lý được bắt đầu trên máy chủ metaA.


Dịch vụ lưu trữ

Trong giải pháp BeeGFS dung lượng cao này, việc lưu trữ dữ liệu nằm trên bốn mảng Lưu trữ PowerVault ME4084. Các nhóm đĩa RAID-6 tuyến tính gồm 10 ổ (8+2) mỗi ổ được tạo trên mỗi mảng. Một ổ đĩa duy nhất sử dụng tất cả dung lượng được tạo cho mọi nhóm đĩa. Điều này sẽ dẫn đến 8 nhóm/ổ đĩa trên mỗi mảng. Mỗi mảng có 84 ổ đĩa và việc tạo 8 x nhóm đĩa RAID-6 để lại 4 ổ đĩa có thể được định cấu hình dưới dạng dự phòng nóng toàn cầu trên các ổ đĩa mảng.

Với cách bố trí được mô tả ở trên, có tổng cộng 32 x ổ đĩa RAID-6 trên 4 x ME4084 trong cấu hình cơ sở được hiển thị trong Hình 1. Mỗi ổ đĩa RAID-6 này được định cấu hình làm Mục tiêu lưu trữ (ST) cho tệp BeeGFS hệ thống, dẫn đến tổng số 32 ST trên hệ thống tệp.

Mỗi mảng ME4084 có 84 ổ đĩa, với các ổ đĩa được đánh số 0-41 ở ngăn trên cùng và những ổ được đánh số 42-84 ở ngăn dưới cùng. Trong Hình 5, mỗi bộ gồm 10 ổ đĩa được đánh dấu từ 1 đến 8 đại diện cho nhóm 8xRAID6. Một ổ đĩa được tạo từ mỗi nhóm RAID6. Các ổ đĩa được đánh dấu “S” đại diện cho các phụ tùng toàn cầu. Hình 5 cho thấy giao diện phía trước của mảng sau khi cấu hình 8 tập và 4 dự phòng chung.

SLN320833_en_US__4image004

Hình 4 Bố cục nhóm đĩa RAID 6 (8+2) trên một ME4084

 

 


Dịch vụ khách hàng

Mô-đun máy khách BeeGFS được tải trên tất cả các máy chủ yêu cầu quyền truy cập vào hệ thống tệp BeeGFS. Khi mô-đun BeeGFS được tải và dịch vụ beegfs-client được khởi động, dịch vụ sẽ gắn các hệ thống tệp được xác định trong tệp /etc/beegfs/beegfs-mounts.conf thay vì cách tiếp cận thông thường dựa trên /etc/fstab . Với cách tiếp cận này, beegfs-client bắt đầu giống như bất kỳ dịch vụ Linux nào khác thông qua tập lệnh khởi động dịch vụ và cho phép tự động biên dịch lại mô-đun máy khách BeeGFS sau khi cập nhật hệ thống..

 


Đánh giá hiệu suất

Phần này trình bày các đặc tính hiệu suất của Giải pháp Sẵn sàng của Dell EMC cho Giải pháp Lưu trữ Dung lượng Cao HPC BeeGFS bằng cách sử dụng các điểm chuẩn tuần tự và ngẫu nhiên của IOzone. Để biết thêm đặc tính hiệu suất bằng cách sử dụng IOR và MDtest và các chi tiết liên quan đến cấu hình của tính khả dụng cao, vui lòng tìm sách trắng sẽ được xuất bản sau.

Hiệu suất lưu trữ được đánh giá bằng điểm chuẩn IOzone (v3.487). Thông lượng đọc và ghi tuần tự cũng như IOPS đọc và ghi ngẫu nhiên đã được đo. Bảng 2 mô tả cấu hình của máy chủ PowerEdge R840 được sử dụng làm ứng dụng khách BeeGFS cho các nghiên cứu hiệu suất này.

khách hàng 8x Dell EMC PowerEdge R840
bộ vi xử lý 4 x CPU Intel(R) Xeon(R) Platinum 8260 @ 2.40GHz, 24 lõi
Trí nhớ 24 x 16GB DIMM DDR4 2933MT/s – 384GB
Hệ điều hành Bản phát hành Red Hat Enterprise Linux Server 7.6 (Maipo)
Phiên bản hạt nhân 3.10.0-957.el7.x86_64
kết nối 1x Bộ chuyển đổi HDR100 một cổng Mellanox ConnectX-6
Phiên bản OFED 4.7-3.2.9.0

Bảng 2 Cấu hình máy khách

Máy chủ và máy khách được kết nối qua mạng HDR100 và chi tiết mạng được cung cấp trong Bảng 3 bên dưới:  

Công tắc InfiniBand QM8790 Mellanox Quantum HDR Edge Switch – IU với 80x HDR 100 cổng 100Gb/s (sử dụng cáp chia)
Công tắc quản lý Dell Networking S3048-ON ToR Switch -1U với 48x cổng 1GbE, 4x SFP+ 10GbE

Bảng 3: Kết nối mạng


Đọc và ghi tuần tự NN

Số lần đọc và ghi tuần tự được đo bằng chế độ đọc và ghi tuần tự của IOzone. Các thử nghiệm đã được thực hiện với số lượng nhiều luồng bắt đầu từ 1 luồng và tăng dần theo lũy thừa của 2, lên tới 512 luồng. Tại mỗi lần đếm luồng, số lượng tệp bằng nhau được tạo do thử nghiệm này hoạt động trên một tệp trên mỗi luồng hoặc trường hợp NN. Các quy trình được phân phối trên 8 nút máy khách vật lý theo cách vòng tròn để các yêu cầu được phân bổ đồng đều với cân bằng tải.

Đối với số luồng từ 16 trở lên, kích thước tệp tổng hợp là 8TB đã được chọn để giảm thiểu tác động của bộ nhớ đệm từ máy chủ cũng như từ máy khách BeeGFS. Đối với số luồng dưới 16, kích thước tệp là 768 GB mỗi luồng (tức là 1,5TB cho 2 luồng, 3TB cho 4 luồng và 6TB cho 8 luồng). Trong bất kỳ thử nghiệm cụ thể nào, kích thước tệp tổng hợp được sử dụng được chia đều cho số lượng chuỗi. Kích thước bản ghi 1MiB đã được sử dụng cho tất cả các lần chạy. Lệnh được sử dụng cho các bài kiểm tra NN tuần tự được đưa ra dưới đây:

Đọc và ghi tuần tự: iozone -i $test -c -e -w -r 1m -s $Size -t $Thread -+n -+m /path/to/threadlist

Bộ đệm của hệ điều hành cũng bị loại bỏ trên các máy chủ giữa các lần lặp lại cũng như giữa các lần kiểm tra ghi và đọc bằng cách chạy lệnh:

# sync && echo 3 > /proc/sys/vm/drop_caches

Hệ thống tệp đã được ngắt kết nối và kết nối lại trên các máy khách giữa các lần lặp lại cũng như giữa các lần kiểm tra ghi và đọc để xóa bộ nhớ cache.

SLN320833_en_US__5image005

Hình 5 Hiệu suất Tuần tự NN

 

Trong Hình 5, thông lượng tối đa 23,7 GB/giây đạt được ở 256 luồng và tốc độ ghi tối đa 22,07 GB/giây đạt được ở 512 luồng. Hiệu suất ghi một luồng là 623 MB/s và đọc là 717 MB/s. Hiệu suất quy mô gần như tuyến tính lên đến 32 luồng. Sau này, chúng tôi thấy rằng đọc và ghi bão hòa khi chúng tôi mở rộng quy mô. Điều này giúp chúng ta hiểu rằng hiệu suất duy trì tổng thể của cấu hình này đối với tốc độ đọc là ≈ 23GB/giây và đối với tốc độ ghi là ≈ 22 GB/giây với các mức cao nhất như đã đề cập ở trên. Số lần đọc rất gần hoặc cao hơn một chút so với số lần ghi, không phụ thuộc vào số lượng luồng được sử dụng.
Trở lại đầu trang


Đọc và ghi ngẫu nhiên NN

IOzone được sử dụng ở chế độ ngẫu nhiên để đánh giá hiệu suất IO ngẫu nhiên. Các thử nghiệm đã được tiến hành trên số lượng luồng từ 16 đến 512 luồng. Tùy chọn IO trực tiếp (-I) đã được sử dụng để chạy IOzone để tất cả các hoạt động bỏ qua bộ nhớ cache của bộ đệm và đi trực tiếp vào đĩa. Số lượng sọc BeeGFS là 1 và kích thước khối là 1 MB đã được sử dụng. Kích thước yêu cầu được đặt thành 4KiB. Hiệu suất được đo bằng hoạt động I/O mỗi giây (IOPS). Bộ đệm hệ điều hành đã bị loại bỏ giữa các lần chạy trên máy chủ BeeGFS. Hệ thống tệp đã được ngắt kết nối và kết nối lại trên các máy khách giữa các lần lặp lại thử nghiệm. Lệnh được sử dụng cho các bài kiểm tra đọc và ghi ngẫu nhiên như sau:

iozone -i 2 -w -c -O -I -r 4K -s $Size -t $Thread -+n -+m /path/to/threadlist

SLN320833_en_US__6image006

Hình 6  Hiệu suất Ngẫu nhiên NN

 

Hình 6 cho thấy hiệu suất ghi đạt khoảng 31K IOPS và duy trì ổn định từ 32 luồng đến 512 luồng. Ngược lại, hiệu suất đọc tăng lên khi số lượng yêu cầu IO tăng lên với hiệu suất tối đa khoảng 47K IOPS ở 512 luồng, đây là số lượng luồng tối đa được thử nghiệm cho giải pháp. ME4 yêu cầu độ sâu hàng đợi cao hơn để đạt được hiệu suất đọc tối đa và biểu đồ chỉ ra rằng chúng tôi có thể đạt được hiệu suất cao hơn nếu chúng tôi chạy 1024 luồng đồng thời. Tuy nhiên, vì các thử nghiệm chỉ chạy với 8 máy khách nên chúng tôi không có đủ số lõi để chạy số lượng 1024 luồng.


Thông số điều chỉnh được sử dụng

Các tham số điều chỉnh sau đây được áp dụng trong khi thực hiện đặc tính hiệu suất của giải pháp.

Số lượng sọc mặc định cho BeeGFS là 4. Tuy nhiên, kích thước khối và số lượng mục tiêu trên mỗi tệp (số lượng sọc) có thể được định cấu hình trên cơ sở từng thư mục hoặc từng tệp. Đối với tất cả các thử nghiệm này, kích thước sọc BeeGFS được đặt thành 1MB và số lượng sọc được đặt thành 1 như minh họa bên dưới:

$beegfs-ctl –getentryinfo –mount=/mnt/beegfs/ /mnt/beegfs/benchmark/ –verbose
Loại mục nhập: thư mục
EntryID: 1-5E72FAD3-1
ParentID: gốc
Nút siêu dữ liệu: metaA-numa0-1 [ID : 1]
Chi tiết mẫu sọc:
+ Loại: RAID0
+ Kích thước khối: 1M
+ Số mục tiêu lưu trữ: mong muốn: 1
+ Vùng lưu trữ: 1 (Mặc định)
Đường dẫn hàm băm inode: 61/4C/1-5E72FAD3-1

Các trang lớn trong suốt đã bị vô hiệu hóa và các cài đặt bộ nhớ ảo sau được định cấu hình trên siêu dữ liệu và máy chủ lưu trữ:

  • vm.dirty_background_ratio = 5
  • vm.dirty_ratio = 20
  • vm.min_free_kbytes = 262144
  • vm.vfs_cache_pressure = 50

Các tùy chọn điều chỉnh sau đã được sử dụng cho các thiết bị khối lưu trữ trên máy chủ lưu trữ.

  • Hạn chót của IO Scheduler : thời hạn
  • Số lượng yêu cầu có thể lên lịch: 2048
  • Lượng dữ liệu đọc trước tối đa: 4096

Ngoài những điều trên, các tùy chọn điều chỉnh cụ thể của BeeGFS sau đây đã được sử dụng:

beegfs-meta.conf

connMaxInternodeNum = 64
tuneNumWorkers = 12
tuneUsePerUserMsgQueues = true # Tune tùy
chọnTargetChooser = roundrobin (điểm chuẩn)

beegfs-storage.conf

connMaxInternodeNum = 64
tuneNumWorkers = 12
tuneUsePerTargetWorkers = true
tuneUsePerUserMsgQueues = true # Tune tùy
chọnBindToNumaZone = 0
tuneFileReadAheadSize = 2m

beegfs-client.conf

connMaxInternodeNum = 24
connBufSize = 720896

 


Kết luận và công việc trong tương lai

Blog này thông báo về việc phát hành Giải pháp lưu trữ dung lượng cao Dell EMC BeeGFS và nêu bật các đặc tính hiệu suất của nó. Giải pháp này cung cấp hiệu suất cao nhất là 23,7 GB/giây cho lần đọc và 22,1 GB/giây cho lần ghi bằng cách sử dụng điểm chuẩn tuần tự IOzone. Chúng tôi cũng thấy đỉnh ghi ngẫu nhiên là 31,3K IOPS và đọc ngẫu nhiên là 47,5K IOPS.

Là một phần của các bước tiếp theo, chúng tôi sẽ đánh giá hiệu suất siêu dữ liệu và N luồng đối với hiệu suất IOR của một tệp (N đến 1) của giải pháp này. Sách trắng mô tả siêu dữ liệu và hiệu suất IOR của giải pháp với các chi tiết bổ sung liên quan đến cân nhắc thiết kế cho giải pháp dung lượng lớn với tính sẵn sàng cao này dự kiến ​​sẽ được xuất bản sau khi quá trình xác thực và đánh giá hoàn tất.