Làm thế nào để mở rộng quy mô trung tâm dữ liệu. Báo cáo Yandex

Chúng tôi đã phát triển một thiết kế mạng trung tâm dữ liệu cho phép triển khai các cụm điện toán lớn hơn 100 nghìn máy chủ với băng thông chia đôi tối đa trên một petabyte mỗi giây.

Từ báo cáo của Dmitry Afanasyev, bạn sẽ tìm hiểu về các nguyên tắc cơ bản của thiết kế mới, mở rộng cấu trúc liên kết, các vấn đề nảy sinh với điều này, các tùy chọn để giải quyết chúng, các tính năng định tuyến và mở rộng quy mô các chức năng mặt phẳng chuyển tiếp của các thiết bị mạng hiện đại trong “kết nối dày đặc” các cấu trúc liên kết có số lượng lớn các tuyến ECMP. Ngoài ra, Dima còn nói ngắn gọn về việc tổ chức kết nối bên ngoài, lớp vật lý, hệ thống cáp và các cách để tăng thêm công suất.

Làm thế nào để mở rộng quy mô trung tâm dữ liệu. Báo cáo Yandex

- Chào buổi chiều mọi người! Tên tôi là Dmitry Afanasyev, tôi là kiến ​​trúc sư mạng tại Yandex và chủ yếu thiết kế mạng trung tâm dữ liệu.

Làm thế nào để mở rộng quy mô trung tâm dữ liệu. Báo cáo Yandex

Câu chuyện của tôi sẽ là về mạng lưới trung tâm dữ liệu Yandex được cập nhật. Đây thực sự là một sự phát triển trong thiết kế mà chúng tôi đã có, nhưng đồng thời cũng có một số yếu tố mới. Đây là một bài thuyết trình tổng quan vì có rất nhiều thông tin được gói gọn trong một khoảng thời gian ngắn. Chúng ta sẽ bắt đầu bằng cách chọn một cấu trúc liên kết logic. Sau đó, sẽ có cái nhìn tổng quan về mặt phẳng điều khiển và các vấn đề về khả năng mở rộng mặt phẳng dữ liệu, lựa chọn những gì sẽ xảy ra ở cấp độ vật lý và chúng ta sẽ xem xét một số tính năng của thiết bị. Chúng ta hãy đề cập một chút về những gì đang xảy ra trong trung tâm dữ liệu với MPLS mà chúng ta đã nói đến cách đây một thời gian.

Làm thế nào để mở rộng quy mô trung tâm dữ liệu. Báo cáo Yandex

Vậy Yandex là gì về tải trọng và dịch vụ? Yandex là một công cụ siêu tỷ lệ điển hình. Nếu nhìn vào người dùng, chúng tôi chủ yếu xử lý các yêu cầu của người dùng. Ngoài ra còn có nhiều dịch vụ phát trực tuyến và truyền dữ liệu khác nhau, bởi vì chúng tôi cũng có dịch vụ lưu trữ. Nếu gần với phần phụ trợ hơn thì các tải và dịch vụ cơ sở hạ tầng sẽ xuất hiện ở đó, chẳng hạn như lưu trữ đối tượng phân tán, sao chép dữ liệu và tất nhiên là hàng đợi liên tục. Một trong những loại khối lượng công việc chính là MapReduce và các hệ thống tương tự, xử lý luồng, học máy, v.v.

Làm thế nào để mở rộng quy mô trung tâm dữ liệu. Báo cáo Yandex

Cơ sở hạ tầng trên đó tất cả điều này xảy ra như thế nào? Một lần nữa, chúng tôi là một người có siêu tỷ lệ khá điển hình, mặc dù có lẽ chúng tôi đã tiến gần hơn một chút đến phía siêu tỷ lệ nhỏ hơn của quang phổ. Nhưng chúng tôi có tất cả các thuộc tính. Chúng tôi sử dụng phần cứng hàng hóa và mở rộng quy mô theo chiều ngang bất cứ khi nào có thể. Chúng tôi có tổng hợp tài nguyên đầy đủ: chúng tôi không làm việc với các máy riêng lẻ, giá đỡ riêng lẻ mà kết hợp chúng thành một nhóm lớn các tài nguyên có thể hoán đổi cho nhau với một số dịch vụ bổ sung liên quan đến việc lập kế hoạch và phân bổ cũng như làm việc với toàn bộ nhóm này.

Vì vậy, chúng ta có cấp độ tiếp theo - hệ điều hành ở cấp độ cụm máy tính. Điều rất quan trọng là chúng tôi phải kiểm soát hoàn toàn kho công nghệ mà chúng tôi sử dụng. Chúng tôi kiểm soát các điểm cuối (máy chủ), mạng và ngăn xếp phần mềm.

Chúng tôi có một số trung tâm dữ liệu lớn ở Nga và nước ngoài. Chúng được thống nhất bởi một đường trục sử dụng công nghệ MPLS. Cơ sở hạ tầng nội bộ của chúng tôi gần như được xây dựng hoàn toàn trên IPv6, nhưng vì chúng tôi cần phục vụ lưu lượng truy cập bên ngoài vẫn chủ yếu qua IPv4 nên bằng cách nào đó, chúng tôi phải phân phối các yêu cầu đến qua IPv4 đến các máy chủ ngoại vi và một chút nữa đến IPv4- Internet bên ngoài - để ví dụ, để lập chỉ mục.

Một số thiết kế mạng trung tâm dữ liệu gần đây nhất đã sử dụng cấu trúc liên kết Clos nhiều lớp và chỉ dành cho L3. Chúng tôi rời L2 cách đây không lâu và thở phào nhẹ nhõm. Cuối cùng, cơ sở hạ tầng của chúng tôi bao gồm hàng trăm nghìn phiên bản điện toán (máy chủ). Kích thước cụm tối đa cách đây một thời gian là khoảng 10 nghìn máy chủ. Điều này phần lớn là do cách thức hoạt động của các hệ điều hành cấp cụm, bộ lập lịch, phân bổ tài nguyên, v.v.. Do tiến bộ đã xảy ra ở phía phần mềm cơ sở hạ tầng, quy mô mục tiêu hiện nay là khoảng 100 nghìn máy chủ trong một cụm máy tính và Chúng tôi có một nhiệm vụ - có thể xây dựng các nhà máy mạng cho phép tổng hợp tài nguyên hiệu quả trong một cụm như vậy.

Làm thế nào để mở rộng quy mô trung tâm dữ liệu. Báo cáo Yandex

Chúng ta muốn gì từ một mạng trung tâm dữ liệu? Trước hết, có rất nhiều băng thông được phân bổ khá đồng đều và rẻ. Bởi vì mạng là xương sống mà qua đó chúng ta có thể tập hợp các tài nguyên. Kích thước mục tiêu mới là khoảng 100 nghìn máy chủ trong một cụm.

