Допустим, у меня есть экземпляр bitcoind, работающий на сервере с соответствующими резервными копиями wallet.dat, которые создаются регулярно. Сервер выходит из строя, данные блокчейна повреждаются или что-то еще, и мне нужно быстро настроить клиент сервера, чтобы перехватить трафик. Кроме того, мне нужно, чтобы сервис был взаимозаменяем с официальным клиентом, то есть он должен предоставлять те же команды RPC, соответствовать спецификации wallet.dat, чтобы его можно было обменивать между клиентами и так далее. Как это можно сделать быстрее всего в экстренных случаях?
Ну, я бы запускал биткойн на виртуальной машине и регулярно делал снимки. Если это не удается, откатите снимок и перезагрузитесь. Вернитесь к сети менее чем за 10 минут, при условии частого резервного копирования, и вы сразу же начнете работать. Не уверен, что это тот вариант использования, о котором вы спрашиваете, но это то, что я бы сделал для максимального времени безотказной работы.
Предложение lordcirth по виртуальной машине прекрасно, но давайте на нем остановимся. Давайте думать об этом как об эластичной облачной виртуальной машине, а не как о процедуре моментального снимка.
bitcoind
необязательным созданием моментальных снимков, но определенным периодическим резервным копированием wallet.dat. Период равен ожидаемой скорости изменения кошелька.На мой взгляд, моментальные снимки нужны, когда вы вносите изменения, которые хотите отменить.
Если вам нужен высокодоступный сервис, который при автоматизации может максимально увеличить время безотказной работы, используйте одноразовые виртуальные машины. Преимущество заключается в том, что вы можете развернуть дополнительные bitcoind
серверы на локальном металле или в каждом экземпляре и иметь для них надежную резервную копию. Вам просто нужно управлять координацией wallet.dat, так как несколько bitcoind
процессов также не могут их использовать.