每天进步一点点:在Linode上增加新卷以满足HIVE节点运行空间
hive-105017·@oflyhigh·
0.000 HBD每天进步一点点:在Linode上增加新卷以满足HIVE节点运行空间
随着hive节点数据量越来越大,原有的VPS附带的磁盘空间即将告罄。升级VPS到更高型号会大幅增加成本,所以最终我选择在原有VPS上增加个新卷来运行HIVE节点。  (图源 :[pixabay](https://pixabay.com/photos/hdd-hard-disk-disk-hardware-4318171/)) # 我的见证人配置 在刚开始做见证人的时候,我使用的是Linode的64 GB内存型号的VPS,月租金320美元,为了安全起见,我还用同款VPS允许备份节点,这样一旦主节点坏掉,我可以随时切换。 这样我的见证人节点每月的服务器支出就是多达640美元,很长一段时间以来,见证人绝对是入不敷出的。在我和某TOP 20见证人聊天时,提到我的***超豪华配置***,被他一通鄙视,他说他主备节点加一起成本也不过300美元左右,并给我推荐一系列主机商。 但是我以我超豪华配置为荣呢,怎么能换主机商呢?于是我负担了好久640美元/月的成本。大概是HIVE硬分叉时,降低了内存占用,我试着在32G内存的机器上跑了一下,咦,竟然毫无问题,这样我的见证人成本(主备)降低至320美元/月。 HIVE价格低的时候就不必说了,肯定时还是入不敷出,但是如果HIVE价格维持在1美元附近时,我还能略有结余,不错不错。 # 空间不够了 不过前段时间,我发现一个很恐怖的事情——***block_log的空间占用已经超过了550G!*** > 而Linode 32G内存的机型,附带的硬盘空间只有`640 GB`,也就是说去掉系统以及杂七杂八的东西,***我的VPS硬盘即将爆炸!*** 一旦硬盘爆炸,见证人节点肯定会死翘翘了,好吧,其实我的见证人排名很低的,大概一个多小时才能轮到我出一次块,即便DOWN掉,对HIVE的影响也是微乎其微。但是作为一名有节操的见证人,怎么能让这种丢人的事情发生呢?必须想办法解决。 # 三种方案 一种最省心的方案就是从32G机型升级到64G机型,空间`1280G`,应该足够了: > 但是那样的话,我又要入不敷出了,哎,以前入不敷出时没觉得有多悲惨,但是用惯了便宜方案,再回归贵的,有点舍不得了呢。 还有方案就是选择其它服务商,比如换Amazon EC2啥的,不过一想到一堆东西要从头弄,就有点头大,而且前段时间我正偏头痛,一想,头更疼了。 所以最终选择的方案就是新加一个卷,然后把HIVED丢到这个新卷上运行。Linode的Block Storage $0.1/G/月,我先加一个800G的,估计再坚持个一年半载问题不大,等不够的时候再扩容,每月每台VPS增加$80的成本,貌似可以接受,就这么干了。 # 创建并绑定新存储卷 在Linode VPS上新增卷是很简单的事情,我们只需进到对应的VPS,然后选择`Storage`条目: > 在下边选择`Create Volume`: > 然会就会在右侧弹出如下页面: > 创建成功后会提示如下配置信息页面: > 这时候进入到系统中,并使用`sudo fdisk -l`就会发现我们新创建并挂载的卷: > 因为喜欢小写的路径,所以对上述指令做了一些修改: >`sudo mkfs.ext4 "/dev/disk/by-id/scsi-0Linode_Volume_WORK"` >`sudo mkdir /work` >`sudo mount "/dev/disk/by-id/scsi-0Linode_Volume_WORK" "/work"` 在`/etc/fstab`中添加如下内容: >`/dev/disk/by-id/scsi-0Linode_Volume_WORK /work ext4 defaults,noatime,nofail 0 2` 这样我们就完成新建存储卷并挂载到VPS的全过程,用`sudo df -lh`看一下,还剩747G,不错不错(咦,空间损失到哪里去了?算了不研究了): > # 重新运行hived 有了新的存储卷以及足够的存储空间后,我选择创建了个新的用户,并把hived的全部数据迁移过去。 但是当我完成迁移并运行时,我发现原本启动很迅速的hived,竟然要好长时间才能加载起来。换句话说,***新附加的存储卷似乎没有VPS自带的存储快***。 我理解可能自带的存储卷可能是本地存储,而新附加的应该是网络存储——尽管我不确定这种理解是否正确。 但是一个很现实的问题就是,***如果存储不够快或者IOPS不够高,就可能对hived的运行产生一些影响,比如说影响出块!***,难道我的努力都白费了吗? 好在我又找到一个折中的方法,那就是把见证人放在内存中运行——更确切地说是把`shared_memory.bin`放到内存中,这样,就不存在读写瓶颈了。 如何这样操作很简单,我在之前的文章[晕,见证人节点真的炸掉了 & 在内存中replay HIVE节点](https://hive.blog/hive-105017/@oflyhigh/and-replay-hive)介绍过在内存中replay HIVE节点,在内存中运行,是一样的操作,这里就不再赘述了。 这样操作后,节点关停和启动都非常迅速,运行了一段时间后,出块也没有任何问题,所以这个方案是完全可行的。 # 相关链接 * [晕,见证人节点真的炸掉了 & 在内存中replay HIVE节点](https://hive.blog/hive-105017/@oflyhigh/and-replay-hive)
👍 warmstill, liangfengyouren, icon123456, bilpcoinbot, julesquirin, joeyarnoldvn, ethanlee, gmlgang, hungryharish, cnfund, steemindian, btshuang, mygod, atma-yoga, hungryanu, lnakuma, oldman28, ying82, gerber, mice-k, dcityrewards, ezzy, exyle, reazuliqbal, steem.leo, daan, iansart, curly-q, jeanlucsr, felander, unconditionalove, bestboom, steem.services, linco, dlike, bobby.madagascar, determine, mfblack, milu-the-dog, curamax, dpend.active, jelly-cz, hivechat, dcrops, joele, nateaguila, cakemonster, goodcontentbot, triplea.bot, beta500, ribary, ebargains, dine77, wolf-dawg, firefuture, janaveda, drricksanchez, privex, jamzmie, nextgen622, yogacoach, soufianechakrouf, julian2013, catwomanteresa, mermaidvampire, archisteem, kimzwarch, quiltedduckfarm, sunshineee, travelgirl, cnstm, davidke20, japanguide, rj-photo, pet.society, likuang007, lianjingmedia, namchau, joeliew, vamos-amigo, iipoh06, voxmortis, bichen, steemegg, mia-cc, vickyli, good-karma, esteemapp, esteem.app, ecency, ecency.stats, ioioioioi, aafeng, jywahaha, alexis555, rasalom, bxt, steemaction, minloulou, dailyke20, magicmonk, nanosesame, moleah, joythewanderer, otom, minminlou, roberto58, xecency, etherpunk, jimhawkins, htliao, hmayak, meanbees, pladozero, goodcontentbot1, zerofive, sunflor, chenlocus, lordbutterfly, polkallen, dses, hivefolks, gustavoadolfodca, gtpjfoodbank, dbfoodbank, weddinggift, hyborian-strain, yestermorrow, tvb, fusion.lover, omnivori, alpha-omega, starrouge, dapeng, kabasakal, suhunter, mrpointp, seikatsumkt, steemcleaners, hivewatchers, votehero, logic, teachblogger, lovelemon, fredo77200, mrspointm, sasaadrian, rivalhw, cn-reader, philipmak, sweetsssj, geekgirl, lovequeen, innfauno12, love5200, zhangyan-123, linna188, winniex, chinchilla, uruiamme, tianli, abundancelife, xinxin1, annepink, yanhan, everlandd, d-hive, deanliu, wwstreet, bitalk-cc, lovelingling, ace108, azazqwe, tina1219, idx, laoyao, midnightoil, xiaohui, helene, exec, ottomu, abit, hive-108278, tingjie, steemik, trafalgar, raindrop, traf, edprivat, rubido, xtrafalgar, hqy, ackza, blogstats, passion-fruit, fortune-master, floatinglin, olaunlimited, softworld, sachingeorge, isabelpena, mukadder, razackpulo.pob, leprechaun, lamim.beta, davidesimoncini, eyesthewriter, susanli3769, chenfuzi, phderoes, sofs-su, jychbetter, noble-noah, benk07, adm, bilpcoin.pay, kgsupport, jaybone,