Budowanie 200 TB Chia Farming Rig PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Budowa platformy do uprawy chia o pojemności 200 TB

Pełny przegląd, od wyboru komponentów po konfigurację oprogramowania dla systemu do hodowli (wydobywania) kryptowaluty Chia.

Budowanie 200 TB Chia Farming Rig PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Udział to nowa kryptowaluta, której celem jest osiągnięcie zdecentralizowanego konsensusu przy niższym zużyciu energii na transakcję niż jej odpowiedniki. Osiąga się to poprzez dowód algorytmu przestrzennego zamiast dowód pracy.

Podczas gdy dowód pracy polega na ciągłym obliczaniu problemu matematycznego (zwykle skrótów, takich jak SHA256) w celu znalezienia wyników pasujących do pożądanego wzorca, Chia zamiast tego polega na sprawdzaniu istnienia pewnych właściwości w unikalnych, wstępnie wygenerowanych plikach zwanych wykresami.

Odbywa się to w dwuetapowym procesie zwanym rolnictwo składający się z:

  1. Konspiratorstwo gdzie tworzone są duże, unikalne pliki (zwykle 101.6 GB).

Im więcej działek (większe wykorzystanie pamięci) ma węzeł, tym większa szansa na wygranie nagrody za ten blok. Codziennie jest 4608 szans na wygraną, a prawdopodobieństwo wygrania nagrody za ten blok opiera się przede wszystkim na liczbie posiadanych działek w stosunku do całkowitej wielkości sieci. Dostępny jest kalkulator zarobków tutaj.

Dlatego aby zmaksymalizować nagrody, chcemy mieć jak największą ilość miejsca na dysku i wystarczające zasoby obliczeniowe, aby wypełnić wspomnianą pamięć działkami.

Podobnie jak w przypadku większości problemów projektowych, istnieje nieskończona liczba prawidłowych rozwiązań kombinacji urządzeń, które można wykorzystać do hodowli Chia. Aby zawęzić opcje, zacząłem od określenia pewnych ograniczeń i priorytetów:

  1. Koszt w USD/TB należy zminimalizować pomimo dodatkowej złożoności (w granicach rozsądku).

Drukowanie — przetwarzanie

W zależności od konfiguracji sprzętu utworzenie pojedynczej działki może zająć od 4 do 20 godzin. Dlatego wybór odpowiedniego sprzętu do kreślenia może zadecydować o zapełnieniu całej farmy w ciągu dni, a nie miesięcy.

Ważne jest, aby wziąć pod uwagę nie tylko szybkość tworzenia każdego wykresu, ale także liczbę równoległych wykresów, które można utworzyć. Na przykład konfiguracja, która tworzy 10 współbieżnych wykresów po 12 godzin każdy, da 20 wykresów (~2 TB/dzień), podczas gdy konfiguracja, która tworzy 1 współbieżny wykres co 4 godziny, da tylko 6 wykresów dziennie (0.6 TB/dzień).

Aby zminimalizować koszty, zdecydowałem się poszukać wycofanych z eksploatacji serwerów. Serwery te mają kilka interesujących właściwości, które mogą uczynić je potężnymi ploterami, w tym:

  1. Duża liczba rdzeni pozwala na wykonanie kilku wykresów równolegle. Faza 1 (około połowa czasu kreślenia) jest wielowątkowa (zwykle skonfigurowana tak, aby zawierała od 2 do 4 wątków), ale pozostałe fazy są jednowątkowe.

Po przejrzeniu dziesiątek opcji i możliwych konfiguracji zdecydowałem się na HP ProLiant DL380p Gen8 z 2 procesorami Intel E5–2670 i 192 GB pamięci RAM DDR3. Po włączeniu funkcji Hyper-Threading serwer ten mógłby hipotetycznie obsługiwać jednoczesne kreślenie do 16 wykresów w fazie 1 za mniej niż 400 USD.

Drukowanie — tymczasowe przechowywanie

Ze względu na duże obciążenie zapisem podczas tworzenia wykresu (około 1.6 TB zapisane dla wykresu ak=32), wybór tymczasowego nośnika pamięci może mieć znaczący wpływ na czas i koszt wydruku. Kilka punktów do rozważenia:

  1. Im szybsze przechowywanie, tym szybciej można tworzyć wykresy. Ten wątek omawia 4-godzinny czas wydruku przy użyciu RAMDISK (zamontuj folder w pamięci RAM).

Ostatecznie zdecydowałem się na zakup 12-kieszeniowego HP StorageWorks D2600 z dyskami SAS 15 tys. 450 GB. Dzięki tej konfiguracji mogę jednocześnie drukować na każdym dysku bez ryzyka rywalizacji we/wy na poziomie dysku. Dyski JBOD + były znacznie tańsze niż równoważna konfiguracja z dyskami NVMe (nawet bez uwzględnienia kosztu wymiany po osiągnięciu TBW).

