Version information
This version is compatible with:
- Puppet Enterprise 2018.1.x, 2017.3.x
- Puppet >= 5.0.0 < 6.0.0
- , , ,
Start using this module
Add this module to your Puppetfile:
mod 'ggrant-znapzend', '1.0.2'
Learn more about managing modules with a PuppetfileDocumentation
znapzend
This modules installs and configures ZnapZend. ZnapZend provides high performance open source ZFS backup with mbuffer and ssh support.
Table of Contents
- Description
- Setup - The basics of getting started with znapzend
- Usage - Configuration options and additional functionality
- Reference - An under-the-hood peek at what the module is doing and how
- Limitations - OS compatibility, etc.
Description
The ZnapZend module does the following:
- Installs ZnapZend from a package that you supply. An .rpm SPEC file is available, see https://github.com/asciiphil/znapzend-spec
- Configures ZnapZend via zfs dataset properties.
- Manages the 'znapzend' service.
Setup
What znapzend affects
This module has the following dependencies:
- caius/zfs_property Puppet module, which provides the functionality to get/set ZFS dataset properties.
- puppetlabs/stdlib
Setup Requirements
- ZFS on Linux must be installed, see Native ZFS on Linux
Beginning with znapzend
The module supplies sensible defaults for other values, via included Hiera configuration.
This is the minimum configuration required (for local snapshots via a defaulted snapshot plan):
class { 'znapzend':
dataset_backups =>
[
{ 'dataset' => 'tank/dataset1' }
]
}
Using Puppet and Hiera:
include znapzend
znapzend::dataset_backups:
- dataset: 'tank/dataset1'
A default source dataset plan of hourly backups kept for a day, and daily backups kept for a week will be applied.
Usage
A more complete example using most of the module features, using Puppet and Hiera:
include znapzend
znapzend::dataset_backups:
- dataset: nmsstore1
config:
destinations:
remote:
dst: root@foo.example.com
dst_plan:
- keep: 10 years
freq: 1 year
remote2:
dst: root@some.other.host
dst_plan:
- keep: 1 month
freq: 1 day
- keep: 6 months
freq: 1 week
- dataset: tank2/home
config:
overrides:
enabled: false
mbuffer_size: 2G
destinations:
totank1:
dst: root@tank1.example.com
dst_plan:
- keep: 1 week
freq: 30 minutes
Reference
Please see the Puppet Strings generated documentation for a list of classes, parameters, etc.
Limitations
Tested using Puppet 5.5 and CentOS 7.
Development
Pull requests/issues welcome.
Dependencies
- puppetlabs/stdlib (>= 4.24.0 < 5.0.0)
- caius/zfs_property (= 0.2.1)
Copyright 2018 Gordon Grant Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.