Adding Data Domain storage capacity

Data Domain DD2500Increasing the storage capacity of a Data Domain is usually a matter of adding an additional disk shelf to the Data Domain head. Upon  connecting the additional enclosure your new disks will be in an Unknown state. This does not necessarily mean there’s anything wrong with the topology of the system, but just indicates the disks aren’t in use just yet. This is however easily fixed with a couple of CLI commands.

Cabling the new enclosures

Step one is a physical action: you need to install the enclosures in the racks and cable them to the Data Domain controller. In this post we’ve got a DD2500 with three ES30 enclosures, each filled to the brim with 3TB NL-SAS drives. The Data Domain DD2500 controller has two ports (3A and 3C) for a total of 1 loop which can house max 4 ES30 enclosures with 2TB disk or 3 ES30 enclosures with 3TB disks. Obviously this is the max supported configuration of this system.

Data Domain ControllerThe enclosures are connected to the Data Domain and other enclosures in a redundant loop fashion.

Data Domain Loop

Pay close attention to the cabling, because messing it up will result in an non-functional loop and thus no storage expansion!

It is important to note that, should you be installing enclosures in a multi-loop system like a DD990, it’s important to fill up one loop first before adding enclosures to a second loop. In a system like VNX you would be trying to balance the enclosures over the buses; not so in a Data Domain! The exception is that you cannot mix ES20 and ES30 enclosures on one loop and can’t mix ES30 NL-SAS and SAS shelves on one loop.

Double check your work afterwards with the enclosure show summary command: all enclosures should be online.
data domain enclosure show summary

Discover those unknown disks

Data Domain disk state unknownThe disks aren’t added to the Data Domain automatically but will show up as Unknown disks.  There’s two commands you can use to list the disks: storage show summary or the slightly more fancy disk show state. I prefer the latter…

First step is checking you’ve got the necessary capacity licenses installed; there should be one per ES30 enclosure. You can add them on the CLI with the license add <license key> command or via the GUI under System Settings > Licenses.

data domain storage add enclosure 2You will first have to add the enclosures to the active tier with the storage add enclosure <enclosureid> command. Rerunning the disk show state command will now show the disks for that enclosure as available. Rerun the command for all remaining enclosures to make all the drives available. Verify that there are no more unknown disks in the system.

Expand the Data Domain file system

With the disks available, it’s time to add them to the file system. If there’s no file system created on the Data Domain just yet, you can create one with the filesys create command; else (in our case) use the filesys expand command to… well… expand the file system. The CLI for Data Domain is so confusing, isn’t it?!

data domain filesys expand done

dd disk in useRunning the disk show state command at this point, you will see that the system has automatically created spares where necessary. Almost there, we’re not completely done yet!

Test that system!

Before you run off and start using that extra capacity, we need to make sure all the SAS connectivity is in good order and fit to handle the data that’s going to be passed over it. First up, we’ll show the ES shelf topology with the enclosure show topology command. With a bit of puzzling you will be able to verify remotely if the engineer installing the hardware did a good job and used the correct ports.

data domain enclosure show topology
Update 2017: this screenshot actually shows an incorrect configuration: ports 3a and 3b are used, which are on the same IO processor. The DD2500 shelves should be connected to ports 3a and 3c, or a permanent SAS back-end cabling error will appear after upgrading to DD-OS 5 or higher

The last step is a stress-test of the connectivity: run the enclosure test topology <portnumber> duration <time in minutes>. Five minutes per port should be plenty; the ports are listed in the show topology command. Check the output of the command: if there are no errors, the system is good to go.

Now go deduplicate some data!