Configuring host storage

You must allocate block storage volumes to each host.

Before you begin

You have reviewed “Storage requirements” and “Node migration requirements” in this document. These topics contain information you need to accomplish this task.

Storage requirements

Node migration requirements

About this task

When allocating block storage volumes (LUNs) to hosts, use the tables in “Storage requirements” to determine the following:
  • Number of volumes required for each host (based on the number and type of nodes that will be deployed on that host)
  • Storage category for each volume (that is, System Metadata or Object Data)
  • Size of each volume
You will use this information as well as the persistent name assigned by Linux to each physical volume when you deploy StorageGRID Webscale nodes on the host.
Note: You do not need to partition, format, or mount any of these volumes; you just need to ensure they are visible to the hosts.
Avoid using “raw” special device files (/dev/sdb, for example) as you compose your list of volume names. These files can change across reboots of the host, which will impact proper operation of the system. If you are using iSCSI LUNs and device mapper multipathing, consider using multipath aliases in the /dev/mapper directory, especially if your SAN topology includes redundant network paths to the shared storage. Alternatively, you can use the system-created softlinks under /dev/disk/by-wwid for your persistent device names.
Tip: Assign friendly names to each of these block storage volumes to simplify the initial StorageGRID Webscale installation and future maintenance procedures. If you are using the device mapper multipath driver for redundant access to shared storage volumes, you can use the “alias” field in your /etc/multipath.conf file.

For example:

multipaths {
     multipath {
          wwid 3600a09800059d6df00005df2573c2c30
          alias docker-storage-volume-hostA
     }
     multipath {
          wwid 3600a09800059d6df00005df3573c2c30
          alias sgws-adm1-var-local
     }
     multipath {
          wwid 3600a09800059d6df00005df4573c2c30
          alias sgws-adm1-audit-logs
     }
     multipath {
          wwid 3600a09800059d6df00005df5573c2c30
          alias sgws-adm1-tables
     }
     multipath {
          wwid 3600a09800059d6df00005df6573c2c30
          alias sgws-gw1-var-local
     }
     multipath {
          wwid 3600a09800059d6df00005df7573c2c30
          alias sgws-sn1-var-local
     }
     multipath {
          wwid 3600a09800059d6df00005df7573c2c30
          alias sgws-sn1-rangedb-0
     }
     …
This will cause the aliases to appear as block devices in the /dev/mapper directory on the host, allowing you to specify a friendly, easily-validated name whenever a configuration or maintenance operation requires specifying a block storage volume.
Note: If you are setting up shared storage to support StorageGRID Webscale node migration and using device mapper multipathing, you can create and install a common /etc/multipath.conf on all co-located hosts. Just make sure to use a different Docker storage volume on each host. Using aliases and including the target hostname in the alias for each Docker storage volume LUN will make this easy to remember and is recommended.