Red Hat Training

A Red Hat training course is available for Red Hat Gluster Storage

Configuring Red Hat Enterprise Virtualization with Red Hat Storage

Red Hat Gluster Storage 3

Getting Started with Red Hat Storage 3 and Red Hat Enterprise Virtualization 3.4 or later.

Pavithra Srinivasan

Red Hat Engineering Content Services

Anjana Suparna Sriram

Red Hat Engineering Content Services

Divya Divya Muntimadugu

Red Hat Engineering Content Services

Abstract

This document is a step-by-step guide for first-time users to install and configure a basic Red Hat Enterprise Virtualization environment and enable Red Hat Storage for virtualization.

Preface

Red Hat Storage is a software-only, scale-out storage solution that provides flexible and agile unstructured data storage for the enterprise. Red Hat Enterprise Virtualization uses a centralized shared storage system for virtual machine disk images, snapshots and templates.
This guide enables you to install and configure Red Hat Enterprise Virtualization and create virtual machines using Red Hat Storage as storage domains.

Chapter 1. Introduction to Red Hat Storage for Virtualization

Red Hat provides a way to create and optimize Red Hat Storage volumes using the Red Hat Enterprise Virtualization Manager. Red Hat Enterprise Virtualization platform and Red Hat Storage platform comprise various components that work seamlessly together, enabling system administrators to install, configure, and manage a virtualized environment using Red Hat Storage as the virtual machine image store.
Red Hat Storage provides a POSIX-compatible file system that allows you to store virtual machine images in a Red Hat Storage Server cluster instead of network-attached storage (NAS) appliances or a storage area network (SAN) array.
Red Hat Enterprise Virtualization 3.3 and later versions support the use of POSIX-compliant file systems for storage. Red Hat Storage provides a POSIX-compatible file system in which you can create Red Hat Storage volumes as storage domains.
Red Hat Enterprise Virtualization and Red Hat Storage integration consists of:
  • Red Hat Enterprise Virtualization environment.
    See Red Hat Enterprise Virtualization Architecture in Introduction in Red Hat Enterprise Virtualization Installation Guide.
  • Red Hat Storage environment.
    A Red Hat Storage environment consists of bricks that are used to build volumes. Different types of optimized storage volumes can be used as virtual machine stores to hold resources such as virtual disks, templates, and snapshots.
The following diagram illustrates Red Hat Enterprise Virtualization integration with Red Hat Storage:
Integration architecture

Figure 1.1. Integration architecture

Important

Red Hat Enterprise Virtualization 3.3 onwards, the GlusterFS storage domain uses the same access mechanism as the POSIXFS domain. The GlusterFS storage domain is introduced to support the libgfapi protocol in the future releases.

1.1. Prerequisites

To install and integrate Red Hat Storage with Red Hat Enterprise Virtualization, the system must satisfy the following requirements:
  1. Update Red Hat Storage
    Ensure that your system is up to date with the latest patches and upgrades. Use the following command to install the software updates:
    # yum update

    Important

    See the upgrade steps mentioned in the Red Hat Storage Installation Guide to upgrade to the latest version.
  2. Download the .iso file for the latest version of Red Hat Storage
    Download the .iso file that holds the installation sources before you start the installation on the system.
    Verify the MD5 checksums for the .iso file to ensure that the download is successful.
    If you have a subscription or evaluation subscription, follow the steps to obtain the Red Hat Storage .iso files:
    1. Visit the customer portal at https://access.redhat.com/login and enter your Red Hat Login and Password.
    2. Click Downloads to visit the Software & Download Center.
    3. In the Red Hat Storage Server area, click Download Red Hat Storage .
    4. In Download Red Hat Storage,select to download the following software:
      • Red Hat Storage Server for On-premise (v. 3.0 x86_64)
      Alternatively, visit the following link to obtain the software https://access.redhat.com/downloads/content/186/ver=3/rhel---6/3.0/x86_64/product-downloads.
    Description:A system configured for RHN installation of Red Hat Storage

    Figure 1.2. Downloading the ISO

  3. Verify the system requirements.
    The system must satisfy the requirements to ensure smooth integration of Red Hat Enterprise Virtualization and Red Hat Storage. See System Requirements in the Red Hat Enterprise Virtualization Installation Guide, which outlines the minimum system requirements required to install, configure, and operate a Red Hat Enterprise Virtualization environment. Also, see the hardware compatibility matrix and system requirements outlined in the section Planning Red Hat Storage Installation of the Red Hat Storage Installation Guide.
    When creating a data center in Red Hat Enterprise Virtualization Manager, ensure that you select the compatibility version as 3.4. See the compatibility matrix for information on backward compatibility of earlier versions.
  4. Subscribe to the Red Hat Enterprise Virtualization channels.
    Subscribe to the Red Hat Enterprise Virt Management Agent channel on all Red Hat Enterprise Linux 6.3, 6.4, and 6.5 hypervisors that now act as the clients for your Red Hat Storage volumes.
  5. Subscribe to the Red Hat Storage Native Client channel.
    Subscribe to all Red Hat Enterprise Linux 6.3, 6.4, and 6.5 hypervisors to the Red Hat Storage Native Client channel to get the latest version.
  6. Set the fully qualified domain name for each hypervisor.
    Correct DNS records must exist for each hypervisor and Red Hat Storage server node. A fully qualified domain name must be resolvable via both forward and reverse DNS lookup.
  7. Set SELinux booleans.
    If you are using QEMU/KVM as a hypervisor, ensure that you set the following SELinux booleans:
    # setsebool -P sanlock_use_fusefs on
    # setsebool -P virt_use_sanlock on
    # setsebool -P virt_use_fusefs on

