Thiết kế được Dell xác nhận dành cho bộ lưu trữ dung lượng cao HPC BeeGFS với máy chủ 16G

Thiết kế được xác thực của Dell (DVD) 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, mở rộng quy mô, được hỗ trợ đầy đủ. Hệ thống này có tính sẵn sàng cao và có khả năng hỗ trợ lưu trữ nhiều petabyte. Blog này thảo luận về kiến ​​trúc giải pháp, cách nó được điều chỉnh để đạt hiệu suất HPC và trình bày hiệu suất I/O bằng cách sử dụng các điểm chuẩn MDtest và tuần tự IOZone.

Các giải pháp lưu trữ hiệu suất cao BeeGFS được xây dựng trên thiết bị NVMe được thiết kế như một giải pháp lưu trữ đầu tiên cho các tập dữ liệu thường không được giữ lại sau thời gian thực hiện công việc. Để biết thêm thông tin, hãy xem Lưu trữ vết xước HPC với BeeGFS .

Hình ảnh này hiển thị Máy chủ Dell PowerEdge và Dell PowerVault

Hình 1. DVD cho BeeGFS Dung lượng cao – Cấu hình lớn

Hệ thống được hiển thị trong Hình 1 sử dụng PowerEdge R660 làm máy chủ quản lý và điểm truy cập vào hệ thống. Có hai cặp máy chủ R760, mỗi cặp có cấu hình sẵn sàng hoạt động cao. Một bộ đóng vai trò là Máy chủ siêu dữ liệu (MDS) được kết nối với mảng lưu trữ PowerVault ME5024, nơi lưu trữ Mục tiêu siêu dữ liệu (MDT). Bộ còn lại đóng vai trò là Máy chủ lưu trữ đối tượng (OSS) được kết nối với tối đa bốn mảng lưu trữ PowerVault ME5084, lưu trữ Mục tiêu lưu trữ (ST) cho hệ thống tệp BeeGFS. Mảng ME5084 hỗ trợ ổ đĩa cứng (HDD) lên đến 22TB. Để mở rộng quy mô ra ngoài bốn ME5084, cần có thêm các cặp OSS.

Giải pháp này sử dụng Mellanox InfiniBand HDR (200 Gb/s) cho mạng dữ liệu trên cặp OSS và InfiniBand HDR-100 (100 Gb/s) cho cặp MDS. Máy khách và máy chủ được kết nối với 1U Mellanox Quantum HDR Edge Switch QM8790, hỗ trợ tới 80 cổng HDR100 sử dụng cáp chia đôi hoặc 40 cổng HDR200 không chia tách. Ngoài ra, một công tắc duy nhất có thể được cấu hình để có bất kỳ sự kết hợp nào giữa các cổng chia và không chia.

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

Bảng sau 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.

Bảng 1. Cấu hình giường thử nghiệm

Máy chủ quản lý 1x Dell PowerEdge R660
Máy chủ siêu dữ liệu (MDS) 2x Dell PowerEdge R760
Máy chủ lưu trữ đối tượng (OSS) 2x Dell PowerEdge R760
Bộ xử lý 2x Intel(R) Xeon(R) Vàng 6430
Ký ức 16x 16GB DDR5, RDIMM 4800MT/s – 256 GB
InfiniBand HCA MGMT: 1x Mellanox ConnectX-6 cổng đơn HDR-100

MDS: 2x Mellanox ConnectX-6 cổng đơn HDR-100

OSS: 2x Mellanox ConnectX-6 cổng đơn HDR

Bộ điều khiển lưu trữ ngoài MDS: 2x Dell 12Gb/s SAS HBA trên mỗi máy chủ R760

OSS: 4x Dell 12Gb/s SAS HBA trên mỗi máy chủ R760

Bao vây lưu trữ dữ liệu Nhỏ: 1x Dell PowerVault ME5084

Trung bình: 2x Dell PowerVault ME5084

Dell PowerVault ME5084 lớn 4x

Cấu hình ổ đĩa được mô tả trong phần Dịch vụ lưu trữ

Bao vây lưu trữ siêu dữ liệu 1x Vỏ Dell PowerVault ME5024 được trang bị đầy đủ 24 ổ đĩa

Cấu hình ổ đĩa được mô tả trong phần Dịch vụ siêu dữ liệu

bộ điều khiển RAID Bộ điều khiển RAID SAS song công trong vỏ ME5084 và ME5024
Ổ đĩa cứng Mỗi vỏ ME5084: Ổ đĩa 84x SAS3 được ME5084 hỗ trợ

Mỗi vỏ ME5024: SSD 24x SAS3 được ME5024 hỗ trợ

