扇區落盤是 filecoin 密封的最後乙個階段。也是至關重要的階段,容易一著不慎,滿盤皆輸。造成辛辛苦苦幾十年,一下回到解放前的尷尬結局。本文我們來聊聊 filecoin 挖礦儲存的技術選型。
很多同學問我:請問我組 raid 挖 filecoin 可以嗎?filecoin 儲存是組 raid 好還是 lvm,或者是 zfs?
對於這些問題我的回答都是:因人而異,這得結合你當前所有擁有的技術和資源以及你集群的大小來決定。
filecoin 常用儲存方案
通常,影響礦工儲存方案選型的有以下幾種:
集群大小不一樣。如果你只想跑個幾百 tib 的節點,那麼你可選的儲存方案就很多了,raid, zfs, ceph 等都可以,但是如果你要跑個幾十 pb 的節點,那麼通常你就不能選擇 raid 和 zfs 這種儲存方案了。
運維人員技術棧不一樣。比如你們公司的運維熟悉 ceph 的話,那麼你通常就會選擇 ceph 作為儲存落地方案,但是如果你們的工程師只能駕馭 zfs 的話,那麼通常你就只能選擇 zfs 了。
是否擁有大量的算力機器。這直接決定你們在儲存系統奔潰,資料無法恢復的時候的算力恢復能力。這句話可能聽起來邏輯有點怪怪的,既然資料都無法恢復了,還怎麼恢復算力呢。這個我等會詳細講解恢復方法。
各種儲存方案的應用場景
raid, zfs, lvm 等單機儲存系統,適用於小集群,0 - 3pb。
尤其是 1pb 以內 mini 集群,首選 zfs 解決方案,三颱儲存機器就夠了,直接用 nfs 掛載到 miner 機器上就行了。 運維難度低,可擴充套件性高,故障冗餘方案可選也很多,最適合沒有專業運維的小團隊或者個人礦工。
ceph, gfs, glusterfs 等分布式檔案系統,適用於中型或者大型集群,3pb - 10 pb。
需要有上述相關的分布式檔案系統的運維人員,你能跑集群的大小基本就取決於你們運維工程師能夠駕馭多大的儲存集群。舉個栗子,如果你的工程師能夠駕馭有效儲存為 3pb 的 ceph 集群,那麼通常你就能跑 10-15pb 的 lotus 集群。請注意,我這裡說的是能駕馭,而不僅僅是能搭建,這完全是兩碼事。本人目前最多只能駕馭 2pb 的 ceph 儲存集群,再大就要拆分了。集群容量加倍,集群的複雜程度有可能是成指數級別上公升的,而不是線性的。所以需要你對儲存系統的底層工作原理要非常清楚,熟悉常見故障的解決方案,甚至有需要的時候,你得有根據需求改原始碼的能力。
ibm,阿里,七牛等商業儲存解決方案,適用於大型集群和超大型集群,10pb 以上。
這個方案操作就比較簡單了,基本由儲存服務商幫你搭建好儲存系統,並負責運維。
你直接掛載使用就 ok 了,只是要費點錢 o(* ̄︶ ̄*)o。
具體商用方案選型就要根據你的具體需求了,我這裡說下我個人以及礦工朋友跟我反饋一些使用評價:
ibm:產品好用,讀寫和恢復速度都很不錯,故障處理也及時。但是**也貴。
阿里:阿里的 cpfs 檔案系統讀寫效能很 okbu,不過 qos 配置這塊支援的不是很好。多個 mds(他們叫協議機) 之間不會自動負載均衡,你需要手動把不同的業務繫結不同的協議機。 比如乙個很經典的場景就是,如果是之前的集群用的是 ceph 或者 zfs 儲存的,現在集群大了想換阿里的儲存,那麼你就會面臨乙個資料遷移的問題,但是你又不想降低你的算力增速,想一邊遷移資料,一邊增加算力。 此時你需要手動把業務拆分,準備三個協議機,乙個用來讀(時空證明),乙個用來寫(新增算力),乙個用來遷移資料,否則就會出現流量瓶頸。 還有有點需要吐槽的是:他們只提供 5 x 8 售後服務,而且都是郵件提醒的,所以你機房需要有人專門盯著那個監控系統,有故障要通知他們處理,如果不在服務時間的話,響應會比較慢, 如果週末或者是晚上掉算力的話,就麻煩了,雖然 24 小時能夠恢復就不扣幣,但是還是要損失一天的出塊的,大節點一天最少也要挖個幾百個 fil 的。
七牛:七牛的儲存有 3 個特色
出盤率高,3pb 出盤率 71.4%, 5pb 81.8%,10pb 以上 88%。
**實惠,200rmb/tib 包含硬體(不過現在硬碟**這麼高,肯定應該不止這個價了)。
7 x 24 的售後運維服務。
個人還是比較推薦七牛,因為各家儲存服務都能滿足 fil 挖礦的要求,但是我更看重售後服務態度和響應速度。
還有一點最重要的是:因為他的**確實很美麗!!!
最後宣告一點:本人沒有收過七牛的推廣費,純屬售後體驗和評價而已,不喜勿噴。
filecoin 扇區資料恢復
我剛剛在上面有說過,有機器的朋友和沒有機器的朋友選擇儲存方案的時候可能又不一樣。不知道大家有沒有發現乙個現象,就是大礦工即使偶爾掉個幾百tib,幾 pb 算力,他們也不扣幣,一般都能在 24h 內恢復資料。乙個原因是因為他們用的商用儲存,資料恢復速度確實快。 另乙個原因是通常大礦工都有大量機器,掉算力的時候他們根本不慌,把扇區重新封裝一遍就行了。對他們來說,一天封裝幾個 pb 的算力根本不是什麼難事。
怎麼重新封裝?其實操作起來也簡單,只要把你丟失的資料的扇區的 sectorid,cidcommd, cidcommr, ticket,seed 都拿到,用這些引數重新封裝乙個扇區,其他流程都一樣跑,只是在獲取 seed 和 ticket 不要到鏈上去獲取,而是到本地資料庫拿,然後做完了之後不提交 precommitsector 和 provecommitsector 訊息就行了。由於現在密封的基本都是 junk data 時空證明是可以過的。但是如果是真實的訂單資料,這個方法就行不通了。
技術選型 spring boot
參考部落格 官網 7天學會spring cloud教程 講解清晰的文章 服務註冊於發現!spring cloud教程之使用spring boot建立乙個應用 使用spring cloud實現分布式配置管理 spring cloud實現服務註冊及發現 綜合使用spring cloud技術實現微服務應用...
技術選型 spring boot
參考部落格 官網 7天學會spring cloud教程 講解清晰的文章 服務註冊於發現!spring cloud教程之使用spring boot建立乙個應用 使用spring cloud實現分布式配置管理 spring cloud實現服務註冊及發現 綜合使用spring cloud技術實現微服務應用...
聊聊技術選型
如何選擇新的技術棧幾乎所有團隊都經歷過技術選型問題,不管是大層面的基礎設施選型,還是小到第三方服務的使用,開源專案百花齊放的今天,相同問題往往不止一種解決方案。如何才能正確選擇,少挖坑,是件有趣的事情。業務,團隊成員,技術技術選型其實並非乙個單純的技術問題,相反技術平台本身的考量往往是放在最後面的。...