Witness Update December 2016, How to setup a Stable Witness Node After HF16 A to Z

2 months ago
68 in witness-category

After meddling enough with the main witness node on HDD decided it's time to move my main witness node to a new dedicated server with a little more resources and speed. On a system with HDD and optimal settings a block miss is to be expected. I have encountered a few since HF16 at a rate of 3 or 4 per week.

New Server Specs:

*Intel® Xeon® D-1531

  • 6C / 12T @2.2 Ghz
  • 32 GB DDR4 RAM
  • 2 × 250 GB SSD

With this server the first thing to notice was the amazing speed DDR4 RAM offers.
This witness node started signing blocks as of 12/26/2016 with 294 blocks missed from mining/other_setup.

How to setup a Stable witness node after HF16:

This information was provided by a number of current witnesses who ran different settings/configs and provided the data in the witness channel or on Steemit posts:
( @abit @arhag @smooth @bhuz @aizensou @riverhead @complexring and others )

This setup assumes you have Ubuntu 16.04 installed and System RAM of 32GiG with an SSD drive:
(if you are running this on a 16GiG RAM system please pay attention to the notes)

Installing Steem for witness production:

sudo apt-get update
sudo apt-get install git cmake g++ python-dev autotools-dev libicu-dev build-essential
sudo apt-get install libbz2-dev libboost-all-dev libssl-dev libncurses5-dev 
sudo apt-get install doxygen libreadline-dev dh-autoreconf

secp256k:
cd
git clone https://github.com/bitcoin/secp256k1
cd secp256k1
./autogen.sh
./configure
make
./tests

steem:
cd
git clone https://github.com/steemit/steem.git
cd steem
git submodule update --init --recursive
cmake -DCMAKE_BUILD_TYPE=Release -DLOW_MEMORY_NODE=ON CMakeLists.txt
make

cd programs/steemd
./steemd
CTRL-C
nano witness_node_data_dir/config.ini

###################
seed-node =  
shared-file-dir = /dev/shm
shared-file-size = 16G #set at 12G if you have 16GiG of RAM
flush = 0
public-api = database_api #login_api 
enable-plugin = witness #account_by_key
witness = "YourWitnessName" #with quotes
private-key = witness_private_signing_key # without quotes
####################

CTRL - X  save & exit
Note: If you are running this on a 32GiG RAM system you are all set, skip to run steemd.
If you are running this on a 16GiG Ram system run this command:

sudo mount -o remount,size=12G /dev/shm

#Run steemd 
./steemd --shared-file-dir /dev/shm/

# when your node is fully synced
# switch private keys to this node from cli_wallet using update_witness command.




Witness Settings:

I have chosen the following witness controlled variables;

  • account creation fee : 35.00 Steem ( steemit promises $5 worth of Steem upon signup)
  • Price Feed Bias: -1% (SBD price slightly above $1)
  • SBD interest Rate: 5% (To encourage conversion to Steem)

This completes my move to a new stable witness node with an SSD drive and appropriate RAM to deal with Steemd v0.16.0 & ChainBase - I/O Issues. I will be monitoring this setup for any issues that might come up.

These are screenshots I took during the setup:
Starting steemd with a full sync:

Steemd fully synced about an hour later:

shut down steemd and tested replay:


After the replay was done I shut down steemd and backed up the blockchain files:

cd
mkdir backup
cd backup
cp -p /dev/shm/shared_memory.bin .
cp -p /dev/shm/shared_memory.meta .
cd



You will need to copy these files back to /dev/shm/ in case of a reboot or accidental shutdown.


If you encounter any errors during setup, or notice something wrong in this post, please let me know in comments.


@joseph

resources:
1- https://steemit.com/witness-category/@abit/best-practice-running-steemd-v0-16-0
2- https://steemit.com/witness-category/@bhuz/steemd-v0-16-0-and-chainbase-i-o-issues-and-possible-solutions
3- https://steemit.com/witness-category/@aizensou/witness-update
4- Steem Witness Channel Discussions.

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, earn $4 of STEEM Power
when you Sign Up and vote for it.
Sort Order:  trending
64
  ·  2 months ago

Thank you, something I need to learn from.

·
68
  ·  2 months ago

You're welcome.

73
  ·  2 months ago

Thanks for sharing this info. I might experiment with this a little bit myself if I have time. Keep up the great work and have a great holiday season:)

·
68
  ·  2 months ago

Thank you. You have a great holiday season too bud. Let me know if any issues come up.

·
·
73
  ·  2 months ago

Thanks will do:)

·
·
73
  ·  2 months ago

Actually forgot to mention that it was thanks to your awesome tips that I got my Steem mining rig up and running in the early days - your beginners guide got a linux noob like me up and running in about an hour! It was kind of my inspiration for all the guides that I have done on Steemit and Steemithelp :) Never got a chance to thank you on that because it was past the 30 day mark when I used it - so a belated thank you for that too mate!

·
·
·
68
  ·  2 months ago

Oh man, so glad to hear that. These words mean a lot to me, and are much more valuable than any upvote.

·
·
·
·
73
  ·  2 months ago

Well you never know how an act of kindness may help another person:) Thank you for doing it.

60
  ·  2 months ago

Thank you for keep this process up to date and well documented Joseph, the community appreciates you. :)

·
68
  ·  2 months ago

Thank You, I try to keep a record of all discussions and tips for running a node at optimal settings. Luckily we have a number of witnesses who are aggressive in testing all the settings and reporting what works best. A few are named in the post, but all participated in these discussions.

69
  ·  2 months ago

im voting for you man since some time already!

65
  ·  2 months ago

Just now now voted you for witness, thanks for all your good work!

·
68
  ·  2 months ago

Thank you, much appreciated.

·
·
65
  ·  2 months ago

Your welcome, happy to support you!