Tất nhiên, chúng tôi cũng muốn có một mặt phẳng điều khiển ổn định và có thể mở rộng, bởi vì trên cơ sở hạ tầng lớn như vậy, rất nhiều vấn đề đau đầu phát sinh ngay cả từ những sự kiện ngẫu nhiên đơn giản và chúng tôi không muốn mặt phẳng điều khiển cũng khiến chúng tôi đau đầu. Đồng thời, chúng tôi muốn giảm thiểu trạng thái trong đó. Tình trạng càng nhỏ thì mọi thứ càng hoạt động tốt và ổn định hơn và càng dễ chẩn đoán.

Tất nhiên, chúng ta cần tự động hóa, vì không thể quản lý cơ sở hạ tầng như vậy một cách thủ công và điều này đã xảy ra trong một thời gian. Chúng tôi cần hỗ trợ vận hành nhiều nhất có thể và hỗ trợ CI/CD trong phạm vi có thể được cung cấp.

Với quy mô của các trung tâm và cụm dữ liệu như vậy, nhiệm vụ hỗ trợ triển khai và mở rộng gia tăng mà không bị gián đoạn dịch vụ đã trở nên khá cấp bách. Nếu trên các cụm có quy mô một nghìn máy, có lẽ gần mười nghìn máy, chúng vẫn có thể được triển khai dưới dạng một hoạt động - nghĩa là chúng tôi đang lên kế hoạch mở rộng cơ sở hạ tầng và vài nghìn máy được thêm vào dưới dạng một hoạt động, thì một cụm có quy mô cả trăm nghìn máy không nảy sinh ngay lập tức như thế này mà nó được xây dựng trong một khoảng thời gian. Và điều mong muốn là trong thời gian này những gì đã được bơm ra, cơ sở hạ tầng đã được triển khai đều phải có sẵn.

Và một yêu cầu mà chúng tôi đã có và đã để lại: hỗ trợ cho multitenancy, tức là ảo hóa hoặc phân đoạn mạng. Bây giờ, chúng tôi không cần thực hiện việc này ở cấp độ kết cấu mạng vì phân đoạn đã được chuyển đến máy chủ và điều này giúp chúng tôi mở rộng quy mô rất dễ dàng. Nhờ IPv6 và không gian địa chỉ lớn, chúng tôi không cần sử dụng các địa chỉ trùng lặp trong cơ sở hạ tầng nội bộ; tất cả các địa chỉ đều là duy nhất. Và nhờ thực tế là chúng tôi đã thực hiện lọc và phân đoạn mạng đến các máy chủ, chúng tôi không cần tạo bất kỳ thực thể mạng ảo nào trong mạng trung tâm dữ liệu.

Làm thế nào để mở rộng quy mô trung tâm dữ liệu. Báo cáo Yandex

Một điều rất quan trọng là những gì chúng ta không cần. Nếu một số chức năng có thể được loại bỏ khỏi mạng, điều này sẽ giúp cuộc sống trở nên dễ dàng hơn nhiều và theo quy luật, sẽ mở rộng sự lựa chọn về thiết bị và phần mềm có sẵn, giúp việc chẩn đoán trở nên rất đơn giản.

Vì vậy, cái gì chúng ta không cần, cái gì chúng ta đã có thể từ bỏ, không phải lúc nào cũng vui mừng vào thời điểm nó xảy ra, nhưng lại nhẹ nhõm vô cùng khi quá trình hoàn tất?

Trước hết, từ bỏ L2. Chúng tôi không cần L2, không thực cũng không mô phỏng. Không được sử dụng phần lớn là do chúng tôi kiểm soát ngăn xếp ứng dụng. Các ứng dụng của chúng tôi có khả năng mở rộng theo chiều ngang, chúng hoạt động với địa chỉ L3, chúng không lo lắng lắm rằng một số phiên bản riêng lẻ đã hết, chúng chỉ cần tung ra một phiên bản mới, không cần phải triển khai tại địa chỉ cũ, vì có một mức độ phát hiện dịch vụ riêng biệt và giám sát các máy nằm trong cụm. Chúng tôi không ủy thác nhiệm vụ này cho mạng. Công việc của mạng là phân phối các gói từ điểm A đến điểm B.

Chúng tôi cũng không gặp trường hợp địa chỉ di chuyển trong mạng và điều này cần được theo dõi. Trong nhiều thiết kế, điều này thường cần thiết để hỗ trợ tính di động của VM. Chúng tôi không sử dụng tính di động của các máy ảo trong cơ sở hạ tầng nội bộ của Yandex lớn và hơn nữa, chúng tôi tin rằng ngay cả khi điều này được thực hiện, nó sẽ không xảy ra với sự hỗ trợ của mạng. Nếu thực sự cần phải thực hiện thì cần phải thực hiện ở cấp độ máy chủ và đẩy các địa chỉ có thể di chuyển vào các lớp phủ, để không chạm hoặc thực hiện quá nhiều thay đổi động đối với hệ thống định tuyến của chính lớp phủ đó (mạng truyền tải) .

Một công nghệ khác mà chúng tôi không sử dụng là multicast. Nếu bạn muốn, tôi có thể cho bạn biết chi tiết tại sao. Điều này làm cho cuộc sống trở nên dễ dàng hơn nhiều, bởi vì nếu ai đó đã xử lý nó và xem xét chính xác mặt phẳng điều khiển multicast trông như thế nào, trong tất cả các cài đặt ngoại trừ những cài đặt đơn giản nhất, thì đây là một vấn đề rất đau đầu. Và hơn thế nữa, thật khó để tìm thấy một triển khai nguồn mở hoạt động tốt chẳng hạn.

Cuối cùng, chúng tôi thiết kế mạng của mình để chúng không thay đổi quá nhiều. Chúng ta có thể tin tưởng vào thực tế là luồng sự kiện bên ngoài trong hệ thống định tuyến là nhỏ.

Làm thế nào để mở rộng quy mô trung tâm dữ liệu. Báo cáo Yandex

Những vấn đề nào phát sinh và những hạn chế nào phải được tính đến khi chúng ta phát triển mạng trung tâm dữ liệu? Tất nhiên là chi phí. Khả năng mở rộng, mức độ mà chúng tôi muốn phát triển. Nhu cầu mở rộng mà không dừng dịch vụ. Băng thông, tính sẵn có. Khả năng hiển thị những gì đang diễn ra trên mạng cho các hệ thống giám sát, cho các nhóm vận hành. Hỗ trợ tự động hóa - một lần nữa, càng nhiều càng tốt, vì các nhiệm vụ khác nhau có thể được giải quyết ở các cấp độ khác nhau, bao gồm cả việc giới thiệu các lớp bổ sung. Chà, [có thể] không phụ thuộc vào nhà cung cấp. Mặc dù ở các thời kỳ lịch sử khác nhau, tùy vào phần mà bạn xem xét mà việc đạt được sự độc lập này dễ hay khó hơn. Nếu chúng ta lấy một mặt cắt ngang của các chip thiết bị mạng, thì cho đến gần đây, việc nói về sự độc lập với các nhà cung cấp là rất có điều kiện nếu chúng ta cũng muốn những con chip có thông lượng cao.

Làm thế nào để mở rộng quy mô trung tâm dữ liệu. Báo cáo Yandex