Chapter 2. Enabling Red Hat Storage in Red Hat Enterprise Virtualization Manager

2.1. Using Red Hat Storage Volumes in the Red Hat Enterprise Virtualization Manager

Red Hat Enterprise Virtualization supports Red Hat Storage volumes as storage domains. Enabling Red Hat Storage volumes in Red Hat Enterprise Virtualization Manager requires installation and configuration of several components to create a functioning virtualization environment. You must install and configure each component in the following order:
Installation Workflow

Figure 2.1.  Installation Workflow

Procedure 2.1. To Enable Red Hat Storage in Red Hat Enterprise Virtualization Manager

  1. Install Red Hat Enterprise Virtualization Manager
    The Red Hat Enterprise Virtualization Manager is the control center of the Red Hat Enterprise Virtualization environment. Ensure that Red Hat Enterprise Virtualization Manger is installed and configured.
    Install and configure Red Hat Enterprise Virtualization Manager. See the Manager Installation chapter of the Red Hat Enterprise Virtualization Installation Guide for more information.
  2. Install Hosts
    Install the virtual machine hosts using either Red Hat Enterprise Virtualization Hypervisor or Red Hat Enterprise Linux as hosts. Before beginning the installation process, ensure that all virtualization hosts meet the hardware requirements and that the installation of Red Hat Enterprise Virtualization Manager is complete.
    You can use the following hypervisors as hosts:
    • Red Hat Enterprise Virtualization Hypervisor 3.4
    • Red Hat Enterprise Linux 6.3
    • Red Hat Enterprise Linux 6.4
    • Red Hat Enterprise Linux 6.5
    During installation, set the fully qualified domain name (FQDN) and IP address for the server in order to avoid network conflicts. See the Installing Red Hat Enterprise Virtualization Hypervisor Hosts chapter of the Red Hat Enterprise Virtualization Installation Guide for information on installing the hypervisor.

    Note

    You must install Red Hat Enterprise Linux 6.3, Red Hat Enterprise Linux 6.4 Server or Red Hat Enterprise Linux 6.5 on a system to use it as a virtualization host in a Red Hat Enterprise Virtualization environment. See the Installing Red Hat Enterprise Linux Hosts chapter of the Red Hat Enterprise Virtualization Installation Guide or the Red Hat Enterprise Linux 6 Installation Guide for detailed instructions.
    Subscribe to the channels
    Red Hat Enterprise Linux hosts need to be registered and subscribed to a number of entitlements using either Subscription Manager or Red Hat Network Classic. For more information, see section Subscribing to Required Channels using RHN Classic in the chapter Installing Red Hat Enterprise Linux Hosts in the Red Hat Enterprise Virtualization Installation Guide.
    Subscribe Red Hat Enterprise Linux 6.3, 6.4, and 6.5 hosts to the channels listed below:
    • rhel-x86_64-server-6
    • rhel-x86_64-rhev-mgmt-agent-6
    Apart from the above channels, you must also subscribe to the Red Hat Storage 3 Native Client channels to get the latest version:
    Run the rhn-channel --add --channel command to subscribe the system to the correct Red Hat Storage Native Client channel:
    • For Red Hat Enterprise Linux 7.x clients using Red Hat Satellite Server:
      # rhn-channel --add --channel= rhel-x86_64-server-rh-common-7
    • For Red Hat Enterprise Linux 6.x clients:
      # rhn-channel --add --channel=rhel-x86_64-server-rhsclient-6
    • For Red Hat Enterprise Linux 5.x clients:
      # rhn-channel --add --channel=rhel-x86_64-server-rhsclient-5
    See Installing Native Client in Red Hat Storage Administration Guide for information on how to install native clients.
  3. Configure the Hypervisor
    • Red Hat Enterprise Virtualization Hypervisor host
      Install Red Hat Enterprise Virtualization Hypervisor 3.4 on bare metal. See Configuring the Hypervisor and Attaching the Hypervisor to the Red Hat Enterprise Virtualization Manager in the Installing the Red Hat Enterprise Virtualization Hypervisor chapter of the Red Hat Enterprise Virtualization Installation Guide for more information.
    • Red Hat Enterprise Linux 6.3, Red Hat Enterprise Linux 6.4 or Red Hat Enterprise Linux 6.5 host
      A Red Hat Enterprise Linux virtualization host must be registered and subscribed to a number of entitlements using either Subscription Manager or Red Hat Network Classic. See Subscribing to Required Channels using RHN Classic in the Installing Red Hat Enterprise Linux Hosts chapter of the Red Hat Enterprise Virtualization Installation Guide for more information.
      Subscribe to the Red Hat Storage Native Client from the Additional Services Channels to ensure the server has the latest clients installed:
      # yum install glusterfs-fuse glusterfs
      See the Installing Native Client section in the Red Hat Storage Administration Guide for more information.
  4. Configure the data centers
    Define data centers and clusters to organize the virtualization hosts. The installation process creates a data center and associated cluster named Default.

    Note

    A server can be a Red Hat Enterprise Virtualization Hypervisor or a Red Hat Enterprise Linux host. A trusted storage pool requires a minimum of one storage host, and at least one active virtualization host is required to connect the system to a storage pool.
  5. Install Red Hat Storage
    Install the latest version of RHS on the system.
    See section, "Prerequisites" of the Red Hat Storage Installation Guide for more information on obtaining the software. For information on installing Red Hat Storage from an ISO, see the Red Hat Storage Installation Guide.
  6. Configure Storage
    Configure the Red Hat Storage installation for your requirements.
    For instructions on creating a Red Hat Storage Volume, see chapter Red Hat Storage Volume in the Red Hat Storage Administration Guide.
    Red Hat Enterprise Virtualization uses a centralized storage system for virtual machine disk images. Before adding storage, ensure that you have a working Red Hat Enterprise Virtualization Manager environment. You must be able to access the Administration Portal, and there must be at least one host connected with Up status.

    Note

    Red Hat Storage recommends that you use Replicate or Distributed Replicate volume type for hosting virtual machine disk images.
  7. Attach Storage to Hypervisor
    Attach the Red Hat Storage volume as a storage domain.
