Створення 200TB Chia Farming Rig PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

Створення 200TB Chia Farming Rig

Повний огляд від вибору компонентів до налаштування програмного забезпечення для системи видобутку криптовалюти Chia.

Створення 200TB Chia Farming Rig PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

Чіа це нова криптовалюта, яка спрямована на досягнення децентралізованого консенсусу з меншим споживанням енергії на транзакцію, ніж у аналогів. Це досягається за допомогою a доказ просторового алгоритму замість proof of work.

У той час як доказ роботи покладається на безперервне обчислення математичної задачі (зазвичай це хеші, такі як SHA256) у спробі знайти результати, які відповідають бажаному шаблону, натомість Chia покладається на перевірку наявності певних властивостей в унікальних попередньо згенерованих файлах, які називаються графіками.

Це робиться у двоетапний процес, який називається сільське господарство складається з:

  1. Складання графіків де створюються великі унікальні файли (зазвичай 101.6 ГБ).

Чим більше ділянок (більше використовуваної пам’яті) має вузол, тим вищий шанс виграти винагороду за цей блок. Є 4608 шансів виграти щодня, і ймовірність виграти винагороду за цей блок базується головним чином на кількості ділянок, якими володіє пропорційно до загального розміру мережі. Надається калькулятор заробітку тут.

Таким чином, щоб максимізувати винагороди, ми хочемо мати якомога більший обсяг пам’яті і достатньо обчислювальних ресурсів, щоб заповнити згадане сховище графіками.

Як і для більшості проектних проблем, існує нескінченність дійсних рішень щодо комбінації пристроїв, які можна використовувати для вирощування Чіа. Щоб звузити вибір, я почав із визначення деяких обмежень і пріоритетів:

  1. Вартість у дол./ТБ має бути мінімізована, незважаючи на додаткову складність (в розумних межах).

Плотування — Обробка

Залежно від налаштувань апаратного забезпечення створення одного малюнка може тривати від 4 до 20 годин. Таким чином, вибір правильного обладнання для креслення може стати різницею між заповненням усієї вашої ферми за дні та місяці.

Важливо враховувати не лише швидкість, з якою створюється кожна ділянка, але й кількість одночасних ділянок, які можна створити. Наприклад, налаштування, яке створює 10 одночасних графіків по 12 годин кожен, створюватиме 20 графіків (~2 ТБ/день), тоді як налаштування, яке створює 1 паралельний графік кожні 4 години, створюватиме лише 6 графіків на день (0.6 ТБ/день).

Щоб мінімізувати витрати, я вирішив шукати виведені з експлуатації сервери. Ці сервери мають деякі цікаві властивості, які можуть зробити їх потужними плотерами, зокрема:

  1. Велика кількість ядер дозволяє створювати декілька сюжетів паралельно. Фаза 1 (приблизно половина часу графіка) є багатопоточною (зазвичай налаштована на 2-4 потоки), але інші фази є однопоточними.

Переглянувши десятки варіантів і можливих конфігурацій, я зупинився на HP ProLiant DL380p Gen8 із двома процесорами Intel E2–5 і 2670 ГБ оперативної пам’яті DDR192. З увімкненою гіперпотоковістю цей сервер гіпотетично міг би підтримувати одночасне побудова до 3 графіків у фазі 16 менш ніж за 1 доларів США.

Нанесення — Тимчасове зберігання

Через високе навантаження на запис під час створення графіка (приблизно 1.6 ТБ, записаних для графіка k=32), вибір тимчасового носія може мати значний вплив на час і вартість малювання. Кілька моментів, які слід враховувати:

  1. Чим швидше зберігання, тим швидше можна створити графіки. Цей потік обговорюється 4-годинний час сюжету за допомогою RAMDISK (монтувати папку до RAM).

