MASTERNODE 알아보기(10) - 마스터노드 운영시 관리중요성
오늘도 오랫만에 글을 올리게 되네요.
동시에 프로젝트를 2개를 운영하다 보니 저는 비록 개발은 하고 있는 입장은 아니지만 프로젝트 관리, 이슈관리등 복잡한 일이 많이 생기는군요.
그래도 최근에 아랫글에 언급한 이노바의 이슈등도 있었고 마스터노드는 구축보다 운영상에서 발생하는 다양한 trouble에 대한 노하우가 정말 중요하다라는 생각을 하게 됩니다.
오늘로서 제가 지인들꺼까지 포함해서 대략 80개의 마스터노드를 돌리면서 겪었던 문제점들과 그것들을 해결하는 방법에 대해서 간단하게 기술해보도록 하겠습니다.
데몬 상태 확인
: 배당이 제대로 들어오는지를 확인하기 위해서는 putty등으로 지속적으로 리눅스 서버에서 데몬상태를 확인해야 합니다. 이때 리눅스에 접속해서 deamon의 status를 체크하는 명령어를 입력하면 보통 상태(successfuly started)나 코드(9)등으로 바로 알 수 있습니다.
이걸 주기적으로 확인하는것이 좋고 또한 이전글에서 알려드렸던 masternodes.online에서 모니터링 기능으로 리눅스 마스터노드서버를 등록해서 확인하는것이 좋습니다. 그러나 masternodes.online사이트는 제가 4개월정도 써보니 정보가 부정확한 경우가 때때로 있어서 위 서버에 직접 들어가서 확인하는 방법이 제일 좋은듯 보입니다.데몬 및 지갑 업데이트
: 마노코인마다 데몬 및 지갑 업데이트가 자주 일어납니다. 실제로 서버에서 마노 보상액인 reward 비율을 증가하거나 pow/pos비율을 수정한다든지 해서 데몬을 수정하는경우도 있었서 라이브러리등을 github에서 다시 받아서 설치를 해주어야지 만약 반영을 안한다면 old chain에 들어가서 보상을 제대로 못받는 경우가 발생할수도 있습니다.리눅스 볼륨사이즈 체크 및 로그 로테이션
기본적으로 리눅스기반위에서 운영되는 서버이다보니 기본적으로 체크를 해주어야 할 것은 CPU, Memory, Volumn Size입니다. 이중에서 Cpu와 Memory의 경우는 클라우드 환경에서 다양하게 모니터링을 지원해줄 수 있지만 볼륨사이즈의 경우는 기본 블록이 추가되면서 증가되는 사이즈 외에 서버가 운영되면서 생기는 debug.log사이즈의 증분에 대해서 처리를 해주어야 합니다.
실제 가상서버에서 돌리고 있는데 운영한지 한달만에 전체 10G의 볼륨의 절반을 로그로 차지하고 있었습니다.
이 부분에 대한 해결을 위해 리눅스에서는 logratate라는 프로그램을 사용하면 좋습니다.
logrotate는 정해진 시간마다 로그파일을 백업해주는데, 로그파일이 무작정 늘어나는 것을 방지하기 위해 로그 파일의 최대 개수를 정해놓으면 최대개수를 초과했을 때 가장 오래된 파일을 삭제하고 새로운 로그파일을 생성하면서 rotating해주는 툴입니다. 만약 시스템에 설치되어 있지 않으면 아래와 같이 설치해줍니다.
sudo yum install -y logrotate
이후 config를 설정한 후 cron을 이용하여 리눅스의 스케쥴러에 등록해주게 됩니다.Chain Split 대응
가끔식 블록체인에서 tx가 split이 되는 경우가 발생하여 서버측에서 체인과 동기화가 이루어지지 않고 블록업데이트가 이루어지지 않는 경우가 있습니다.
이럴때는 메인체인과 네트워크가 끊어진 상태이기 때문에 당연히 리워드가 없어지기 때문에 서버측에서 빠른 동기화를 진행해주어야 합니다.
보통 체인 익스플러로에서 마지막 tx block count와 서버측에서 getblockcount로 얻어지는 카운트는 일치해야 합니다. 이 두 숫자가 차이가 있으면 chain에서 분리가 된것이라고 이해하면 됩니다. 마스터노드온라인에서도 Chain Split이 날때는 많은 서버들이 해당 체인에서 분리되게 됩니다.가장 중요한것은 빠른 대응
위 경우 말고도 알수 없는 이유로 인해(ddos공격등) 데몬이 꺼져 있는 경우도 있습니다. 그럴때는 원인파악도 중요하지만 무엇보다 빨리 감지하고 재빠르게 restart하는것이 가장 보상시간을 줄일 수 있습니다.
또한 관련 코인들의 discord, twitter, slack등 다양한 커뮤니케이션 툴을 잘 활용하여 코인의 변화에 대해서 지속적으로 파악하고 감지하려는 노력이 정말 중요합니다.
그럼 힘든 장에서 다양한 수익모델을 만들어서 적극 대응하시기 바랍니다.
기나긴 하락장에 마노 전체의 가치 자체가 많이 토막나는 상황이면, 어떻게 대응을 하는 편이신가요? 존버의 정신으로 그냥 가지고만 있었다, 거진 10등분을 맞이한 상황이라 마음이 매우 무겁습니다 ㅠ
음 저 같은 경우는 가치하락보다 마노숫자증가가 앞서는 코인들 위주의 전략을 우선시합니다. 아래 글중에 6번째에 대강의 내용이 있습니다.
나는 당신이 좋은 정신으로 당신의 블로그를 쓰고 있다고 생각합니다, 그래서 나는 당신이 성공할 것이라고 생각합니다.
저의 새로운 글을 읽으십시오. 더 많은 그림을 추가했으며보다 매력적인 Markdown 기능을 사용했습니다. https://steemit.com/bitcoin/@shortsegments/it-is-a-new-day-for-masternodes-the-apollon-point-and-click-masternode