Now you can create virtual machines and its disk images on the Red Hat Storage volumes. To optimize the virtual machines on the Red Hat Storage volumes, see Section 2.2, “Optimizing Virtual Machines On Red Hat Storage Volumes”

2.2. Optimizing Virtual Machines On Red Hat Storage Volumes

The readahead mechanism is essential for guest sequential read performance on virtual machines. The virtual machine-tuned profile provides insufficient readahead. You can optimize the virtual machine performance by changing the multiply_disk_readahead 4 to multiply_disk_readahead 16. If you are running a Red Hat Enterprise Linux host, run the following commands to enable read-ahead.
  1. Install the Tune daemon
    Install the tuned daemon that tunes the system settings dynamically.
    # yum install tuned
  2. Edit the virtual-guest profile provided by the Tune daemon.
    Edit the /etc/tune-profiles/virtual-guest/ktune.sh
    Identify the line multiply_disk_readahead 4 and replace it with multiply_disk_readahead 16
  3. Apply the virtual-guest profile on the virtual machines
    Activate the updated profile with the command:
    # tuned-adm profile virtual-guest

Chapter 3. Hosting Virtual Machine Images on Red Hat Storage volumes

Red Hat Storage provides a POSIX-compatible file system to store virtual machine images in Red Hat Storage volumes.
This chapter describes how to configure volumes using the command line interface, and how to prepare Red Hat Storage servers for virtualization using Red Hat Enterprise Virtualization Manager.

