Полный обзор от выбора компонентов до настройки программного обеспечения для системы выращивания (майнинга) криптовалюты Chia.
Чиа — это новая криптовалюта, целью которой является достижение децентрализованного консенсуса с меньшим потреблением энергии на транзакцию, чем у ее аналогов. Это достигается за счет доказательство космического алгоритма вместо Доказательство работы.
В то время как доказательство работы основано на непрерывном вычислении математической задачи (обычно хэшей, таких как SHA256) в попытке найти результаты, соответствующие желаемому шаблону, Чиа вместо этого полагается на проверку существования определенных свойств в уникальных заранее сгенерированных файлах, называемых графиками.
Это делается в двухэтапном процессе, называемом сельское хозяйство состоящий из:
- Построение где создаются большие уникальные файлы (обычно 101.6 ГБ).
- И, уборка где ранее созданные файлы проверяются на предмет шанса получить награду за этот блок (в настоящее время 2 Чиа).
Чем больше участков (больше используемого хранилища) имеет узел, тем выше шанс получить награду за этот блок. Ежедневно существует 4608 шансов на выигрыш, и вероятность выигрыша вознаграждения за этот блок зависит в первую очередь от количества принадлежащих пользователю участков пропорционально общему размеру сети. Имеется калькулятор заработка. здесь.
Следовательно, чтобы максимизировать вознаграждение, мы хотим иметь как можно больший объем хранилища и достаточно вычислительных ресурсов, чтобы заполнить указанное хранилище графиками.
Как и в случае с большинством проблем проектирования, существует множество эффективных решений для комбинации устройств, которые можно использовать для выращивания чиа. Чтобы сузить выбор, я начал с определения некоторых ограничений и приоритетов:
- Стоимость в долларах США за ТБ должна быть минимизирована, несмотря на дополнительную сложность (в пределах разумного).
- Поскольку у меня ограничено время, которое я могу посвятить этому проекту, система должна состоять в основном из готовых деталей (никаких нестандартных печатных плат, нестандартных шасси и т. д.).
Построение — Обработка
В зависимости от настройки оборудования создание одного графика может занять от 4 до 20 часов. Таким образом, выбор правильного оборудования для построения графиков может сыграть решающую роль в заполнении всей вашей фермы за дни, а не за месяцы.
Важно учитывать не только скорость создания каждого графика, но и количество одновременно создаваемых графиков. Например, установка, которая создает 10 одновременных графиков по 12 часов каждый, создаст 20 графиков (~ 2 ТБ/день), тогда как установка, которая создает 1 одновременный график каждые 4 часа, будет создавать только 6 графиков в день (0.6 ТБ/день).
Чтобы минимизировать затраты, я решил поискать списанные сервера. Эти серверы обладают некоторыми интересными свойствами, которые могут сделать их мощными плоттерами, в том числе:
- Большое количество ядер позволяет использовать несколько участков параллельно. Фаза 1 (около половины времени построения) является многопоточной (обычно настроена на количество потоков от 2 до 4), но остальные фазы являются однопоточными.
- Доступная оперативная память обычно превышает объем, необходимый для построения графиков (~ 4 ГБ/параллельный график).
- Предназначен для работы при высоких нагрузках в течение длительного периода времени.
Перебрав десятки вариантов и возможных конфигураций, я остановился на HP ProLiant DL380p Gen8 с двумя процессорами Intel E2–5 и 2670 ГБ оперативной памяти DDR192. При включенной технологии Hyper-Threading этот сервер гипотетически может поддерживать одновременное построение до 3 графиков на этапе 16 менее чем за 1 долларов США.
Построение графика — временное хранение
Из-за высокой нагрузки на запись во время создания графика (около 1.6 ТБ записано для графика ak=32), выбор временного носителя данных может существенно повлиять на время и стоимость печати. Несколько моментов, которые следует учитывать:
- Чем быстрее хранилище, тем быстрее можно создавать графики. Эта тема обсуждается 4-часовое время построения графиков с использованием RAMDISK (монтирование папки в ОЗУ).
- Учитывая большой объем записи, важно учитывать долговечность носителя. SSD-накопитель NVMe потребительского класса емкостью 1 ТБ обычно имеет ресурс около 600 ТБВ (записанных терабайт), прежде чем ожидается его выход из строя, что означает, что он может создать около 375 графиков.
В итоге я решил купить HP StorageWorks D12 с 2600 отсеками и дисками SAS емкостью 15 КБ по 450 ГБ. Благодаря этой настройке я могу одновременно строить графики для каждого диска, не рискуя конкурировать за ввод-вывод на уровне диска. Диски JBOD+ были значительно дешевле, чем эквивалентная установка с дисками NVMe (даже без учета стоимости замены после достижения TBW).
Ферма — долгосрочное хранение
В отличие от хранилища графиков, хранилище сбора данных не требует высокой пропускной способности или количества операций ввода-вывода в секунду. По этой причине минимизация затрат была наивысшим приоритетом.
Существует несколько возможных настроек, некоторые из них обсуждаются. здесь. Однако после поиска на eBay подержанных вариантов кое-что стало понятно:
- Более крупные 3.5-дюймовые жесткие диски, как правило, имеют самую низкую стоимость. Это имеет смысл, поскольку большинство устройств в настоящее время перешли на меньшие размеры — 2.5 дюйма или 1.8 дюйма.
- Жесткие диски SAS (не твердотельные накопители), по-видимому, имели самую низкую стоимость за ТБ: некоторые партии составляли всего 10 долларов за ТБ (по состоянию на май 2021 года). Эти диски SAS несовместимы с платами SATA (потребительскими) и обычно продаются на eBay после списания из центра обработки данных компании.
Как только я остановился на использовании 3.5-дюймовых жестких дисков SAS, мне нужно было найти способ подключить их к моему харвестеру/плоттеру. Придерживаясь ограничений, связанных с отсутствием сборки корпуса/объединительной платы, я начал искать бывшие в употреблении корпуса, в которых можно было бы разместить эти диски, сохраняя при этом минимальную стоимость отсека.
Я наткнулся на несколько вариантов на eBay и в итоге купил несколько разных моделей, включая HP 24PAR с 3 отсеками и два IBM DS12 с 3512 отсеками.
Полный список
Окончательный список компонентов показан ниже. Он включает в себя основные компоненты, рассмотренные выше, а также вспомогательные части, необходимые для сборки системы.
Достойного упоминания является карта HBA. Это карта PCIe, которая открывает внешние разъемы SAS, к которым будут подключаться кабели от JBOD. При покупке убедитесь, что вы получаете карту режима цели инициатора (IT), чтобы диски отображались непосредственно в ОС, а не на карте режима IR. Приятно иметь возможность прошить карту новой ОС (версия 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. Подключите диски
Теперь, когда мы получили доступ к дискам и они были отформатированы в нужной файловой системе, мы можем монтировать эти диски.
- Создайте папки, в которые мы будем монтировать диски. Например:
/mnt/farm/00
в/mnt/farm/23
для дисков, на которых будут храниться окончательные графики, и/mnt/plot-tmp/00
в/mnt/plot-tmp/11
для временных мест нанесения графиков. - Run
sudo blkid
чтобы получить уникальные идентификаторы ваших дисков (или разделов). Он выведет несколько строк, таких как/dev/sdae: UUID=”29494f44–2f75–4c01-a766–18755eb583d7" TYPE=”ext4"
. - Отредактируйте файл fstab с помощью
sudo vim /etc/fstab
и связать каждый из дисков с соответствующим/mnt/...
папка. Быть тщательный не редактировать первые строки файла, поскольку они необходимы для монтирования корневого диска ОС. Мой окончательный файл показан ниже. - Run
sudo mount -a
для монтирования всех дисков, указанных в файле fstab. Он будет монтировать только еще не смонтированные диски, поэтому его можно безопасно запускать несколько раз. - Убедитесь, что пользователи имеют доступ к дискам и их файлам, запустив sudo
chmod -R 777 /mnt/farm/00
.
Шаг 4. Запустите программное обеспечение Chia Blockchain
- Следуйте официальным инструкциям, указанным здесь установить блокчейн Chia (GUI я не устанавливал).
- Run
chia start farmer
для запуска демонов для кошелька, комбайна и т.д.
Шаг 5. Настройка Plotman (необязательно)
Плотман является менеджером по плотированию, который возьмет на себя создание новых рабочих мест по плотостроению. Это удобный инструмент (не обязательный).
- Установите Plotman, следуя инструкциям. здесь.
- Редактировать
plotman.yaml
согласно характеристикам вашего плоттера. Мой окончательный файл показан ниже.
пользовательский интерфейс:
use_stty_size: Истина
каталоги:
журнал: /home/plotter/plotman-logs
температура:
- /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
летнее время:
#- /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/ферма/12
- /mnt/ферма/13
- /mnt/ферма/14
- /mnt/ферма/15
- /mnt/ферма/16
- /mnt/ферма/17
- /mnt/ферма/18
- /mnt/ферма/19
- /mnt/ферма/20
- /mnt/ферма/21
- /mnt/ферма/22
- /mnt/ферма/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 # Память для каждого задания
Некоторые моменты, которые стоит упомянуть:
- Plotman не прекращает планирование фермы дисков (на момент написания этой статьи), когда диск заполнен. Поэтому вам необходимо их удалить (или закомментировать, как указано выше).
- Plotman автоматически добавит приводы фермы к комбайну для сбора чиа.
- я использую
tmpdir_max_jobs
равно 1, поскольку я рисую на жестких дисках, которые не имеют хорошей производительности поиска по сравнению с твердотельными накопителями.
Шаг 6. Запустите плоттер
На этом этапе все, что нужно для начала построения графика, — это запустить plotman interactive
.
Примечание. Очень долгое планирование задания /dev/farm/usb2
— это отладочный запуск, который не предназначен для завершения.
Надеюсь, эта банка помогла вам получить представление о том, что необходимо для выращивания Чиа!
На данный момент моя ферма заполнена на 1/3, и я планирую публиковать обновления по мере ее заполнения и когда я начну заново строить графики для пулов.
Отдельное спасибо Кэти Гандоми за помощь в разработке.
Удачного сельского хозяйства!
- доступ
- дополнительный
- Все
- около
- залив
- блокчейн
- Строительство
- купить
- покупка
- вызванный
- шансы
- контроль
- компонент
- вычисление
- Консенсус
- потребитель
- потребление
- криптовалюта
- данным
- день
- децентрализованная
- Проект
- Развитие
- Устройства
- DID
- Заработок
- eBay
- энергетика
- EU
- EV
- ферма
- сельское хозяйство
- Во-первых,
- соответствовать
- формат
- полный
- Отдаете
- хорошо
- Аппаратные средства
- High
- Вилла / Бунгало
- hr
- HTTPS
- ia
- IBM
- идея
- Влияние
- В том числе
- информация
- Intel
- IP
- IT
- работа
- Джобс
- большой
- уровень
- Ограниченный
- Linux
- Список
- загрузка
- Длинное
- LP
- Совпадение
- математике
- средний
- Горнодобывающая промышленность
- месяцев
- сеть
- Официальный представитель в Грузии
- Опции
- Другое
- шаблон
- производительность
- Пулы
- Проект
- доказательство
- Оперативная память
- Полезные ресурсы
- Итоги
- обзоре
- Награды
- установка
- Run
- Бег
- безопасный
- Поиск
- смысл
- Размер
- So
- Software
- проданный
- Решения
- РЕШАТЬ
- Space
- скорость
- раскол
- Начало
- и политические лидеры
- диск
- магазин
- поддержка
- Поддержанный
- система
- цель
- временный
- время
- сделка
- Updates
- пользователей
- Против
- объем
- Кошелек
- Что такое
- Википедия.
- выиграть
- в
- Работа
- стоимость
- письмо