ストレージ・ノードの容量の増加

ハード・ディスクを追加することにより、ストレージ・ノードの容量を増やすことができます。ハード・ディスクをストレージ・ノードに追加すると、各レプリケーション・ノードを独自のディスクに配置できるため、SN上のレプリケーション・ノードがI/Oリソースを奪い合うことがなくなります。新しいディスク上のストレージ・ディレクトリの場所を指定するには、storagedirパラメータを使用します。

注意:

ストレージ・ディレクトリを指定する場合は、-storagedirsizeパラメータを使用して、ストレージ・ディレクトリのサイズも指定することをお薦めします。詳細は、ストレージ・ディレクトリ・サイズの管理を参照してください。構成したディレクトリ・サイズを使用して、ディスク使用量が強制的に制限されます。必ず、ストア内のそれぞれのストレージ・ノードについてストレージ・ディレクトリ・サイズを指定してください。

次の例では、新しいストアをデプロイし、ストレージ・ノードに2つのディスクを増設して容量を3倍に増やす操作を示します。

  1. 新規ストアを作成、開始および構成します。

    • 新規ストアを作成します。

      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_MAX1に設定します。こうすることで、メモリー使用量が指定されたヒープ・サイズに制限されます。

      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  
  2. ゾーンを作成します。次に、特定のホストでの管理プロセスを作成します。

    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 
  3. ストレージ・ノード・プールを作成します。次に、ストレージ・ノードをプールに追加します。

    kv-> pool create -name AllStorageNodes
    kv-> pool join -name AllStorageNodes -sn sn1
  4. トポロジを作成し、プレビューしてからデプロイします。

    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 
  5. さらに、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 

    注意:

    前述の例でストレージ・ディレクトリ・サイズを指定したため、その情報を他のノードに提供する必要があります(まだ行っていない場合)。詳細は、ストレージ・ディレクトリ・サイズの管理を参照してください。

  6. ストレージ・ノードで使用できるようになったディスクの合計数(3)に等しくなるように容量を変更します。

    kv-> plan change-parameters -service sn1 -wait -params capacity=3
    Executed plan 7, waiting for completion...
    Plan 7 ended successfully 

    注意:

    最後の2つのステップを(クラスタの)すべてのストレージ・ノードに対して実行し、ディスク・ドライブを追加して各ストレージ・ノードの容量を増やす必要があります。この場合、単一ノードのデプロイなので、トポロジの再分配の準備ができています。

  7. 新しい容量(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