Hệ điều hành Red Hat Enterprise Linux phát hành 8.6 (Ootpa)
Phiên bản hạt nhân 4.18.0-372.9.1.el8.x86_64
Phiên bản Mellanox OFED MLNX_OFED_LINUX-5.6-2.0.9.0
Grafana 10.3.3-1
FluxDB 1.8.10-1
Hệ thống tập tin BeeGFS 7.4.0p1

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ụ 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 Dung lượng cao của Dell của BeeGFS, máy chủ siêu dữ liệu chạy các dịch vụ siêu dữ liệu (1 dịch vụ cho mỗi Mục tiêu siêu dữ liệu), cũng như dịch vụ quản lý và dịch vụ giám sát. Điều quan trọng cần lưu ý là dịch vụ quản lý chạy trên máy chủ siêu dữ liệu chứ không phải trên máy chủ quản lý. Điều này đảm bảo rằng có một nút dự phòng để dự phòng trong trường hợp một máy chủ ngừng hoạt động. Dịch vụ lưu trữ (chỉ 1 dịch vụ trên mỗi máy chủ) chạy trên các máy chủ lưu trữ.

Dịch vụ quản lý

Dịch vụ beegfs-mgmtd được xử lý bởi máy chủ siêu dữ liệu (không phải máy chủ quản lý) và xử lý việc đăng ký tài nguyên (lưu trữ, siêu dữ liệu, giám sát) và máy khách. Cửa hàng mgmtd được khởi tạo dưới dạng một phân vùng nhỏ trên mục tiêu siêu dữ liệu đầu tiên. Trong một hệ thống khỏe mạnh, nó sẽ được khởi động trên MDS-1.

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

Mảng lưu trữ ME5024 được sử dụng để lưu trữ siêu dữ liệu được trang bị đầy đủ ổ SSD 24x 960 GB trong đánh giá này. Các ổ đĩa này được cấu hình trong các nhóm đĩa RAID1 tuyến tính 12x, mỗi nhóm có hai ổ đĩa như minh họa trong Hình 2. Mỗi nhóm RAID1 là một mục tiêu siêu dữ liệu (MDT).

Hình ảnh này hiển thị Cấu hình mảng lưu trữ ME5024

