8.5. Adding Block Storage

Important

If you are using block storage and you intend to deploy virtual machines on raw devices or direct LUNs and to manage them with the Logical Volume Manager, you must create a filter to hide the guest logical volumes. This will prevent guest logical volumes from being activated when the host is booted, a situation that could lead to stale logical volumes and cause data corruption. See RHV: Hosts boot with Guest LVs activated for details.

Important

Red Hat Virtualization currently does not support storage with a block size of 4K. You must configure block storage in legacy (512b block) mode.

8.5.1. Adding iSCSI Storage

Red Hat Virtualization supports iSCSI storage by creating a storage domain from a volume group made of pre-existing LUNs. Neither volume groups nor LUNs can be attached to more than one storage domain at a time.

For information on the setup and configuration of iSCSI on Red Hat Enterprise Linux, see iSCSI Target Creation in the Red Hat Enterprise Linux 6 Storage Administration Guide or Online Storage Management in the Red Hat Enterprise Linux 7 Storage Administration Guide.

Adding iSCSI Storage

  1. Click StorageDomains.
  2. Click New Domain.
  3. Enter the Name of the new storage domain.
  4. Select a Data Center from the drop-down list.
  5. Select the Domain Function and the Storage Type from the drop-down lists. The storage domain types that are not compatible with the chosen domain function are not available.
  6. Select an active host in the Use Host field. If this is not the first data domain in a data center, you must select the data center’s SPM host.

    Important

    All communication to the storage domain is through the selected host and not directly from the Red Hat Virtualization Manager. At least one active host must exist in the system and be attached to the chosen data center. All hosts must have access to the storage device before the storage domain can be configured.

  7. The Red Hat Virtualization Manager can map either iSCSI targets to LUNs, or LUNs to iSCSI targets. The New Domain window automatically displays known targets with unused LUNs when iSCSI is selected as the storage type. If the target that you are adding storage from is not listed then you can use target discovery to find it; otherwise proceed to the next step.

    1. Click Discover Targets to enable target discovery options. When targets have been discovered and logged in to, the New Domain window automatically displays targets with LUNs unused by the environment.

      Note

      LUNs used externally to the environment are also displayed.

      You can use the Discover Targets options to add LUNs on many targets, or multiple paths to the same LUNs.

    2. Enter the fully qualified domain name or IP address of the iSCSI host in the Address field.
    3. Enter the port to connect to the host on when browsing for targets in the Port field. The default is 3260.
    4. If the Challenge Handshake Authentication Protocol (CHAP) is being used to secure the storage, select the User Authentication check box. Enter the CHAP user name and CHAP password.

      Note

      It is now possible to use the REST API to define specific credentials to each iSCSI target per host. See Adding a Storage Server Connection Extension in the REST API Guide for more information.

    5. Click Discover.
    6. Select the target to use from the discovery results and click the Login button.

      Alternatively, click the Login All to log in to all of the discovered targets.

      Important

      If more than one path access is required, ensure to discover and log in to the target through all the required paths. Modifying a storage domain to add additional paths is currently not supported.

  8. Click the + button next to the desired target. This expands the entry and displays all unused LUNs attached to the target.
  9. Select the check box for each LUN that you are using to create the storage domain.
  10. Optionally, you can configure the advanced parameters.

    1. Click Advanced Parameters.
    2. Enter a percentage value into the Warning Low Space Indicator field. If the free space available on the storage domain is below this percentage, warning messages are displayed to the user and logged.
    3. Enter a GB value into the Critical Space Action Blocker field. If the free space available on the storage domain is below this value, error messages are displayed to the user and logged, and any new action that consumes space, even temporarily, will be blocked.
    4. Select the Wipe After Delete check box to enable the wipe after delete option. This option can be edited after the domain is created, but doing so will not change the wipe after delete property of disks that already exist.
    5. Select the Discard After Delete check box to enable the discard after delete option. This option can be edited after the domain is created. This option is only available to block storage domains.
  11. Click OK.

If you have configured multiple storage connection paths to the same target, follow the procedure in Section 8.5.2, “Configuring iSCSI Multipathing” to complete iSCSI bonding.

If you want to migrate your current storage network to an iSCSI bond, see Section 8.5.3, “Migrating a Logical Network to an iSCSI Bond”.