Gospodarstwo — długoterminowe przechowywanie

W przeciwieństwie do pamięci kreślącej, pamięć zbiorcza nie wymaga dużej przepustowości ani liczby IOP. Z tego powodu minimalizacja kosztów była najwyższym priorytetem.

Istnieje kilka możliwych konfiguracji, niektóre z nich zostały omówione tutaj. Jednak po przeszukaniu serwisu eBay w poszukiwaniu opcji z drugiej ręki kilka rzeczy stało się jasnych:

  1. Większe dyski twarde 3.5″ mają zazwyczaj najniższy koszt. Ma to sens, ponieważ obecnie większość urządzeń została przeniesiona na mniejsze rozmiary 2.5″ lub 1.8″.

Kiedy już ograniczyłem się do używania 3.5-calowych dysków twardych SAS, musiałem znaleźć sposób na faktyczne podłączenie ich do mojego kombajnu/plotera. Trzymając się ograniczenia polegającego na niebudowaniu obudowy/płyty montażowej, zacząłem szukać używanych obudów, w których można umieścić te dyski, zachowując jednocześnie najniższy koszt w przeliczeniu na wnękę.

Natknąłem się na kilka opcji w serwisie eBay i ostatecznie kupiłem kilka różnych modeli, w tym 24-zatokowy HP 3PAR i dwa 12-zatokowe IBM DS3512.

Pełna lista

Ostateczna lista komponentów znajduje się poniżej. Obejmuje główne komponenty omówione powyżej, ale także części pomocnicze wymagane do złożenia systemu.

Godną wzmianki jest karta HBA. To właśnie karta PCIe odsłania zewnętrzne złącza SAS, do których będą podłączane kable z JBOD-ów. Kupując, upewnij się, że otrzymujesz kartę trybu inicjatora docelowego (IT), dzięki czemu dyski będą widoczne bezpośrednio w systemie operacyjnym, a nie karta trybu IR. Miło jest to mieć, możesz chcieć sflashować kartę z nowszym systemem operacyjnym (wersja 20).

Konfiguracja jest w większości intuicyjna. Kable podłącza się do otworów, w których pasują. Jednakże okablowanie SAS łączące JBOD i maszynę plotującą/zbierającą można łączyć łańcuchowo.

W moim przypadku z serwera wychodzą dwa kable (po jednym na każdy port od karty HBA). Jeden z kabli łączy się z wejściem macierzy tymczasowej pamięci masowej (HP D2600), a wyjście tej macierzy łączy się z macierzą HP 3PAR. Drugi kabel łączy się z pierwszą macierzą IBM, a jego wyjście łączy się z drugą macierzą IBM. Jednostki JBOD mają zwykle port wejściowy (podstawowy) i port wyjściowy (zwykle oznaczone strzałką skierowaną na zewnątrz).

zainstalowałem Ubuntu LTS 20.04 na serwerze, ponieważ jest to powszechnie używana dystrybucja Linuksa, co oznacza, że ​​łatwiej byłoby znaleźć fora rozwiązywania problemów, gdyby pojawiły się jakiekolwiek problemy. Poniższe kroki opisują pozostałą konfigurację.

Krok 1: Upewnij się, że wszystkie dyski są dostępne

Pierwszym krokiem jest sprawdzenie, które dyski są wykrywane przez system operacyjny. Można to osiągnąć uruchamiając plik lsscsi Komenda. Efekt działania pokazano poniżej.

Należy pamiętać, że powyższe polecenie nie dostarcza informacji o systemie plików ani rozmiarze dysków. W tym celu uruchom lsblk dowództwo.

Ważne: Pamiętaj, że nie wszystkie dyski pojawiają się pod obydwoma poleceniami! Napędy wyświetlane w obszarze lsscsi ale nie lsblk mogą wykazywać pewną niezgodność, która powoduje, że system operacyjny nie udostępnia ich do montażu itp. Przykładem tego jest /dev/sdaw.

W moim przypadku przyczyną tego problemu był rozmiar sektora wynoszący 520, który nie jest obsługiwany przez moje zainstalowane jądro Linuksa (dyskusję na ten temat można znaleźć tutaj i tutaj). Możesz sprawdzić, czy tak jest w Twoim przypadku, przeglądając plik dmesg dziennik poleceń pod kątem komunikatu o błędzie, takiego jak [sdaw] Unsupported sector size 520.

Aby rozwiązać ten problem, sformatowałem dyski za pomocą polecenia o rozmiarze bloku 512 sg_format -v --format --size=512 /dev/sdX. Wykonanie tego polecenia może zająć dużo czasu (kilka godzin), a dane wyjściowe pokazano poniżej.