Зрештою я вирішив придбати HP StorageWorks D12 із 2600 відсіками та 15 тисячами дисків SAS на 450 ГБ. Завдяки такому налаштуванню я можу одночасно виконувати графіки для кожного диска, не ризикуючи суперечками щодо введення-виведення на рівні диска. Диски JBOD + були значно дешевшими, ніж еквівалентна установка з дисками NVMe (навіть без урахування вартості заміни після досягнення TBW).

Ферма — тривале зберігання

На відміну від сховища для креслення, сховище для збирання врожаю не потребує високої пропускної здатності чи IOP. З цієї причини мінімізація витрат була найвищим пріоритетом.

Існує кілька можливих налаштувань, деякі з яких обговорюються тут. Однак після пошуку на eBay вживаних варіантів стало зрозуміло кілька речей:

  1. Більші 3.5-дюймові жорсткі диски, як правило, мають найнижчу вартість. Це має сенс, оскільки більшість сучасних пристроїв перейшли на менші розміри 2.5″ або 1.8″.

Коли я звузився до використання 3.5-дюймових жорстких дисків SAS, мені потрібно було знайти спосіб підключити їх до мого комбайна/плотера. Дотримуючись обмеження не будувати корпус/об’єднавчу плату, я почав шукати вживані корпуси, у яких можна було б розмістити ці диски, зберігаючи при цьому найнижчу вартість відсіку.

Я знайшов кілька варіантів на eBay і зрештою купив кілька різних моделей, включаючи HP 24PAR на 3 відсіки та два IBM DS12 на 3512 відсіків.

Повний список

Остаточний список компонентів наведено нижче. Він включає в себе основні компоненти, розглянуті вище, а також допоміжні частини, необхідні для поєднання системи.

Варто згадати карту HBA. Саме карта PCIe відкриває зовнішні роз’єми SAS, до яких підключатимуться кабелі від JBOD. Купуючи його, переконайтеся, що ви отримуєте плату в режимі ініціатора цільового (ІТ) режиму, щоб диски відображалися безпосередньо в ОС, а не в режимі ІЧ-карти. Як приємно мати, ви можете отримати картку, прошиту з новішою ОС (версія 20).

Налаштування здебільшого інтуїтивно зрозуміле. Кабелі підключаються до отворів, у які вони підходять. Однак кабелі SAS, які з’єднують JBOD і машину для креслення/збирання врожаю, підключаються послідовно.

У моєму випадку від сервера виходять два кабелі (по одному на кожному порту HBA). Один із кабелів підключається до входу масиву тимчасового зберігання (HP D2600), а вихід цього масиву підключається до масиву HP 3PAR. Інший кабель підключається до першого масиву IBM, а вихід цього кабелю підключається до другого масиву IBM. JBOD зазвичай мають вхідний (первинний) порт і вихідний порт (зазвичай позначений спрямованою назовні стрілкою).

Я встановив Ubuntu LTS 20.04 на сервері, оскільки це широко використовуваний дистрибутив Linux, що означає, що буде легше знайти форуми з усунення несправностей, якщо виникнуть проблеми. Наведені нижче кроки описують решту конфігурації.

Крок 1. Переконайтеся, що всі диски доступні

Перший крок — перевірити, які диски виявляє ОС. Це можна зробити, запустивши lsscsi команда. Вихідні дані показані нижче.

Зауважте, що наведена вище команда не надає інформації про файлову систему чи розмір дисків. Для цього запустіть lsblk команда

Важливо: Зауважте, що не всі диски відображаються під обома командами! Диски, які відображаються під lsscsi але не lsblk можуть мати деяку несумісність, через яку ОС не робить їх доступними для монтування тощо. Прикладом цього є /dev/sdaw.

У моєму випадку ця проблема виникла через розмір сектора 520, який не підтримується моїм встановленим ядром Linux (можна знайти обговорення цієї теми тут та тут). Ви можете визначити, чи це ваш випадок, переглянувши dmesg у журналі команд для повідомлення про помилку, наприклад [sdaw] Unsupported sector size 520.

