IBM / ibm-spectrum-scale-install-infra

Spectrum Scale Installation and Configuration
Apache License 2.0
65 stars 69 forks source link
ansible ansible-role gpfs ibm-spectrum-scale ibm-storage-scale spectrum-scale storage-scale

Important: You are viewing the main branch of this repository. If you've previously used the master branch in your own playbooks then you will need to make some changes in order to switch to the main branch. See MIGRATING.md for details.


IBM Storage Scale (GPFS) Deployment using Ansible Roles

Ansible project with multiple roles for installing and configuring IBM Storage Scale (GPFS) software defined storage.

Table of Contents

Features

Infrastructure minimal tested configuration

OS support

Common prerequisites

Core IBM Storage Scale prerequisites

Core IBM Storage Scale Cluster features

IBM Storage Scale Management GUI features

IBM Storage Scale Call Home features

IBM Storage Scale CES (SMB and NFS) Protocol supported features

Minimal tested Versions

The following Ansible versions are tested:

The following IBM Storage Scale versions are tested:

Specific OS requirements:

Prerequisites

Users need to have a basic understanding of the Ansible concepts for being able to follow these instructions. Refer to the Ansible User Guide if this is new to you.

Installation Instructions

Optional Role Variables

Users can define variables to override default values and customize behavior of the roles. Refer to VARIABLES.md for a full list of all supported configuration options.

Additional functionality can be enabled by defining further variables. Browse the examples in the samples/ directory to learn how to:

Available Roles

The following roles are available for you to reuse when assembling your own playbook:

Note that Core GPFS is the only mandatory role, all other roles are optional. Each of the optional roles requires additional configuration variables. Browse the examples in the samples/ directory to learn how to:

Cluster Membership

All hosts in the play are configured as nodes in the same IBM Storage Scale cluster. If you want to add hosts to an existing cluster then add at least one node from that existing cluster to the play.

You can create multiple clusters by running multiple plays. Note that you will need to reload the inventory to clear dynamic groups added by the IBM Storage Scale roles:

- name: Create one cluster
  hosts: cluster01
  roles: ...

- name: Refresh inventory to clear dynamic groups
  hosts: localhost
  connection: local
  gather_facts: false
  tasks:
    - meta: refresh_inventory

- name: Create another cluster
  hosts: cluster02
  roles: ...

Limitations

The roles in this project can (currently) be used to create new clusters or extend existing clusters. Similarly, new file systems can be created or extended. But this project does not remove existing nodes, disks, file systems or node classes. This is done on purpose — and this is also the reason why it can not be used, for example, to change the file system pool of a disk. Changing the pool requires you to remove and then re-add the disk from a file system, which is not currently in the scope of this project.

Furthermore, upgrades are not currently in scope of this role. IBM Storage Scale supports rolling online upgrades (by taking down one node at a time), but this requires careful planning and monitoring and might require manual intervention in case of unforeseen problems.

Troubleshooting

The roles in this project store configuration files in /var/mmfs/tmp on the first host in the play. These configuration files are kept to determine if definitions have changed since the previous run, and to decide if it's necessary to run certain IBM Storage Scale commands (again). When experiencing problems one can simply delete these configuration files from /var/mmfs/tmp in order to clear the cache — doing so forces re-application of all definitions upon the next run. As a downside, the next run may take longer than expected as it might re-run unnecessary IBM Storage Scale commands. This will automatically re-generate the cache.

Reporting Issues and Feedback

Please use the issue tracker to ask questions, report bugs and request features.

Contributing Code

We welcome contributions to this project, see CONTRIBUTING.md for more details.

Disclaimer

Please note: all roles / playbooks / modules / resources in this repository are released for use "AS IS" without any warranties of any kind, including, but not limited to their installation, use, or performance. We are not responsible for any damage or charges or data loss incurred with their use. You are responsible for reviewing and testing any scripts you run thoroughly before use in any production environment. This content is subject to change without notice.

Copyright and License

Copyright IBM Corporation, released under the terms of the Apache License 2.0.