Tối ưu hóa việc phân phối máy chủ trên các giá đỡ

Trong một cuộc trò chuyện, tôi đã được hỏi một câu hỏi:

— Tôi có thể đọc được điều gì về cách đóng gói máy chủ vào giá đỡ đúng cách không?

Tôi nhận ra rằng tôi không biết một văn bản như vậy nên tôi đã viết văn bản của riêng mình.

Đầu tiên, văn bản này nói về các máy chủ vật lý trong trung tâm dữ liệu vật lý (DC). Thứ hai, chúng tôi tin rằng có khá nhiều máy chủ: hàng trăm nghìn; đối với số lượng nhỏ hơn thì văn bản này không có ý nghĩa gì. Thứ ba, chúng tôi cho rằng chúng tôi có ba hạn chế: không gian vật lý trong các giá đỡ, nguồn điện trên mỗi giá đỡ và để các giá đỡ xếp thành hàng để chúng tôi có thể sử dụng một bộ chuyển mạch ToR để kết nối các máy chủ trong các giá đỡ liền kề.

Câu trả lời cho câu hỏi này phụ thuộc nhiều vào thông số chúng ta đang tối ưu hóa và những thông số chúng ta có thể thay đổi để đạt được kết quả tốt nhất. Ví dụ, chúng ta chỉ cần chiếm một không gian tối thiểu để còn lại nhiều không gian hơn cho sự phát triển hơn nữa. Hoặc có thể chúng ta được tự do lựa chọn chiều cao của các giá đỡ, công suất mỗi giá đỡ, ổ cắm trong PDU, số lượng giá đỡ trong một nhóm công tắc (một công tắc cho 1, 2 hoặc 3 giá đỡ), chiều dài dây và công việc kéo ( điều này rất quan trọng ở cuối các hàng: với 10 giá đỡ liên tiếp và 3 giá đỡ trên mỗi công tắc, bạn sẽ phải kéo dây sang hàng khác hoặc sử dụng không đúng mức các cổng trong công tắc), v.v., v.v. Các câu chuyện riêng biệt: lựa chọn máy chủ và lựa chọn DC, chúng tôi sẽ cho rằng chúng đã được chọn.

Sẽ rất tốt nếu hiểu một số sắc thái và chi tiết, đặc biệt là mức tiêu thụ trung bình/tối đa của máy chủ và cách cung cấp điện cho chúng ta. Vì vậy, nếu chúng ta có nguồn điện 230V của Nga và một pha trên mỗi giá, thì máy 32A có thể xử lý ~ 7kW. Giả sử chúng tôi thường trả 6kW cho mỗi giá. Nếu nhà cung cấp chỉ đo mức tiêu thụ của chúng tôi cho một hàng 10 giá đỡ chứ không phải cho mỗi giá đỡ và nếu máy được đặt ở mức cắt có điều kiện là 7 kW thì về mặt kỹ thuật, chúng tôi có thể tiêu thụ 6.9 kW trong một giá đỡ, 5.1 kW ở một giá đỡ khác và mọi thứ sẽ ổn thôi - không bị trừng phạt.

Thông thường mục tiêu chính của chúng tôi là giảm thiểu chi phí. Tiêu chí tốt nhất để đo lường là giảm TCO (tổng chi phí sở hữu). Nó bao gồm các phần sau:

  • CAPEX: mua cơ sở hạ tầng DC, máy chủ, phần cứng mạng và cáp
  • OPEX: Cho thuê DC, tiêu thụ điện, bảo trì. OPEX phụ thuộc vào tuổi thọ sử dụng. Thật hợp lý khi cho rằng nó là 3 năm.

Tối ưu hóa việc phân phối máy chủ trên các giá đỡ

Tùy thuộc vào độ lớn của từng phần riêng lẻ trong chiếc bánh tổng thể, chúng ta cần tối ưu hóa phần đắt nhất và để phần còn lại sử dụng tất cả các tài nguyên còn lại một cách hiệu quả nhất có thể.

Giả sử chúng tôi có một DC hiện có, có chiều cao H đơn vị (ví dụ: H=47), điện trên mỗi giá Prack (Prack=6kW) và chúng tôi quyết định sử dụng máy chủ hai khối h=2U. Chúng tôi sẽ loại bỏ 2..4 bộ phận khỏi giá dành cho công tắc, bảng vá lỗi và bộ sắp xếp. Những thứ kia. về mặt vật lý, chúng tôi có máy chủ Sh=rounddown((H-2..4)/h) trong giá của chúng tôi (tức là Sh = rounddown((47-4)/2)=21 máy chủ trên mỗi giá). Chúng ta hãy nhớ điều này Sh.

Trong trường hợp đơn giản, tất cả các máy chủ trong một tủ rack đều giống hệt nhau. Tổng cộng, nếu chúng ta lấp đầy một giá với các máy chủ, thì trên mỗi máy chủ, chúng ta có thể tiêu thụ trung bình công suất Pserv=Prack/Sh (Pserv = 6000W/21 = 287W). Để đơn giản, chúng tôi bỏ qua mức tiêu thụ chuyển đổi ở đây.