Chúng ta sẽ sử dụng cấu trúc liên kết logic nào để xây dựng mạng của mình? Đây sẽ là một Clos đa cấp. Trên thực tế, hiện tại không có lựa chọn thay thế thực sự nào. Và cấu trúc liên kết Clos khá tốt, ngay cả khi so sánh với các cấu trúc liên kết tiên tiến khác hiện đang được quan tâm nhiều hơn trong lĩnh vực học thuật, nếu chúng ta có các công tắc cơ số lớn.

Làm thế nào để mở rộng quy mô trung tâm dữ liệu. Báo cáo Yandex

Mạng Clos đa cấp có cấu trúc đại khái như thế nào và các phần tử khác nhau được gọi trong đó là gì? Trước hết, gió nổi lên, để định hướng cho mình đâu là bắc, đâu là nam, đâu là đông, đâu là tây. Mạng loại này thường được xây dựng bởi những người có lưu lượng truy cập đông tây rất lớn. Về các phần tử còn lại, phía trên là switch ảo được ghép từ những switch nhỏ hơn. Đây là ý tưởng chính của việc xây dựng đệ quy mạng Clos. Chúng tôi lấy các phần tử có một số loại cơ số và kết nối chúng để những gì chúng tôi nhận được có thể được coi là một công tắc có cơ số lớn hơn. Nếu bạn cần nhiều hơn nữa, thủ tục có thể được lặp lại.

Ví dụ, trong các trường hợp với Clos hai cấp, khi có thể xác định rõ ràng các thành phần thẳng đứng trong sơ đồ của tôi, chúng thường được gọi là các mặt phẳng. Nếu chúng ta xây dựng một Clos với ba cấp độ của công tắc cột sống (tất cả đều không phải là công tắc ranh giới hoặc ToR và chỉ được sử dụng để chuyển tuyến), thì các mặt phẳng sẽ trông phức tạp hơn; các mặt phẳng hai cấp trông giống hệt như thế này. Chúng tôi gọi một khối ToR hoặc các công tắc lá và các công tắc cột sống cấp độ đầu tiên được liên kết với chúng là Pod. Các công tắc cột sống của cấp độ cột sống-1 ở đầu Pod là đỉnh của Pod, đỉnh của Pod. Các công tắc được đặt trên cùng của toàn bộ nhà máy là lớp trên cùng của nhà máy, Lớp trên cùng của vải.

Làm thế nào để mở rộng quy mô trung tâm dữ liệu. Báo cáo Yandex

Tất nhiên, câu hỏi đặt ra là: Mạng Clos đã được xây dựng từ lâu; bản thân ý tưởng này thường xuất phát từ thời của điện thoại cổ điển, mạng TDM. Có thể điều gì đó tốt hơn đã xuất hiện, có thể điều gì đó có thể được thực hiện tốt hơn? Có và không. Về mặt lý thuyết là có, nhưng thực tế trong thời gian tới chắc chắn là không. Bởi vì có một số cấu trúc liên kết thú vị, một số trong số chúng thậm chí còn được sử dụng trong sản xuất, chẳng hạn như Dragonfly được sử dụng trong các ứng dụng HPC; Ngoài ra còn có các cấu trúc liên kết thú vị như Xpander, FatClique, Jellyfish. Nếu bạn xem các báo cáo tại các hội nghị như SIGCOMM hoặc NSDI gần đây, bạn có thể tìm thấy một số lượng khá lớn các công trình về các cấu trúc liên kết thay thế có các thuộc tính tốt hơn (cái này hoặc cái khác) so với Clos.

Nhưng tất cả các cấu trúc liên kết này đều có một đặc tính thú vị. Nó ngăn cản việc triển khai chúng trong các mạng trung tâm dữ liệu mà chúng tôi đang cố gắng xây dựng trên phần cứng thông thường và có chi phí khá hợp lý. Trong tất cả các cấu trúc liên kết thay thế này, rất tiếc là hầu hết băng thông không thể truy cập được bằng các đường dẫn ngắn nhất. Vì vậy, chúng ta ngay lập tức mất đi cơ hội sử dụng mặt phẳng điều khiển truyền thống.

Về mặt lý thuyết, giải pháp cho vấn đề đã được biết đến. Ví dụ: đây là những sửa đổi trạng thái liên kết bằng cách sử dụng đường dẫn ngắn nhất k, nhưng, một lần nữa, không có giao thức nào như vậy sẽ được triển khai trong sản xuất và có sẵn rộng rãi trên thiết bị.

Hơn nữa, vì hầu hết dung lượng không thể truy cập được thông qua các đường dẫn ngắn nhất, nên chúng ta cần sửa đổi nhiều thứ hơn là chỉ mặt phẳng điều khiển để chọn tất cả các đường dẫn đó (và nhân tiện, đây là trạng thái nhiều hơn đáng kể trong mặt phẳng điều khiển). Chúng tôi vẫn cần sửa đổi mặt phẳng chuyển tiếp và theo quy định, cần có ít nhất hai tính năng bổ sung. Đây là khả năng đưa ra tất cả các quyết định về chuyển tiếp gói một lần, chẳng hạn như trên máy chủ. Trong thực tế, đây là định tuyến nguồn, đôi khi trong tài liệu về các mạng kết nối, điều này được gọi là quyết định chuyển tiếp tất cả cùng một lúc. Và định tuyến thích ứng là một chức năng mà chúng ta cần trên các thành phần mạng, ví dụ như thực tế là chúng ta chọn bước nhảy tiếp theo dựa trên thông tin về mức tải ít nhất trên hàng đợi. Ví dụ: có thể có các tùy chọn khác.

Vì vậy, hướng đi này rất thú vị, nhưng than ôi, chúng tôi không thể áp dụng nó ngay bây giờ.

Làm thế nào để mở rộng quy mô trung tâm dữ liệu. Báo cáo Yandex

Được rồi, chúng ta đã giải quyết được cấu trúc liên kết logic Clos. Chúng ta sẽ mở rộng quy mô như thế nào? Hãy xem nó hoạt động như thế nào và những gì có thể được thực hiện.

Làm thế nào để mở rộng quy mô trung tâm dữ liệu. Báo cáo Yandex

Trong mạng Clos, có hai tham số chính mà chúng ta có thể thay đổi bằng cách nào đó và nhận được kết quả nhất định: cơ số của các phần tử và số cấp trong mạng. Tôi có một sơ đồ về cách cả hai ảnh hưởng đến kích thước. Lý tưởng nhất là chúng ta kết hợp cả hai.

Làm thế nào để mở rộng quy mô trung tâm dữ liệu. Báo cáo Yandex

Có thể thấy, độ rộng cuối cùng của mạng Clos là sản phẩm của tất cả các cấp độ chuyển mạch cột sống của cơ số phía nam, chúng ta có bao nhiêu liên kết xuống, nó phân nhánh như thế nào. Đây là cách chúng tôi mở rộng quy mô của mạng.

Làm thế nào để mở rộng quy mô trung tâm dữ liệu. Báo cáo Yandex

Về dung lượng, đặc biệt là trên các switch ToR, có hai tùy chọn chia tỷ lệ. Hoặc chúng ta có thể, trong khi vẫn duy trì cấu trúc liên kết chung, sử dụng các liên kết nhanh hơn hoặc chúng ta có thể thêm nhiều mặt phẳng hơn.

