privatize libncurses (touches many, many programs)
[dragonfly.git] / sbin / newfs_hammer / newfs_hammer.8
blobae524646ba5774be3093747fc9219475939e9b90
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 December 31, 2015
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 16KB.
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
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.
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.
105 The options are as follows:
106 .Bl -tag -width indent
107 .It Fl L Ar label
109 .Nm HAMMER
110 file systems must be named and names should be unique on a
111 per-machine basis, although
113 does not prevent from making file systems with the same label.
114 .It Fl b Ar bootsize
115 Specify a fixed area in which a boot related kernel and data can be stored.
116 This area is currently unused.
118 .Ar bootsize
119 is specified in bytes.
120 .It Fl f
121 Force operation.
122 This is needed for the creation of a
123 .Nm HAMMER
124 file system less than 10GB size or
125 with less than 500MB UNDO/REDO FIFO.
126 This should not be used under normal circumstances.
127 .It Fl E
128 Use TRIM to erase the device's data before creating the file system.
129 The underlying device must have the TRIM sysctl enabled.
130 Only devices that support TRIM will have such a sysctl option
131 .Va ( kern.cam.da.X.trim_enabled ) .
132 .It Fl m Ar savesize
133 Specify a fixed area which
134 .Nm HAMMER
135 may use as a memory log.
136 This area is currently unused.
138 .Ar savesize
139 is specified in bytes.
140 .It Fl u Ar undosize
141 Specify the size of the fixed UNDO/REDO FIFO.
143 .Ar undosize
144 is specified in bytes.
145 By default 0.1% of the root
146 volume's size is used, with a reasonable minimum and a reasonable cap.
147 The UNDO/REDO FIFO is used to sequence meta-data out to the media for
148 instant crash recovery.
149 .It Fl V Ar version
150 Specify the
151 .Nm HAMMER
152 file system version to format.
153 By default
155 formats the file system using the highest production version number
156 supported by the
157 .Nm HAMMER
158 VFS by checking the
159 .Va vfs.hammer.supported_version
160 sysctl.
161 If you need to maintain compatibility with an older version of
162 .Nm HAMMER
163 you may specify the version with this option.
167 .Ar bootsize ,
168 .Ar savesize
170 .Ar undosize
171 must be given with a suffix of
172 .Cm K , M , G
174 .Cm T
175 meaning kilobyte, megabyte, gigabyte and terabyte.
176 Lower case can also be used for suffix.
177 .Sh EXIT STATUS
178 .Ex -std
179 .Sh EXAMPLES
180 Create a file system named
181 .Sq HOME
183 .Pa /dev/ad0s1d :
184 .Bd -literal -offset indent
185 newfs_hammer -L HOME /dev/ad0s1d
188 Create a file system named
189 .Sq TEMP
191 .Pa /dev/ad0s1d
193 .Pa /dev/ad1s1d :
194 .Bd -literal -offset indent
195 newfs_hammer -L TEMP /dev/ad0s1d /dev/ad1s1d
197 .Sh SEE ALSO
198 .Xr disklabel32 5 ,
199 .Xr disklabel64 5 ,
200 .Xr HAMMER 5 ,
201 .Xr fdisk 8 ,
202 .Xr gpt 8 ,
203 .Xr hammer 8 ,
204 .Xr mount_hammer 8 ,
205 .Xr newfs 8
206 .Sh HISTORY
209 utility first appeared in
210 .Dx 1.11 .
211 .Sh AUTHORS
212 .An Matthew Dillon Aq Mt dillon@backplane.com