بررسی کامل از انتخاب مؤلفه تا پیکربندی نرمافزار برای سیستم کشاورزی (ماینینگ) ارز دیجیتال Chia.
چیا یک ارز دیجیتال جدید است که هدف آن دستیابی به اجماع غیرمتمرکز با مصرف انرژی کمتر در هر تراکنش نسبت به همتایان خود است. این از طریق a به دست می آید الگوریتم اثبات فضا بجای اثبات کار.
در حالی که اثبات کار به محاسبه مداوم یک مسئله ریاضی (معمولاً هش هایی مانند SHA256) در تلاش برای یافتن نتایجی که با الگوی مورد نظر مطابقت دارند، متکی است، Chia در عوض به بررسی وجود ویژگی های خاص در فایل های از پیش تولید شده منحصر به فرد به نام نمودارها متکی است.
این کار در یک فرآیند دو مرحله ای به نام انجام می شود کشاورزی شامل:
- توطئه جایی که فایل های منحصر به فرد بزرگ (معمولاً 101.6 گیگابایت) ایجاد می شود.
- و برداشت جایی که فایل های ایجاد شده قبلی برای شانس بردن پاداش آن بلوک بررسی می شوند (در حال حاضر 2 چیا).
هر چه نمودارهای بیشتری (ذخیره سازی بیشتر استفاده شده) یک گره داشته باشد، شانس برنده شدن در پاداش آن بلوک بیشتر است. روزانه 4608 شانس برای برنده شدن وجود دارد و احتمال برنده شدن پاداش آن بلوک اساساً بر اساس تعداد قطعاتی است که شخص نسبت به اندازه کل شبکه دارد. یک ماشین حساب سود ارائه شده است اینجا کلیک نمایید.
از این رو، برای به حداکثر رساندن پاداشها، میخواهیم بیشترین مقدار ذخیرهسازی ممکن را داشته باشیم و منابع محاسباتی کافی برای پر کردن فضای ذخیره سازی مذکور با نمودارها.
مانند بسیاری از مشکلات طراحی، بینهایت راهحلهای معتبر برای ترکیب دستگاههایی وجود دارد که میتوان از آنها برای پرورش چیا استفاده کرد. برای کمک به محدود کردن گزینه ها، با تصمیم گیری در مورد برخی محدودیت ها و اولویت ها شروع کردم:
- هزینه به دلار/TB باید علیرغم پیچیدگی بیشتر (در حد منطق) به حداقل برسد.
- با توجه به زمان محدودی که برای اختصاص دادن به این پروژه در دسترس دارم، سیستم باید عمدتاً از قطعات خارج از قفسه (بدون PCB سفارشی، شاسی سفارشی و غیره) تشکیل شده باشد.
نقشه کشی - پردازش
بسته به تنظیمات سخت افزاری، ایجاد یک نمودار می تواند بین 4 تا 20 ساعت طول بکشد. بنابراین، انتخاب سختافزار رسم مناسب میتواند تفاوت بین پر کردن کل مزرعه شما در چند روز و ماه باشد.
مهم است که نه تنها سرعتی که هر نمودار با آن ساخته می شود، بلکه تعداد نمودارهای همزمانی که می توان ایجاد کرد نیز در نظر گرفت. به عنوان مثال، راه اندازی که 10 پلات همزمان را در هر 12 ساعت ایجاد می کند، 20 پلات (~2 ترابایت در روز) تولید می کند، در حالی که راه اندازی که هر 1 ساعت یک پلات همزمان را ترسیم می کند، تنها 4 پلات در روز (6 ترابایت در روز) تولید می کند.
برای به حداقل رساندن هزینه، تصمیم گرفتم سرورهای از کار افتاده را جستجو کنم. این سرورها دارای ویژگی های جالبی هستند که می تواند آنها را پلاتر قدرتمندی کند، از جمله:
- تعداد زیاد هسته ها می توانند چندین نمودار را به صورت موازی ایجاد کنند. فاز 1 (تقریباً نیمی از زمان طرح) چند رشته ای است (معمولاً بین 2 تا 4 رشته پیکربندی می شود)، اما فازهای باقی مانده تک رشته ای هستند.
- رم موجود معمولاً بیش از مقدار مورد نیاز برای ترسیم (~4 گیگابایت/نقشه همزمان) است.
- طراحی شده برای کار در بار بالا برای مدت زمان طولانی.
پس از بررسی بیش از ده ها گزینه و تنظیمات احتمالی، به HP ProLiant DL380p Gen8 با 2x Intel E5–2670 و 192 گیگابایت رم DDR3 رضایت دادم. با فعال بودن Hyper-threading، این سرور به طور فرضی میتواند از ترسیم 16 پلات به صورت همزمان در فاز 1 با قیمت کمتر از 400 دلار پشتیبانی کند.
نقشه برداری - ذخیره سازی موقت
با توجه به بار نوشتن بالا در طول ایجاد نمودار (حدود 1.6 ترابایت نوشته شده برای نمودار ak=32)، انتخاب محیط ذخیره سازی موقت می تواند تأثیر قابل توجهی بر زمان و هزینه ترسیم داشته باشد. چند نکته قابل تامل:
- هرچه ذخیره سازی سریع تر باشد، می توان نمودارهای سریع تری ایجاد کرد. این موضوع با استفاده از RAMDISK (یک پوشه را روی RAM سوار کنید) زمان های طرح 4 ساعت را مورد بحث قرار می دهد.
- با توجه به حجم بالای نوشتن، مهم است که استقامت رسانه را در نظر بگیرید. یک SSD NVMe درجه یک ترابایتی مصرف کننده معمولاً حدود 1 ترابایت (نوشته شده در ترابایت) استقامت دارد قبل از اینکه انتظار می رود از کار بیفتد که به این معنی است که می تواند حدود 600 پلات بسازد.
من در نهایت تصمیم گرفتم یک HP StorageWorks D12 2600 بای با درایوهای SAS 15K 450 گیگابایتی بخرم. با این راهاندازی، میتوانم بهطور همزمان برای هر درایو رسم کنم، بدون اینکه در سطح درایو اختلاف نظر IO وجود داشته باشد. درایوهای +JBOD به طور قابلتوجهی ارزانتر از راهاندازی معادل با درایوهای NVMe بود (بدون اینکه هزینه جایگزینی پس از رسیدن به TBW در نظر گرفته شود).
مزرعه - ذخیره سازی طولانی مدت
برخلاف ذخیرهسازی نمودار، ذخیرهسازی برداشت نیازی به توان عملیاتی بالا یا IOP ندارد. به همین دلیل، به حداقل رساندن هزینه بالاترین اولویت بود.
چندین تنظیم ممکن وجود دارد که برخی از آنها مورد بحث قرار می گیرند اینجا کلیک نمایید. با این حال، پس از جستجو در eBay برای گزینه های دست دوم، چند چیز مشخص شد:
- هارد دیسک های بزرگتر 3.5 اینچی کمترین هزینه را دارند. این امر منطقی است زیرا امروزه اکثر دستگاه ها به اندازه های کوچکتر 2.5 یا 1.8 اینچی رفته اند.
- به نظر میرسد هارد دیسکهای SAS (نه SSD) کمترین هزینه در هر ترابایت را دارند و برخی از آنها به 10 دلار در هر ترابایت میرسند (تا می 2021). این درایوهای SAS با بردهای SATA (مصرف کننده) سازگار نیستند و معمولاً پس از خارج شدن از مرکز داده یک شرکت در eBay فروخته می شوند.
وقتی استفاده از هارد دیسکهای 3.5 اینچی SAS را محدود کردم، باید راهی پیدا میکردم که واقعاً آنها را به برداشت / پلاتر متصل کنم. با رعایت محدودیتهای عدم ساخت محفظه/بالای پشتی، شروع به جستجوی محفظههای مستعملی کردم که بتواند این درایوها را در خود جای دهد و در عین حال کمترین هزینه را برای هر محفظه حفظ کند.
من با چندین گزینه در eBay برخورد کردم و در نهایت چند مدل مختلف از جمله HP 24PAR 3-bay و دو IBM DS12 3512-bay را خریداری کردم.
لیست کامل
لیست نهایی اجزا در زیر نشان داده شده است. این شامل اجزای اصلی مورد بحث در بالا و همچنین قطعات جانبی است که برای کنار هم قرار دادن سیستم مورد نیاز است.
قابل ذکر است کارت HBA. این کارت PCIe است که کانکتورهای خارجی SAS را نشان می دهد که کابل های JBOD به آنها متصل می شوند. هنگام خرید آن، مطمئن شوید که کارت حالت آغازگر (IT) را دریافت می کنید تا درایوها به طور مستقیم در سیستم عامل ظاهر شوند و برخلاف کارت حالت IR. به عنوان یک چیز خوب، ممکن است بخواهید کارتی را با سیستم عامل جدیدتر (نسخه 20) فلش کنید.
تنظیم بیشتر بصری است. کابل ها به سوراخ هایی که در آنها قرار می گیرند متصل می شوند. با این حال، کابل کشی SAS که JBOD ها و ماشین رسم/ برداشت را به هم وصل می کند، دارای زنجیره ای هستند.
در مورد من، من دو کابل دارم که از سرور خارج می شود (یکی در هر پورت از HBA). یکی از کابل ها به ورودی آرایه ذخیره سازی موقت (HP D2600) و خروجی آن آرایه به آرایه HP 3PAR متصل می شود. کابل دیگر به آرایه اول IBM و خروجی آن به آرایه دوم IBM متصل می شود. JBOD ها معمولا دارای یک پورت ورودی (اولیه) و یک پورت خروجی هستند (معمولاً با یک فلش رو به بیرون برچسب زده می شود).
نصب کردم اوبونتو LTS 20.04 بر روی سرور، زیرا توزیع لینوکس پرکاربرد است، به این معنی که در صورت بروز هرگونه مشکل، یافتن انجمن های عیب یابی آسان تر خواهد بود. مراحل زیر پیکربندی باقیمانده را مشخص می کند.
مرحله 1: اطمینان حاصل کنید که همه درایوها در دسترس هستند
اولین قدم این است که بررسی کنید کدام درایوها توسط سیستم عامل شناسایی می شوند. این را می توان با اجرای برنامه انجام داد lsscsi
فرمان که خروجی آن در زیر نشان داده شده است.
توجه داشته باشید که دستور بالا اطلاعاتی در مورد سیستم فایل یا اندازه درایوها ارائه نمی دهد. برای آن، اجرا کنید lsblk
فرمان
مهم: توجه داشته باشید که همه درایوها تحت هر دو دستور ظاهر نمی شوند! درایوهایی که در زیر ظاهر می شوند lsscsi
اما نه lsblk
ممکن است ناسازگاری هایی داشته باشند که باعث می شود سیستم عامل آنها را برای نصب و غیره در دسترس قرار ندهد. مثالی از این /dev/sdaw
.
در مورد من، این مشکل به دلیل اندازه بخش 520 است که توسط هسته لینوکس نصب شده من پشتیبانی نمی شود (بحث در مورد این موضوع را می توان یافت اینجا کلیک نمایید و اینجا کلیک نمایید). شما می توانید با نگاه کردن به این مورد مشخص کنید 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: درایوها را سوار کنید
اکنون که می توانیم به درایوها دسترسی داشته باشیم و آنها با فایل سیستم مورد نظر فرمت شده اند، می توانیم استقرار (mount) این درایوها
- پوشه هایی را ایجاد کنید که درایوها را در آن نصب می کنیم. مثلا:
/mnt/farm/00
به/mnt/farm/23
برای درایوهایی که نمودارهای نهایی را ذخیره می کنند، و/mnt/plot-tmp/00
به/mnt/plot-tmp/11
برای مکان های نقشه کشی موقت - دویدن
sudo blkid
برای دریافت شناسه های منحصر به فرد درایوها (یا پارتیشن های خود). خروجی چندین خط از جمله/dev/sdae: UUID=”29494f44–2f75–4c01-a766–18755eb583d7" TYPE=”ext4"
. - فایل fstab را با
sudo vim /etc/fstab
و هر یک از درایوها را با مربوط به آنها مرتبط کنید/mnt/...
پوشه بودن دقیق اولین خطوط فایل را ویرایش نکنید زیرا برای نصب درایو اصلی سیستم عامل نیاز است. فایل نهایی من در زیر نشان داده شده است. - دویدن
sudo mount -a
برای مانت کردن تمام درایوهای مشخص شده در فایل fstab. این فقط درایوهایی را که قبلاً نصب نشده اند سوار می کند، بنابراین چندین بار اجرا می شود. - با اجرای sudo از دسترسی کاربران به درایوها و فایل های آن اطمینان حاصل کنید
chmod -R 777 /mnt/farm/00
.
مرحله 4: نرم افزار بلاک چین چیا را اجرا کنید
- دستورالعمل های رسمی مشخص شده را دنبال کنید اینجا کلیک نمایید برای نصب بلاک چین چیا (من رابط کاربری گرافیکی را نصب نکردم).
- دویدن
chia start farmer
برای شروع دیمون ها برای کیف پول، دروگر و غیره.
مرحله 5: راه اندازی Plotman (اختیاری)
نقشه کش یک مدیر نقشه کشی است که ایجاد مشاغل جدید نقشه کشی را بر عهده خواهد گرفت. این یک ابزار راحتی است (لازم نیست).
- Plotman را طبق دستورالعمل ها نصب کنید اینجا کلیک نمایید.
- ویرایش
plotman.yaml
به مشخصات پلاتر شما فایل نهایی من در زیر نشان داده شده است.
user_interface:
use_stty_size: درست است
دایرکتوری ها:
log: /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 FULL
#- /mnt/farm/01 FULL
#- /mnt/farm/02 FULL
#- /mnt/farm/03 FULL
#- /mnt/farm/04 FULL
#- /mnt/farm/05 FULL
#- /mnt/farm/06 FULL
#- /mnt/farm/07 FULL
#- /mnt/farm/08 FULL
#- /mnt/farm/09 FULL
#- /mnt/farm/10 FULL
#- /mnt/farm/11 FULL
- /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: نادرست # از گزینه ترسیم -e استفاده کنید
n_threads: 2 # موضوع در هر شغل
n_buckets: 128 # تعداد سطل برای تقسیم داده ها
job_buffer: 8096 # در هر حافظه کاری
چند نکته قابل ذکر:
- پلاتمن برنامه ریزی برای درایوهای مزرعه (تا زمان نوشتن این مقاله) زمانی که درایو پر است متوقف نمی شود. بنابراین، شما باید آنها را حذف کنید (یا نظر خود را مانند بالا بیان کنید).
- Plotman به طور خودکار درایوهای مزرعه را به دروگر چیا اضافه می کند.
- من استفاده می کنم
tmpdir_max_jobs
برابر با 1 زیرا من روی هارد دیسک هایی ترسیم می کنم که عملکرد جستجوی خوبی در مقایسه با SSD ندارند.
مرحله 6: پلاتر را اجرا کنید
در این مرحله، تمام چیزی که برای شروع نقشهبرداری لازم است اجرا کردن است plotman interactive
.
توجه: کار بسیار طولانی در حال اجرا توطئه به /dev/farm/usb2
یک اجرای اشکال زدایی است که قرار نیست تا پایان اجرا شود.
امیدواریم این قوطی در ارائه ایده ای از آنچه برای کشاورزی چیا لازم است مفید باشد!
در حال حاضر، مزرعه من 1/3 از راه پر است و من قصد دارم بهروزرسانیهایی را که پر میشود و زمانی که دوباره طراحی استخرها را شروع میکنم، پست کنم.
تشکر ویژه کتی گندمی برای کمک به توسعه
کشاورزی شاد!
- دسترسی
- اضافی
- معرفی
- دور و بر
- سرخ مایل به قرمز
- بلاکچین
- بنا
- خرید
- خریداری کردن
- ایجاد می شود
- شانس
- بررسی
- جزء
- محاسبه
- اجماع
- مصرف کننده
- مصرف
- کریپتو کارنسی (رمز ارزها )
- داده ها
- روز
- غیر متمرکز
- طرح
- پروژه
- دستگاه ها
- DID
- درامد
- ای بی
- انرژی
- EU
- EV
- مزرعه
- کشاورزی
- نام خانوادگی
- مناسب
- قالب
- کامل
- دادن
- خوب
- گوگل
- سخت افزار
- زیاد
- خانه
- hr
- HTTPS
- ia
- آی بی ام
- اندیشه
- تأثیر
- از جمله
- اطلاعات
- اینتل
- IP
- IT
- کار
- شغل ها
- بزرگ
- سطح
- محدود شده
- لینک
- لینوکس
- فهرست
- بار
- طولانی
- LP
- مسابقه
- ریاضی
- متوسط
- استخراج معدن
- ماه
- شبکه
- رسمی
- گزینه
- دیگر
- الگو
- کارایی
- استخرها
- پروژه
- اثبات
- رم
- منابع
- نتایج
- این فایل نقد می نویسید:
- پاداش
- اسباب
- دویدن
- در حال اجرا
- امن
- جستجو
- حس
- اندازه
- So
- نرم افزار
- فروخته شده
- مزایا
- حل
- فضا
- سرعت
- انشعاب
- شروع
- آغاز شده
- ذخیره سازی
- opbevare
- پشتیبانی
- پشتیبانی
- سیستم
- هدف
- موقت
- زمان
- معامله
- به روز رسانی
- کاربران
- در مقابل
- حجم
- کیف پول
- چه شده است
- ویکیپدیا
- پیروزی
- در داخل
- مهاجرت کاری
- با ارزش
- نوشته