Nếu bạn nhìn vào phiên bản mở rộng của mạng Clos (ở góc dưới bên phải) và quay lại hình ảnh này với mạng Clos bên dưới...

Làm thế nào để mở rộng quy mô trung tâm dữ liệu. Báo cáo Yandex

... thì đây hoàn toàn là cấu trúc liên kết giống nhau, nhưng trên slide này nó được thu gọn gọn hơn và các mặt phẳng của nhà máy được xếp chồng lên nhau. Nó giống nhau.

Làm thế nào để mở rộng quy mô trung tâm dữ liệu. Báo cáo Yandex

Việc mở rộng mạng Clos trông như thế nào về mặt số lượng? Ở đây tôi cung cấp dữ liệu về độ rộng tối đa mà mạng có thể đạt được, số lượng giá đỡ tối đa, công tắc ToR hoặc công tắc lá, nếu chúng không có trong giá đỡ, chúng tôi có thể nhận được tùy thuộc vào cơ số của công tắc mà chúng tôi sử dụng cho các cấp độ cột sống và chúng ta sử dụng bao nhiêu cấp độ.

Đây là số lượng chúng tôi có thể có, bao nhiêu máy chủ và khoảng bao nhiêu thứ này có thể tiêu thụ dựa trên 20 kW mỗi giá. Trước đó một chút, tôi đã đề cập rằng chúng tôi đang hướng tới quy mô cụm khoảng 100 nghìn máy chủ.

Có thể thấy rằng trong toàn bộ thiết kế này, hai phương án rưỡi được quan tâm. Có một tùy chọn với hai lớp gai và công tắc 64 cổng, hơi ngắn một chút. Sau đó, có các tùy chọn phù hợp hoàn hảo cho công tắc cột sống 128 cổng (với cơ số 128) với hai cấp độ hoặc công tắc có cơ số 32 với ba cấp độ. Và trong mọi trường hợp, nơi có nhiều cơ số hơn và nhiều lớp hơn, bạn có thể tạo ra một mạng lưới rất lớn, nhưng nếu bạn nhìn vào mức tiêu thụ dự kiến, thông thường sẽ có gigawatt. Có thể đặt cáp, nhưng chúng ta khó có thể lấy được nhiều điện như vậy tại một địa điểm. Nếu nhìn vào số liệu thống kê và dữ liệu công khai về các trung tâm dữ liệu, bạn có thể tìm thấy rất ít trung tâm dữ liệu có công suất ước tính trên 150 MW. Những cái lớn hơn thường là các khuôn viên trung tâm dữ liệu, một số trung tâm dữ liệu lớn nằm khá gần nhau.

Có một thông số quan trọng khác. Nếu bạn nhìn vào cột bên trái, băng thông có thể sử dụng được liệt kê ở đó. Dễ dàng nhận thấy rằng trong mạng Clos một phần đáng kể các cổng được sử dụng để kết nối các switch với nhau. Băng thông có thể sử dụng, một dải hữu ích, là thứ có thể được cung cấp bên ngoài, hướng tới các máy chủ. Đương nhiên, tôi đang nói về các cổng có điều kiện và đặc biệt là về băng tần. Theo quy định, các liên kết trong mạng nhanh hơn các liên kết tới máy chủ, nhưng trên mỗi đơn vị băng thông, ở mức chúng tôi có thể gửi nó đến thiết bị máy chủ của mình thì vẫn có một số băng thông trong chính mạng đó. Và chúng tôi càng tạo ra nhiều cấp độ thì chi phí cụ thể để cung cấp sọc này ra bên ngoài càng lớn.

Hơn nữa, ngay cả dải bổ sung này cũng không hoàn toàn giống nhau. Mặc dù khoảng cách ngắn, nhưng chúng ta có thể sử dụng thứ gì đó như DAC (đồng gắn trực tiếp, nghĩa là cáp song trục) hoặc quang học đa chế độ, thậm chí có giá cả hợp lý hơn hoặc ít hơn. Ngay khi chúng tôi chuyển sang các khoảng thời gian dài hơn - theo quy luật, đây là các quang học chế độ đơn và chi phí cho băng thông bổ sung này tăng lên đáng kể.

Và một lần nữa, quay lại trang trình bày trước, nếu chúng ta tạo mạng Clos mà không đăng ký vượt mức, thì thật dễ dàng để xem sơ đồ, xem mạng được xây dựng như thế nào - thêm từng cấp độ của công tắc cột sống, chúng ta lặp lại toàn bộ dải ở mức đáy. Cấp độ cộng - cộng với cùng một băng tần, cùng số lượng cổng trên thiết bị chuyển mạch như ở cấp độ trước đó và cùng số lượng bộ thu phát. Vì vậy, việc giảm thiểu số lượng cấp độ chuyển mạch cột sống là điều rất cần thiết.

Dựa trên bức tranh này, rõ ràng là chúng tôi thực sự muốn xây dựng trên thứ gì đó giống như công tắc có cơ số là 128.

Làm thế nào để mở rộng quy mô trung tâm dữ liệu. Báo cáo Yandex

Ở đây về nguyên tắc mọi thứ đều giống như những gì tôi vừa nói, đây là slide để xem xét sau.

Làm thế nào để mở rộng quy mô trung tâm dữ liệu. Báo cáo Yandex

Có những lựa chọn nào mà chúng ta có thể chọn làm công tắc như vậy? Một tin rất vui đối với chúng tôi là giờ đây những mạng như vậy cuối cùng đã có thể được xây dựng trên các thiết bị chuyển mạch đơn chip. Và điều này thật tuyệt vời, chúng có rất nhiều tính năng hay. Ví dụ, chúng hầu như không có cấu trúc bên trong. Điều này có nghĩa là chúng dễ vỡ hơn. Họ phá vỡ bằng mọi cách, nhưng may mắn thay họ phá vỡ hoàn toàn. Trong các thiết bị mô-đun có một số lượng lớn lỗi (rất khó chịu), khi theo quan điểm của hàng xóm và mặt phẳng điều khiển thì nó có vẻ đang hoạt động, nhưng, chẳng hạn, một phần vải đã bị mất và nó không hoạt động hết công suất. Và lưu lượng truy cập vào nó được cân bằng dựa trên thực tế là nó có đầy đủ chức năng và chúng ta có thể bị quá tải.

Hoặc, ví dụ, các vấn đề phát sinh với bảng nối đa năng, bởi vì bên trong thiết bị mô-đun cũng có các SerDe tốc độ cao - bên trong nó thực sự phức tạp. Dấu hiệu giữa các phần tử chuyển tiếp được đồng bộ hóa hoặc không được đồng bộ hóa. Nhìn chung, bất kỳ thiết bị mô-đun hiệu quả nào bao gồm một số lượng lớn các phần tử, theo quy luật, đều chứa cùng một mạng Clos bên trong, nhưng rất khó chẩn đoán. Thường thì ngay cả chính người bán hàng cũng khó chẩn đoán được.