3.1. Configuring Volumes Using the Command Line Interface

Red Hat recommends configuring volumes before starting them. For information on creating volumes, see Setting up Red Hat Storage Volumes in the Red Hat Storage Administration Guide.

Procedure 3.1. To Configure Volumes Using the Command Line Interface

  1. Configure the Red Hat Storage volume using the following command:
    # gluster volume set VOLNAME group virt

    Important

    After tagging the volume as group virt, use the volume for storing virtual machine images only and always access the volume through the glusterFS native client.
  2. The gluster volume set <VOLNAME> group virt command configures the specified volume using the settings in the /var/lib/glusterd/groups/virt file. The following settings are the recommended defaults:
    quick-read=off
    read-ahead=off
    io-cache=off
    stat-prefetch=off
    eager-lock=enable
    remote-dio=on
    quorum-type=auto
    server-quorum-type=server

    Important

    When you upgrade to Red Hat Storage 3, a new virt file is created in /var/lib/glusterd/groups/virt.rpmnew. Ensure to apply the new virt file on the existing volumes by renaming the virt.rpmnew file to virt, along with the customized settings.
    All the performance-related settings other than cluster.eager-lock prevent caching within GlusterFS client stack, as it is the preferred mode for attaching disks to a virtual machine. The cluster.eager-lock option optimizes write performance with synchronous replication when there is a single writer to a file. For description on each of these performance-related settings, see chapter Configuring Volume Options in the Red Hat Storage Administration Guide.

    Note

    Server-Side and Client-Side Quorum are enabled by default in the /var/lib/glusterd/groups/virt file to minimize split-brain scenarios. If Server-Side Quorum is not met, then the Red Hat Storage volumes become unavailable causing the Virtual Machines (VMs) to move to a paused state. If Client-Side Quorum is not met, although a replica pair in a Red Hat Storage volume is available in the read-only mode, the VMs move to a paused state.
    Manual intervention is required to make the VMs resume the operations after the quorum is restored. Consistency is achieved at the cost of fault tolerance. If fault tolerance is preferred over consistency, disable server-side and client-side quorum with the commands:
    # gluster volume reset <vol-name> server-quorum-type
    # gluster volume reset <vol-name> quorum-type
    For more information on these configuration settings, see Managing Red Hat Storage Volumes in the Red Hat Storage Administration Guide.
  3. Set the brick permissions for vdsm and kvm. If you do not set the required brick permissions, creation of virtual machines fails.
    1. Set the user and group permissions using the following commands:
      # gluster volume set VOLNAME storage.owner-uid 36
      # gluster volume set VOLNAME storage.owner-gid 36
    2. If you are using QEMU/KVM as a hypervisor, set the user and group permissions using the following commands:
      # gluster volume set VOLNAME storage.owner-uid 107
      # gluster volume set VOLNAME storage.owner-gid 107

3.2. Configuring Virtual Machines on Red Hat Storage volumes using the Red Hat Enterprise Virtualization Manager

The following procedure describes how to add a Red Hat Storage server for virtualization using Red Hat Enterprise Virtualization Manager.

Note

It is recommended that you use a separate data center for Red Hat Storage nodes.