Щоб вирішити цю проблему, я переформатував диски, використовуючи команду розміром блоку 512 sg_format -v --format --size=512 /dev/sdX. Виконання цієї команди може зайняти значний проміжок часу (кілька годин), і результат наведено нижче.

Після завершення диск має з’явитися в lsblk вихід.

Крок 2: Створіть файлову систему на дисках

Щоб відформатувати диски за допомогою ext4 файлової системи, я виконав таку команду: sudo mkfs -t ext4 — verbose /dev/sda.

Крок 3: Встановіть диски

Тепер, коли ми можемо отримати доступ до дисків і їх відформатовано з потрібною файловою системою, ми можемо монтувати ці диски.

  1. Створіть папки, куди ми будемо монтувати диски. Наприклад: /mnt/farm/00 до /mnt/farm/23 для дисків, які зберігатимуть кінцеві сюжети, і /mnt/plot-tmp/00 до /mnt/plot-tmp/11 для розміщення місць тимчасового розміщення.

Крок 4. Запустіть програмне забезпечення Chia Blockchain

  1. Дотримуйтеся зазначених офіційних інструкцій тут щоб встановити блокчейн Chia (я не встановлював графічний інтерфейс).

Крок 5: Налаштуйте Plotman (необов’язково)

Змовник є менеджером по плануванню, який візьме на себе створення нових робочих місць по плануванню. Це зручний інструмент (не обов’язковий).

  1. Встановіть Plotman, дотримуючись інструкцій тут.
користувацький інтерфейс:
use_stty_size: Правда
каталоги:
журнал: /home/plotter/plotman-logs
tmp:
- /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
dst:
#- /mnt/farm/00 ПОВНИЙ
#- /mnt/farm/01 ПОВНИЙ
#- /mnt/farm/02 ПОВНИЙ
#- /mnt/farm/03 ПОВНИЙ
#- /mnt/farm/04 ПОВНИЙ
#- /mnt/farm/05 ПОВНИЙ
#- /mnt/farm/06 ПОВНИЙ
#- /mnt/farm/07 ПОВНИЙ
#- /mnt/farm/08 ПОВНИЙ
#- /mnt/farm/09 ПОВНИЙ
#- /mnt/farm/10 ПОВНИЙ
#- /mnt/farm/11 ПОВНИЙ
- /mnt/farm/12
- /mnt/farm/13
- /mnt/farm/14
- /mnt/farm/15
- /mnt/farm/16
- /mnt/farm/17
- /mnt/farm/18
- /mnt/farm/19
- /mnt/farm/20
- /mnt/farm/21
- /mnt/farm/22
- /mnt/farm/23
планування:
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
polling_time_s: 30
креслення:
к: 32
e: False # Використовуйте опцію побудови -e
n_threads: 2 # потоки на завдання
n_buckets: 128 # Кількість сегментів для розділення даних
job_buffer: 8096 # Для пам'яті завдання

Деякі моменти, які варто згадати:

  1. Plotman не припиняє планування для ферми дисків (на момент написання цієї статті), коли диск заповнений. Тому їх потрібно видалити (або закоментувати, як зазначено вище).

Крок 6: Запустіть плоттер

На цьому етапі все, що потрібно, щоб почати будувати графік, це запуститися plotman interactive.

Примітка. Планується дуже довготривала робота /dev/farm/usb2 це запуск налагодження, який не призначений для виконання до кінця.

Сподіваюся, ця банка допомогла вам зрозуміти, що потрібно для вирощування Чіа!

Станом на зараз моя ферма заповнена на 1/3, і я планую публікувати оновлення, коли вона заповнюється, і коли я почну повторно планувати пули.

Окреме спасибі Кеті Гандомі за допомогу в розвитку.

Щасливого господарства!

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

Часова мітка:

Більше від Medium