Gather required materials

Contributors netapp-madkat

Before performing an expansion operation, gather the materials and install and configure any new hardware and networks.

Item Notes

StorageGRID installation archive

If you are adding new grid nodes or a new site, you must download and extract the StorageGRID installation archive. You must use the same version that is currently running on the grid.

For details, see the instructions for downloading and extracting the StorageGRID installation files.

Note: You do not need to download files if you are adding new storage volumes to existing Storage Nodes or installing a new StorageGRID appliance.

Service laptop

The service laptop has the following:

Passwords.txt file

Contains the passwords required to access grid nodes on the command line. Included in the Recovery Package.

Provisioning passphrase

The passphrase is created and documented when the StorageGRID system is first installed. The provisioning passphrase is not in the Passwords.txt file.

StorageGRID documentation

Current documentation for your platform

For supported versions, see the Interoperability Matrix.

Download and extract the StorageGRID installation files

Before you can add new grid nodes or a new site, you must download the appropriate StorageGRID installation archive and extract the files.

About this task

You must perform expansion operations using the version of StorageGRID that is currently running on the grid.

Steps
  1. Go to the NetApp Downloads page for StorageGRID.

  2. Select the version of StorageGRID that is currently running on the grid.

  3. Sign in with the username and password for your NetApp account.

  4. Read the End User License Agreement, select the check box, and then select Accept & Continue.

  5. In the Install StorageGRID column of the download page, select the .tgz or .zip file for your platform.

    The version shown in the installation archive file must match the version of the software that is currently installed.

    Use the .zip file if you are running Windows on the service laptop.

    Platform Installation archive

    Red Hat Enterprise Linux or CentOS

    StorageGRID-Webscale-version-RPM-uniqueID.zip

    StorageGRID-Webscale-version-RPM-uniqueID.tgz

    Ubuntu or Debian or Appliances

    StorageGRID-Webscale-version-DEB-uniqueID.zip

    StorageGRID-Webscale-version-DEB-uniqueID.tgz

    VMware

    StorageGRID-Webscale-version-VMware-uniqueID.zip

    StorageGRID-Webscale-version-VMware-uniqueID.tgz

    OpenStack/other Hypervisor

    To expand an existing deployment on OpenStack, you must deploy a virtual machine running one of the supported Linux distributions listed above and follow the appropriate instructions for Linux.

  6. Download and extract the archive file.

  7. Follow the appropriate step for your platform to choose the files you need, based on your platform, planned grid topology, and how you will expand your StorageGRID system.

    The paths listed in the step for each platform are relative to the top-level directory installed by the archive file.

  8. If you are expanding a Red Hat Enterprise Linux or CentOS system, select the appropriate files.

Path and file name Description

./rpms/README

A text file that describes all of the files contained in the StorageGRID download file.

./rpms/NLF000000.txt

A free license that does not provide any support entitlement for the product.

./rpms/StorageGRID-Webscale-Images-version-SHA.rpm

RPM package for installing the StorageGRID node images on your RHEL or CentOS hosts.

./rpms/StorageGRID-Webscale-Service-version-SHA.rpm

RPM package for installing the StorageGRID host service on your RHEL or CentOS hosts.

Deployment scripting tool

Description

./rpms/configure-storagegrid.py

A Python script used to automate the configuration of a StorageGRID system.

./rpms/configure-sga.py

A Python script used to automate the configuration of StorageGRID appliances.

./rpms/configure-storagegrid.sample.json

An example configuration file for use with the configure-storagegrid.py script.

./rpms/storagegrid-ssoauth.py

An example Python script that you can use to sign in to the Grid Management API when single sign-on is enabled.

./rpms/configure-storagegrid.blank.json

A blank configuration file for use with the configure-storagegrid.py script.

./rpms/extras/ansible

Example Ansible role and playbook for configuring RHEL or CentOS hosts for StorageGRID container deployment. You can customize the role or playbook as necessary.

./rpms/extras/api-schemas

API schemas for StorageGRID.

Note: Before you perform an upgrade, you can use these schemas to confirm that any code you have written to use StorageGRID management APIs will be compatible with the new StorageGRID release if you do not have a non-production StorageGRID environment for upgrade compatibility testing.

  1. If you are expanding an Ubuntu or Debian system, select the appropriate files.

Path and file name Description

./debs/README

A text file that describes all of the files contained in the StorageGRID download file.

./debs/NLF000000.txt

A non-production NetApp License File that you can use for testing and proof of concept deployments.

./debs/storagegrid-webscale-images-version-SHA.deb

DEB package for installing the StorageGRID node images on Ubuntu or Debian hosts.

./debs/storagegrid-webscale-images-version-SHA.deb.md5

MD5 checksum for the file /debs/storagegrid-webscale-images-version-SHA.deb.

./debs/storagegrid-webscale-service-version-SHA.deb

DEB package for installing the StorageGRID host service on Ubuntu or Debian hosts.

Deployment scripting tool

Description

./debs/configure-storagegrid.py

