В сезон активного развития крипто валют решил и я попробовать себя в этом народном развлечении. Основной целью было, правда, не извлечение прибыли, а создание решения для майнинга в домашних условиях с максимальной эффективностью при минимальном шуме.
Как известно, самый популярный способ майнинга валют основанных на scrypt алгоритмах - это использование обычных топовых видео карт для перебора хэшей. Причем эффективность этого процесса пропорциональна естественно мощности карт и их количеству. Таким образом энтузиасты собирали целые фермы, где на одну материнскую плату приходилось 2-5 видюх и вся эта конструкция занималась круглосуточно вычислениями. Естественно охлаждающие системы видео карт не рассчитаны на то, что карта будет постоянно под 100% нагрузкой, а рядом от нее будут такие же грелки. Поэтому для того чтоб не пожечь карты их приходилось разносить подальше друг от друга, а в идеале еще и обеспечивать приток холодного воздуха для системы охлаждения. В результате получались просто монстры, которые еще и гудели как идущий на взлет самолет.
Естественно уподобляться массам, которые собирают фермы которые занимают место и издают много шума у меня не было ни желания ни возможности, банально не было даже помещения где все это расположить. От этого задача становилась еще интереснее: нужно было создать майнер, который был бы компактным, да еще и не шумел при полной нагрузке, ну или шумел так чтоб его можно было держать в квартире и одновременно там жить.
Началось все естественно с выбора видео карт. Нужно было найти карту с наилучшим соотношением производительность (в количестве хэшей) и энергопотребление. Да именно потребление энергии основная проблема тк при майнинге видео карта потребляет весьма много электричества. Ну и цена тоже играла не последнюю роль.
После долгих поисков, чтения профильных форумов, спецификаций и расчетов был выбран Radeon R9 290, который по соотношению количество мегахэшей на ватт электричества оказался более эффективен, чем его старший и более дорогой товарищ Radeon R9 290X. Невероятно но факт.
Become root. If you're root, you should know what to do.
Когда-то я собрал программный RAID на основе Silicon Image 3132 (тык и крутим до соответствующего заголовка), по прошествии времени появилась необходимость запустить этот же самый RAID-1, но на встроенном SATA-контроллере без поддержки RAID, т.е. перенести массив в новые полностью софтовые условия.
Изначально все выглядело просто: переткнул харды и на новой системе сказал, что они продолжают быть массивом. Но на деле все оказалось не так просто. Диски были подхвачены Device Mapper и появились как /dev/mapper/sil_***. dmraid признал, что они принадлежали к какому-то массиву, но собрать их обратно в массив при помощи mdadm не получалось и по отдельности они были не доступны для чтения информации - fdisk показывал неверную таблицу разделов.
Начальная идея выглядела как необходимость иметь дома возможность резервного копирования самых нужных данных, но чтобы не плодить компы было решено обновить существующий медиа-плеер на базе Windows. В дополнение к уже имеющемуся железу был куплен новый корпус Morex 6600B (в него таки можно одновременно установить 3 HDD и CD-ROM), 2 жестких диска Western Digital серии green 1.0Tb и самый маленький и дешевый SATA контроллер на два устройства - ST-Lab A-410 (на основе чипа Silicon Image 3132, у него полноценный биос, но он все же не умеет аппаратный RAID). Все это, хоть и не просто, но собралось и, что самое главное завелось без проблем.
В качестве ОС была выбрана Ubuntu, как имеющая лучшую поддержку имеющегося железа, после Windows. На нее планировалась установка XBMC. Были опробованы Lubuntu 11.10, Xubuntu 11.04, Ubuntu 11.10, Xubuntu 11.04, но у всех них была одна серьезная проблема - не было возможности вывода звука через HDMI штатными средствами.
В процессе этих перестановок был таки найден рабочий рецепт для вывода звука через HDMI на чипах Nvidia MCP73, который вкратце сводится к тому, что:
Технология Wake-on-LAN известна давно, но применяется не часто. В моем случае встала задача включать домашний компьютер из офиса. Казалось бы все просто, но требовалось не только включить, но и понять включился-ли он в автоматическом режиме. В общем ситуация отображена на схеме:
С удаленного компьютера у меня есть доступ по SSH к моему домашнему серверу, который постоянно включен. С этого сервера будет отправляться команда на включение соседнего компьютера. Все выглядит вполне просто, пока речь не заходит о проверке, включился компьютер или нет силами того, кто его пытался включить. Но обо всем по порядку.
Получив для своего домашнего сервера новую материнскую плату Foxconn D42S на основе чипсета Intel NM10 Express, я столкнулся с рядом проблем при миграции с предыдущего железа. Одной из них стала неаозможность использования lm_sensors для мониторига оборотов вентилятора (можно было видеть только температуру, да и то на virtual device).
Обновив пакет lm-sensors до последней доступной версии, я узнал что на моей плате установлен чип ITE IT8721F/IT8758E, с которого можно получить все нужные параметры, но вот только драйвер для него "to-be-written". Изучив список поддерживаемых устройств, я узнал что мой чип все же поддерживается в поледней версии sensors (на данный момент 3.3.0), но с уточнением что Supported since kernel 2.6.37 or standalone driver. Это безусловно радовало, но не все так просто: мне предстояло либо собирать драйвер из исходников, либо пытаться вживить в свою Ubuntu 9.10 ядро 2.6.37, которого нет даже в самой свежей убунте.
От вживления нестабильного ядра я отказался сразу, оставалось попробовать собрать драйвер.