Panduan Pusat Data Paling Tidak Cekap di Dunia
Reka pusat data hipotesis dengan sasaran PUE 4.0+: satu pelayan kesayangan, RAID 0, haba sebagai strategi dan monitor yang memantau dirinya sendiri.
Apa yang anda bina
Setiap panduan di tapak ini mengajar anda melakukan sesuatu dengan betul: arahan mengikut turutan, rupa hasil yang betul dan mod kegagalan yang dikenal pasti. Panduan ini berbeza. Hari ini, secara hipotesis sepenuhnya, kita akan mereka bentuk pusat data yang paling tidak cekap yang boleh dihasilkan oleh wang, elektrik dan keangkuhan.
Kita memerlukan metrik, jadi kita akan menggunakan metrik industri itu sendiri: PUE, Power Usage Effectiveness, iaitu jumlah kuasa kemudahan dibahagikan dengan kuasa yang benar-benar sampai kepada peralatan pengkomputeran. Pusat data berskala hipermelaksanakan sekitar 1.1: hampir setiap watt menjalankan kerja yang berguna. Bilik pelayan perusahaan yang baik mencapai 1.5. Sasaran kita ialah 4.0 atau lebih tinggi, bermakna bagi setiap watt pengkomputeran, tiga watt lagi terbuang tanpa tujuan. Kita akan kerap merujuk nombor ini, seperti panduan serius merujuk sandaran.
Pemilihan tapak: haba ialah matlamat
Penyejukan ialah kos operasi terbesar dalam datacenter sebenar. Oleh itu, kita akan menentang termodinamik di tempat asalnya. Lokasi yang ideal ialah loteng. Menghadap ke selatan. Sebaik-baiknya dengan skylight yang diposisikan supaya cahaya bersinar terus ke server. Dengan itu, mesin menerima haba buangannya sendiri dan haba matahari, hasil kerjasama antara bil elektrik anda dengan sebuah bintang.
Pada musim sejuk, penyejukan dilakukan dengan membuka tingkap. Datacenter sebenar memang menggunakan udara luar. Teknik ini dipanggil free cooling dan direka bentuk dengan penapisan serta kawalan kelembapan. Kita akan menggunakannya secara tidak sengaja melalui tingkap yang turut membenarkan hujan, debunga dan sekurang-kurangnya seekor burung yang keliru masuk setiap suku tahun.
Untuk hasil yang benar-benar istimewa, pasang penghawa dingin. Kemudian letakkan pemanas ruang dua kaki dari termostatnya dan tetapkan suhunya dua darjah lebih tinggi daripada sasaran penghawa dingin. Kedua-dua mesin itu akan terus beroperasi tanpa henti selama-lamanya, dalam perselisihan yang sempurna. Syarikat elektrik akan menghantar kad kepada anda pada waktu Krismas.
Satu pelayan, besar dan disayangi
Lebihan mengurangkan komitmen. Pusat data kami mengandungi tepat satu pelayan, dan pelayan itu sangat besar, kerana satu mesin dengan RAM 512 GB terasa seperti infrastruktur, manakala empat mesin kecil terasa seperti senarai tugasan.
Pelayan itu mempunyai nama. Bukan nama hos, tetapi nama. Biasanya Gandalf atau Odin. Anda tidak boleh menyahtaraf Odin. Odin telah beroperasi selama lima tahun:
$ uptime
09:14:02 up 1847 days, 3:22, 1 user, load average: 6.41, 6.38, 6.40Angka itu menjadi kebanggaan, sebab itu anda mengambil tangkap layar dan menyiarkannya. Setiap penyerang yang melihat tangkap layar itu juga menganggapnya mengagumkan: masa beroperasi selama 1,847 hari bermakna kelemahan kernel selama 1,847 hari yang tidak ditampal oleh sesiapa. But semula juga bukan pilihan. But semula ialah cara untuk mengetahui perkhidmatan yang dimulakan secara manual pada 2021 dan tidak pernah ditulis ke dalam unit systemd. Tiada siapa yang mengingatinya. Pelayan itu kini menjadi komponen kritikal dalam struktur organisasi.
Storan: kelajuan dan cara lain untuk kehilangan data
Cakera dikonfigurasikan dalam RAID 0 untuk prestasi. Angka sifar merujuk kepada bilangan cakera yang boleh gagal. Untuk kesan maksimum, rentangkan array merentasi storan daripada sumber yang berbeza: dua SSD yang baik, satu cakera berputar yang sudah berusia dan satu pemacu USB daripada persidangan. Kebolehpercayaan array sama tepat dengan kebolehpercayaan pemacu USB persidangan itu. Itulah reka bentuknya.
Sandaran dikendalikan oleh direktori pada array yang sama bernama backup_final_v2_REAL. Direktori itu mengandungi tarball daripada skema penamaan sebelumnya. Sandaran luar tapak diwakili oleh nota pelekat yang berbunyi "sediakan sandaran luar tapak". Secara teknikal, nota itu disimpan di luar tapak apabila anda membawanya pulang pada penutup komputer riba.
Hasil yang betul kelihatan seperti: df melaporkan penggunaan 97%, serta pelan untuk menanganinya dalam sprint seterusnya.
Rangkaian: satu utas bagi segala-galanya
Pelayan DNS berjalan pada mesin itu sendiri. Oleh itu, apabila pelayan terhenti, rekod DNS yang anda gunakan untuk mengetahui puncanya turut tidak dapat dicapai. Ini dipanggil penggabungan.
Tembok api telah dilumpuhkan pada 2021 buat sementara waktu untuk menyahpepijat sesuatu. Penyahpepijatan itu telah selesai, tetapi tembok api tidak diaktifkan semula. Setiap port pada penghala diteruskan kepada pelayan “untuk menjimatkan masa kemudian”, dan panel pentadbir penghala boleh dicapai dari sisi WAN menggunakan kata laluan kilang, bagi memudahkan pengurusan jauh. Milik anda dan milik orang lain.
Pelayan telah beroperasi pada suhu yang luar biasa tinggi sejak kebelakangan ini, walaupun mengikut keadaan di loteng, dan top menunjukkan proses paling sibuk ialah sesuatu yang dipanggil xmrig. Kami menganggap ini ialah alat pemantauan yang kami gunakan. Kami tidak memasangnya. Alat itu muncul sendiri tidak lama selepas port diteruskan, yang kami anggap sebagai tanda bahawa ekosistem sedang berkembang. Alat itu memantaunya sepanjang masa.
Bekalan kuasa datang melalui rangkaian jalur kuasa pengguna yang jumlah panjangnya melebihi jarak berjalan kaki ke panel pemutus litar. Dari satu sudut, ini cekap kerana anda akan kerap mengunjungi panel pemutus litar.
Lebihan melalui kerumitan
Selepas menolak lebihan apabila ia penting, kini kami menambahnya apabila ia tidak penting. Halaman utama syarikat, iaitu satu fail HTML statik, disediakan oleh kluster Kubernetes dua belas nod. Ini menghasilkan perkara yang dipanggil oleh jurutera sebagai seni bina berasaskan resume: halaman dimuatkan dalam empat puluh milisaat yang sama seperti apabila nginx menyediakannya, tetapi kini halaman itu boleh gagal dengan cara yang memerlukan perunding.
Untuk pengasingan, kluster itu sendiri berjalan di dalam mesin maya di dalam mesin maya di dalam mesin maya, dengan setiap lapisan menambah keselamatan seperti setiap lapisan turducken menambah burung. Borang hubungan terdiri daripada sembilan perkhidmatan mikro. Dua daripadanya tidak pernah dipanggil. Salah satu daripadanya penting untuk operasi, dan tiada sesiapa tahu yang mana satu.
Pemanasan sebagai perkhidmatan
Pelayan moden menukarkan elektrik kepada pengiraan dan haba, dan kami berhasrat memaksimumkan output kedua. Pelayan media tanpa GPU ialah pilihan klasik: transkod CPU bagi satu strim 4K akan menggunakan sepenuhnya enam belas teras dan memanaskan bilik tidur kecil, seperti pemanas ruang yang turut memainkan filem. Pengendali yang lebih bercita-cita tinggi beralih kepada menjalankan model bahasa besar pada CPU, iaitu pemanas ruang dengan 70 bilion parameter dan API, yang menghasilkan token pada kadar yang paling sesuai diukur mengikut musim.
Pemantau memantau dirinya sendiri
Kebolehcerapan penting, jadi kami menggunakan pemantau masa aktif yang dihoskan sendiri pada pelayan yang sama dengan pelayan yang dipantaunya. Apabila Odin terhenti, pemantau itu turut terhenti, dan inilah bahagian yang menarik: tiada amaran dicetuskan. Tiada amaran bermaksud tiada insiden. Tiada insiden bermaksud masa aktif sempurna, berdasarkan ukuran yang dibuat. Laporan bulanan tidak pernah kelihatan lebih baik.
Untuk melengkapkan penerangan, e-mel amaran dihantar melalui pelayan mel yang turut dijalankan pada Odin. Oleh itu, saluran paip pemberitahuan itu sepenuhnya berdikari, seperti ular yang memakan ekornya sendiri dan kenyang sepenuhnya.
Bahagian yang tidak menyenangkan
Berikut ialah bahagian yang selama ini saya tangguhkan. Semua ini benar-benar berlaku. Pelayan yang dianggap tidak boleh diganti, RAID 0 dengan sandaran pada volum yang sama, tembok api yang dinyahdayakan buat sementara waktu, kluster Kubernetes yang menyajikan satu halaman, dan pemantauan yang memantau dirinya sendiri, semuanya pernah saya lihat dalam persekitaran produksi. Sebahagiannya saya lihat pada tahun ini. Satu atau dua daripadanya pernah saya bina pada peringkat awal kerjaya saya.
Kecekapan sebenar kelihatan membosankan. Sebab itu kecekapan kalah dalam perdebatan pada saat itu tetapi terbukti nilainya sepanjang sedekad: PUE yang tidak pernah anda fikirkan kerana orang lain telah mereka bentuknya. Mesin yang saiznya disesuaikan dengan beban kerjanya, bukan dengan gambaran pemiliknya tentang diri sendiri. Jejari kesan yang dipertimbangkan sebelum letupan berlaku. Sandaran yang diuji dengan memulihkannya mengikut jadual, menggunakan peringatan kalendar dan tanpa mengharapkan tindakan wira. Lebihan yang membosankan; dua unit perkara yang murah sentiasa lebih baik daripada satu unit perkara yang hebat, dalam setiap kegagalan yang pernah memerlukan tindakan saya.
Pusat data yang paling cekap untuk anda kendalikan ialah pusat data yang tidak anda kendalikan. VPS menyerahkan kuasa, penyejukan, lebihan, dan kegagalan perkakasan pada jam 3 pagi kepada pihak yang menguruskannya secara berskala dan dengan cara yang membosankan. Itulah pujian tertinggi yang boleh diterima oleh infrastruktur. Anda pula dapat menumpukan pada bahagian yang benar-benar menarik, iaitu menjalankan perkhidmatan anda sendiri di atasnya, pada mesin yang anda mampu kehilangan. Itulah satu-satunya jenis mesin yang patut anda gunakan untuk eksperimen.
FAQ
Patutkah saya benar-benar melakukan semua ini?
Tidak. Setiap bahagian panduan ini ialah corak anti yang didokumenkan, dengan banyak hujung minggu yang terbuang. Jika persediaan semasa anda menyerupai lebih daripada dua bahagian, teruskan ke soalan terakhir dalam FAQ ini mengikut susunan yang diberikan, kerana susunan itu menentukan keutamaan pemulihan.
Apakah PUE yang baik sebenarnya?
Pusat data berskala hiperskala beroperasi sekitar 1.1, bilik perusahaan yang diurus dengan baik mencapai 1.4 hingga 1.6, manakala bilik kecil tanpa penyejukan yang menggunakan pemanas ruang boleh benar-benar melebihi 3. Anda tidak boleh bersaing secara bermakna dengan 1.1 di rumah. Ini ialah hujah ekonomi yang jelas untuk menyewa sumber pengkomputeran daripada pihak yang mampu menyediakannya.
Adakah pemanasan bangunan menggunakan server benar-benar berlaku?
Ya, jika dilakukan dengan betul. Projek pemanasan daerah di beberapa negara menangkap haba buangan pusat data melalui penukar haba dan menyalurkannya ke rumah, secara terancang, dengan kejuruteraan dan kontrak. Sindiran di atas bukan tentang keupayaan haba server memanaskan bilik. Masalahnya ialah melakukannya secara tidak sengaja dan menganggap kejadian itu sebagai strategi.
Server saya sudah kelihatan seperti ini. Apakah yang perlu saya lakukan dahulu?
Buat sandaran malam ini ke lokasi yang bukan pada server, kemudian uji pemulihan. Sandaran yang belum diuji hanyalah khabar angin. Kedua, pasang tampalan dan lakukan reboot yang selama ini anda elakkan, dalam tempoh penyelenggaraan yang dirancang, supaya anda mengetahui perkara yang rosak ketika anda memantaunya. Ketiga, asingkan satu titik kegagalan: pindahkan DNS dan pemantauan keluar dari kotak tersebut. Perkara lain boleh menunggu minggu yang lebih tenang; tiga perkara ini tidak boleh ditangguhkan.