Và nó có một số lượng lớn các tình huống lỗi trong đó thiết bị xuống cấp nhưng không hoàn toàn nằm ngoài cấu trúc liên kết. Vì mạng của chúng tôi lớn nên việc cân bằng giữa các phần tử giống hệt nhau được sử dụng tích cực, mạng rất đều đặn, nghĩa là, một đường dẫn mà mọi thứ đều theo thứ tự không khác với đường dẫn kia, sẽ có lợi hơn cho chúng tôi nếu chỉ mất một số các thiết bị từ cấu trúc liên kết sẽ rơi vào tình huống trong đó một số trong số chúng dường như hoạt động nhưng một số thì không.

Làm thế nào để mở rộng quy mô trung tâm dữ liệu. Báo cáo Yandex

Tính năng hay tiếp theo của các thiết bị chip đơn là chúng phát triển tốt hơn và nhanh hơn. Họ cũng có xu hướng có năng lực tốt hơn. Nếu chúng ta đặt các cấu trúc lắp ráp lớn mà chúng ta có trên một vòng tròn, thì công suất trên mỗi đơn vị giá cho các cổng có cùng tốc độ gần như gấp đôi so với công suất của các thiết bị mô-đun. Các thiết bị được xây dựng dựa trên một con chip đơn rẻ hơn đáng kể so với các thiết bị mô-đun và tiêu thụ ít năng lượng hơn.

Nhưng, tất nhiên, tất cả đều có lý do, cũng có những nhược điểm. Thứ nhất, cơ số hầu như luôn nhỏ hơn cơ số của các thiết bị mô-đun. Nếu chúng ta có thể tạo ra một thiết bị được xây dựng dựa trên một con chip có 128 cổng, thì bây giờ chúng ta có thể có được một thiết bị mô-đun với hàng trăm cổng mà không gặp bất kỳ vấn đề gì.

Đây là kích thước nhỏ hơn đáng kể của các bảng chuyển tiếp và theo quy luật, mọi thứ liên quan đến khả năng mở rộng mặt phẳng dữ liệu. Bộ đệm nông. Và, như một quy luật, chức năng khá hạn chế. Nhưng hóa ra nếu bạn biết những hạn chế này và cẩn thận kịp thời để tránh chúng hoặc đơn giản là tính đến chúng, thì điều này không quá đáng sợ. Việc cơ số nhỏ hơn không còn là vấn đề trên các thiết bị có cơ số 128 cuối cùng đã xuất hiện gần đây; chúng ta có thể xây dựng thành hai lớp gai. Nhưng vẫn không thể tạo ra bất cứ thứ gì nhỏ hơn hai thứ mà chúng tôi thấy thú vị. Với một cấp độ, thu được các cụm rất nhỏ. Ngay cả những thiết kế và yêu cầu trước đây của chúng tôi vẫn vượt quá chúng.

Trên thực tế, nếu đột nhiên giải pháp ở đâu đó trên bờ vực thì vẫn có cách để mở rộng quy mô. Vì cấp cuối cùng (hoặc đầu tiên), thấp nhất nơi máy chủ được kết nối là bộ chuyển mạch ToR hoặc bộ chuyển mạch lá, nên chúng tôi không bắt buộc phải kết nối một giá đỡ với chúng. Do đó, nếu giải pháp thiếu khoảng một nửa, bạn có thể nghĩ đến việc chỉ cần sử dụng một công tắc có cơ số lớn ở mức thấp hơn và kết nối, chẳng hạn như hai hoặc ba giá đỡ thành một công tắc. Đây cũng là một lựa chọn, nó có chi phí nhưng nó hoạt động khá tốt và có thể là một giải pháp tốt khi bạn cần đạt kích thước gấp đôi.

Làm thế nào để mở rộng quy mô trung tâm dữ liệu. Báo cáo Yandex

Tóm lại, chúng tôi đang xây dựng trên một cấu trúc liên kết có hai cấp độ gai, với tám lớp nhà máy.

Làm thế nào để mở rộng quy mô trung tâm dữ liệu. Báo cáo Yandex

Điều gì sẽ xảy ra với vật lý? Tính toán rất đơn giản. Nếu chúng ta có hai cấp độ gai thì chúng ta chỉ có ba cấp độ chuyển mạch và chúng ta hy vọng rằng sẽ có ba đoạn cáp trong mạng: từ máy chủ đến chuyển mạch lá, đến cột sống 1, đến cột sống 2. Các tùy chọn mà chúng ta có thể sử dụng là - đây là Twinax, multimode, single mode. Và ở đây, chúng ta cần xem xét loại dải nào có sẵn, giá của nó là bao nhiêu, kích thước vật lý là bao nhiêu, chúng ta có thể bao phủ những phạm vi nào và chúng ta sẽ nâng cấp như thế nào.

Về mặt chi phí, mọi thứ đều có thể được xếp hàng. Twinaxes rẻ hơn đáng kể so với quang học chủ động, rẻ hơn so với bộ thu phát đa chế độ, nếu bạn mang nó theo mỗi chuyến bay từ cuối, rẻ hơn một chút so với cổng chuyển mạch 100 gigabit. Và, xin lưu ý, nó có giá thấp hơn so với quang học chế độ đơn, vì trên các chuyến bay yêu cầu chế độ đơn, trong các trung tâm dữ liệu vì một số lý do, việc sử dụng CWDM là hợp lý, trong khi chế độ đơn song song (PSM) không thuận tiện để làm việc với, các gói rất lớn thu được sợi và nếu chúng ta tập trung vào các công nghệ này, chúng ta sẽ có được hệ thống phân cấp giá xấp xỉ sau.

Một lưu ý nữa: thật không may, không thể sử dụng các cổng đa chế độ 100 đến 4x25 đã được tháo rời. Do đặc điểm thiết kế của bộ thu phát SFP28 nên nó không rẻ hơn nhiều so với 28 Gbit QSFP100. Và việc tháo gỡ đa chế độ này không hoạt động tốt lắm.

Một hạn chế khác là do quy mô của cụm máy tính và số lượng máy chủ, các trung tâm dữ liệu của chúng tôi có quy mô vật lý lớn. Điều này có nghĩa là ít nhất một chuyến bay sẽ phải được thực hiện với một mod đơn. Một lần nữa, do kích thước vật lý của Pod, sẽ không thể chạy hai nhịp Twinax (cáp đồng).

Kết quả là, nếu chúng tôi tối ưu hóa về giá và tính đến hình dạng của thiết kế này, chúng tôi sẽ nhận được một nhịp trục đôi, một nhịp đa chế độ và một nhịp chế độ đơn sử dụng CWDM. Điều này có tính đến các đường dẫn nâng cấp có thể có.

Làm thế nào để mở rộng quy mô trung tâm dữ liệu. Báo cáo Yandex

