En verimsiz veri merkezi nasıl tasarlanır?
PUE degerini 4.0 seviyesine cikarmak icin gereken stratejileri ogrenin. RAID 0 yapilandirmasi, isi odakli konumlandirma ve gereksiz donanimlarla verimsizligin sinirlarini zorlayin.
Ne inşa ediyorsunuz
Bu sitedeki her rehber, bir işlemi doğru şekilde yapmanızı öğretir: komutlar sırasıyla verilir, doğru sonucun neye benzediği gösterilir ve hata modları isimlendirilir. Bu rehber ise farklıdır. Bugün, tamamen varsayımsal olarak, paranın, elektriğin ve kibrin üretebileceği en verimsiz veri merkezini tasarlayacağız.
Bir metriğe ihtiyacımız var, bu yüzden endüstrinin kendi metriğini ödünç alacağız: PUE, yani Güç Kullanım Etkinliği; toplam tesis gücünün, bilişim ekipmanına ulaşan güce bölünmesiyle elde edilir. Bir hyperscale veri merkezi yaklaşık 1.1 değerinde çalışır: neredeyse her watt faydalı bir iş yapar. İyi bir kurumsal sunucu odası 1.5 değerini yakalar. Bizim hedefimiz 4.0 veya daha yüksek; bu da bilişim için harcanan her bir watt karşılığında, üç wattın daha boşa gitmesi anlamına gelir. Ciddi rehberlerin yedeklemelere atıfta bulunduğu gibi, biz de bu sayıya sık sık atıfta bulunacağız.
Konum seçimi: ısı kritik noktadır
Gerçek bir veri merkezindeki en büyük maliyet kalemi soğutmadır; bu nedenle bizim sistemimiz termodinamik ile kendi sahasında mücadele edecektir. İdeal konum bir çatı katıdır. Güney cepheli olmalıdır. İdeal olarak, güneş ışığını doğrudan sunucunun üzerine düşürecek bir çatı penceresi ile donatılmalıdır; böylece makine hem kendi atık ısısını hem de güneşin ısısını alır. Bu, elektrik faturanız ile bir yıldız arasındaki iş birliğidir.
Kışın soğutma, pencere açılarak gerçekleştirilir. Gerçek veri merkezleri dış havayı kullanır; bu tekniğe "free cooling" denir ve mühendislik ürünü, filtrelenmiş ve nem kontrollü bir sistemdir. Biz ise bunu kazara, yağmur, polen ve çeyrek dönemde en az bir şaşkın kuşun içeri girmesine izin veren bir pencere aracılığıyla yapacağız.
Gerçek bir ustalık için bir klima kurun, ardından termostatının iki fit uzağına, klimanın hedef sıcaklığından iki derece daha yüksek bir değere ayarlanmış bir ısıtıcı yerleştirin. Her iki cihaz da artık sonsuza dek, mükemmel bir anlaşmazlık içinde sürekli çalışacaktır. Elektrik şirketi size Noel'de bir tebrik kartı gönderecektir.
Tek sunucu, devasa ve vazgeçilmez
Yedeklilik, kararlılığı zayıflatır. Veri merkezimizde tam olarak bir sunucu bulunur ve bu sunucu devasadır; çünkü 512 GB RAM'e sahip tek bir makine altyapı hissi verirken, dört küçük makine bir yapılacaklar listesi gibi hissettirir.
Sunucunun bir ismi vardır. Bir hostname değil, gerçek bir isim. Genellikle Gandalf veya Odin. Odin'i devre dışı bırakamazsınız. Odin beş yıldır çalışmaktadır:
$ uptime
09:14:02 up 1847 days, 3:22, 1 user, load average: 6.41, 6.38, 6.40Bu sayı bir gurur kaynağıdır; bu yüzden ekran görüntüsünü alıp paylaşırsınız ve bu ekran görüntüsünü gören her saldırgan da sayıyı etkileyici bulur: 1.847 günlük çalışma süresi, 1.847 gün boyunca kimse tarafından yamalanmamış çekirdek açıkları anlamına gelir. Yeniden başlatma zaten söz konusu değildir; yeniden başlatma, 2021 yılında elle başlatılan ve hiçbir systemd ünitesine yazılmayan servislerin hangileri olduğunu keşfetmenizi sağlar. Kimse hangileri olduğunu hatırlamaz. Sunucu artık organizasyon şemasında yük taşıyan temel bir unsurdur.
Depolama: hız ve veri kaybetmenin diğer yolları
Diskler, performans amacıyla RAID 0 yapılandırmasıyla kurulmuştur. Buradaki sıfır, arızalanabilecek disk sayısını ifade eder. Maksimum etki için, diziyi farklı kaynaklardan gelen depolama birimlerine yayın: iki adet düzgün SSD, bir adet yaşlanan mekanik disk ve bir konferanstan kalma USB bellek. Dizinin güvenilirliği, tasarımı gereği tam olarak konferans belleğinin güvenilirliği kadardır.
Yedeklemeler, aynı dizi üzerinde bulunan ve önceki adlandırma şemasının tarball arşivini içeren backup_final_v2_REAL dizini tarafından yönetilir. Şirket dışı yedeklemeler ise "şirket dışı yedeklemeleri ayarla" yazılı bir yapışkan not ile temsil edilir; bu not, dizüstü bilgisayarınızın kapağına yapıştırıp eve götürdüğünüzde teknik olarak şirket dışında depolanmış olur.
Doğru bir sonuç şu şekilde görünür: df yüzde 97 kullanım raporlar ve bir sonraki sprint döneminde bununla ilgilenmek için bir plan yapılır.
Ağ iletişimi: her şeyin tek bir noktada toplanması
DNS sunucusu makinenin üzerinde çalışır; bu nedenle sunucu kapandığında, sorunun nedenini anlamak için kullanacağınız DNS kaydı da erişilemez hale gelir. Buna konsolidasyon denir.
Güvenlik duvarı, bir sorunu gidermek amacıyla 2021 yılında geçici olarak devre dışı bırakıldı. Hata ayıklama işlemi bitti ancak güvenlik duvarı tekrar açılmadı. "Daha sonra zaman kazanmak için" yönlendiricideki her port sunucuya yönlendirildi ve yönlendiricinin yönetim paneline, kolay uzaktan yönetim için fabrika şifresiyle WAN tarafından erişilebiliyor. Hem sizin tarafınızdan hem de başkaları tarafından.
Sunucu, çatı katı standartlarına göre bile son zamanlarda alışılmadık derecede ısınıyor ve top en yoğun sürecin xmrig adlı bir şey olduğunu gösteriyor. Bunun kullandığımız izleme aracı olduğunu varsayıyoruz. Biz kurmadık; portlar yönlendirildikten kısa bir süre sonra kendiliğinden ortaya çıktı, bunu ekosistemin geliştiğine dair bir işaret olarak kabul ediyoruz. Gece gündüz demeden izleme yapıyor.
Elektrik, toplam uzunluğu sigorta panosuna olan yürüme mesafesini aşan bir dizi tüketici tipi uzatma kablosu üzerinden geliyor. Bu bir bakıma verimlidir çünkü sigorta panosunu sık sık ziyaret etmeniz gerekecektir.
Karmaşıklık yoluyla yedeklilik
Önemli olan noktalarda yedekliliği reddettikten sonra, şimdi bunu gereksiz olan yerlere ekliyoruz. Tek bir statik HTML dosyasından oluşan şirket ana sayfası, on iki düğümlü bir Kubernetes kümesi tarafından sunulmaktadır. Bu durum, mühendislerin özgeçmiş odaklı mimari olarak adlandırdığı şeyi gerçekleştirir: sayfa, nginx'in sunabileceği aynı kırk milisaniyede yüklenir, ancak artık bir danışman gerektirecek şekillerde hata verebilir.
İzolasyon için kümenin kendisi, sanal makine içinde sanal makine içinde sanal makine üzerinde çalışır; her katman, bir turducken'ın her katmanının kuş eklemesi gibi güvenlik ekler. İletişim formu dokuz mikro hizmetten oluşur. Bunlardan ikisi hiç çağrılmamıştır. Biri yük taşımaktadır ve hangisi olduğu kimse tarafından bilinmemektedir.
Hizmet olarak ısınma
Modern bir sunucu, elektriği hesaplama gücüne ve ısıya dönüştürür; biz ise ikinci çıktıyı maksimize etmeyi hedefliyoruz. GPU'su olmayan bir medya sunucusu klasik bir yöntemdir: Tek bir 4K akışını CPU üzerinden kodlamak, on altı çekirdeği tam yükte çalıştırarak küçük bir yatak odasını ısıtır; yani aynı zamanda film oynatan bir ısıtıcı görevi görür. Daha iddialı operatörler ise CPU üzerinde büyük bir dil modeli çalıştırmaya geçer; bu, API'si olan ve token üretim hızı en iyi mevsimsel olarak ölçülebilen 70 milyar parametreli bir ısıtıcıdır.
İzleme aracı kendini izler
Gözlemlenebilirlik önemlidir; bu nedenle izlediği sunucunun üzerinde kendi kendine barındırılan bir çalışma süresi izleyicisi konuşlandırıyoruz. Odin çöktüğünde izleyici de onunla birlikte çöker ve işin zarif kısmı şudur: hiçbir uyarı tetiklenmez. Uyarı olmaması, olay yaşanmadığı anlamına gelir. Olay yaşanmaması, ölçüldüğü kadarıyla mükemmel çalışma süresi demektir. Aylık rapor hiç bu kadar iyi görünmemişti.
Eksiksiz olması adına, uyarı e-postaları yine Odin üzerinde çalışan bir posta sunucusu aracılığıyla iletilir. Böylece uyarı hattı, kendi kuyruğunu yiyen bir yılanın tamamen doymuş olması gibi, tamamen kendi kendine yeten bir yapıya kavuşur.
Rahatsız edici kısım
Erteleyip durduğum bölüme geldik. Bunların hiçbiri kurgu değil. Vazgeçilmez olduğu düşünülen sunucular, aynı birim üzerinde yedekleri tutulan RAID 0 yapılandırmaları, "geçici olarak" devre dışı bırakılan güvenlik duvarları, tek bir sayfa sunan Kubernetes kümeleri, kendini izleyen monitörler; bunların her birini canlı sistemlerde gördüm. Bazılarını bu yıl gördüm. Bir veya ikisini, mesleğimin ilk yıllarında bizzat ben kurdum.
Gerçek verimlilik sıkıcıdır; bu yüzden anlık tartışmalarda kaybeder ama on yıllık süreçte kazanır. Başkası tarafından tasarlandığı için asla düşünmek zorunda kalmadığınız bir PUE değeri. Sahibinin öz imajına göre değil, iş yüküne göre boyutlandırılmış makineler. Patlamadan önce hesaba katılmış bir etki alanı. Kahramanlık gerektirmeyen, takvim hatırlatıcısıyla düzenli olarak geri yükleme testi yapılan yedekler. Sıkıcı olan yedeklilik; bugüne kadar çağrıldığım her arızada, iki adet ucuz bileşen, bir adet muhteşem bileşeni her zaman geride bırakmıştır.
İşletebileceğiniz en verimli veri merkezi, işletmediğiniz veri merkezidir. Bir VPS; güç, soğutma, yedeklilik ve gece saat 03:00'te yaşanan donanım arızaları gibi yükleri, bu işi ölçekli ve sıkıcı bir şekilde yapan profesyonellere devreder. Bu, bir altyapının alabileceği en büyük övgüdür. Size ise işin asıl eğlenceli kısmını bırakır; yani üzerinde kendi servislerinizi çalıştırmak. Kaybetmeyi göze alabileceğiniz bir makine üzerinde çalışmak, deney yapmanız gereken tek yöntemdir.
FAQ
Bunların herhangi birini gerçekten yapmalı mıyım?
Hayır. Bu kılavuzun her bölümü, hafta sonlarını heba eden belgelenmiş birer anti-pattern'dir. Mevcut kurulumunuz iki bölümden fazlasına benziyorsa, bu FAQ içindeki son soruya, verilen sırayla gidin; çünkü bu sıra bir triyaj (önceliklendirme) düzenidir.
Gerçekte iyi bir PUE değeri nedir?
Hiper ölçekli veri merkezleri 1.1 civarında çalışır, iyi yönetilen bir kurumsal oda 1.4 ile 1.6 arasını yakalar; soğutulmayan ve içinde elektrikli ısıtıcıyla rekabet eden bir dolap ise 3 değerini rahatlıkla aşabilir. Ev ortamında 1.1 ile anlamlı bir şekilde rekabet edemezsiniz; bu durum, bilişim gücünü bunu yapabilen birinden kiralamanın sessiz ekonomik argümanıdır.
Bir binayı sunucularla ısıtmak gerçek bir şey mi?
Evet, düzgün yapıldığında gerçektir. Birçok ülkedeki bölgesel ısıtma projeleri, veri merkezi atık ısısını ısı eşanjörleri aracılığıyla yakalar ve mühendislik ile sözleşmeler dahilinde tasarlanmış bir şekilde konutlara borularla taşır. Yukarıdaki hiciv, sunucu ısısının bir odayı ısıtabileceği gerçeğiyle ilgili değildir; hiciv, bunu kazara yapıp kazayı bir strateji olarak adlandırmakla ilgilidir.
Sunucum zaten buna benziyor. İlk ne yapmalıyım?
Bu gece, sunucunun kendisi olmayan bir yere yedek alın ve ardından bir geri yükleme testi yapın; test edilmemiş bir yedek sadece bir söylentidir. İkinci olarak, yamaları uygulayın ve kaçındığınız yeniden başlatma işlemini planlı bir pencerede gerçekleştirin; böylece siz izlerken nelerin bozulduğunu öğrenirsiniz. Üçüncü olarak, tek hata noktasını bölün: DNS ve izleme servislerini sunucudan başka bir yere taşıyın. Diğer her şey daha sakin bir haftayı bekleyebilir; ancak bu üçü bekleyemez.