Hãy tạm dừng một bước và xác định mức tiêu thụ tối đa của máy chủ Pmax là bao nhiêu. Nếu nó rất đơn giản, rất kém hiệu quả và hoàn toàn an toàn, thì chúng ta sẽ đọc những gì được ghi trên bộ nguồn của máy chủ - chính là nó.

Nếu nó phức tạp hơn, hiệu quả hơn thì chúng tôi lấy TDP (gói thiết kế nhiệt) của tất cả các thành phần và tổng hợp lại (điều này không đúng lắm, nhưng có thể xảy ra).

Thông thường, chúng tôi không biết TDP của các thành phần (ngoại trừ CPU), vì vậy chúng tôi áp dụng cách tiếp cận chính xác nhất nhưng cũng phức tạp nhất (chúng tôi cần phòng thí nghiệm) - chúng tôi lấy một máy chủ thử nghiệm có cấu hình cần thiết và tải nó, ví dụ: với Linpack (CPU và bộ nhớ) và fio (đĩa), chúng tôi đo lường mức tiêu thụ. Nếu thực hiện nghiêm túc, chúng ta cũng cần tạo ra môi trường ấm nhất trong hành lang lạnh trong quá trình thử nghiệm, vì điều này sẽ ảnh hưởng đến cả mức tiêu thụ quạt và mức tiêu thụ CPU. Chúng tôi nhận được mức tiêu thụ tối đa của một máy chủ cụ thể với cấu hình cụ thể trong các điều kiện cụ thể này với tải cụ thể này. Ý của chúng tôi chỉ đơn giản là phần sụn hệ thống mới, phiên bản phần mềm khác và các điều kiện khác có thể ảnh hưởng đến kết quả.

Vì vậy, hãy quay lại Pserv và cách chúng tôi so sánh nó với Pmax. Vấn đề là phải hiểu cách thức hoạt động của các dịch vụ và tinh thần giám đốc kỹ thuật của bạn mạnh mẽ đến mức nào.

Nếu chúng tôi không gặp bất kỳ rủi ro nào, chúng tôi tin rằng tất cả các máy chủ có thể đồng thời bắt đầu sử dụng mức tối đa. Đồng thời, một đầu vào vào DC có thể xảy ra. Ngay cả trong những điều kiện này, cơ sở hạ tầng vẫn phải cung cấp dịch vụ, vì vậy Pserv ≡ Pmax. Đây là một cách tiếp cận mà độ tin cậy là vô cùng quan trọng.

Nếu giám đốc công nghệ không chỉ nghĩ đến sự bảo mật lý tưởng mà còn nghĩ đến tiền của công ty và đủ dũng cảm, thì bạn có thể quyết định điều đó

  • Chúng tôi đang bắt đầu quản lý các nhà cung cấp của mình, đặc biệt là chúng tôi cấm bảo trì theo lịch trình vào những thời điểm tải cao điểm theo kế hoạch để giảm thiểu sự sụt giảm một đầu vào;
  • và/hoặc kiến ​​trúc của chúng tôi cho phép bạn mất một giá/hàng/DC nhưng các dịch vụ vẫn tiếp tục hoạt động;
  • và/hoặc chúng tôi dàn đều tải theo chiều ngang trên các giá, vì vậy các dịch vụ của chúng tôi sẽ không bao giờ đạt mức tiêu thụ tối đa trong một giá cùng nhau.

Ở đây, nó rất hữu ích không chỉ để đoán mà còn theo dõi mức tiêu thụ và biết lượng điện mà máy chủ thực sự tiêu thụ trong điều kiện bình thường và cao điểm. Do đó, sau một số phân tích, giám đốc công nghệ siết chặt mọi thứ mình có và nói: “chúng tôi tự nguyện đưa ra quyết định rằng mức trung bình tối đa có thể đạt được của mức tiêu thụ máy chủ tối đa trên mỗi giá là **rất nhiều** dưới mức tiêu thụ tối đa,” có điều kiện Pserv = 0.8* P tối đa.

Và khi đó, một tủ mạng 6kW không còn có thể chứa 16 máy chủ có Pmax = 375W nữa mà là 20 máy chủ có Pserv = 375W * 0.8 = 300W. Những thứ kia. Thêm 25% máy chủ. Đây là một khoản tiết kiệm rất lớn - xét cho cùng, chúng tôi ngay lập tức cần ít giá đỡ hơn 25% (và chúng tôi cũng sẽ tiết kiệm PDU, công tắc và cáp). Một nhược điểm nghiêm trọng của giải pháp như vậy là chúng ta phải liên tục theo dõi xem các giả định của mình có còn đúng hay không. Rằng phiên bản phần sụn mới không thay đổi đáng kể hoạt động của quạt và mức tiêu thụ, rằng sự phát triển đột ngột với bản phát hành mới đã không bắt đầu sử dụng máy chủ hiệu quả hơn nhiều (đọc: chúng đạt được tải lớn hơn và mức tiêu thụ lớn hơn trên máy chủ). Rốt cuộc, cả những giả định và kết luận ban đầu của chúng ta đều ngay lập tức trở nên sai lầm. Đây là một rủi ro phải được thực hiện một cách có trách nhiệm (hoặc tránh và sau đó phải trả giá cho những giá đỡ rõ ràng không được sử dụng đúng mức).