Đây là những gì gần đây trông giống như nơi chúng tôi đang hướng tới và những gì có thể thực hiện được. Ít nhất, rõ ràng là làm thế nào để hướng tới SerDes 50-Gigabit cho cả chế độ đa chế độ và chế độ đơn. Hơn nữa, nếu bạn xem xét những gì có trong các bộ thu phát chế độ đơn hiện tại và trong tương lai đối với 400G, thường là ngay cả khi SerDe 50G đến từ phía điện, 100 Gbps trên mỗi làn đã có thể chuyển sang quang học. Do đó, rất có thể thay vì chuyển sang 50, sẽ có sự chuyển đổi sang 100 Gigabit SerDes và 100 Gbps mỗi làn, vì theo lời hứa của nhiều nhà cung cấp, chúng sẽ sớm có sẵn. Có vẻ như khoảng thời gian mà 50G SerDes là nhanh nhất sẽ không còn dài nữa vì những bản sao đầu tiên của 100G SerDes sẽ ra mắt gần như vào năm tới. Và sau một thời gian nữa, chúng có thể sẽ có giá trị tương đương với số tiền bỏ ra.

Làm thế nào để mở rộng quy mô trung tâm dữ liệu. Báo cáo Yandex

Một sắc thái nữa về sự lựa chọn vật lý. Về nguyên tắc, chúng tôi đã có thể sử dụng cổng 400 hoặc 200 Gigabit bằng SerDes 50G. Nhưng hóa ra điều này không có nhiều ý nghĩa, bởi vì, như tôi đã nói trước đó, tất nhiên chúng ta muốn có một cơ số khá lớn trên các công tắc, theo lý do. Chúng ta muốn 128. Và nếu dung lượng chip hạn chế mà chúng ta tăng tốc độ liên kết thì cơ số tự nhiên giảm xuống, không có gì thần kỳ cả.

Và chúng ta có thể tăng tổng công suất bằng cách sử dụng máy bay và không có chi phí đặc biệt nào; chúng ta có thể tăng thêm số lượng máy bay. Và nếu chúng tôi mất cơ số, chúng tôi sẽ phải giới thiệu một cấp độ bổ sung, vì vậy trong tình hình hiện tại, với công suất tối đa hiện có trên mỗi chip, việc sử dụng cổng 100 gigabit sẽ hiệu quả hơn vì chúng cho phép bạn để có được một cơ số lớn hơn.

Làm thế nào để mở rộng quy mô trung tâm dữ liệu. Báo cáo Yandex

Câu hỏi tiếp theo là vật lý được tổ chức như thế nào, nhưng từ quan điểm của cơ sở hạ tầng cáp. Hóa ra nó được tổ chức theo một cách khá buồn cười. Cáp giữa các công tắc lá và gai cấp một - không có nhiều liên kết ở đó, mọi thứ được xây dựng tương đối đơn giản. Nhưng nếu chúng ta lấy một mặt phẳng, điều xảy ra bên trong là chúng ta cần kết nối tất cả các gai của cấp độ thứ nhất với tất cả các gai của cấp độ thứ hai.

Ngoài ra, theo quy định, có một số mong muốn về cách nó trông như thế nào bên trong trung tâm dữ liệu. Ví dụ: chúng tôi thực sự muốn kết hợp các dây cáp thành một bó và kéo chúng sao cho một bảng vá lỗi mật độ cao hoàn toàn nằm trong một bảng vá lỗi, để không có sở thú về chiều dài. Chúng tôi đã giải quyết được vấn đề này. Nếu ban đầu bạn nhìn vào cấu trúc liên kết logic, bạn có thể thấy rằng các mặt phẳng là độc lập, mỗi mặt phẳng có thể được xây dựng riêng. Nhưng khi chúng tôi thêm một gói như vậy và muốn kéo toàn bộ bảng vá lỗi vào một bảng vá lỗi, chúng tôi phải trộn các mặt phẳng khác nhau vào trong một gói và đưa vào một cấu trúc trung gian dưới dạng kết nối chéo quang học để đóng gói lại chúng từ cách chúng được lắp ráp. trên một phân khúc, chúng sẽ được thu thập như thế nào trên một phân khúc khác. Nhờ đó, chúng tôi có được một tính năng hay: tất cả các chuyển đổi phức tạp không vượt ra ngoài giá đỡ. Khi bạn cần đan xen một thứ gì đó thật chặt, hãy “mở ra các mặt phẳng”, như đôi khi nó được gọi trong mạng Clos, tất cả đều tập trung bên trong một giá đỡ. Chúng tôi không có sự tháo rời cao, xuống các liên kết riêng lẻ, chuyển đổi giữa các giá đỡ.

Làm thế nào để mở rộng quy mô trung tâm dữ liệu. Báo cáo Yandex

Đây là cách nó nhìn từ quan điểm tổ chức hợp lý của cơ sở hạ tầng cáp. Trong hình bên trái, các khối nhiều màu mô tả các khối công tắc cột sống cấp độ đầu tiên, mỗi khối tám mảnh và bốn bó cáp đến từ chúng, đi và giao nhau với các bó đến từ các khối công tắc cột sống-2 .

Các ô vuông nhỏ biểu thị các nút giao nhau. Ở phía trên bên trái là phần phân tích của từng nút giao nhau như vậy, đây thực sự là một mô-đun kết nối chéo cổng 512 x 512 đóng gói lại các dây cáp để chúng hoàn toàn đi vào một giá đỡ, nơi chỉ có một mặt phẳng cột sống-2. Và ở bên phải, bản quét của bức ảnh này chi tiết hơn một chút liên quan đến một số Pod ở cấp độ cột sống-1 và cách nó được đóng gói trong một kết nối chéo, cách nó đến cấp độ cột sống-2.

Làm thế nào để mở rộng quy mô trung tâm dữ liệu. Báo cáo Yandex

Đây là những gì nó trông giống như. Chân đế Spin-2 chưa được lắp ráp hoàn chỉnh (ở bên trái) và chân đế kết nối chéo. Thật không may, không có nhiều thứ để xem ở đó. Toàn bộ cấu trúc này hiện đang được triển khai tại một trong những trung tâm dữ liệu lớn đang được mở rộng của chúng tôi. Đây là một công việc đang được tiến hành, nó sẽ trông đẹp hơn, nó sẽ được hoàn thiện tốt hơn.

Làm thế nào để mở rộng quy mô trung tâm dữ liệu. Báo cáo Yandex

Một câu hỏi quan trọng: chúng tôi đã chọn cấu trúc liên kết logic và xây dựng cơ sở vật lý. Điều gì sẽ xảy ra với máy bay điều khiển? Nó khá nổi tiếng từ kinh nghiệm vận hành, có một số báo cáo cho rằng các giao thức trạng thái liên kết là tốt, rất vui khi được làm việc với chúng, nhưng thật không may, chúng không có quy mô tốt trên cấu trúc liên kết kết nối dày đặc. Và có một yếu tố chính ngăn chặn điều này - đây là cách hoạt động của tính năng tràn ngập trong các giao thức trạng thái liên kết. Nếu bạn chỉ sử dụng thuật toán tràn ngập và xem cách cấu trúc mạng của chúng tôi, bạn có thể thấy rằng sẽ có một lượng fanout rất lớn ở mỗi bước và nó sẽ chỉ làm tràn ngập mặt phẳng điều khiển với các bản cập nhật. Cụ thể, các cấu trúc liên kết như vậy kết hợp rất kém với thuật toán tràn ngập truyền thống trong các giao thức trạng thái liên kết.

