Removing SSD's from namespace


#1

Hi

We have a few CE clusters (2 and 3 nodes). Each cluster hosts a single namespace and each namespace utilises all available (minus system disk) SSD’s on each host.

We are considering changing our applications usage of AeroSpike to utilise multiple namespaces, mainly to take advantage of the memory resources of the nodes, currently bound by the namespace object limit of 2^32 objects.

In order to free up SSD’s for a new namespace we clearly need to remove them from the existing one. Does a process exist to handle this? I can imagine a similar use case being the installation of new SSD’s and the decom of old.

Thanks Tom


#2

The 2^32 limit is per namespace per node …just wanted to point that out. Rest is a bit more involved - get Aerospike Support involved.

BTW, replacing an old SSD with a new one is a relatively simpler problem that can be solved by exploiting cluster rebalance. Changes namespaces while preserving existing data as you can appreciate is a bit more complex.


#3

This article should help: How to Add, Replace, & Remove disks

You should be able to remove device(s), one node at a time, restart the node (careful about impact of coldstart on CE) wait for migrations to rebalance (and readd the data, distributing it across the remaining device(s)) and then proceed to the next node. For EE, the restrictions of only being able to remove the last device(s) may not be necessary anymore (which then lets you take advantage of fast restart).


#4

Thanks meher, that is precisely the process we intend(ed) to follow.

Cheers


#5

Tom, From what I can tell, you have one namespace and you want add one or more additional namespaces to store more than 4 billion records per node to circumvent the 4 billion records per namespace per node limitation. Please also see: Add Namespace: Adding New Namespace


#6

Thanks! I may be wrong, but I thought I read somewhere that a cluster wide restart was not required if running (Community Edition) 3.9.n? Thanks Tom


#7

A full cluster restart is necessary when adding or removing a namespace. There is an upcoming feature to support such changes through a rolling restart. Changing most of an existing namespace config (including storage-engine) can be done through a rolling restart.