root/THOUGHTS

Revision f2bf8050b5209fc83636f5c2f0a2c6955229da5d, 2.4 kB (checked in by Mark Harrison <mark@omniti.com>, 5 years ago)

Adding a thoughts file on development of the replay feature

  • Property mode set to 100644
Line 
1 - On the client side, you have to keep just the last incremental snapshot
2
3 - What do you do if the snapshot isn't there?
4     * Bail out noisily
5     * Perhaps give the user some info on what to do to fix this
6
7 - Implement the filesystem backup as a different type than
8     incremental/full - type 'd' - dataset
9     dataset/d/dset - method name in various situations
10
11 - Looking through the plan_and_run function:
12
13     - zetaback_agent -l lists the filesystem and snapshots - that will need
14     changing scan_for
15     - scan_for_backups() looks for backups and makes a backup dir if needed.
16     This needs changing to support zfs filesystems and make a zfs filesystem
17     if needed.
18     - The bit after 'should we do a backup?' comment is where the backup type
19     is determined. We should return something in backup_info for last dataset
20     backup.
21     - Force full/force incremental need dealing with there - we could probably
22       just ignore them.
23     - The if($backup_type eq ....) lines
24         - add another for dataset
25         - Delete the old snapshot after the backup
26         - The backup needs an old snapshot to diff against
27
28 - The lock file location needs to be changed? - it currently acquires the lock
29   in the store itself.
30   - Depends on the filesystem format. It may not need to be changed if there
31     is nothing in the filesystem itself.
32
33
34 Filesystem layout:
35
36 store = /data/zetaback/%h
37
38 Auto detect the zfs filesystem for store. Store _has_ to be the root of a zfs
39 filesystem in this case:
40
41     zfs list -H | \
42         perl -na -e 'next unless ($F[-1] eq "/data/zetaback"); print "$F[0]\n";'
43
44     If no output is found, give up and print an error (store isn't a zfs
45     filesystem)
46
47 Store in data/zetaback/%h/%z
48     %h == hostname
49     %z == zfs filesystem
50     Question:
51         do we store data/zones/nnn as
52             data/zetaback/%h/data/zones/nnn
53         or as
54             data/zetaback/%h/data_zones_nnn
55     Issues are:
56         What if the data/zones/nnn is backed up before data/zones?
57             You can only receive into a non-existing filesystem (full) or into
58             a filesystem with an existing backup snapshot. This won't be the
59             case if you store as data/zones/nnn and data/zones/nnn is backed
60             up first - you will have a blank data/zones filesystem with no
61             __zb_dset_ snapshot to work from.
62         If we store as data_zones_nnn however, it's not as intuitive to access.
63     Do data_zones_nnn for now - it presents fewer issues.
Note: See TracBrowser for help on using the browser.