ストレージ・ノードの容量の増加
ハード・ディスクを追加することにより、ストレージ・ノードの容量を増やすことができます。ハード・ディスクをストレージ・ノードに追加すると、各レプリケーション・ノードを独自のディスクに配置できるため、SN上のレプリケーション・ノードがI/Oリソースを奪い合うことがなくなります。新しいディスク上のストレージ・ディレクトリの場所を指定するには、storagedir
パラメータを使用します。
注意:
ストレージ・ディレクトリを指定する場合は、-storagedirsize
パラメータを使用して、ストレージ・ディレクトリのサイズも指定することをお薦めします。詳細は、ストレージ・ディレクトリ・サイズの管理を参照してください。構成したディレクトリ・サイズを使用して、ディスク使用量が強制的に制限されます。必ず、ストア内のそれぞれのストレージ・ノードについてストレージ・ディレクトリ・サイズを指定してください。
次の例では、新しいストアをデプロイし、ストレージ・ノードに2つのディスクを増設して容量を3倍に増やす操作を示します。
-
新規ストアを作成、開始および構成します。
-
新規ストアを作成します。
java -Xmx64m -Xms64m \ -jar KVHOME/lib/kvstore.jar makebootconfig \ -root KVROOT \ -host node20 -port 5000 \ -harange 5010,5030 \ -capacity 1 \ -memory_mb 200 \ -storagedir /disk1/ondb/data
-
セキュリティ・ディレクトリを作成してコピーします。
java -Xmx64m -Xms64m \ -jar kv/lib/kvstore.jar \ securityconfig config create -root KVROOT -kspwd password Created files KVROOT/security/security.xml KVROOT/security/store.keys KVROOT/security/store.trust KVROOT/security/client.trust KVROOT/security/client.security KVROOT/security/store.passwd (Generated in CE version) KVROOT/security/store.wallet/cwallet.sso (Generated in EE version) Created
-
新規ストアを開始します。
注意:
SNAを開始する前に、各ノードで環境変数
MALLOC_ARENA_MAX
を1
に設定します。こうすることで、メモリー使用量が指定されたヒープ・サイズに制限されます。java -Xmx64m -Xms64m \ -jar KVHOME/lib/kvstore.jar start \ -root KVROOT &
-
新規ストアを構成します。
java -Xmx64m -Xms64m \ -jar KVHOME/lib/kvstore.jar runadmin \ -port 5000 -host node20 \ -security KVROOT/security/client.security kv-> configure -name kvstore Store configured: kvstore
-
-
ゾーンを作成します。次に、特定のホストでの管理プロセスを作成します。
kv-> plan deploy-zone -name Houston -rf 1 -wait Executed plan 1, waiting for completion... Plan 1 ended successfully kv-> plan deploy-sn -znname "Houston" -port 5000 -wait -host node20 Executed plan 2, waiting for completion... Plan 2 ended successfully
kv-> plan deploy-admin -sn sn1 -port 5001 -wait Executed plan 3, waiting for completion... Plan 3 ended successfully
-
ストレージ・ノード・プールを作成します。次に、ストレージ・ノードをプールに追加します。
kv-> pool create -name AllStorageNodes
kv-> pool join -name AllStorageNodes -sn sn1
-
トポロジを作成し、プレビューしてからデプロイします。
kv-> topology create -name 1x1 -pool AllStorageNodes -partitions 120 Created: 1x1
kv-> topology preview -name 1x1 Topology transformation from current deployed topology to 1x1: Create 1 shard Create 1 RN Create 120 partitions shard rg1 1 new RN : rg1-rn1 120 new partitions
kv-> plan deploy-topology -name 1x1 -wait Executed plan 4, waiting for completion... Plan 4 ended successfully
-
さらに、
disk2
およびdisk3
としてマウントされた2つのディスク・ドライブをストレージ・ノードに追加します。plan change-storagedir
コマンドを使用して、ストレージ・ディレクトリを追加します。必ず、-storagedirsize “1 tb”
のようなストレージ・ディレクトリ・サイズを追加してください。kv-> plan change-storagedir -sn sn1 -storagedir /disk2/ondb/data \ -storagedirsize "1 tb" -add -wait Executed plan 5, waiting for completion... Plan 5 ended successfully kv-> plan change-storagedir -sn sn1 -storagedir /disk3/ondb/data \ -storagedirsize "1 tb" -add -wait Executed plan 6, waiting for completion... Plan 6 ended successfully
注意:
前述の例でストレージ・ディレクトリ・サイズを指定したため、その情報を他のノードに提供する必要があります(まだ行っていない場合)。詳細は、ストレージ・ディレクトリ・サイズの管理を参照してください。
-
ストレージ・ノードで使用できるようになったディスクの合計数(3)に等しくなるように容量を変更します。
kv-> plan change-parameters -service sn1 -wait -params capacity=3 Executed plan 7, waiting for completion... Plan 7 ended successfully
注意:
最後の2つのステップを(クラスタの)すべてのストレージ・ノードに対して実行し、ディスク・ドライブを追加して各ストレージ・ノードの容量を増やす必要があります。この場合、単一ノードのデプロイなので、トポロジの再分配の準備ができています。
-
新しい容量(3)のストレージ・ノードを使用するには、トポロジを再分配してクラスタを拡大します。
kv-> topology clone -current -name 3x1 Created 3x1
kv-> topology redistribute -name 3x1 -pool AllStorageNodes Redistributed: 3x1
kv-> topology preview -name 3x1 Topology transformation from current deployed topology to 3x1: Create 2 shards Create 2 RNs Migrate 80 partitions shard rg2 1 new RN : rg2-rn1 40 partition migrations shard rg3 1 new RN : rg3-rn1 40 partition migrations
kv-> plan deploy-topology -name 3x1 -wait Executed plan 8, waiting for completion... Plan 8 ended successfully