Hot Adding Disk Shelves to your NetApp controllers

Increasing storage capacity in a production or even a lab environment can be tricky. You need to make sure that all the stakeholders are aware of this effort, but more importantly, you need to make sure that you increase capacity in a non-disruptive manner. Over the past couple of weeks, I had to add extra disk shelves to both my production environment and my lab environment. Doing it for the first time was a bit challenging because you need to create a plan and then follow it to the word. But now having done it multiple times, I feel like I should write a blog about it and share with the community how easy it is to hot-add disk shelves to your existing NetApp ONTAP storage system. Below is a step by step guide on how I added 15TBs of capacity to my ONTAP cluster.

  1. Identify the equipment that you are using currently. I had a NetApp AFF A300 and a NetApp AFF 8040 in the two clusters that I was working on. Depending on the storage controllers that you are using, you need to identify the disk shelf and the cables that you want to use. For the AFF A300, I chose a DS224C disk shelf and for the AFF8040 I went with the DS2246 disk shelf. This meant I needed MiniHD to MiniHD(12GBs) cables to connect my AFF A300 and DS224C, and regular SAS cables(6GBs) to connect my AFF8040 and DS2246.
  2. Once you have identified all the components, you need to rack the new disk shelves close to the existing controllers and disk shelves.
  3. Next, connect power cables to the new disk shelves and then change the shelf ID of the disk shelf using the button on the front. For the disk shelf to use the new shelf ID you need to power cycle the disk shelf. Make sure that you use unique shelf ID as compared to your existing shelf IDs.
  4. Before you start messing with the cables, you need to log into your storage controllers and turn disk auto assignment off using the following commands:Screen Shot 2017-08-20 at 3.45.58 PM.png
  5. Next step will be to physically connect the cables to your existing disk shelves and controllers.
  6. Use the following two cabling diagrams for two separate scenarios:
    1. AFF A300 and DS224C with IOM12 modules (SAS Connections):
      Screen Shot 2017-08-20 at 3.53.53 PMScreen Shot 2017-08-20 at 3.55.21 PM.png
    2. AFF8040 and DS2246 with IOM6 modules (SAS connections):
      Screen Shot 2017-08-20 at 3.58.27 PM.png
    3. In the latest NetApp controllers, you do not need to run ethernet cables for Alternative Control Path (ACP) connections as they are in-band. But for the AFF8040 controllers, use the following cabling diagram to modify your existing ACP connections:
      Screen Shot 2017-08-20 at 3.56.55 PM.png
  7. Just hang on for a few additional steps and then you are done. Now, that you have made the physical connections between the storage controllers and the disk shelves, log back into the cluster shell and execute the following commands:
    storage shelf show -shelf shelf_name -connectivity

    Screen Shot 2017-08-20 at 4.05.28 PM.png

    storage disk show -container-type unassigned
    1. After running the above command, you should see all the disks that are part of the new disk shelf.
    2. Next, we will use the following command to assign disks to the individual controllers. I usually alternate the assignment order to the controllers. So all the odd numbered disks are assigned to Node 01 and all the even numbered disks are assigned to Node 02.
      storage disk assign -disk disk_name -owner owner_name
    3. Once you have assigned all the disks, we will use the following command to turn on disk auto assignment.
      storage disk option modify -node * -autoassign on
    4. Next, check the health of the ACP connections using the following command:
      storage shelf acp show
  8. And that’s it. You are done. Now you have disks ready to be added to your existing aggregates and increase your capacity. You can use the following command to do that:
    aggr add-disks -aggregate "aggregate_name" -diskcount "Number_of_disks"
    aggr add-disks -aggregate"aggregate_name" -diskcount "Number_of_disks"
  9. All this will work smoothly if you are using brand new shelves to increase capacity. But if you are reusing an existing shelf to add capacity to your cluster, you will see some old disk owner information, which may not allow you to assign disks as easily as shown in step 7.2. In such scenarios, you will have to drop one of the storage controllers into maintenance mode and then remove the remnant disk owner configuration. You can use the following steps to do that:
    1. From the cluster shell, do a storage failover takeover of one of the nodes, using the following command:
      storage failover takeover -ofnode "node_name"
    2. Monitor the node while its rebooting and hit Ctrl+C to display the boot menu.
    3. Once in the boot menu, select option 5 to go in maintenance mode.
    4. Next, use the following commands to remove the disk ownership:
      disk show -a
      
      disk removeownership -disk "disk_name"
      
      disk show -n
    5. Please make sure that you are running the above commands only against the new disks that you added. Executing the command on the incorrect disk might lead to disruption.
    6. Once all the new disks are in the unassigned state, halt the controller. When it is at the loader prompt, you will have to do an autoboot or a boot_ontap to boot the operating system.
    7. You will have to use the following command to allow the second node to boot:
      storage failover giveback -ofnode "node_name" 
  10. Now that you have removed the faulty disk ownership information, you can use the commands in 7.2 and assign the disks to the controllers.

Hopefully, you can follow these steps and add capacity to your NetApp storage cluster in a non-disruptive fashion. These were specific use cases, like attaching a DS224C to an AFF A300 and attaching a DS2246 to an AFF8040. But if you have a different combination of controllers or disk shelves, you should check out the following guides to make sure that you do not have any issues with the process.

  1. https://library.netapp.com/ecm/ecm_download_file/ECMLP2485106
  2. https://library.netapp.com/ecm/ecm_get_file/ECMP1119629
  3. https://library.netapp.com/ecm/ecm_get_file/ecmm1280392
Advertisements

3 thoughts on “Hot Adding Disk Shelves to your NetApp controllers

  1. Nice article, but you gloss over the most important part, which is connecting the cables. I finally saw the numbers next to the cable in the 2nd scenario, but I don’t know what the colors mean, what the numbers mean and how the connection of the cables should be done. I presume the order is the numbers, etc. This really needs to be clarified for this article to be complete.

    Like

  2. The colors are just to signify the controller number. The blue cables go from NetApp Controller #1 to Disk shelves and orange cables go from NetApp Controller #2 to the disk shelves.
    The numbers and the square/round symbols depict what you see on the back end of the disk shelf.
    Hopefully, this helps. And thanks for the comment, I will make sure to have a legend for the diagrams in my upcoming blogs.

    Like

  3. I came across this site while researching how to attach a new DS224C shelf to my A200. After reading this and comparing with NetApp Documentation, I cabled it up. I ended up with four paths, but I was getting a number of sas_connect errors. I called NetApp and it turns out I had the cables reversed. The engineer referred me to the document https://library.netapp.com/ecm/ecm_download_file/ECMLP2485106, where apparently I should be following the chart for the FAS2600 diagram. In this scenario Controller1-A goes to IOMB-1, Controller1-B goes to IOMA-3. Then Controller2-A goes to IOMA-1 and controller2-B goes to IOMB-3. Hope this helps someone.

    Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s