This document serves as a starting guide for users to utilize the netapp_eseries.beegfs
collection. It provides
resources to assist users in configuring the neccesary Ansible files for a comprehensive deployment of BeeGFS within
a High Availability (HA) Cluster environment.
Before following this guide, please adhere to the requirements outlined in this collection's README.
Each role in the collection operates independently to deploy a specific version of BeeGFS, configured for a particular mode of operation. For more detailed information about a role's use case and variables, please refer to its corresponding readme file.
-
BeeGFS 7.4 with High-Availability (HA): Provides end-to-end deployment of the NetApp E-Series BeeGFS HA solution. It includes provisioning and mapping E-Series storage, creating a Linux HA cluster using Pacemaker and Corosync, deploying BeeGFS into the cluster, and configuring clients.
-
BeeGFS Client: Installs the BeeGFS Client and, if requested, mounts one or more BeeGFS file systems, or the same BeeGFS file system multiple times. The role can also unmount one or more BeeGFS file systems if requested.
To utilize these roles and begin deploying BeeGFS to storage clusters or client nodes, you will need to configure the
inventory, host/group variables, passwords, and playbook files. Follow the instructions in the next
section to build these files according to your BeeGFS
cluster environment. The passwords.yml
file requires credentials for various components in the HA structure. For a
secure environment, the supplied passwords should not be stored in plain text. Use
Ansible Vault to encrypt passwords.
Standard BeeGFS configurations that are optimized to meet the performance requirements of demanding workloads which defined in NVA
generations. Use one of the gen
folders in beegfs_on_netapp
folder to deploy a standard BeeGFS configuration for your system.
Custom configurations are defined by users. There are two methods to build your inventory and playbook files:
-
The first, and recommended method, is to follow the instructions provided in the
beegfs_ha_building_block
README. The instructions walk the user through creating an inventory structure, populating the inventory variables, and deploying BeeGFS HA services. -
The second method involves manually creating the inventory, playbook, group variables, and host variables using the examples found in the
beegfs_on_custom_configurations/examples/
folder. Once all the files are populated according to your configuration, BeeGFS HA services can be deployed by running the following playbook:ansible-playbook -i <inventory>.yml <playbook>.yml
Use one of the gen
folders in beegfs_on_netapp
folder to deploy a standard BeeGFS configuration for your system.
Follow the instructions provided in the beegfs_client
README. The instructions
walk the user through creating an inventory, host variables, and a playbook to install the BeeGFS client service to a
node and, if desired, mount one or more beeGFS file systems (or the same file system multiple times).
Example playbook, inventory, and group/host variable files can be referenced in the beegfs_on_netapp
OR beegfs_on_custom_configurations/examples
folder. There
you can find examples of how to layout the playbook and inventory files. In depth configuration instructions can be
found on the NetApp Docs portal: BeeGFS on NetApp with E-Series Storage.
The variables used in the inventory files are not exhaustive, see additional variables from under role variables or other NetApp E-Series Ansible Collections (santricity, host).
- All BeeGFS cluster nodes must be available for the deployment process to function properly.
- Fencing agents should be used to ensure failed nodes are definitely down.
- WARNING: If
beegfs_ha_cluster_crm_config_options['stonith-enabled']
is set to false, then the fencing agent will not be configured! - For details on configuring different fencing agents, see Configuring Fencing in a High Availability Cluster.
- WARNING: If
- BeeGFS is added to the PRUNEFS list in /etc/updatedb.conf to prevent daily indexing scans on clients which causes performance degradations.
- Please refer to the documentation for your Linux distribution/version for guidance on the maximum cluster size. For example, the limitations for RedHat can be found here.
- Christian Whiteside (@mcwhiteside)
- Vu Tran (@VuTran007)