Mengoptimalkan distribusi server di rak

Baru-baru ini, seorang kolega bertanya kepada saya dalam sebuah obrolan:

- Apakah ada artikel cara mengemas server ke dalam rak dengan benar?

Saya menyadari bahwa saya tidak menyadarinya. Jadi, saya memutuskan untuk menulis teks saya.

Pertama, ini adalah artikel tentang server bare metal di fasilitas pusat data (DC). Kedua, kami memperkirakan bahwa ada banyak server (ratusan atau ribuan); artikel tidak masuk akal untuk jumlah yang lebih sedikit. Ketiga, kami menganggap bahwa ada tiga kendala di rak: ruang fisik, daya listrik masing-masing, dan kabinet tetap berada di baris yang berdekatan satu sama lain, sehingga kami dapat menggunakan sakelar ToR tunggal untuk menghubungkan server di dalamnya.

Jawaban atas pertanyaan awal sangat tergantung pada parameter yang kami optimalkan dan pada apa yang dapat kami ubah untuk mendapatkan hasil yang lebih baik. Misalnya, kita perlu menggunakan lebih sedikit ruang untuk menyisakan lebih banyak untuk pertumbuhan di masa depan. Atau mungkin kita memiliki kebebasan dalam pemilihan ketinggian kabinet, daya per rak, jumlah soket per PDU, jumlah kabinet per kelompok sakelar (sakelar per 1, 2, atau 3 rak), panjang kabel, dan pekerjaan pemasangan kabel. Komponen terakhir sangat penting untuk baris akhir rak di mana kita perlu menarik kabel ke baris lain atau meninggalkan port yang kurang dimanfaatkan di sakelar. Cerita yang sepenuhnya berbeda adalah pemilihan server dan pemilihan pusat data. Kita harus mempertimbangkan bahwa kita sudah memilih mereka.

Baik untuk memahami beberapa nuansa dan detail, khususnya, konsumsi daya server rata-rata / maksimum dan bagaimana vendor kami menyediakan listrik. Jadi, jika kita memiliki catu daya 230V 1phase, maka pemutus sirkuit 32Amps dapat menyimpan hingga ~ 7kW. Katakanlah kita membayar secara formal untuk 6kW per rak. Jika vendor mengukur konsumsi daya kami per baris 10 kabinet, bukan per satu, dan jika pemutus sirkuit membatasi daya pada 7kW, maka kita dapat menggunakan 6,9kW di rak dan 5,1 kW di rak lainnya. Itu akan ok dan tidak bisa dihukum.

Biasanya, tujuan utama kami adalah untuk meminimalkan pengeluaran. Kriteria pengukuran terbaik adalah pengurangan total biaya kepemilikan (TCO). Ini terdiri dari bagian-bagian berikut:

  • CAPEX: membeli infrastruktur pusat data, server, perangkat jaringan, pemasangan kabel
  • OPEX: Sewa DC, konsumsi listrik, pemeliharaan. OPEX tergantung pada masa pakai. Masuk akal untuk menganggap seumur hidup sama dengan 3 tahun.

Grafik TCO

Kita harus mengoptimalkan bagian pie yang paling mahal. Segala sesuatu yang lain harus menggunakan sumber daya yang tersisa seefektif mungkin.

Seharusnya, kami memiliki DC yang ada, ketinggian rak unit H (misalnya H = 47), daya per rak, rak P ( rak P = 6kW), dan kami memutuskan untuk menggunakan server server dua unit h = 2U. Mari kita lepaskan 2 hingga 4 unit dari rak untuk sakelar, panel tambalan, manajer kabel. Kemudian kita dapat memasukkan server S h = rounddown ((H-2..4) / h) di rak (mis. S h = rounddown ((47-4) / 2) = 21 server per rak). Mari menghafal S h .