Procedure 3.2. To Add a Red Hat Storage Server for Virtualization Using Red Hat Enterprise Virtualization Manager

  1. Create a data center:
    1. Select the Data Centers resource tab to list all data centers.
    2. Click New to open the New Data Center window.
      New Data Center Window

      Figure 3.1. New Data Center Window

    3. Enter the Name and Description of the data center.
    4. Select the storage Type as Shared from the drop-down menu.
    5. Select the Quota Mode as Disabled.
    6. Click OK.
    The new data center is Uninitialized until you configure the cluster, host, and storage settings.
  2. Create a cluster:
    1. Select the Clusters resource tab to list all clusters.
    2. Click New to open the New Cluster window.
      New Cluster Window

      Figure 3.2. New Cluster Window

    3. Select a Data Center for the cluster from the drop-down menu.
    4. Enter a Name and Description for the cluster.
    5. Select the CPU Name and Compatibility Version from the drop-down menus.
    6. Check Enable Virt Service.
    7. Click OK.
  3. Add hosts:
    1. Select the Hosts resource tab to view a list of all hosts in the system.
    2. Click New to open the New Host window.
      New Host Window

      Figure 3.3. New Host Window

      Important

      A Red Hat Enterprise Linux hypervisor and Red Hat Enterprise Virtualization hypervisor on a single VDSM cluster accessing the same virtual machine image store is not supported.
    3. Select the Data Center and Host Cluster for the new host from the drop-down menus.
    4. Enter the Name, Address, and Root Password of the new hypervisor host.
    5. Check Automatically configure host firewall if required.
    6. Click OK.
    The new host appears in the list of hypervisor hosts with the status Installing. After the host is activated, the status changes to Up automatically.
  4. Create and configure volumes on the Red Hat Storage cluster using the command line interface. For information on creating and configuring volumes, see Setting up Red Hat Storage Volumes in the Red Hat Storage Administration Guide and Section 3.1, “Configuring Volumes Using the Command Line Interface”.
  5. Add a storage domain using Red Hat Enterprise Virtualization Manager:
    1. Select the Storage resource tab to list existing storage domains.
    2. Click New Domain to open the New Domain window.
      New Domain Window

      Figure 3.4. New Domain Window

    3. Enter a Name for the storage domain.
    4. Select a shared Data Center to associate with the storage domain.
    5. Select Data / glusterFS from the Domain Function/Storage Type drop-down menu.
    6. Select a host from the Use Host drop-down menu.
    7. Enter the Path of a Red Hat Storage server in the cluster. For example, RHS-Server:/VOLNAME
    8. Enter glusterfs as VFS Type. This selection is made by default if the data center is of type glusterFS.
    9. Enter the applicable Red Hat Storage native client Mount Options. Enter multiple mount options separated by commas. For more information on native client mount options, see Accessing Data - Setting up Clients in the Red Hat Storage Administration Guide.
    10. Click OK.
    11. Click Activate to activate the new Red Hat Storage domain.
      Activated Red Hat Storage Domain

      Figure 3.5. Activated Red Hat Storage Domain

You can now create virtual machines using Red Hat Storage as storage domains. For more information on creating virtual machines, see Virtual Machines in the Red Hat Enterprise Virtualization Administration Guide.

Note

To prevent the risk of split brain incidents on Red Hat Storage domains, the use of shareable disks on Red Hat Storage domains is disabled. Attempting to create a shareable disk brings up a warning in the administration portal which recommends the use of Quorum on the Red Hat Storage server to ensure data integrity.
This policy is not enforced on Red Hat Storage domains created on a POSIX domain with GlusterFS specified as the virtual file system type.

Chapter 4. Managing Red Hat Storage Servers and Volumes using Red Hat Enterprise Virtualization Manager

You can create and configure Red Hat Storage volumes using Red Hat Enterprise Virtualization Manager 3.3 and above versions, by creating a cluster with the Enable Gluster Service option enabled.
A volume is a logical collection of bricks where each brick is an export directory on a server in the trusted storage pool. Most of the management operations for Red Hat Storage happen on these volumes. You can use Red Hat Enterprise Virtualization Manager to create and start new volumes featuring a single global namespace.

Note

With the exception of the volume operations described in this section, all other Red Hat Storage functionalities must be executed from the command line.

4.1. Creating a Data Center

  1. Select the Data Centers resource tab to list all data centers in the results list.
  2. Click the New button to open the New Data Center window.
    New Data Center Window

    Figure 4.1. New Data Center Window

  3. Enter the Name and Description of the data center.
  4. Set Type to Shared from the drop-down menu.
    Set Quota Mode as Disabled.
  5. Click OK.