8.5.2. Configuring iSCSI Multipathing

iSCSI multipathing enables you to create and manage groups of logical networks and iSCSI storage connections. To prevent host downtime due to network path failure, configure multiple network paths between hosts and iSCSI storage. Once configured, the Manager connects each host in the data center to each bonded target via NICs/VLANs related to logical networks of the same iSCSI bond. You can also specify which networks to use for storage traffic, instead of allowing hosts to route traffic through a default network. This option is only available in the Administration Portal after at least one iSCSI storage domain has been attached to a data center.

Prerequisites

  • Ensure you have created an iSCSI storage domain and discovered and logged into all the paths to the iSCSI target(s).
  • Ensure you have created Non-Required logical networks to bond with the iSCSI storage connections. You can configure multiple logical networks or bond networks to allow network failover.

Configuring iSCSI Multipathing

  1. Click ComputeData Centers.
  2. Click the data center’s name to open the details view.
  3. Click the iSCSI Multipathing tab.
  4. Click Add.
  5. In the Add iSCSI Bond window, enter a Name and a Description for the bond.
  6. Select the networks to be used for the bond from the Logical Networks list. The networks must be Non-Required networks.

    Note

    To change a network’s Required status to "Non-Required", in the Administration Portal, select a network, click the Clusters tab, click the Manage Networks button, and clear the Required check box.

  7. Select the storage domain to be accessed via the chosen networks from the Storage Targets list. Ensure you select all paths to the same target.
  8. Click OK.

All hosts in the data center are connected to the selected iSCSI target through the selected logical networks.

8.5.3. Migrating a Logical Network to an iSCSI Bond

If you have a logical network that you created for iSCSI traffic and configured on top of an existing network bond, you can migrate it to an iSCSI bond on the same subnet without disruption or downtime.

Procedure

  1. Modify the current logical network:

    1. Click ComputeClusters.
    2. Click the cluster name to open the details view.
    3. In the Logical Networks tab, select the current logical network (net-1) and click Manage Networks.
    4. Clear the Require check box and click OK.
  2. Create a new logical network:

    1. Click Add Network to open the New Logical Network window.
    2. In the General tab, enter the Name (net-2) and clear the VM network check box.
    3. In the Cluster tab, clear the Require check box and click OK.
  3. Remove the current network bond and reassign the logical networks:

    1. Click ComputeHosts.
    2. Click the host name to open the details view.
    3. In the Network Interfaces tab, click Setup Host Networks.
    4. Drag net-1 to the right to unassign it.
    5. Drag the current bond to the right to remove it.
    6. Drag net-1 and net-2 to the left to assign them to physical interfaces.
    7. Click the pencil icon of net-2 to open the Edit Network window.
    8. In the IPV4 tab, select Static, enter the IP and Netmask/Routing Prefix of the subnet, and click OK.
  4. Create the iSCSI bond:

    1. Click ComputeData Centers.
    2. Click the data center name to open the details view.
    3. In the iSCSI Multipathing tab, click Add.
    4. In the Add iSCSI Bond window, enter a Name, select the networks, net-1 and net-2, and click OK.

Your data center has an iSCSI bond containing the old and new logical networks.

8.5.4. Adding FCP Storage

Red Hat Virtualization platform supports SAN storage by creating a storage domain from a volume group made of pre-existing LUNs. Neither volume groups nor LUNs can be attached to more than one storage domain at a time.

Red Hat Virtualization system administrators need a working knowledge of Storage Area Networks (SAN) concepts. SAN usually uses Fibre Channel Protocol (FCP) for traffic between hosts and shared external storage. For this reason, SAN may occasionally be referred to as FCP storage.

For information regarding the setup and configuration of FCP or multipathing on Red Hat Enterprise Linux, see the Storage Administration Guide and DM Multipath Guide.

The following procedure shows you how to attach existing FCP storage to your Red Hat Virtualization environment as a data domain. For more information on other supported storage types, see Chapter 8, Storage.