Dalam kasus sederhana, semua server adalah sama. Jadi, jika kita mengisi rak dengan server kita dapat menghabiskan per server daya rata-rata P serv = P rack / S h (P serv = 6000W / 21 = 287W). Kami mengabaikan beralih konsumsi daya di sini.

Mari kita minggir dan tentukan berapa maksimum konsumsi daya server P max . Cara langsung, sepenuhnya aman dan sangat tidak efisien adalah membaca apa yang tertulis pada label pada unit catu daya server. Ini adalah Maks .

Pendekatan yang lebih rumit dan efisien adalah dengan mengambil TDP dari semua komponen dan merangkumnya. Itu tidak akurat, tetapi kita bisa melakukannya dengan cara ini.

Biasanya, kita tidak tahu TDP komponen selain CPU. Jadi, pendekatan yang paling benar dan paling rumit adalah dengan mengambil server yang dikonfigurasi secara eksperimental secara memadai, memuatnya, misalnya, dengan / Linpack / (CPU dan memori) dan / fio / (disk), dan mengukur konsumsi daya. Kami membutuhkan laboratorium dalam hal ini. Jika kita menanggapinya dengan serius, kita harus menciptakan lingkungan yang hangat di lorong yang dingin karena suhu yang lebih tinggi mempengaruhi kipas dan konsumsi daya CPU. Jadi, kami mendapatkan konsumsi daya maksimum dari server sampel dengan konfigurasi khusus ini dalam lingkungan saat ini di bawah beban spesifik. Perlu diingat bahwa firmware baru, versi perangkat lunak, dan kondisi lainnya dapat memengaruhi hasilnya.

Sekarang, mari kita kembali ke P serv dan bagaimana kita membandingkannya dengan P max . Ini adalah pertanyaan untuk memahami bagaimana layanan bekerja dan seberapa kuat saraf CTO kami.

Jika kami tidak menerima risiko apa pun, kami harus berasumsi bahwa semua server mungkin mulai menggunakan potensi maksimumnya secara bersamaan. Pada saat yang sama, salah satu umpan DC bisa gagal juga. Infrastruktur masih harus menyediakan layanan. Jadi, P serv ≡ P maks . Ini adalah pendekatan ketika keandalan sangat penting.

Jika CIO memperhitungkan tidak hanya keselamatan ideal tetapi juga uang perusahaan, jika dia cukup berani, maka dia dapat memutuskan hal itu

  • kami mulai mengelola vendor kami, khususnya, kami melarang pemeliharaan apa pun yang direncanakan dalam periode beban tinggi yang kami harapkan untuk meminimalkan kegagalan daya
  • dan atau arsitektur kami memungkinkan kami kehilangan rak / baris / DC saat layanan melanjutkan operasi
  • dan atau kami mendistribusikan beban di rak secara horizontal dengan sangat baik sehingga server kami dalam satu kabinet tidak akan pernah mengkonsumsi maksimum teoretis mereka secara bersamaan.

Sangat menguntungkan tidak hanya menebak di sini tetapi memantau konsumsi daya dan memahami bagaimana server mengkonsumsi daya selama beban biasa dan puncak. Demikian dan setelah beberapa analisis, CIO bersusah payah dan berkata:
"Saya perintahkan bahwa rata-rata maksimum yang dapat dicapai dari semua konsumsi daya maksimum server jauh lebih sedikit daripada konsumsi maksimum server tunggal." Biarlah P serv = 0,8 * Paks

Dan kemudian rak 6kW dapat menampung bukan 16 server P max = 375W tetapi 20 server P serv = 375W * 0,8 = 300W. Yaitu 25% lebih banyak server. Ini ekonomi nyata karena kita membutuhkan rak 25% lebih sedikit. Dan kita bisa menghemat rak PDU, sakelar dan kabel. Kerugian serius dari solusi ini adalah perlunya memeriksa terus-menerus bahwa asumsi kami masih valid. Kami harus memastikan bahwa firmware baru tidak mengubah operasi kipas dan konsumsi daya secara signifikan, bahwa tim pengembangan tidak mulai menggunakan server jauh lebih efisien (itu berarti mereka berhasil meningkatkan pemanfaatan dan konsumsi daya). Kemudian kedua asumsi awal dan kesimpulan menjadi salah. Jadi, itu risiko untuk diterima secara bertanggung jawab. Atau risikonya dapat dihindari dan kemudian perusahaan membayar untuk rak yang jelas-jelas kekurangan muatan.

