İşletim Sistemini Hazırlama
Önceki bölümde açıklandığı gibi, birçok farklı VPS ve bulut sağlayıcısı bulunmaktadır. Hepsi için kılavuzlar yazmak biraz pratik dışı olurdu, ancak bu bölümde Amazon Web Services'de barındırılan bir sanal makineyi hazırlamak için tipik bir iş akışını ele alacağız. Özellikle, uygun sanal donanım yapılandırmasının nasıl seçileceğini ve İşletim Sisteminin Rocket Pool için nasıl hazırlanacağını ele alacağız. Ekosistemlerine aşina olduğunuzda, bu adımları herhangi bir sağlayıcıya nasıl uygulayacağınızı çıkarabilmelisiniz.
EC2 Sanal Makine Oluşturma
İlk adım, zaten bir hesabınız yoksa AWS hesabı oluşturmaktır. Bu bağlantıda verilen talimatları izleyin veya mevcut bir hesapla giriş yapın ve sonunda yönetim konsolu panonuza ulaşacaksınız:
Ardından, sunucunuzun fiziksel olarak bulunmasını istediğiniz coğrafi bölgeyi seçmek için ekranın sağ üst köşesindeki açılır menüye tıklayın. Sunucular oluşturulduktan sonra bölgeler arasında taşınamaz, bu nedenle sunucuyu gerçekten oluşturmadan önce seçili seçenekten memnun olduğunuzdan emin olmak istersiniz.
Şimdi, araç çubuğunda Services'e tıklayın. Compute bölümüne gidin ve EC2'yi seçin. Panonuz buna benzer bir görünüme değişmelidir:
Turuncu Launch Instance düğmesine tıklayın ve yeni bir makine oluşturmak için seçenekler listesinden Launch Instance'ı seçin. Size Amazon Makine İmajlarının bir pazarı sunulacaktır. Bunların her biri, önceden yüklenmiş bir İşletim Sistemi ve bazı diğer yararlı yazılım bileşenlerine sahip bir makinenin belirli bir anlık görüntüsünü temsil eder.
Rocket Pool node'u için Ubuntu Server 24.04 LTS (HVM) imajını kullanmanızı öneririz.
Ardından, bir Instance Type seçmeniz gerekecektir. Bu, makinenizin hangi sanal donanım kaynaklarına sahip olacağını belirler.
Bu yazının yazıldığı tarih itibarıyla, farklı seçeneklerin sunduğu şeyler şunlardır:
Donanım gereksinimleri büyük ölçüde hangi consensus client'ı çalıştırmayı planladığınıza bağlıdır - örneğin Nimbus, kendi başına 1GB'tan az RAM gerektirir, bu nedenle onu bir t2.large instance'ında çalıştırmak tamamen makuldür. Daha fazla RAM gerektiren client'lar için, ekstra boşluk için bir t2.xlarge instance'ı ile gitmek isteyebilirsiniz.
İstediğiniz client'ın seçtiğiniz instance type tarafından desteklendiğinden emin olabilmek için bir instance type belirlemeden önce ETH Client'larınızı Seçme bölümüne danışmak isteyebilirsiniz.
Seçiminizi yaptıktan sonra, Next düğmesine tıklayın. Instance Details bölümü için varsayılan ayarların hepsi uygundur, bu nedenle onları olduğu gibi bırakın ve Next'e tıklayın.
Add Storage bölümüne geldiğinizde, sisteminiz için yeni bir sanal sabit disk oluşturacaksınız. Bu, bulutun gücü sayesinde daha sonra genişletilebilir, bu nedenle şimdi doğru sayıyı almak kesinlikle kritik değildir. Ancak, kendi huzurunuz için, boyutu aşağıdaki rakamlardan birine değiştirmelisiniz:
- Hoodi Test Ağı'nda Rocket Pool'u deniyorsanız en az 100 GiB kullanın.
- Bu node'u ana Ethereum ağında (mainnet) kullanacaksanız en az 1 TiB (tercihen 2 TiB) kullanın.
Diğer ayarlar için varsayılan değerleri bırakın ve Next'e tıklayın.
Add Tags adımında, click to add a Name tag düğmesine tıklamalı ve daha sonra sunucuyu tanımlamak için kullanabileceğiniz hatırlaması kolay bir isim vermelisiniz; ilhama ihtiyacınız varsa Rocket Pool Smartnode gibi bir şey işe yarayacaktır. İşiniz bittiğinde Next'e tıklayın.
Security Group bölümünde, Create a new security group seçeneğini seçili tutun. Smartnode ve Smartnode Group gibi bir ad ve açıklama girin. Tablodaki mevcut tüm kuralları kaldırın ve aşağıdaki kuralları ekleyin:
Bu, dizüstü veya masaüstü bilgisayarınızdan sunucunuza SSH (komut satırı terminali) üzerinden uzaktan bağlanmanıza olanak tanır. Ayrıca Execution ve Consensus client'larının Ethereum ağındaki diğer node'lara bağlanmasına izin verir.
SSH erişimi için, bu yalnızca statik bir genel IP adresiniz varsa işe yarar. Muhtemelen bunu İSS'nizden talep etmeniz gerekecektir, çünkü birçoğu dinamik bir IP sistemi kullanır ve genel adresinizi ara sıra değiştirir. Statik bir adres temin edemiyorsanız, AWS konsoluna gitmeniz ve her değiştiğinde bu ayarı yeni IP adresinizle güncellemeniz gerekecektir.
Güvenlik grubu tablosu şimdi buna benzemelidir:
Şimdi, tüm instance ayrıntılarını gözden geçirin ve bunlardan memnun olduğunuzdan emin olun ve memnun olduğunuzda Launch'a tıklayın.
SSH key pair istemi göründüğünde, Create a new key pair'i seçin.
Smartnode Key gibi akılda kalıcı bir ad verin, ardından Download Key Pair'e tıklayın.
Bu dosyaları ~/.ssh/ (veya Windows'ta C:\Users\[kullanıcı adınız]\.ssh\) gibi diğer anahtarlarınızın yaygın olarak bulunduğu güvenli bir yerde saklayın.
Bu anahtar çifti, makinenize SSH yapmak için kullanacağınız özel anahtarı içerir. Bu anahtarı ele geçiren herkes, node'unuza tam erişime sahip olacaktır - Rocket Pool node cüzdanınız ve içindeki tüm coinler dahil. Bu dosyayı her zaman güvende tutmanız gerekir.
Ardından, yeni sanal sunucunuzu oluşturmak için Launch Instance'a tıklayın. Bir bildirim açıldığında, sunucular listenize götürülmek için View Instances'a tıklayın. Rocket Pool node'unuzu orada yapılandırması ve durumu hakkında bazı eşlik eden ayrıntılarla birlikte göreceksiniz.
Son olarak, makinenize bir Elastic IP Address atayın - bunu AWS'ye özel statik bir IP adresi gibi düşünebilirsiniz. Node'unuz her zaman bu adreste erişilebilir olacaktır, bu nedenle ona bağlanmak için her zaman aynı SSH komutunu kullanabilirsiniz.
Sol taraftaki gezinme panelinde Network and Security'ye gidin ve Elastic IPs'e tıklayın. Şimdi, Allocate Elastic IP Address'e tıklayın. Varsayılan ayarların hepsi uygundur, bu nedenle istemleri tıklayın ve bittiğinde listeye dönün.
Ardından, listeden yeni adresi seçin. Üzerindeki Actions düğmesine tıklayın, ardından Associate Elastic IP Address'e tıklayın. Kaynak türünü Instance olarak ayarlı bırakın ve listeden az önce oluşturduğunuz Rocket Pool Smartnode instance'ını seçin. Adresi sanal sunucunuza atamak için Associate'e tıklayın. Şimdi, adresin *Associated Instance ID** sütununa bakarsanız, makinenizin ona atanmış olduğunu doğrulayabilirsiniz.
Makineye Erişim
Makineye erişmek için, Linux veya macOS'ta yeni bir terminal açın (Windows'ta Powershell kullanın) ve aşağıdaki komutu yazın:
Anahtarlarınızı .ssh klasöründe sakladıysanız, bu, kurulum sırasında oluşturduğunuz özel anahtar çiftini kullanarak makineyle otomatik olarak kimlik doğrulama yapacaktır - kullanıcı adı yok, şifre yok.
Buraya geldiğinizde, sisteme tam terminal erişiminiz vardır.
Swap Alanı Kurulumu
Çoğu durumda, Execution ve Consensus client'larınızı ve instance type'ınızı dikkatlice seçerseniz, RAM'den tükenmemelisiniz. Yine de, biraz daha eklemek asla zarar vermez. Şimdi yapacağımız şey swap alanı denen şeyi eklemektir. Esasen, bir şey korkunç derecede yanlış giderse ve sunucunuz normal RAM'den tükenirse SSD'yi "yedek RAM" olarak kullanacağız demektir. SSD, normal RAM kadar hızlı değildir, bu nedenle swap alanına ulaşırsa işleri yavaşlatacaktır, ancak tamamen çökmez ve her şeyi bozmaz. Bunu (büyük olasılıkla) asla ihtiyacınız olmayacak ekstra sigorta olarak düşünün.
Swap Dosyası Oluşturma
İlk adım, swap alanınız olarak hareket edecek yeni bir dosya yapmaktır. Ne kadar kullanmak istediğinize karar verin - makul bir başlangıç 8 GB olurdu, böylece toplamda 16 GB için 8 GB normal RAM ve 8 GB "yedek RAM"iniz olur. Süper güvenli olmak için, 24 GB yapabilirsiniz, böylece sisteminizde toplamda 32 GB için 8 GB normal RAM ve 24 GB "yedek RAM" olur, ancak bu muhtemelen aşırıya kaçmaktır. Neyse ki, SSD'nizde 1 veya 2 TB alan olduğu için, bir swap dosyası için 8 ila 24 GB ayırmak önemsizdir.
Bu anlatımın hatırına, güzel bir orta yol seçelim - diyelim ki toplam 24 GB RAM için 16 GB swap alanı. İlerlerken istediğiniz sayıyı değiştirin.
Bunu girin, bu /swapfile adında yeni bir dosya oluşturacak ve 16 GB sıfırla dolduracaktır.
Miktarı değiştirmek için, count=16'daki sayıyı istediğiniz şeye değiştirin. Bunun uzun süreceğini unutmayın, ancak bu normaldir.
Ardından, yalnızca root kullanıcısının okuyabilmesi veya yazabilmesi için izinleri ayarlayın (güvenlik için):
Şimdi, onu bir swap dosyası olarak işaretleyin:
Ardından, etkinleştirin:
Son olarak, sunucunuz yeniden başlatıldığında otomatik olarak yüklenmesi için mount tablosuna ekleyin:
Sonuna şöyle görünen yeni bir satır ekleyin:
Kaydetmek için Ctrl+O ve Enter'a, ardından çıkmak için Ctrl+X ve Enter'a basın.
Aktif olduğunu doğrulamak için şu komutları çalıştırın:
Çıktınız üstte şuna benzer görünmelidir:

Swp etiketli son satırdaki ikinci sayı (/'den sonraki) sıfır değilse, o zaman hazırsınız.
Örneğin, 0K / 16.0G gösteriyorsa, swap alanınız başarıyla etkinleştirilmiştir.
0K / 0K gösteriyorsa, işe yaramadı ve önceki adımları doğru girdiğinizi onaylamanız gerekecektir.
htop'tan çıkmak ve terminale geri dönmek için q veya F10'a basın.
Swappiness ve Cache Pressure Yapılandırma
Varsayılan olarak, Linux, sistemin RAM'inden biraz baskıyı almak için hevesle çok fazla swap alanı kullanacaktır. Bunu istemiyoruz. Son saniyeye kadar tüm RAM'i kullanmasını ve SWAP'a güvenmeden önce istiyoruz. Bir sonraki adım, sistemin "swappiness"ini değiştirmektir, bu temelde swap alanını ne kadar hevesle kullandığıdır. Bunun için hangi değerin ayarlanacağı hakkında çok fazla tartışma var, ancak 6 değerinin yeterince iyi çalıştığını bulduk.
Ayrıca "cache pressure"ı düşürmek istiyoruz, bu da sunucunun dosya sisteminin bir önbelleğini ne kadar hızlı sileceğini belirler. Kurulumumuzla çok fazla yedek RAM'imiz olacağından, bunu "10" yapabiliriz, bu da önbelleği bir süre bellekte bırakarak disk G/Ç'sini azaltır.
Bunları ayarlamak için şu komutları çalıştırın:
Şimdi, yeniden başlatmadan sonra yeniden uygulanmaları için bunları sysctl.conf dosyasına koyun:
Sonuna bu iki satırı ekleyin:
Ardından daha önce yaptığınız gibi kaydedin ve çıkın (Ctrl+O, Ctrl+X).
Ve bununla, sunucunuz çalışıyor ve Rocket Pool'u çalıştırmaya hazır! ETH Client'larınızı Seçme bölümüne geçin.