Comments (12)
Project is stagnating due to lack of active maintainers.
@aqw I propose we create issue and let folks apply to become new maintainers of project.
from zfsnap.
I am waiting for it
from zfsnap.
This might exist best as a separate utility / script. There are plenty of organizations that will never ever ever permit their (production / out front / DZM hosts) to connect to the backup hosts. In plenty of cases, it would be impossible (whether technically or politically) to do so.
In most cases, the backup software is permitted to connect to any / all hosts. In my idea case, the backup software drives the shipping of the snapshots from $production hosts to backup hosts, ala:
$backup_host # ssh prodhost 'zfsnap-getter -opts fs_name' | zfs receive -opts zvol/zsnaps
In this case, "Automatically determine the most recent zfsnap snapshot" is quite easy, and so too would "not require zfsnap be installed on the destination server," as only a zfsend
/ zfship
/ zfsnap-getter
agent would be needed. In the very common use case of a production host with small fast SSDs and big slow spinners for Nearline Backups, the zfsnap-getter can also run locally.
from zfsnap.
I can only strongly agree with Matt. A connection backup-host to to-be-backed-up host would have a much greater acceptance.
from zfsnap.
@neuhalje I have a script that does this if there is interest. It might be confusing as I have noticed there already has been a script submitted for this for 2.1 #20 although it pushes zfs snapshots rather than pulling them as you suggest.
from zfsnap.
I'd also like this feature. My use case is that I am using zfsnap (2.0 beta) to make snapshots. I have an external hard drive with a zfs pool that I would like to sync all those snapshots too. I'd like zfsnap to automatically figure out what snapshots are not available on the "remote" pool and move them over using send/receive.
A few thoughts:
- it might be helpful if the command would work in both directions. From a security perspective, push connections give you the benefit that a single server (the backup-storage server) doesn't have access to multiple other devices. But other orgs are going to need a pull setup due to firewall issues. I think you are going to see both setups in practice.
- I think the idea here to use limit ssh access with a wrapper (see https://github.com/jgoerzen/simplesnap
simplesnapwrap
) is really important to limit the damage possible, due to the need for root access, if either side of the connection gets compromised. - I'd like to see the tool also be able to work locally (no SSH, both pools are on the backed-up system)
- Eventually, it would be helpful to have a way to specify different retention periods for the local and remote sides. But, fwiw, I'd rather have a functioning send command first.
Other resources related to this idea for reference:
- http://wiki.complete.org/ZFSAutoSnapshots (links out to multiple other places)
- http://www.znapzend.org/ (does a lot, Perl)
- https://github.com/mk01/zfs-auto-snapshot
- http://www.bolthole.com/solaris/zrep/
from zfsnap.
@rsyring Just an observation, but I donβt think root access is required (on FreeBSD, at least). It is possible to grant a non-root backup user backup-user
permission to send and hold snapshots for a filesystem or volume. e.g.
zfs allow backup-user send zroot
zfs allow backup-user hold zroot
(The zfs allow
command is pretty flexible β see the man page for details.)
from zfsnap.
Ok I have uploaded the scripts I use here. Some of the stuff is probably pretty ugly, but it works, I would love to hear any suggestions for improvements. The zfs_backup.sh script is the relevant backups pulled by backup server script.
Some improvements that need to be made to make this stuff more generalized is taking in options, using methods, support for other transfer methods beyond ssh.
Sorry @rsyring my scripts assume we are working with multiple ZFS systems and use key based ssh. But what I have could possibly be a starting point for you. Local systems pretty much have their problems solved already just using zfs send pool/fs | zfs receive poolb. All you have to do from there is use something like the for loops and if compare I use to identify common snaps to send incrementals in an automated fashion.
from zfsnap.
What's the state of this one? Will #83 be merged?
from zfsnap.
@graudeejs I agree. That would be great. :-)
from zfsnap.
Opened #109
from zfsnap.
Is the only use case for this to have the software figure out which snapshots don't yet exist on the target server? Or is there more to what this feature does?
from zfsnap.
Related Issues (20)
- Argument list too long while deleting old snapshots
- Possibly relying on createtxg and guid properties HOT 4
- smb.conf for zfsnap HOT 1
- Request: Add support for a pre- and post-script HOT 4
- How do I use zfsnap to backup snapshots of one pool to another? HOT 2
- daily snapshots generated, which I never set up HOT 4
- How to use xPERIODICx scripts? HOT 1
- Wanted: new maintainer HOT 7
- zfSnap -d command is not working HOT 2
- zfsnap_delete periodic script needs filesystem arguments
- Make prefixes not need - at the end HOT 3
- Disable filtering when destroying HOT 1
- [feature] Add an option to store TTL as ZFS property - instead of being part of the snapshot name HOT 1
- FATAL: trying to delete zfs pool or filesystem? WTF?
- redirection to stderr prevents use in systemd-services HOT 6
- Recursive snapshot without parent directory
- Is this still an active project? HOT 3
- Delete any snapshots that have expired? HOT 3
- Free predefined amount of space by removing snapshots
- Possibility to use inotify to trigger snapshots HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from zfsnap.