Cụm dữ liệu lớn của Microsoft SQL Server 2019: Giải pháp dữ liệu lớn sử dụng cơ sở hạ tầng Dell EMC (6)

Kiến trúc thiết kế và thông số kỹ thuật thành phần

Kiến trúc vật lý

Hình dưới đây cho thấy kiến ​​trúc thiết kế đã được xác thực:

Hình 15. Kiến trúc vật lý

 

Giá đỡ PowerFlex

Giá đỡ PowerFlex được cài đặt sẵn các bộ chuyển mạch quản lý top-of-rack (ToR), tổng hợp và ngoài băng tần (OOB) tích hợp để cung cấp luồng lưu lượng mạng tối ưu. Giá đỡ PowerFlex bao gồm các bộ chuyển mạch tổng hợp Cisco Nexus cung cấp kết nối đường lên IP 10/40 GbE với mạng bên ngoài để có hiệu suất vượt trội. Thông thường, tắc nghẽn mạng có thể hạn chế quy mô của hệ thống HCI. Bộ chuyển mạch 10/25 GbE ToR trong hệ thống PowerFlex loại bỏ những hạn chế này và mở đường cho sự phát triển trong tương lai.

 

Lớp máy chủ

Lớp máy chủ bao gồm hai bộ máy chủ riêng biệt:

  • Các nút R640 của giá đỡ PowerFlex —Ba nút R640 được sử dụng làm nút điều khiển. R640 là máy chủ rack 1U hỗ trợ tối đa:
  • Hai bộ xử lý Intel Xeon có thể mở rộng
  • 24 khe DIMM hỗ trợ bộ nhớ lên tới 1.536 GB
  • Hai bộ cấp nguồn AC hoặc DC
  • Ổ cứng hoặc SSD 10 + 2 SAS, SATA hoặc gần dòng SAS

Để biết thêm chi tiết về thiết lập và cấu hình nút bộ điều khiển cụm PowerFlex, hãy xem Sách trắng về các biện pháp thực hành tốt nhất về mạng và cân nhắc thiết kế .

  • Các nút R840 của giá đỡ PowerFlex —Bốn nút R840 được sử dụng làm nút khách hàng. R840 là máy chủ dạng rack 2U hỗ trợ tối đa:
  • Bốn bộ xử lý Intel Xeon có thể mở rộng
  • 48 khe DIMM bao gồm tối đa 24 DCPMM hoặc 12 NVDIMM
  • Hai bộ cấp nguồn AC hoặc DC
  • Lên đến 26 ổ cứng và SSD 2,5 inch

Bảng sau liệt kê chi tiết cấu hình PowerFlex rack R840 cho thiết lập cụm PowerFlex này:

Bảng 3. Cấu hình cụm PowerFlex rack R840

Thành phần Chi tiết
Bộ xử lý trên mỗi máy chủ 4 x Intel Xeon Gold 6140 @ 2,30 GHz
Số lõi trên mỗi bộ xử lý 18
DIMM trên mỗi máy chủ 24 x 64 GB @ 2.666 MHz
Bộ nhớ trên mỗi máy chủ 1.536GB | 1,5 TB
rNDC Intel 2P X550/2P I350-t NDC
NIC 2 Mellanox 25 GbE 2P ConnectX-4 Lx
Đĩa khởi động 2 ổ SSD SATA 224GB
Đĩa lưu trữ 8 ổ SSD SAS 3,84 GB
Nguồn điện 2 x 2.260 W

Lớp mạng

Lớp mạng bao gồm:

  • Hai thiết bị chuyển mạch mạng Cisco 93180YC-EX 1/10/25 GbE —Cung cấp kết nối dữ liệu
  • Hai thiết bị chuyển mạch mạng Cisco 3172TQ 1/10 GbE —Cung cấp kết nối mạng quản lý OOB

Hình sau đây hiển thị lớp mạng của cụm PowerFlex:

Hình 16. Lớp mạng

