(no commit message)
[ikiwiki.git] / hammerscript / index.mdwn
1 Notes for Justin and Samuel to pass back and forth.
2
3
4 Introducing HAMMER (sjg)
5
6 * About filesystems (what they do and how they do it, in brief)
7 * Storage is exploding, facts
8 * Users need features to manage the increasing complexity of storage management
9 * Backups
10 * Recovery
11 * Snapshots / A "safety net"
12
13 The problems everyone thinks they have, but really don't -or- The problems HAMMER was NOT designed to solve
14
15 * Only somewhat suitable for large enterprise deployments
16 * Not the primary design goal
17 * Plenty of room to improve in this arena
18 * Not really suitable for small systems
19 * Still performs well under memory constraint
20 * Can be tuned to work
21
22 The nail
23
24 * 2+ disk deployments, 1+ per server
25 * 1-2+ server deployments
26 * Low tolerance for data loss
27 * "Most common low-end datacenter and home server scenarios"
28
29 How HAMMER compares to its peers and predecessors (sjg)
30
31 Traditional filesystems
32
33 * UFS
34 * Ext2/3
35 * FAT
36 * General how & why
37 * Conclusions
38
39 Modern filesystem trends
40
41 * Ext4
42 * BTRFS
43 * ZFS
44 * Conclusions
45 * The design and rationale of HAMMER
46   
47 Getting to know HAMMER (jcs)
48
49 DragonFly, at its inception in 2003, was intended to be a single-system-image operating system, able to run on multiple machines but presenting a single running operating system to the user.  The increase in CPU cores has made that less desirable as a target, but being able to move data from volume to volume, no matter the location, is still useful.  
50
51 Hammer is a filesystem designed to mirror disk volumes from server to server, retaining history and deduplicating data.  Development started in 2007, and was first released with DragonFly 2.0.  Deduplication was added in 2008 (??) and released with version 2.8.  (??)
52
53 Hammer is a historical, fine-grained file system, saving the state of the disk every time the system commits to disk.  That fine-grained history means that old versions of files can be accessed at any point in time, live, as long as you have the disk space to hold that history of changes.  In addition, entire snapshots of Hammer volumes are saved, with read-only versions of the disk sitting for access.  This happens automatically, even with deleted files.  The amount of disk history retained is configurable.
54
55 DragonFly also is able to mirror volumes from one disk to another, or from one machine to another, or even one machine to many slave machines.  It works over relatively slow links, too.  A Hammer volume can be mirrored to another off-site system as a backup strategy, or even to another local disk and a remote one at the same time.  The amount of history retention for each master and slave Hammer volume can be configured separately, so a large Hammer slave can be set to hold multiple months of disk activity, while the smaller Hammer master can keep much less, to conserve space.
56
57 * Deduplication
58 * fast fsck, crc
59
60 Deploying HAMMER
61
62 * Home fileserver
63 * (explain)
64 * Small datacenter deployment
65 * (explain)
66 * Leveraging swapcache
67 * (explain)
68
69 HAMMER recipes, a guide for the impatient. (jcs)
70
71 * Recovering an over-written file
72 * Recovering a deleted file
73 * Freeing disk space
74 * Creating a snapshot