履歴シャーディングの設定
履歴シャーディングでは、各サーバで完全な履歴を保管することなく、履歴XRP Ledgerデータを保存できます。デフォルトではrippled
サーバは履歴シャードを保管しません。
ヒント: バリデータおよびrippled
追跡(またはストック)サーバの両方で履歴シャードを保管するように設定できます。ただしrippled
バリデータサーバの経費を抑えるために、バリデータサーバでシャードを保管するように設定 しない ことが推奨されます。バリデータを実行していて、XRP Ledger履歴を保管したい場合は、履歴シャーディングを有効にして別のrippled
サーバを実行することが推奨されます。
レジャー履歴のシャードを保管できるようrippled
を設定するには、以下の手順を実行します。
1. シャードストアーに割り当てる容量を決めます。
履歴シャードを保管できるようにrippled
サーバを設定する前に、履歴シャードストアーに割り当てるディスク容量を決定する必要があります。これはまた、デフォルトのレジャーストアーに保持する履歴の量にも影響します。シャードストアーのサイズを設定する際には、以下の点を考慮してください。
- レジャーストアー(
[node_db]
スタンザにより定義される)は、履歴シャードストアーとは別のストアーです。レジャーストアーはすべてのサーバに必要であり、そこには一定範囲の最近の履歴が保管されている必要があります。保管する範囲は、online_delete
パラメーターに使用可能な状態で維持するレジャーの数によって定義されます。(デフォルトの設定では、最新のレジャー2000個が保管されます。)- レジャーストアーに215個以上のレジャー(32768)が保持されている場合は、レジャーストアーからシャードストアーへ最近の履歴のグループを効率的にインポートできます。
- 履歴シャードストアー(
[shard_db]
スタンザにより定義される)は、履歴シャードを保管する場合にのみ必要です。履歴シャードを保管しないサーバではこの構成スタンザを省略する必要があります。履歴シャードストアーのサイズはmax_size_gb
パラメーターでギガバイト単位で定義されます。サーバは完全なシャードを保管するため、この容量を最大限利用します。履歴シャードストアーは、 必ず ソリッドステートディスクまたは同様の高速なメディアに保管します。従来の回転式ハードディスクでは不十分です。 - シャードには214個のレジャー(16384)が含まれており、シャードの経過期間に応じて約200MB~4GBを専有します。古いシャードほどXRP Ledgerでのアクティビティが少ないため、サイズが小さくなります。
- 履歴シャードストアーとレジャーストアーはファイルパスを分けて保管する 必要があります 。必要に応じて、レジャーストアーと履歴ストアーをそれぞれ別のディスクやパーティションに配置するように設定できます。
- 完全なレジャー履歴をレジャーストアーと履歴シャードストアーの両方に保持できますが、冗長な処理となります。
- シャードの取得にかかる時間、
rippled
サーバに必要なファイルハンドル数、およびメモリーキャッシュ使用率は、シャードのサイズの影響を直接受けます。
2. rippled.cfgの編集
rippled.cfg
ファイルを編集し、[shard_db]
スタンザを追加します。
推奨インストールでは、デフォルトで/etc/opt/ripple/rippled.cfg
という設定ファイルを使用します。その他の場所としては、$HOME/.config/ripple/rippled.cfg
($HOME
はrippled
を実行しているユーザのホームディレクトリです)、$HOME/.local/ripple/rippled.cfg
またはrippled
を起動した現在の作業ディレクトリがあります。
以下のスニペットに、[shard_db]
スタンザの例を示します。
[shard_db] type=NuDB path=/var/lib/rippled/db/shards/nudb max_size_gb=50
type
フィールドは省略できます。省略しない場合は、NuDB
である 必要があります 。
注意: rippled
がシャードストアーパスで不適切なデータを検出すると、起動できない可能性があります。シャードストアーには新しいフォルダーを使用する必要があります。以前にRocksDBシャードストアー(rippled
1.2.x以前)を使用していた場合は、別のパスを使用するか、RocksDBシャードデータを削除します。
詳細は、rippled.cfgの設定例の[shard_db]
の例をご覧ください。
3. サーバの再起動
systemctl restart rippled
4. シャードのダウンロードの待機
サーバはネットワークと同期すると、履歴シャードのダウンロードを自動的に開始し、シャードストアーの空き容量を埋めます。ダウンロード対象のシャードを確認するには、シャードストアーを設定したフォルダー内に作成されるフォルダーを確認します。(これはrippled.cfg
ファイルの[shard_db]
スタンザのpath
フィールドによって定義されます。)
このフォルダーには、サーバに保管されている各シャードのフォルダーが番号付きで保存されています。常に、最大で1つのフォルダーに、未完了であることを示すcontrol.txt
ファイルが保存されています。
download_shardメソッドを使用して、サーバにアーカイブファイルからシャードをダウンロードしてインポートするように指示できます。
サーバとそのピアが使用できるシャードのリストを表示するには、crawl_shardsメソッドかピアクローラーを使用します。