Sự lựa chọn là sử dụng BGP. Cách chuẩn bị chính xác được mô tả trong RFC 7938 về việc sử dụng BGP trong các trung tâm dữ liệu lớn. Ý tưởng cơ bản rất đơn giản: số lượng tiền tố tối thiểu trên mỗi máy chủ và nói chung là số lượng tiền tố tối thiểu trên mạng, sử dụng tính năng tổng hợp nếu có thể và ngăn chặn việc tìm kiếm đường dẫn. Chúng tôi muốn phân phối các bản cập nhật rất cẩn thận, có kiểm soát, cái được gọi là không có thung lũng. Chúng tôi muốn các bản cập nhật được triển khai chính xác một lần khi chúng đi qua mạng. Nếu chúng bắt nguồn từ phía dưới, chúng sẽ đi lên, mở ra không quá một lần. Không nên có đường ngoằn ngoèo. Đường ngoằn ngoèo rất xấu.

Để làm điều này, chúng tôi sử dụng một thiết kế đủ đơn giản để sử dụng các cơ chế BGP cơ bản. Nghĩa là, chúng tôi sử dụng eBGP chạy trên liên kết cục bộ và các hệ thống tự trị được chỉ định như sau: hệ thống tự trị trên ToR, hệ thống tự trị trên toàn bộ khối switch Spin-1 của một Pod và hệ thống tự trị chung trên toàn bộ Top của Vải. Không khó để nhận ra rằng ngay cả hoạt động bình thường của BGP cũng mang lại cho chúng ta sự phân phối các bản cập nhật mà chúng ta muốn.

Làm thế nào để mở rộng quy mô trung tâm dữ liệu. Báo cáo Yandex

Đương nhiên, việc đánh địa chỉ và tổng hợp địa chỉ phải được thiết kế sao cho tương thích với cách xây dựng định tuyến, để đảm bảo sự ổn định của mặt phẳng điều khiển. Địa chỉ L3 trong quá trình vận chuyển gắn liền với cấu trúc liên kết, bởi vì nếu không có điều này thì không thể đạt được sự tổng hợp; nếu không có điều này, các địa chỉ riêng lẻ sẽ len lỏi vào hệ thống định tuyến. Và một điều nữa là việc tổng hợp, thật không may, không kết hợp tốt với đa đường, bởi vì khi chúng ta có đa đường và chúng ta có tổng hợp thì mọi thứ đều ổn, khi toàn bộ mạng khỏe mạnh thì không có lỗi nào trong đó. Thật không may, ngay khi mạng xuất hiện lỗi và tính đối xứng của cấu trúc liên kết bị mất, chúng ta có thể đi đến điểm mà đơn vị được công bố, từ đó chúng ta không thể đi xa hơn đến nơi cần đến. Do đó, tốt nhất nên tổng hợp ở những nơi không còn nhiều đường dẫn nữa, trong trường hợp của chúng tôi đây là các bộ chuyển mạch ToR.

Làm thế nào để mở rộng quy mô trung tâm dữ liệu. Báo cáo Yandex

Trên thực tế, có thể tổng hợp nhưng phải cẩn thận. Liệu chúng tôi có thể thực hiện việc phân chia có kiểm soát khi xảy ra lỗi mạng hay không. Nhưng đây là một nhiệm vụ khá khó khăn, chúng tôi thậm chí còn tự hỏi liệu có thể thực hiện được điều này hay không, liệu có thể bổ sung thêm tính năng tự động hóa bổ sung và các máy trạng thái hữu hạn có thể kích hoạt BGP một cách chính xác để có được hành vi mong muốn hay không. Thật không may, việc xử lý các trường hợp góc rất khó hiểu và phức tạp, và nhiệm vụ này không được giải quyết tốt bằng cách gắn các tệp đính kèm bên ngoài vào BGP.

Công việc rất thú vị về vấn đề này đã được thực hiện trong khuôn khổ giao thức RIFT, sẽ được thảo luận trong báo cáo tiếp theo.

Làm thế nào để mở rộng quy mô trung tâm dữ liệu. Báo cáo Yandex

Một điều quan trọng khác là cách các mặt phẳng dữ liệu mở rộng quy mô trong các cấu trúc liên kết dày đặc, nơi chúng ta có một số lượng lớn các đường dẫn thay thế. Trong trường hợp này, một số cấu trúc dữ liệu bổ sung được sử dụng: nhóm ECMP, lần lượt mô tả các nhóm Next Hop.

Trong một mạng hoạt động bình thường, không có lỗi, khi chúng ta đi lên cấu trúc liên kết Clos, chỉ cần sử dụng một nhóm là đủ, bởi vì mọi thứ không cục bộ đều được mô tả theo mặc định, chúng ta có thể đi lên. Khi chúng ta đi từ trên xuống dưới về phía nam thì tất cả các đường dẫn không phải là ECMP mà là các đường dẫn đơn. Mọi thứ đều ổn. Vấn đề là, và điểm đặc biệt của cấu trúc liên kết Clos cổ điển là nếu chúng ta nhìn vào Mặt trên của vải, ở bất kỳ phần tử nào, chỉ có một đường dẫn đến bất kỳ phần tử nào bên dưới. Nếu lỗi xảy ra dọc theo đường dẫn này thì phần tử cụ thể ở đầu nhà máy này sẽ trở nên không hợp lệ chính xác đối với các tiền tố nằm đằng sau đường dẫn bị hỏng. Nhưng đối với phần còn lại, nó hợp lệ và chúng tôi phải phân tích các nhóm ECMP và đưa ra trạng thái mới.

Khả năng mở rộng mặt phẳng dữ liệu trông như thế nào trên các thiết bị hiện đại? Nếu chúng tôi thực hiện LPM (khớp tiền tố dài nhất) thì mọi thứ đều khá tốt, trên 100k tiền tố. Nếu nói về nhóm Next Hop thì mọi thứ còn tệ hơn, 2-4 nghìn. Nếu chúng ta đang nói về một bảng chứa mô tả về Bước nhảy tiếp theo (hoặc các vùng lân cận), thì bảng này nằm trong khoảng từ 16k đến 64k. Và điều này có thể trở thành một vấn đề. Và ở đây chúng ta đi đến một chủ đề lạc đề thú vị: điều gì đã xảy ra với MPLS trong các trung tâm dữ liệu? Về nguyên tắc, chúng tôi muốn làm điều đó.

Làm thế nào để mở rộng quy mô trung tâm dữ liệu. Báo cáo Yandex

Có hai điều đã xảy ra. Chúng tôi đã thực hiện phân đoạn vi mô trên máy chủ; chúng tôi không cần thực hiện việc đó trên mạng nữa. Nó không tốt lắm với sự hỗ trợ từ các nhà cung cấp khác nhau và thậm chí còn hơn thế nữa với việc triển khai mở trên các hộp trắng với MPLS. Và thật không may, MPLS, ít nhất là các triển khai truyền thống của nó, lại kết hợp rất kém với ECMP. Và đó là lý do tại sao.

Làm thế nào để mở rộng quy mô trung tâm dữ liệu. Báo cáo Yandex