Po zakończeniu dysk powinien pojawić się w pliku lsblk wyjście.

Krok 2: Utwórz system plików na dyskach

Aby sformatować dyski za pomocą formatu ext4 systemie plików, uruchomiłem następujące polecenie: sudo mkfs -t ext4 — verbose /dev/sda.

Krok 3: Zamontuj dyski

Teraz, gdy mamy dostęp do dysków i zostały one sformatowane przy użyciu żądanego systemu plików, możemy to zrobić uchwyt te dyski.

  1. Utwórz foldery, w których będziemy montować dyski. Na przykład: /mnt/farm/00 do /mnt/farm/23 dla dysków, na których będą przechowywane końcowe wykresy, oraz /mnt/plot-tmp/00 do /mnt/plot-tmp/11 dla tymczasowych lokalizacji działek.

Krok 4: Uruchom oprogramowanie Chia Blockchain

  1. Postępuj zgodnie z podanymi oficjalnymi instrukcjami tutaj aby zainstalować blockchain Chia (nie instalowałem GUI).

Krok 5: Skonfiguruj Plotmana (opcjonalnie)

Plotman jest menadżerem ploterów, który przejmie tworzenie nowych zleceń ploterowych. Jest to wygodne narzędzie (nie wymagane).

  1. Zainstaluj Plotmana postępując zgodnie z instrukcjami tutaj.
interfejs użytkownika:
use_stty_size: Prawda
katalogi:
log: /home/plotter/plotman-logs
temperatura:
- /mnt/plot-tmp/f00
- /mnt/plot-tmp/f01
- /mnt/plot-tmp/f02
- /mnt/plot-tmp/f03
- /mnt/plot-tmp/f04
- /mnt/plot-tmp/f05
- /mnt/plot-tmp/f06
- /mnt/plot-tmp/f07
- /mnt/plot-tmp/f08
- /mnt/plot-tmp/f09
- /mnt/plot-tmp/f10
- /mnt/plot-tmp/f11
czas letni:
#- /mnt/farm/00 PEŁNY
#- /mnt/farm/01 PEŁNY
#- /mnt/farm/02 PEŁNY
#- /mnt/farm/03 PEŁNY
#- /mnt/farm/04 PEŁNY
#- /mnt/farm/05 PEŁNY
#- /mnt/farm/06 PEŁNY
#- /mnt/farm/07 PEŁNY
#- /mnt/farm/08 PEŁNY
#- /mnt/farm/09 PEŁNY
#- /mnt/farm/10 PEŁNY
#- /mnt/farm/11 PEŁNY
- /mnt/farma/12
- /mnt/farma/13
- /mnt/farma/14
- /mnt/farma/15
- /mnt/farma/16
- /mnt/farma/17
- /mnt/farma/18
- /mnt/farma/19
- /mnt/farma/20
- /mnt/farma/21
- /mnt/farma/22
- /mnt/farma/23
planowanie:
tmpdir_stagger_phase_major: 2
tmpdir_stagger_phase_minor: 1
tmpdir_stagger_phase_limit: 1
tmpdir_max_jobs: 1
global_max_jobs: 20
global_stagger_m: 40
czas_odpytywania_s: 30
konspiratorstwo:
k: 32
e: Fałsz # Użyj opcji kreślenia -e
n_threads: 2 # wątki na zadanie
n_buckets: 128 # Liczba segmentów, na które należy podzielić dane
job_buffer: 8096 # Na pamięć zadania

Kilka punktów, o których warto wspomnieć:

  1. Plotman nie przerywa planowania dysków rolniczych (w momencie pisania tego tekstu), gdy dysk jest pełny. Dlatego musisz je usunąć (lub skomentować, jak powyżej).

Krok 6: Uruchom ploter

W tym momencie wszystko, czego potrzeba, aby rozpocząć kreślenie, to uruchomić plotman interactive.

Uwaga: bardzo długotrwałe zadanie kreślenia do /dev/farm/usb2 to uruchomienie debugowania, które nie powinno zostać zakończone.

Mam nadzieję, że ten artykuł był pomocny i dał ci wyobrażenie o tym, co jest potrzebne do hodowli Chia!

W tej chwili moja farma jest zapełniona w 1/3 i planuję publikować aktualizacje w miarę jej zapełniania i kiedy zacznę ponownie kreślić baseny.

Specjalne podziękowania dla Katie Gandomie za pomoc w rozwoju.

Szczęśliwego rolnictwa!

Source: https://levelup.gitconnected.com/building-a-200tb-chia-farming-rig-c9478ed7b92f?source=rss——-8—————–cryptocurrency

Znak czasu:

Więcej z Średni