Catatan penting: ada baiknya mencoba mendistribusikan server layanan yang berbeda di rak secara horizontal jika memungkinkan. Hal ini diperlukan untuk menghindari kasus ketika sekelompok server untuk layanan tiba dan dipasang ke dalam kabinet secara vertikal untuk meningkatkan "kepadatan" (hanya karena lebih mudah untuk melakukan cara ini). Memang, itu mengarah ke situasi ketika satu rak diisi dengan server beban rendah yang sama sementara semua sangat dimuat berada di rak lain. Ketika profil beban sama, dan semua server mulai mengkonsumsi secara bersamaan secara bersamaan karena beban tinggi, kemungkinan kehilangan rak kedua menjadi jauh lebih tinggi.

Mari kita kembali ke distribusi server di rak. Kami menganggap kendala fisik di lemari dan keterbatasan daya. Sekarang mari kita pertimbangkan jaringan. Seseorang dapat menggunakan N = 24/32/48-port switch (dengan asumsi 48-port ToR switch). Untungnya, tidak ada banyak pilihan jika kita mengabaikan kabel break-out. Kami mempertimbangkan opsi sakelar di setiap rak tunggal, sakelar per dua atau per tiga kabinet per grup (R net ). Saya percaya bahwa kelompok itu tidak boleh tiga. Kalau tidak, itu mengarah ke masalah pemasangan kabel.

Jadi, kami mendistribusikan server di rak untuk setiap skenario jaringan (1, 2, atau 3 rak per grup):

S rack = min (S h , rounddown ( rak P / P serv ), rounddown (N / R net ))

Dengan demikian, sekelompok skenario dua rak adalah

S rack 2 = min (21, rounddown (6000/300), rounddown (48/2)) = min (21, 20, 24) = 20 server per rak

Demikian pula, kami menghitung skenario lain:

S rak 1 = 20

Rak 3 = 16

Kami hampir selesai. Kita harus menghitung jumlah total rak untuk mendistribusikan semua server S (misalkan ada 1000 server):

R = roundup (S / (S rack * R net )) * R net

R 1 = pengumpulan (1000 / (20 * 1)) * 1 = 50 * 1 = 50 rak

R 2 = pembulatan (1000 / (20 * 2)) * 2 = 25 * 2 = 50 rak

R 2 = pembulatan (1000 / (16 * 3)) * 3 = 21 * 3 = 63 rak

Maka kita harus menghitung TCO untuk setiap opsi berdasarkan jumlah rak, sakelar yang dibutuhkan, kabel, dll. Kami memilih skenario dengan TCO terendah. Untung!

Harap dicatat meskipun jumlah rak untuk skenario 1 dan 2 adalah sama, TCO berbeda karena jumlah sakelar dua kali lebih sedikit dan kabel yang lebih panjang untuk skenario ke-2.

PS Jika daya per rak atau tinggi rak dapat bervariasi, maka variabilitas meningkat. Tetapi pemilihan dapat dikurangi menjadi metode di atas dengan memaksa opsi. Akan ada lebih banyak skenario, tetapi jumlahnya akan terbatas. Kita dapat meningkatkan daya per rak dalam langkah 1kW, dan ada sejumlah tipe rak standar: dari 42U, 45U, 47U, 48U. Mungkin bermanfaat untuk menggunakan analisis What-If Excel dalam mode Tabel Data. Kita harus melihat tabel yang dihasilkan dan memilih opsi terbaik.

Source: https://habr.com/ru/post/id473988/


All Articles