https://github.com/netapp/beegfs
https://github.com/netapp/beegfs
netapp-public
Last synced: 23 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/netapp/beegfs
- Owner: NetApp
- Created: 2020-03-19T19:10:02.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2024-05-08T14:29:31.000Z (almost 2 years ago)
- Last Synced: 2025-04-09T23:38:20.310Z (10 months ago)
- Topics: netapp-public
- Language: Shell
- Homepage:
- Size: 1.65 MB
- Stars: 27
- Watchers: 5
- Forks: 11
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
Awesome Lists containing this project
README
# NetApp E-Series BeeGFS Collection
NetApp has [partnered with ThinkParQ](https://www.netapp.com/blog/solution-support-for-beegfs-and-e-series/) (the
company behind [BeeGFS](https://blog.netapp.com/beegfs-for-beginners/)) to deliver high performing, highly scalable, yet
cost effective storage solutions. The `netapp_eseries.beegfs` collection contains roles and playbooks to automate
deploying BeeGFS on NetApp E-Series, as described in NetApp's
[deployment guides and technical reports](https://docs.netapp.com/us-en/beegfs/). This approach enables the delivery of
end-to-end storage solutions using Infrastructure as Code (IaC).
This collection supports both NetApp Verified Architectures (NVAs) and Custom Architectures. NVA designs are thoroughly
tested and provide customers with reference configurations and sizing guidance to minimize deployment risk and
accelerate time to market. NetApp also supports custom BeeGFS architectures running on NetApp hardware, giving customers
and partners flexibility designing file systems to meet a wide range of requirements. Both approaches leverage Ansible
for deployment, providing an appliance-like approach managing BeeGFS at any scale across a flexible range of hardware.
Additional information about the collection architectures can be found in:
- [NetApp Verified Architectures (NVA)](https://docs.netapp.com/us-en/beegfs/beegfs-solution-overview.html)
- [Custom Architectures](https://docs.netapp.com/us-en/beegfs/custom-architectures-overview.html)
The roles in this collection make it easy to start automating BeeGFS and E-Series, providing copy-and-update example
inventory files and playbooks. The roles are designed and developed for specific BeeGFS major releases in either a high
availability (HA) or non-HA mode of operation.
## Compatibility
This collection version has been tested with ansible-core **2.19**.
### Tested BeeGFS Configuration
| BeeGFS Service | BeeGFS Version | Operating System |
| -------------- | -------------- | ---------------- |
| beegfs-mgmtd | 8.2 | RedHat 9.4 |
| beegfs-meta | 8.2 | RedHat 9.4 |
| beegfs-storage | 8.2 | RedHat 9.4 |
| beegfs-client | 8.2 | Ubuntu 22.04 LTS, Ubuntu 24.04 LTS |
| beegfs-tools | 8.2 | Ubuntu 22.04 LTS, Ubuntu 24.04 LTS |
| beegfs-utils | 8.2 | Ubuntu 22.04 LTS, Ubuntu 24.04 LTS |
### Tested Block Node Configuration
| Platform | SANtricity OS version | Protocol |
| -------------| --------------------- | --------- |
| EF600 | 11.90 or newer | NVMe/IB |
Additional information about tested configurations can be found in the [test matrix](docs/beegfs_ha/test_matrix.md).
## Requirements
- The Ansible control node must have the following installed:
- python3: 3.12 or later
- pip3: 25.1 or later
- NetApp E-Series Ansible Collections:
- [netapp_eseries.santricity](https://galaxy.ansible.com/ui/repo/published/netapp_eseries/santricity/) 2.0.0 or
later.
- [netapp_eseries.host](https://galaxy.ansible.com/ui/repo/published/netapp_eseries/host/) 2.0.0 or later.
- The following Python packages must be installed via pip:
- ansible-core
- cryptography
- jinja2
- ipaddr
- netaddr
- passlib
- pyyaml
- resolvelib
- Passwordless SSH must be configured from the Ansible control node to all BeeGFS HA nodes and client nodes. Do not set
up passwordless SSH to the block nodes. This is neither supported nor required. To set up passwordless SSH, follow these
steps:
1. On the Ansible control node, if needed, generate a pair of public keys using `ssh-keygen`
2. Set up passwordless SSH to each of the file/client nodes using `ssh-copy-id `.
- The BeeGFS HA nodes must have the following configured:
- HA repositories containing the necessary packages (pacemaker, corosync, fence-agents-all, resource-agents, pcs) are
enabled via package manager.
- Enable command example: `subscription-manager repo-override repo=rhel-9-for-x86_64-highavailability-rpms --add=enabled:1`
## Getting Started with this Collection
Install the collection to your Ansible control node using the `ansible-galaxy` cli:
```
ansible-galaxy collection install netapp_eseries.beegfs
```
The `netapp_eseries.beegfs` collection will automatically install the following collection dependencies:
- `netapp_eseries.santricity`
- `netapp_eseries.host`
- `ansible.posix`
- `ansible.utils`
- `ansible.windows`
- `community.general`
After installing the collection, build the inventory and playbook files according to your BeeGFS cluster requirements
using the instructions in the [getting started README](getting_started/README.md) document.
## Submitting Questions and Feedback
For questions, feature requests, or to report an issue, submit them at https://github.com/netappeseries/beegfs/issues.
## License
BSD-3-Clause
## Maintainer Information
- Christian Whiteside (@mcwhiteside)
- Vu Tran (@VuTran007)