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