Vagrant and bitcoind synced_folder problem

NO IMAGE

Problem

If you are trying to build a bitcoind server with Vagrant, you’ll have problem with synced_folder.

Solution

I’m not very sure yet…
You shouldn’t use default synced_folder.

I tried NFS for synced_folder and it worked!!

My Vagrantfile

VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "hashicorp/precise64"
  config.vm.provision :shell, :path => "bootstrap.sh", privileged: false

  config.vm.network :private_network, ip: "192.168.33.30"

# Original
#  config.vm.synced_folder "data/", "/home/vagrant/.bitcoin/"
# NFS version
  config.vm.synced_folder "data/", "/home/vagrant/.bitcoin/", type: "nfs"

  config.vm.provider "virtualbox" do |vb|
    vb.customize ["modifyvm", :id, "--memory", "1536"]
  end

  config.vm.provider "vmware" do |vmw|
    vmw.customize ["modifyvm", :id, "--memory", "1536"]
  end
end

See Vagrant document for NFS settings.
https://docs.vagrantup.com/v2/synced-folders/nfs.html

Other solution from Hasimir
https://github.com/bitcoin/bitcoin/issues/4276

Create a virtual disk on the file/network server.
Get VirtualBox (or VMWare or whatever) to see that.
Mount the disk image as normal.
As far as the VM/OS is concerned it’s just an ordinary drive.
This means you can do other nifty things to such a drive (like encrypt it with LUKS/dm-crypt).

Environment

  • Bitcoin Core 0.9.2
  • Vagrant with VirtualBox (Ubuntu 12.04 64bit on Mac OS X)

Summary

  • Samba(or file sharing) doesn’t support LevelDB feature. (I guess…)

Answer

From
https://github.com/bitcoin/bitcoin/issues/4276

No, this is LevelDB reporting that an internal system call returned with an error status indicating that an invalid argument was passed.

I assume that the samba filesystem does not offer certain functionality that LevelDB requires of its databases, such a certain types of locking, syncing or mmaping.

Errors

When you run bitcoind, you will see the error like…

: Error opening block database.

Do you want to rebuild the block database now?

In debug.log

2015-01-10 17:29:50 init message: Loading block index...
2015-01-10 17:29:50 Opening LevelDB in /home/vagrant/.bitcoin/blocks/index
2015-01-10 17:29:50 IO error: /home/vagrant/.bitcoin/blocks/index: Invalid argument

Ref.

Vagrant File I Used
https://github.com/tlehman/bitcoin-vagrant

http://bitcoin.stackexchange.com/questions/34291/bitcoind-running-in-vagrant-cant-import-bootstrap-dat-from-external-directory

search words

  • bitcoind, LevelDB, vagrant, virtualbox, vmware, samba, bootstrap.dat, blockchain, error
     

免責事項

本記事に掲載されている記事の内容につきましては、正しい情報を提供することに務めてはおりますが、提供している記事の内容及び参考資料からいかなる損失や損害などの被害が発生したとしても、弊社では責任を負いかねます。実施される際には、法律事務所にご相談ください。

技術・サービス・実装方法等のレビュー、その他解説・分析・意見につきましてはblock-chani.jp運営者の個人的見解です。正確性・正当性を保証するものではありません。本記事掲載の記事内容のご利用は読者様個人の判断により自己責任でお願いいたします。

     

コンセンサス・ベイス(株)とブロックチェーン事業を行なってみませんか?

当サイトを運営するコンセンサス・ベイス株式会社は、2015年設立の国内で最も古いブロックチェーン専門企業です。これまでに、大手企業の顧客を中心に、日本トップクラスのブロックチェーンの開発・コンサルティング実績があります。

ブロックチェーンに関わるビジネスコンサル・システム開発・教育・講演などご希望でしたら、お気軽にお問い合わせください。

     
     

ブロックチェーン学習に最適の書籍の紹介

図解即戦力 ブロックチェーンのしくみと開発がこれ1冊でしっかりわかる教科書

ブロックチェーン イーサリアムへの入り口 第二版 (ブロックチェーン技術書籍)

本書は、ブロックチェーン技術に興味を持ったエンジニアや、その仕組みを学び、自分の仕事に活かしたいビジネスパーソンを対象にして、ブロックチェーンのコア技術とネットワーク維持の仕組みを平易な言葉で解説しています。この本を読んだうえで、実際にコードを書くような専門書、ブロックチェーンビジネスの解説書を読むことで、理解度が飛躍的に高まるでしょう。(はじめにより)

ビットコイン(Bitcoin)カテゴリの最新記事