Merge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly
[dragonfly.git] / sbin / newfs_hammer / newfs_hammer.8
1 .\" Copyright (c) 2007 The DragonFly Project.  All rights reserved.
2 .\" 
3 .\" This code is derived from software contributed to The DragonFly Project
4 .\" by Matthew Dillon <dillon@backplane.com>
5 .\" 
6 .\" Redistribution and use in source and binary forms, with or without
7 .\" modification, are permitted provided that the following conditions
8 .\" are met:
9 .\" 
10 .\" 1. Redistributions of source code must retain the above copyright
11 .\"    notice, this list of conditions and the following disclaimer.
12 .\" 2. Redistributions in binary form must reproduce the above copyright
13 .\"    notice, this list of conditions and the following disclaimer in
14 .\"    the documentation and/or other materials provided with the
15 .\"    distribution.
16 .\" 3. Neither the name of The DragonFly Project nor the names of its
17 .\"    contributors may be used to endorse or promote products derived
18 .\"    from this software without specific, prior written permission.
19 .\" 
20 .\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21 .\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22 .\" LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
23 .\" FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE
24 .\" COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
25 .\" INCIDENTAL, SPECIAL, EXEMPLARY OR CONSEQUENTIAL DAMAGES (INCLUDING,
26 .\" BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
27 .\" LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
28 .\" AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
29 .\" OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
30 .\" OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
31 .\" SUCH DAMAGE.
32 .\" 
33 .\" $DragonFly: src/sbin/newfs_hammer/newfs_hammer.8,v 1.10 2008/07/27 16:47:19 thomas Exp $
34 .Dd July 24, 2008
35 .Dt NEWFS_HAMMER 8
36 .Os
37 .Sh NAME
38 .Nm newfs_hammer
39 .Nd construct a new HAMMER file system
40 .Sh SYNOPSIS
41 .Nm
42 .Fl L Ar label
43 .Op Fl b Ar bootsize
44 .Op Fl f
45 .Op Fl m Ar savesize
46 .Op Fl u Ar undosize
47 .Ar special ...
48 .Sh DESCRIPTION
49 The
50 .Nm
51 utility creates a
52 .Nm HAMMER
53 file system on device
54 .Ar special .
55 If multiple devices are specified a single
56 .Nm HAMMER
57 file system is created
58 which spans all of them.
59 Each
60 .Ar special
61 will constitute a volume which the
62 .Nm HAMMER
63 file system is built on.
64 .Nm HAMMER
65 file systems are sector-size agnostic, however the
66 .Dx
67 implementation requires the sector size to be no larger than 16K.
68 .Nm HAMMER
69 file systems start at a relative offset of 0 and may only be created
70 under out-of-band disk labels
71 .Po
72 .Xr disklabel64 5
73 or
74 .Xr gpt 8
75 labels
76 .Pc ,
77 or in
78 .Xr disklabel 5
79 partitions which do not overlap the label area (have a starting sector
80 greater then 16).
81 .Pp
82 .Nm HAMMER
83 filesystems are designed for large storage systems, up to 1 Exabyte, and
84 will not operate efficiently on small storage systems.
85 The minimum recommended filesystem size is 50GB.
86 .Nm HAMMER
87 must reserve 500MB to 1GB of its storage for reblocking and UNDO.
88 In addition, HAMMER filesystems operating normally, with full history
89 retention and daily snapshots, do not immediately reclaim space when
90 files are deleted.  A regular system maintainance cron job runs once
91 a day to handle reclamation.
92 .Pp
93 .Nm HAMMER
94 works best when the machine's normal workload would not otherwise fill
95 the filesystem up in the course of 60 days of operation.
96 .Pp
97 The options are as follows:
98 .Bl -tag -width indent
99 .It Fl L Ar label
100 All
101 .Nm HAMMER
102 file systems must be named and names should be unique on a
103 per-machine basis.
104 .It Fl b Ar bootsize
105 Specify a fixed area in which a boot related kernel and data can be stored.
106 The
107 .Ar bootsize
108 is specified in bytes.
109 By default a boot area of approximately 4MB will be created.
110 .It Fl f
111 Force the creation of a
112 .Nm HAMMER
113 file system with less than 100M UNDO FIFO.
114 This should not be used under normal circumstances.
115 .It Fl m Ar savesize
116 Specify a fixed area which
117 .Nm HAMMER
118 may use as a memory log.
119 This area is currently unused.
120 The
121 .Ar savesize
122 is specified in bytes.
123 .It Fl u Ar undosize
124 Specify the size of the fixed UNDO FIFO.
125 The
126 .Ar undosize
127 is specified in bytes.
128 By default 0.1% of the root
129 volume's size is used, with a reasonable minimum and a reasonable cap.
130 The UNDO FIFO is used to sequence meta-data out to the media for instant
131 crash recovery.
132 .El
133 .Pp
134 The
135 .Ar bootsize ,
136 .Ar savesize
137 and
138 .Ar undosize
139 can be given with a suffix of
140 .Cm K , M , G
141 or
142 .Cm T
143 meaning kilo, mega, giga and tera. Lower case can also be used for suffix.
144 .Sh EXAMPLES
145 .Bd -literal -offset indent
146 newfs_hammer -L Home /dev/ad0s1d
147 .Ed
148 .Pp
149 Create a file system named
150 .Sq Home
151 on
152 .Pa /dev/ad0s1d .
153 .Sh DIAGNOSTICS
154 Exit status is 0 on success and 1 on error.
155 .Sh SEE ALSO
156 .Xr disklabel 5 ,
157 .Xr disklabel64 5 ,
158 .Xr HAMMER 5 ,
159 .Xr fdisk 8 ,
160 .Xr gpt 8 ,
161 .Xr newfs 8
162 .Sh HISTORY
163 The
164 .Nm
165 utility first appeared in
166 .Dx 1.11 .
167 .Sh AUTHORS
168 .An Matthew Dillon Aq dillon@backplane.com