VMware vSphere Distributed Switches (VDS hoặc dvSwitches) quản lý mạng ảo trong giá đỡ PowerFlex. Các dvSwitch này chứa nhiều nhóm cổng. Mỗi nhóm cổng được xác định bằng nhãn mạng và các Vlan liên quan. Mỗi nút đóng góp các bộ điều hợp vật lý hoặc vmnics cho các liên kết lên dvSwitch.

Các nút siêu hội tụ sử dụng các bộ chuyển mạch ảo riêng biệt cho từng mạng dữ liệu PowerFlex. Các cổng mang lưu lượng dữ liệu không được tổng hợp thông qua kênh cổng ảo (vPC) mà được cấu hình dưới dạng cổng truy cập đơn giản. Hệ thống PowerFlex sử dụng hai mạng một cách dư thừa.

Tất cả các giao tiếp khác đều thông qua một bộ chuyển mạch ảo riêng biệt mang tất cả các Vlan khác. Vlan khách hàng được thêm vào bộ chuyển mạch ảo này. Các nút chỉ lưu trữ có cách sắp xếp tương tự nhưng không sử dụng bộ chuyển mạch ảo.

Mạng dữ liệu PowerFlex sử dụng hai cổng và mạng quản lý PowerFlex sử dụng một cặp cổng. Giống như nút siêu hội tụ, hai cổng mạng dữ liệu là các cổng truy cập không tổng hợp, trong khi hai cổng quản lý được định cấu hình như một giao diện ngoại quan. Các kết nối chuyển đổi cho các cổng này là một phần của vPC. VLAN của VMware và khách hàng không được thêm vào nút chỉ lưu trữ.

 

Plug-in CSI cho hệ thống PowerFlex

Plug-in Kubernetes CSI triển khai giao thức Giao diện lưu trữ vùng chứa, cho phép các ứng dụng được chứa trong vùng chứa trong cụm Kubernetes sử dụng lưu trữ khối. Để giải quyết hiệu quả những thách thức của việc lưu trữ liên tục, hệ thống PowerFlex có trình cắm CSI độc đáo. Với plug-in CSI cho hệ thống PowerFlex, khách hàng có thể cung cấp bộ lưu trữ liên tục cho các ứng dụng dựa trên container tại cơ sở, cho cả quy mô phát triển và quy mô sản xuất.

Hình dưới đây mô tả cách triển khai chung của trình cắm thêm CSI cho các hệ thống PowerFlex:

Hình 17. Triển khai plug-in CSI cho hệ thống PowerFlex

Để biết thêm thông tin về plug-in CSI, hãy xem hướng dẫn sản phẩm trên GitHub.

Lưu ý : Dell Technologies cũng cung cấp trình điều khiển CSI trên GitHub cho các hệ thống sau:

Bảng sau liệt kê phần mềm mà chúng tôi đã sử dụng trong quá trình xác thực thiết kế của mình:

Bảng 4. Các thành phần phần mềm

 

Thành phần phần mềm

Thành phần phần mềm Phiên bản
PowerFlex 3.0.1000.208
VMware vCenter và ESXi 6,7 u3
Hệ điều hành Red Hat Enterprise Linux 7.6 Maipo; hạt nhân: 3.10.0-957.el7.x86_64
Docker Phiên bản cộng đồng 18.09.6
Kubernetes 1.14.9
Mạng nhóm Calico 0.11.0-amd64
MetalLB (cân bằng tải) 0.7.3
Máy chủ SQL 2019 Cụm dữ liệu lớn 2019-GDR1
mũ bảo hiểm 2.16.0
Trình cắm CSI PowerFlex CSI 1.1.3

Kiến trúc cụm Kubernetes

Hình sau đây mô tả kiến ​​trúc cấp cao cho cụm Kubernetes của chúng tôi:

Hình 18. Kiến trúc cấp cao của cụm Kubernetes của chúng tôi