Adding FCP Storage

  1. Click StorageDomains.
  2. Click New Domain.
  3. Enter the Name of the storage domain.
  4. Select an FCP Data Center from the drop-down list.

    If you do not yet have an appropriate FCP data center, select (none).

  5. Select the Domain Function and the Storage Type from the drop-down lists. The storage domain types that are not compatible with the chosen data center are not available.
  6. Select an active host in the Use Host field. If this is not the first data domain in a data center, you must select the data center’s SPM host.

    Important

    All communication to the storage domain is through the selected host and not directly from the Red Hat Virtualization Manager. At least one active host must exist in the system and be attached to the chosen data center. All hosts must have access to the storage device before the storage domain can be configured.

  7. The New Domain window automatically displays known targets with unused LUNs when Fibre Channel is selected as the storage type. Select the LUN ID check box to select all of the available LUNs.
  8. Optionally, you can configure the advanced parameters.

    1. Click Advanced Parameters.
    2. Enter a percentage value into the Warning Low Space Indicator field. If the free space available on the storage domain is below this percentage, warning messages are displayed to the user and logged.
    3. Enter a GB value into the Critical Space Action Blocker field. If the free space available on the storage domain is below this value, error messages are displayed to the user and logged, and any new action that consumes space, even temporarily, will be blocked.
    4. Select the Wipe After Delete check box to enable the wipe after delete option. This option can be edited after the domain is created, but doing so will not change the wipe after delete property of disks that already exist.
    5. Select the Discard After Delete check box to enable the discard after delete option. This option can be edited after the domain is created. This option is only available to block storage domains.
  9. Click OK.

The new FCP data domain remains in a Locked status while it is being prepared for use. When ready, it is automatically attached to the data center.

8.5.5. Increasing iSCSI or FCP Storage

There are several ways to increase iSCSI or FCP storage size:

  • Add an existing LUN to the current storage domain.
  • Create a new storage domain with new LUNs and add it to an existing data center. See Section 8.5.1, “Adding iSCSI Storage”.
  • Expand the storage domain by resizing the underlying LUNs.

For information about creating, configuring, or resizing iSCSI storage on Red Hat Enterprise Linux 7 systems, see the Red Hat Enterprise Linux 7 Storage Administration Guide.

The following procedure explains how to expand storage area network (SAN) storage by adding a new LUN to an existing storage domain.

Prerequisites

  • The storage domain’s status must be UP.
  • The LUN must be accessible to all the hosts whose status is UP, or else the operation will fail and the LUN will not be added to the domain. The hosts themselves, however, will not be affected. If a newly added host, or a host that is coming out of maintenance or a Non Operational state, cannot access the LUN, the host’s state will be Non Operational.

Increasing an Existing iSCSI or FCP Storage Domain

  1. Click StorageDomains and select an iSCSI or FCP domain.
  2. Click Manage Domain.
  3. Click Targets > LUNs and click the Discover Targets expansion button.
  4. Enter the connection information for the storage server and click Discover to initiate the connection.
  5. Click LUNs > Targets and select the check box of the newly available LUN.
  6. Click OK to add the LUN to the selected storage domain.

This will increase the storage domain by the size of the added LUN.

When expanding the storage domain by resizing the underlying LUNs, the LUNs must also be refreshed in the Administration Portal.

Refreshing the LUN Size

  1. Click StorageDomains and select an iSCSI or FCP domain.
  2. Click Manage Domain.
  3. Click on LUNs > Targets.
  4. In the Additional Size column, click the Add Additional_Storage_Size button of the LUN to refresh.
  5. Click OK to refresh the LUN to indicate the new storage size.

8.5.6. Reusing LUNs

LUNs cannot be reused, as is, to create a storage domain or virtual disk. If you try to reuse the LUNs, the Administration Portal displays the following error message:

Physical device initialization failed. Please check that the device is empty and accessible by the host.

A self-hosted engine shows the following error during installation:

[ ERROR ] Error creating Volume Group: Failed to initialize physical device: ("[u'/dev/mapper/000000000000000000000000000000000']",)
[ ERROR ] Failed to execute stage 'Misc configuration': Failed to initialize physical device: ("[u'/dev/mapper/000000000000000000000000000000000']",)

Before the LUN can be reused, the old partitioning table must be cleared.

Clearing the Partition Table from a LUN

Important

You must run this procedure on the correct LUN so that you do not inadvertently destroy data.

Run the dd command with the ID of the LUN that you want to reuse, the maximum number of bytes to read and write at a time, and the number of input blocks to copy:

# dd if=/dev/zero of=/dev/mapper/LUN_ID bs=1M count=200 oflag=direct