Merge branch 'vendor/DIALOG'
[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 .Dd October 7, 2011
34 .Dt NEWFS_HAMMER 8
35 .Os
36 .Sh NAME
37 .Nm newfs_hammer
38 .Nd construct a new HAMMER file system
39 .Sh SYNOPSIS
40 .Nm
41 .Fl L Ar label
42 .Op Fl \&Ef
43 .Op Fl b Ar bootsize
44 .Op Fl m Ar savesize
45 .Op Fl u Ar undosize
46 .Op Fl V Ar version
47 .Ar special ...
48 .Sh DESCRIPTION
49 The
50 .Nm
51 utility creates a
52 .Nm HAMMER
53 file system on device(s)
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 The first
65 .Ar special
66 specified becomes the
67 .Ar root-volume .
68 .Nm HAMMER
69 file systems are sector-size agnostic, however the
70 .Dx
71 implementation requires the sector size to be no larger than 16K.
72 .Nm HAMMER
73 file systems start at a relative offset of 0 and may only be created
74 under out-of-band disk labels
75 .Po
76 .Xr disklabel64 5
77 or
78 .Xr gpt 8
79 labels
80 .Pc ,
81 or in
82 .Xr disklabel32 5
83 partitions which do not overlap the label area (have a starting sector
84 greater than 16).
85 .Pp
86 .Nm HAMMER
87 file systems are designed for large storage systems, up to 1 Exabyte, and
88 will not operate efficiently on small storage systems.
89 The minimum recommended file system size is 50GB.
90 .Nm HAMMER
91 must reserve 500MB to 1GB of its storage for reblocking and UNDO/REDO.
92 In addition,
93 .Nm HAMMER
94 file systems operating normally, with full history
95 retention and daily snapshots, do not immediately reclaim space when
96 files are deleted.
97 A regular system maintenance job runs once a day by
98 .Xr periodic 8
99 to handle reclamation.
100 .Pp
101 .Nm HAMMER
102 works best when the machine's normal workload would not otherwise fill
103 the file system up in the course of 60 days of operation.
104 .Pp
105 The options are as follows:
106 .Bl -tag -width indent
107 .It Fl L Ar label
108 All
109 .Nm HAMMER
110 file systems must be named and names should be unique on a
111 per-machine basis.
112 .It Fl b Ar bootsize
113 Specify a fixed area in which a boot related kernel and data can be stored.
114 The
115 .Ar bootsize
116 is specified in bytes.
117 By default a boot area of approximately 4MB will be created.
118 .It Fl f
119 Force operation.
120 This is needed for the creation of a
121 .Nm HAMMER
122 file system less than 10GB size or
123 with less than 500MB UNDO/REDO FIFO.
124 This should not be used under normal circumstances.
125 .It Fl E
126 Use TRIM to erase the device's data before creating the file system.
127 The underlying device must have the TRIM sysctl enabled.
128 Only devices that support TRIM will have such a sysctl option
129 .Va ( kern.cam.da.X.trim_enabled ) .
130 .It Fl m Ar savesize
131 Specify a fixed area which
132 .Nm HAMMER
133 may use as a memory log.
134 This area is currently unused.
135 The
136 .Ar savesize
137 is specified in bytes.
138 .It Fl u Ar undosize
139 Specify the size of the fixed UNDO/REDO FIFO.
140 The
141 .Ar undosize
142 is specified in bytes.
143 By default 0.1% of the root
144 volume's size is used, with a reasonable minimum and a reasonable cap.
145 The UNDO/REDO FIFO is used to sequence meta-data out to the media for
146 instant crash recovery.
147 .It Fl V Ar version
148 Specify the
149 .Nm HAMMER
150 file system version to format.
151 By default
152 .Nm
153 formats the file system using the highest production version number
154 supported by the
155 .Nm HAMMER
156 VFS by checking the
157 .Va vfs.hammer.supported_version
158 sysctl.
159 If you need to maintain compatibility with an older version of
160 .Nm HAMMER
161 you may specify the version with this option.
162 .El
163 .Pp
164 The
165 .Ar bootsize ,
166 .Ar savesize
167 and
168 .Ar undosize
169 must be given with a suffix of
170 .Cm K , M , G
171 or
172 .Cm T
173 meaning kilobyte, megabyte, gigabyte and terabyte.
174 Lower case can also be used for suffix.
175 .Sh EXAMPLES
176 .Bd -literal -offset indent
177 newfs_hammer -L Home /dev/ad0s1d
178 .Ed
179 .Pp
180 Create a file system named
181 .Sq Home
182 on
183 .Pa /dev/ad0s1d .
184 .Sh DIAGNOSTICS
185 Exit status is 0 on success and 1 on error.
186 .Sh SEE ALSO
187 .Xr disklabel32 5 ,
188 .Xr disklabel64 5 ,
189 .Xr HAMMER 5 ,
190 .Xr fdisk 8 ,
191 .Xr gpt 8 ,
192 .Xr newfs 8
193 .Sh HISTORY
194 The
195 .Nm
196 utility first appeared in
197 .Dx 1.11 .
198 .Sh AUTHORS
199 .An Matthew Dillon Aq Mt dillon@backplane.com