Đây là cấu trúc chuyển tiếp ECMP cho IP. Một số lượng lớn tiền tố có thể sử dụng cùng một nhóm và cùng một khối Next Hops (hoặc các phần lân cận, phần này có thể được gọi khác nhau trong các tài liệu khác nhau dành cho các thiết bị khác nhau). Vấn đề là đây được mô tả là cổng đi và cần ghi lại địa chỉ MAC để đến Next Hop chính xác. Đối với IP, mọi thứ có vẻ đơn giản, bạn có thể sử dụng một số lượng rất lớn tiền tố cho cùng một nhóm, cùng một khối Next Hops.

Làm thế nào để mở rộng quy mô trung tâm dữ liệu. Báo cáo Yandex

Kiến trúc MPLS cổ điển ngụ ý rằng, tùy thuộc vào giao diện đầu ra, nhãn có thể được ghi lại thành các giá trị khác nhau. Vì vậy, chúng ta cần giữ một nhóm và khối Next Hops cho mỗi nhãn đầu vào. Và điều này, than ôi, không có quy mô.

Dễ dàng nhận thấy rằng trong thiết kế của chúng tôi, chúng tôi cần khoảng 4000 công tắc ToR, chiều rộng tối đa là 64 đường dẫn ECMP, nếu chúng tôi di chuyển từ cột sống-1 đến cột sống-2. Chúng tôi hầu như không vào được một bảng gồm các nhóm ECMP, nếu chỉ một tiền tố có ToR biến mất và chúng tôi hoàn toàn không vào được bảng Hops tiếp theo.

Làm thế nào để mở rộng quy mô trung tâm dữ liệu. Báo cáo Yandex

Không phải tất cả đều vô vọng vì các kiến ​​trúc như Định tuyến phân đoạn liên quan đến các nhãn toàn cầu. Về mặt hình thức, có thể thu gọn lại tất cả các khối Next Hops này. Để làm điều này, bạn cần một thao tác kiểu ký tự đại diện: lấy một nhãn và viết lại thành nhãn đó mà không có giá trị cụ thể. Nhưng thật không may, điều này không xuất hiện nhiều trong các triển khai có sẵn.

Và cuối cùng, chúng ta cần đưa lưu lượng truy cập bên ngoài vào trung tâm dữ liệu. Làm thế nào để làm nó? Trước đây, lưu lượng truy cập được đưa vào mạng Clos từ trên cao. Tức là đã có các bộ định tuyến biên kết nối với tất cả các thiết bị ở trên cùng của vải. Giải pháp này hoạt động khá tốt trên kích thước vừa và nhỏ. Thật không may, để gửi lưu lượng truy cập một cách đối xứng đến toàn bộ mạng theo cách này, chúng ta cần phải đến đồng thời tất cả các phần tử của Top of Fabric và khi có hơn một trăm phần tử trong số đó, hóa ra chúng ta cũng cần một lượng lớn cơ số trên các bộ định tuyến biên. Nói chung, điều này tốn tiền, vì các bộ định tuyến biên có nhiều chức năng hơn, các cổng trên chúng sẽ đắt hơn và thiết kế không đẹp lắm.

Một lựa chọn khác là bắt đầu lưu lượng truy cập như vậy từ bên dưới. Thật dễ dàng để xác minh rằng cấu trúc liên kết Clos được xây dựng theo cách sao cho lưu lượng truy cập đến từ bên dưới, tức là từ phía ToR, được phân bổ đồng đều giữa các cấp trên toàn bộ Top of Fabric trong hai lần lặp, tải toàn bộ mạng. Do đó, chúng tôi giới thiệu một loại Pod đặc biệt, Edge Pod, cung cấp kết nối bên ngoài.

Có một lựa chọn nữa. Đây là những gì Facebook làm chẳng hạn. Họ gọi nó là Fabric Aggregator hoặc HGRID. Một cấp độ cột sống bổ sung đang được giới thiệu để kết nối nhiều trung tâm dữ liệu. Thiết kế này có thể thực hiện được nếu chúng ta không có các chức năng bổ sung hoặc thay đổi cách đóng gói tại các giao diện. Nếu chúng là những điểm tiếp xúc bổ sung thì thật khó khăn. Thông thường, có nhiều chức năng hơn và một loại màng ngăn cách các phần khác nhau của trung tâm dữ liệu. Không có ích gì khi tạo ra một lớp màng lớn như vậy, nhưng nếu nó thực sự cần thiết vì lý do nào đó, thì nên xem xét khả năng loại bỏ nó, làm cho nó càng rộng càng tốt và chuyển nó đến vật chủ. Ví dụ, điều này được thực hiện bởi nhiều nhà khai thác đám mây. Họ có lớp phủ, họ bắt đầu từ máy chủ.

Làm thế nào để mở rộng quy mô trung tâm dữ liệu. Báo cáo Yandex

Chúng ta nhìn thấy những cơ hội phát triển nào? Trước hết, cải thiện hỗ trợ cho quy trình CI/CD. Chúng tôi muốn bay theo cách chúng tôi thử nghiệm và thử nghiệm cách chúng tôi bay. Điều này không diễn ra tốt lắm vì cơ sở hạ tầng lớn và không thể sao chép nó để thử nghiệm. Bạn cần hiểu cách đưa các yếu tố thử nghiệm vào cơ sở hạ tầng sản xuất mà không loại bỏ nó.

Thiết bị đo tốt hơn và giám sát tốt hơn hầu như không bao giờ thừa. Toàn bộ câu hỏi là sự cân bằng giữa nỗ lực và lợi nhuận. Nếu bạn có thể thêm nó với nỗ lực hợp lý thì rất tốt.

Hệ điều hành mở cho các thiết bị mạng. Giao thức tốt hơn và hệ thống định tuyến tốt hơn, chẳng hạn như RIFT. Nghiên cứu cũng cần thiết về việc sử dụng các sơ đồ kiểm soát tắc nghẽn tốt hơn và có lẽ là giới thiệu, ít nhất ở một số điểm, hỗ trợ RDMA trong cụm.

Nhìn xa hơn về tương lai, chúng ta cần các cấu trúc liên kết nâng cao và có thể cả các mạng sử dụng ít chi phí hơn. Trong số những điều mới mẻ, gần đây đã có những ấn phẩm về công nghệ vải dành cho HPC Cray Slingshot, dựa trên Ethernet thông thường, nhưng có tùy chọn sử dụng các tiêu đề ngắn hơn nhiều. Kết quả là, chi phí giảm.

Làm thế nào để mở rộng quy mô trung tâm dữ liệu. Báo cáo Yandex

Mọi thứ nên được giữ đơn giản nhất có thể, nhưng không đơn giản hơn. Sự phức tạp là kẻ thù của khả năng mở rộng. Sự đơn giản và cấu trúc thông thường là bạn của chúng tôi. Nếu bạn có thể mở rộng quy mô ở đâu đó, hãy làm điều đó. Và nói chung, bây giờ thật tuyệt khi được tham gia vào các công nghệ mạng. Có rất nhiều điều thú vị đang diễn ra. Cảm ơn.

Nguồn: www.habr.com

Thêm một lời nhận xét