A Python script used to automate the configuration of a StorageGRID system.

./debs/configure-sga.py

A Python script used to automate the configuration of StorageGRID appliances.

./debs/storagegrid-ssoauth.py

An example Python script that you can use to sign in to the Grid Management API when single sign-on is enabled.

./debs/configure-storagegrid.sample.json

An example configuration file for use with the configure-storagegrid.py script.

./debs/configure-storagegrid.blank.json

A blank configuration file for use with the configure-storagegrid.py script.

./debs/extras/ansible

Example Ansible role and playbook for configuring Ubuntu or Debian hosts for StorageGRID container deployment. You can customize the role or playbook as necessary.

./debs/extras/api-schemas

API schemas for StorageGRID.

Note: Before you perform an upgrade, you can use these schemas to confirm that any code you have written to use StorageGRID management APIs will be compatible with the new StorageGRID release if you do not have a non-production StorageGRID environment for upgrade compatibility testing.

  1. If you are expanding a VMware system, select the appropriate files.

Path and file name Description

./vsphere/README

A text file that describes all of the files contained in the StorageGRID download file.

./vsphere/NLF000000.txt

A free license that does not provide any support entitlement for the product.

./vsphere/NetApp-SG-version-SHA.vmdk

The virtual machine disk file that is used as a template for creating grid node virtual machines.

./vsphere/vsphere-primary-admin.ovf

./vsphere/vsphere-primary-admin.mf

The Open Virtualization Format template file (.ovf) and manifest file (.mf) for deploying the primary Admin Node.

./vsphere/vsphere-non-primary-admin.ovf

./vsphere/vsphere-non-primary-admin.mf

The template file (.ovf) and manifest file (.mf) for deploying non-primary Admin Nodes.

./vsphere/vsphere-archive.ovf

./vsphere/vsphere-archive.mf

The template file (.ovf) and manifest file (.mf) for deploying Archive Nodes.

./vsphere/vsphere-gateway.ovf

./vsphere/vsphere-gateway.mf

The template file (.ovf) and manifest file (.mf) for deploying Gateway Nodes.

./vsphere/vsphere-storage.ovf

./vsphere/vsphere-storage.mf

The template file (.ovf) and manifest file (.mf) for deploying virtual machine-based Storage Nodes.

Deployment scripting tool

Description

./vsphere/deploy-vsphere-ovftool.sh

A Bash shell script used to automate the deployment of virtual grid nodes.

./vsphere/deploy-vsphere-ovftool-sample.ini

An example configuration file for use with the deploy-vsphere-ovftool.sh script.

./vsphere/configure-storagegrid.py

A Python script used to automate the configuration of a StorageGRID system.

./vsphere/configure-sga.py

A Python script used to automate the configuration of StorageGRID appliances.

./vsphere/storagegrid-ssoauth.py

An example Python script that you can use to sign in to the Grid Management API when single sign-on is enabled.

./vsphere/configure-storagegrid.sample.json

An example configuration file for use with the configure-storagegrid.py script.

./vsphere/configure-storagegrid.blank.json

A blank configuration file for use with the configure-storagegrid.py script.

./vsphere/extras/api-schemas

API schemas for StorageGRID.

Note: Before you perform an upgrade, you can use these schemas to confirm that any code you have written to use StorageGRID management APIs will be compatible with the new StorageGRID release if you do not have a non-production StorageGRID environment for upgrade compatibility testing.

  1. If you are expanding a StorageGRID appliance-based system, select the appropriate files.

Path and file name Description

./debs/storagegrid-webscale-images-version-SHA.deb

DEB package for installing the StorageGRID node images on your appliances.

./debs/storagegrid-webscale-images-version-SHA.deb.md5

Checksum of the DEB installation package used by the StorageGRID Appliance Installer to validate that the package is intact after upload.

Note For appliance installation, these files are only required if you need to avoid network traffic. The appliance can download the required files from the primary Admin Node.

Verify hardware and networking

Before beginning the expansion of your StorageGRID system, ensure the following:

  • The hardware needed to support the new grid nodes or new site has been installed and configured.

  • All new nodes have bidirectional communication paths to all existing and new nodes (a requirement for the Grid Network).

  • The primary Admin Node can communicate with all expansion servers that are intended to host the StorageGRID system.

  • If any of the new nodes has a Grid Network IP address on a subnet not previously used, you have already added the new subnet to the Grid Network subnet list. Otherwise, you will have to cancel the expansion, add the new subnet, and start the procedure again.

  • You are not using network address translation (NAT) on the Grid Network between grid nodes or between StorageGRID sites. When you use private IPv4 addresses for the Grid Network, those addresses must be directly routable from every grid node at every site. Using NAT to bridge the Grid Network across a public network segment is supported only if you use a tunneling application that is transparent to all nodes in the grid, meaning the grid nodes require no knowledge of public IP addresses.

    This NAT restriction is specific to grid nodes and the Grid Network. As required, you can use NAT between external clients and grid nodes, such as to provide a public IP address for a Gateway Node.