Cụm Kubernetes có các thành phần sau:

  • Bộ cân bằng tải —Một bộ cân bằng tải NGINX chạy trên máy ảo Red Hat Enterprise Linux chuyên dụng (cùng với sổ đăng ký Docker), có bật VMware Fault Tolerance (VMware FT) cho máy ảo đó.
  • Đăng ký Docker cục bộ —Một bộ chứa đăng ký Docker cũng được triển khai trên VM cân bằng tải để đơn giản hóa. Để kiểm soát và bảo mật tốt hơn, hãy triển khai sổ đăng ký Docker cục bộ trên máy ảo chuyên dụng hoặc máy ảo có cấu hình HA.
  • Các nút chính Kubernetes —Ba máy ảo Red Hat Enterprise Linux chuyên dụng cung cấp HA cho các nút chính Kubernetes trong trường hợp xảy ra lỗi. etcd cũng được triển khai trên ba nút chính này. Bạn cũng có thể triển khai các nút cụm etcd riêng biệt trong máy ảo chuyên dụng của riêng chúng.
  • Các nút công nhân Kubernetes —Chín máy ảo Red Hat Enterprise Linux chuyên dụng hoạt động như các nút trình điều khiển khối lượng công việc. Chúng tôi đặt các nhóm Cụm dữ liệu lớn của SQL Server trên các máy ảo này.

Bảng sau hiển thị vị trí VM trên cụm PowerFlex bốn nút:

Bảng 5. Vị trí VM trên các nút cụm PowerFlex

 

Các thành phần cụm dữ liệu lớn của SQL Server

  • Cụm dữ liệu lớn của SQL Server bao gồm các mặt phẳng sau để tổng hợp thành phần:

    • Mặt phẳng điều khiển— Mặt phẳng này bao gồm các phiên bản chính SQL cùng với các thành phần giám sát và ghi nhật ký. Nó cũng lưu trữ các thành phần được chia sẻ khác như Hive, SQL Proxy, v.v.
    • Mặt phẳng điện toán— Mặt phẳng này bao gồm các phiên bản SQL Server để giảm tải khối lượng công việc điện toán từ một phiên bản SQL chính. Máy bay này không lưu trữ bất kỳ dữ liệu người dùng nào.
    • Mặt phẳng dữ liệu— Mặt phẳng này bao gồm một phiên bản SQL Server lưu trữ dữ liệu người dùng để phiên bản chính có thể giảm tải bất kỳ dữ liệu nào (các bảng có dữ liệu đầy đủ hoặc dữ liệu trung gian) sang mặt phẳng này. Mặt phẳng này cũng lưu trữ dữ liệu bán cấu trúc và phi cấu trúc.

    Thiết kế của chúng tôi phân phối các thành phần Cụm dữ liệu lớn của SQL Server trên các nút công nhân chuyên dụng trong cụm Kubernetes, như minh họa trong hình sau. Phân phối này cho phép hiệu suất tốt hơn và cải thiện sự phân chia khối lượng công việc:

    Hình 19. Phân phối các thành phần Cụm dữ liệu lớn         

    Ngoài các mặt phẳng tổng hợp thành phần, Cụm dữ liệu lớn của SQL Server còn có nhiều nhóm:

    • Nhóm điện toán —Phiên bản SQL Server để giảm tải khối lượng công việc điện toán từ phiên bản chính.
    • Nhóm dữ liệu —Các phiên bản SQL Server để giảm tải dữ liệu từ các phiên bản chính.
    • Nhóm lưu trữ —Phiên bản máy chủ SQL, các thành phần Spark và các thành phần HDFS để lưu trữ và xử lý dữ liệu có cấu trúc, không cấu trúc hoặc bán cấu trúc.

    Các nhóm riêng biệt sau đây cũng là một phần của quá trình triển khai Cụm dữ liệu lớn của SQL Server; tuy nhiên, họ không ở trongHình 19bởi vì chúng tôi không chỉ sử dụng chúng trong các trường hợp xác thực của mình:

    • Nhóm ứng dụng —Bất kỳ vùng chứa ứng dụng nào nằm ngay bên trong Cụm dữ liệu lớn của SQL Server
    • Nhóm Spark —Các thành phần của Spark (tách biệt khỏi nhóm lưu trữ)