Revision history [back]

In short - yes. :)

Adding a new disk is a relatively straightforward process. If I just physically added a 3TB disk with label d12 in storage node 192.168.1.104. To make Swift use it, you add it to the rings, like so:

$ swift-ring-builder account.builder add z1-192.168.1.104:6002/d12 3000
$ swift-ring-builder container.builder add z1-192.168.1.104:6001/d12 3000
$ swift-ring-builder object.builder add z1-192.168.1.104:6000/d12 3000

I've used 3000 for the weight since that’s the size of the drive in GB; it’s a useful convention. Then, rebalance the rings and copy them to all your storage nodes.

The only caveat with this is that you'll end up with somewhat degraded performance until the entire ring rebalances completely.