Hình 2. Mảng ME5024 đượ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ó 12 phiên bản 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. Mục tiêu siêu dữ liệu được định dạng bằng hệ thống tệp ext4 (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.

Dịch vụ lưu trữ

Giải pháp lưu trữ dữ liệu được đánh giá trong blog này được phân phối trên bốn mảng PowerVault ME5084, tạo nên một cấu hình lớn. Ngoài ra, còn có cấu hình trung bình (bao gồm hai mảng) và cấu hình nhỏ (bao gồm một mảng duy nhất), sẽ không được đánh giá trong tài liệu này. Các nhóm đĩa RAID-6 tuyến tính gồm 10 ổ đĩa (8+2), mỗi nhóm được tạo trên mỗi mảng. Một ổ đĩa sử dụng toàn bộ dung lượng sẽ đượ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 ME5 có 84 ổ đĩa và xử lý 8 nhóm đĩa RAID-6. Còn lại 4 ổ đĩa được định cấu hình là các ổ đĩa dự phòng nóng toàn cầu trên các ổ đĩa mảng. Các mục tiêu lưu trữ được định dạng bằng hệ thống tệp XFS vì nó mang lại thông lượng ghi cao và khả năng mở rộng với mảng RAID.

Có tổng cộng 32 ổ RAID-6 trên 4x ME5084 trong cấu hình cơ sở như trong Hình 1. Mỗi ổ RAID-6 này được định cấu hình làm Mục tiêu lưu trữ (ST) cho hệ thống tệp BeeGFS, dẫn đến tổng cộng 32 ổ ST.

Mỗi mảng ME5084 có 84 ổ đĩa, với các ổ được đánh số 0-41 ở ngăn trên cùng và 42-83 ở ngăn dưới cùng. Trong Hình 3, các ổ đĩa được đánh số từ 1-8 biểu thị nó thuộc nhóm đĩa RAID6 nào. Các ổ đĩa được đánh dấu “S” được định cấu hình là các ổ đĩa dự phòng nóng toàn cầu, ổ đĩa này sẽ tự động thay thế bất kỳ ổ đĩa bị lỗi nào trong một nhóm đĩa.

Hình ảnh này hiển thị bộ điều khiển RAID song công cho Máy chủ lưu trữ

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

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 /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, dịch vụ beegfs-client khởi động, 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.

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 chúng cho người dùng bằng cách 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 4 cung cấp thông tin tổng quan về bảng điều khiển chính, hiển thị số liệu thống kê về máy chủ lưu trữ BeeGFS trong quá trình chạy điểm chuẩn ngắn. Có các biểu đồ hiển thị lưu lượng truy cập mạng mà máy chủ đang xử lý, lượng dữ liệu được đọc và ghi vào đĩa, v.v.

Khả năng giám sát trong bản phát hành này đã được nâng cấp với Telegraf , cho phép người dùng xem các số liệu cấp hệ thống như tải CPU (mỗi lõi và tổng hợp), mức sử dụng bộ nhớ, số lượng quy trình, v.v.

Hình ảnh này hiển thị ảnh chụp màn hình của bảng điều khiển Grafana.

Hình 4. Bảng điều khiển Grafana – Máy chủ lưu trữ BeeGFS

Tính sẵn sàng cao

Trong bản phát hành này, khả năng sẵn sàng cao của giải pháp đã được mở rộng để cải thiện khả năng phục hồi của hệ thống tệp. Phần mềm có tính sẵn sàng cao hiện tận dụng các vòng mạng kép để có thể giao tiếp qua cả giao diện ethernet quản lý cũng như InfiniBand. Ngoài ra, số lượng nút ra quyết định chính đã được mở rộng để bao gồm tất cả năm máy chủ cơ sở, thay vì ba máy chủ trước đó (MGMT, MDS-1, MDS-2).

Đá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 DVD dành cho Bộ lưu trữ dung lượng cao HPC BeeGFS sử dụng IOZone tuần tự và MDTest. Thông tin thêm về đặc tính hiệu suất sử dụng IOR N-1, IOZone Random, IO500 và StorageBench sẽ có trong sách trắng sắp tới.

Hiệu suất lưu trữ được đánh giá bằng cách sử dụng điểm chuẩn IOZone để đo thông lượng đọc và ghi tuần tự. Bảng 2 mô tả cấu hình của các nút PowerEdge C6420 được sử dụng làm máy khách BeeGFS cho các nghiên cứu hiệu suất này. Các nút máy khách này sử dụng kết hợp các bộ xử lý do có sẵn tài nguyên, mọi thứ khác đều giống hệt nhau.

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

Khách hàng 16x Dell PowerEdge C6420
Bộ xử lý cho mỗi khách hàng 12 máy khách: 2x CPU Intel(R) Xeon(R) Gold 6248 @ 2,50GHz

3 khách hàng: 2x CPU Intel(R) Xeon(R) Gold 6230 @ 2.10GHz

1 khách hàng: 2x CPU Intel(R) Xeon(R) Platinum 8260 @ 2.40GHz

Ký ức 12x 16GB DDR4 2933MT/s DIMM – 192GB
Hệ điều hành Red Hat Enterprise Linux phát hành 8.4 (Ootpa)
Phiên bản hạt nhân 4.18.0-305.el8.x86_64
Kết nối 1x Bộ chuyển đổi HDR100 cổng đơn Mellanox Connect-X 6
Phiên bản OFED MLNX_OFED_LINUX-5.6-2.0.9.0

Máy khách được kết nối qua mạng HDR-100, trong khi máy chủ được kết nối bằng sự kết hợp giữa HDR-100 và HDR. Cấu hình này được mô tả trong Bảng 3.

Bảng 3. Cấu hình mạng

Công tắc InfiniBand QM8790 Mellanox Quantum HDR Edge Switch – 1U với 40x cổng HDR 200Gb/s (các cổng cũng có thể được cấu hình thành 2xHDR-100 100Gb/s chia nhỏ)
Công tắc quản lý PowerSwitch N3248TE-ON – Nên sử dụng 1U với 48x 1Gb. Do có sẵn tài nguyên, DVD này đã được thử nghiệm với Dell PowerConnect 6248 Switch – 1U với 48x 1Gb
InfiniBand HCA MGMT: 1x Mellanox ConnectX-6 cổng đơn HDR-100

MDS: 2x Mellanox ConnectX-6 cổng đơn HDR-100

OSS: 2x Mellanox ConnectX-6 cổng đơn HDR

Khách hàng: 1x Mellanox ConnectX-6 cổng đơn HDR-100

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

Việc đọc và ghi tuần tự được đo bằng IOZone (v3.492). Các thử nghiệm đã được tiến hành với số lượng nhiều luồng bắt đầu từ một luồng và tăng dần lũy thừa lên hai, lên tới 1.024 luồng. Bài kiểm tra này là NN; một tệp sẽ được tạo cho mỗi luồng. Các quy trình được phân phối trên 16 nút máy khách vật lý theo cách luân phiên để các yêu cầu được phân bổ đều với cân bằng tải.

Đối với số luồng từ hai 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 một luồng, kích thước tệp là 1TB đã được chọn. 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 đều được chia đều cho số lượng luồng. Kích thước kỷ lục 1MiB đã được sử dụng cho tất cả các lần chạy. Điểm chuẩn được chia thành hai lệnh: điểm chuẩn ghi và điểm chuẩn đọc, được hiển thị bên dưới.

iozone -i 0 -c -e -w -C -r 1m -s $Size -t $Thread -+n -+m /path/to/threadlist #write
iozone -i 1 -c -e -C -r 1m -s $Size -t $Thread -+n -+m /path/to/threadlist # read

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

đồng bộ hóa; echo 3 > /proc/sys/vm/drop_caches

Điều này cho thấy hiệu suất tuần tự NN của các hoạt động đọc và ghi. Hiệu suất cho thấy sự gia tăng ổn định.

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

Hình 5 minh họa thang đo hiệu suất của các hoạt động đọc và ghi. Thông lượng đọc cao nhất là 34,55 GB/s đạt được với 512 luồng, trong khi thông lượng ghi cao nhất là 31,89 GB/s đạt được với 1024 luồng. Hiệu suất cho thấy sự gia tăng ổn định khi số lượng luồng tăng lên, với hiệu suất đọc bắt đầu ổn định ở 32 luồng và hiệu suất ghi ở 64 luồng. Ngoài những điểm này, hiệu suất sẽ tăng dần, duy trì thông lượng xấp xỉ 34 GB/giây cho đọc và 31 GB/giây cho ghi. Bất kể số lượng luồng, các thao tác đọc luôn khớp hoặc vượt quá các thao tác ghi.

Thông số điều chỉnh 

Các tham số điều chỉnh sau đây đã được áp dụng trong khi thực hiện mô tả đặ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 mỗi 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 1MiB và số lượng sọc được đặt thành 1, như hiển thị bên dưới:

[root@node025 ~]# beegfs-ctl --getentryinfo --mount=/mnt/beegfs/ /mnt/beegfs/stripe1 --verbose
Loại mục: thư mục
ID mục: 0-65D529C1-7
ID cha mẹ: gốc
Nút siêu dữ liệu: mds-1-numa1-2 [ID: 5]
Chi tiết mẫu sọc:
+ Loại: RAID0
+ Kích thước chunk: 1M
+ Số lượng mục tiêu lưu trữ: mong muốn: 1
+ Kho lưu trữ: 1 (Mặc định)
Đường dẫn băm inode: 4E/25/0-65D529C1-7

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 máy chủ lưu trữ và siêu dữ liệu:

/proc/sys/vm/dirty_background_ratio = 5
/proc/sys/vm/dirty_ratio = 20
/proc/sys/vm/min_free_kbytes = 262144
/proc/sys/vm/vfs_cache_ Pressure = 50

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

Thời hạn của Bộ lập lịch IO: thời hạn 
Số lượng yêu cầu có thể lập 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 = 96 
logLevel = 3 
tuneNumWorkers = 4 
tuneTargetChooser = roundrobin 
tuneUsePerUserMsgQueues = true

beegfs-storage.conf

connMaxInternodeNum = 32 tuneBindToNumaZone = tuneFileReadAheadSize = 0m tuneFileReadAheadTriggerSize = 4m tuneFileReadSize = 1M tuneFileWriteSize = 1M tuneFileWriteSyncSize = 0m tuneNumWorkers = 10 tuneUsePerTargetWorkers = true tuneUsePerUserMsgQueues = true tuneWorkerBufSize = 4m









beegfs-client.conf

connRDMABufSize = 524288 connRDMABufNum = 4

Ngoài ra, ME5084 được khởi tạo với kích thước khối là 128k.

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

Blog này trình bày các đặc tính hiệu suất của Thiết kế được xác thực của Dell cho Bộ lưu trữ BeeGFS dung lượng cao HPC với phần cứng 16G. DVD này cung cấp hiệu suất cao nhất là 34,6 GB/giây khi đọc và 31,9 GB/giây khi ghi bằng cách sử dụng điểm chuẩn tuần tự IOZone.

Những cải tiến lớn đã được thực hiện trong bản phát hành này về bảo mật, tính sẵn sàng cao, triển khai và giám sát đo từ xa. Trong các dự án trong tương lai, chúng tôi sẽ đánh giá các điểm chuẩn khác bao gồm MDTest, IOZone ngẫu nhiên (IOP/s ngẫu nhiên), IOR N đến 1 (N luồng cho một tệp duy nhất), NetBench (máy khách đến máy chủ, bỏ qua thiết bị ME5) và StorageBench (máy chủ kết nối trực tiếp với đĩa, bỏ qua mạng).