Một lưu ý quan trọng - bạn nên cố gắng phân phối máy chủ từ các dịch vụ khác nhau theo chiều ngang trên các giá đỡ, nếu có thể. Điều này là cần thiết để không xảy ra tình huống khi một loạt máy chủ đến cho một dịch vụ, các giá đỡ được xếp theo chiều dọc với dịch vụ đó để tăng “mật độ” (vì cách đó dễ dàng hơn). Trên thực tế, hóa ra một giá chứa đầy các máy chủ tải thấp giống hệt nhau của cùng một dịch vụ và giá kia chứa đầy các máy chủ tải cao như nhau. Xác suất để chiếc thứ hai rơi cao hơn đáng kể, bởi vì cấu hình tải giống nhau và tất cả các máy chủ cùng nhau trong giá này bắt đầu tiêu thụ một lượng như nhau do tải tăng lên.

Hãy quay trở lại việc phân phối máy chủ trong giá đỡ. Chúng ta đã xem xét các giới hạn về không gian vật lý và nguồn điện, bây giờ hãy xem xét mạng. Bạn có thể sử dụng các switch có cổng 24/32/48 N (ví dụ: chúng tôi có switch ToR 48 cổng). May mắn thay, không có nhiều lựa chọn nếu bạn không nghĩ đến cáp đột phá. Chúng tôi đang xem xét các tình huống khi chúng tôi có một công tắc trên mỗi giá, một công tắc cho hai hoặc ba giá trong nhóm Rnet. Đối với tôi, có vẻ như nhiều hơn ba giá đỡ trong một nhóm đã là quá nhiều rồi, bởi vì... vấn đề đi cáp giữa các giá đỡ trở nên lớn hơn nhiều.

Vì vậy, đối với mỗi kịch bản mạng (1, 2 hoặc 3 giá đỡ trong một nhóm), chúng tôi phân bổ máy chủ giữa các giá đỡ:

Srack = phút(Sh, làm tròn(Prack/Pserv), làm tròn(N/Rnet))

Do đó, đối với tùy chọn có 2 giá đỡ trong một nhóm:

Srack2 = min(21, rounddown(6000/300), rounddown(48/2)) = min(21, 20, 24) = 20 máy chủ trên mỗi rack.

Chúng tôi xem xét các lựa chọn còn lại theo cách tương tự:

Srack1 = 20
Srack3 = 16

Và chúng ta gần như ở đó. Chúng tôi đếm số lượng giá để phân phối tất cả các máy chủ S của chúng tôi (đặt là 1000):

R = làm tròn(S / (Srack * Rnet)) * Rnet

R1 = làm tròn(1000 / (20 * 1)) * 1 = 50 * 1 = 50 giá đỡ

R2 = làm tròn(1000 / (20 * 2)) * 2 = 25 * 2 = 50 giá đỡ

R3 = làm tròn(1000 / (16 * 3)) * 3 = 25 * 2 = 63 giá đỡ

Tiếp theo, chúng tôi tính toán TCO cho từng tùy chọn dựa trên số lượng giá đỡ, số lượng công tắc, hệ thống cáp, v.v. cần thiết. Chúng tôi chọn phương án có TCO thấp hơn. Lợi nhuận!

Lưu ý rằng mặc dù số lượng giá đỡ yêu cầu cho phương án 1 và 2 là như nhau nhưng giá của chúng sẽ khác nhau, vì số lượng công tắc cho tùy chọn thứ hai ít hơn một nửa và chiều dài của cáp cần thiết dài hơn.

Tái bút Nếu bạn có cơ hội thử sức với công suất trên mỗi giá và chiều cao của giá, độ biến thiên sẽ tăng lên. Tuy nhiên, quy trình này có thể được rút gọn thành quy trình được mô tả ở trên bằng cách xem qua các tùy chọn. Có, sẽ có nhiều kết hợp hơn, nhưng vẫn là số lượng rất hạn chế - nguồn điện cho giá để tính toán có thể tăng lên theo bước 1 kW, các giá đỡ thông thường có một số kích thước tiêu chuẩn hạn chế: 42U, 45U, 47U, 48U , 52U. Và ở đây, phân tích What-If của Excel ở chế độ Bảng dữ liệu có thể giúp tính toán. Chúng tôi xem xét các tấm nhận được và chọn mức tối thiểu.

Nguồn: www.habr.com

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