The new data center is added to the virtualization environment. It will remain Uninitialized until a cluster, host, and storage are configured.

4.2. Creating a Cluster

  1. Create a cluster with the gluster service enabled.
    New Cluster Window

    Figure 4.2. New Cluster Window

  2. Select the Compatibility Version from the drop-down menu.
  3. Click OK.

4.3. Adding Red Hat Storage Server to the Cluster

There are two ways to add hosts. You can either add new hosts or import the existing gluster configuration into a cluster.
  • To import an existing gluster configuration:
    1. Select Enable Gluster Service.
    2. Select Import existing gluster configuration. With this option you can import the existing Gluster configurations into a cluster.
    3. Provide the IP address of one of the hosts.
  • To add new hosts:
    1. Use the drop-down lists to select the Data Center and Host Cluster for the new host.
    2. Click OK.
      The new host displays in the list of hosts with a status of Installing. The host is activated and the status changes to Up automatically.
    You can manage the lifecycle of a volume using hook scripts. For more information, see chapter Managing Gluster Hooks in the Red Hat Storage Console Administration Guide

    Note

    To add multiple servers to a cluster, you must first add a Red Hat Storage server to the cluster. An error message appears if you add multiple servers in the first attempt.
    New Host window

    Figure 4.3. New Host window

4.4. Optimizing Red Hat Storage Volumes for Virtual Machine Images

If you have not already optimized the Red Hat Storage Volumes for hosting Virtual Machines images by selecting the option Optimize for Virt Store, while creating a volume, ensure to perform this step:
  • On the Volumes tab, select the volume to configure and click Optimize for Virt Store.
    The volume is configured and group, storage-owner-uid, and storage-owner-gid options are set.
    Volume Options

    Figure 4.4. Volume Options

    For more information on each volume set tunable options, see Managing Red Hat Storage Volumes in the Red Hat Storage Administration Guide.

4.5. Starting the Red Hat Storage Volume

  • In the Volumes tab, select the new volume and click Start to start the volume.
    The volume status changes to Up.

    Note

    If you are using Red Hat Storage Volumes for hosting Virtual Machine images, you must optimize the volume before attaching the volume to the storage domain.

4.6. Adding Bricks to Volumes

  1. Click Add Bricks to add bricks to your volume.
    A brick is the basic unit of storage, represented by an export directory on a server in the storage cluster. You can expand or shrink your cluster by adding new bricks or deleting existing bricks.
    Add Bricks

    Figure 4.5. Add Bricks

  2. Enter the path for the brick and click OK.
  3. In the Allow Access From field, specify volume access control as a comma-separated list of IP addresses or hostnames.
    By default, an asterisk (*) is used as a wildcard to specify ranges of addresses such as IP addresses or hostnames. You need to use IP-based authentication for Gluster and NFS exports.
  4. Click OK to create the volume.
    The new volume is added and it appears on the Volumes tab.
You can reuse a brick by selecting Allow bricks in root partition and reuse the bricks by clearing xattrs
You can create a storage domain using the optimized volume and manage it using Red Hat Enterprise Virtualization Manager. See Red Hat Storage 3 Console Administration Guide for more information on managing volumes such as start, stop, expand, shrink, add and edit volume options.

4.7. Performing Asynchronous Tasks

From the Red Hat Enterprise Virtualization Manager 3.4 release onwards, asynchronous tasks on the Red Hat Storage volume such as rebalance and remove brick operations can be performed.
For detailed instructions on performing these asynchronous tasks, see the Red Hat Storage Console Administration Guide

Appendix A. Revision History

Revision History
Revision 3-21Fri Mar 20 2015Pavithra Srinivasan
Updated the topic Compatibility Matrix of chapter Recommended Best Practices and Troubleshooting to fix BZ# 1203807.
Revision 3-12Mon Oct 20 2014Pavithra Srinivasan
Version for 3.0 GA release

Legal Notice

Copyright © 2014-2015 Red Hat, Inc.
This document is licensed by Red Hat under the Creative Commons Attribution-ShareAlike 3.0 Unported License. If you distribute this document, or a modified version of it, you must provide attribution to Red Hat, Inc. and provide a link to the original. If the document is modified, all Red Hat trademarks must be removed.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat Software Collections is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.