Print this page
4185 New hash algorithm support
Split |
Close |
Expand all |
Collapse all |
--- old/usr/src/man/man5/zpool-features.5
+++ new/usr/src/man/man5/zpool-features.5
1 1 '\" te
2 2 .\" Copyright (c) 2013 by Delphix. All rights reserved.
3 3 .\" Copyright (c) 2013 by Saso Kiselkov. All rights reserved.
4 4 .\" Copyright (c) 2013, Joyent, Inc. All rights reserved.
5 5 .\" The contents of this file are subject to the terms of the Common Development
6 6 .\" and Distribution License (the "License"). You may not use this file except
7 7 .\" in compliance with the License. You can obtain a copy of the license at
8 8 .\" usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.
9 9 .\"
10 10 .\" See the License for the specific language governing permissions and
11 11 .\" limitations under the License. When distributing Covered Code, include this
12 12 .\" CDDL HEADER in each file and include the License file at
13 13 .\" usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this
14 14 .\" CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your
15 15 .\" own identifying information:
16 16 .\" Portions Copyright [yyyy] [name of copyright owner]
17 17 .TH ZPOOL-FEATURES 5 "Aug 27, 2013"
18 18 .SH NAME
19 19 zpool\-features \- ZFS pool feature descriptions
20 20 .SH DESCRIPTION
21 21 .sp
22 22 .LP
23 23 ZFS pool on\-disk format versions are specified via "features" which replace
24 24 the old on\-disk format numbers (the last supported on\-disk format number is
25 25 28). To enable a feature on a pool use the \fBupgrade\fR subcommand of the
26 26 \fBzpool\fR(1M) command, or set the \fBfeature@\fR\fIfeature_name\fR property
27 27 to \fBenabled\fR.
28 28 .sp
29 29 .LP
30 30 The pool format does not affect file system version compatibility or the ability
31 31 to send file systems between pools.
32 32 .sp
33 33 .LP
34 34 Since most features can be enabled independently of each other the on\-disk
35 35 format of the pool is specified by the set of all features marked as
36 36 \fBactive\fR on the pool. If the pool was created by another software version
37 37 this set may include unsupported features.
38 38 .SS "Identifying features"
39 39 .sp
40 40 .LP
41 41 Every feature has a guid of the form \fIcom.example:feature_name\fR. The reverse
42 42 DNS name ensures that the feature's guid is unique across all ZFS
43 43 implementations. When unsupported features are encountered on a pool they will
44 44 be identified by their guids. Refer to the documentation for the ZFS
45 45 implementation that created the pool for information about those features.
46 46 .sp
47 47 .LP
48 48 Each supported feature also has a short name. By convention a feature's short
49 49 name is the portion of its guid which follows the ':' (e.g.
50 50 \fIcom.example:feature_name\fR would have the short name \fIfeature_name\fR),
51 51 however a feature's short name may differ across ZFS implementations if
52 52 following the convention would result in name conflicts.
53 53 .SS "Feature states"
54 54 .sp
55 55 .LP
56 56 Features can be in one of three states:
57 57 .sp
58 58 .ne 2
59 59 .na
60 60 \fB\fBactive\fR\fR
61 61 .ad
62 62 .RS 12n
63 63 This feature's on\-disk format changes are in effect on the pool. Support for
64 64 this feature is required to import the pool in read\-write mode. If this
65 65 feature is not read-only compatible, support is also required to import the pool
66 66 in read\-only mode (see "Read\-only compatibility").
67 67 .RE
68 68
69 69 .sp
70 70 .ne 2
71 71 .na
72 72 \fB\fBenabled\fR\fR
73 73 .ad
74 74 .RS 12n
75 75 An administrator has marked this feature as enabled on the pool, but the
76 76 feature's on\-disk format changes have not been made yet. The pool can still be
77 77 imported by software that does not support this feature, but changes may be made
78 78 to the on\-disk format at any time which will move the feature to the
79 79 \fBactive\fR state. Some features may support returning to the \fBenabled\fR
80 80 state after becoming \fBactive\fR. See feature\-specific documentation for
81 81 details.
82 82 .RE
83 83
84 84 .sp
85 85 .ne 2
86 86 .na
87 87 \fBdisabled\fR
88 88 .ad
89 89 .RS 12n
90 90 This feature's on\-disk format changes have not been made and will not be made
91 91 unless an administrator moves the feature to the \fBenabled\fR state. Features
92 92 cannot be disabled once they have been enabled.
93 93 .RE
94 94
95 95 .sp
96 96 .LP
97 97 The state of supported features is exposed through pool properties of the form
98 98 \fIfeature@short_name\fR.
99 99 .SS "Read\-only compatibility"
100 100 .sp
101 101 .LP
102 102 Some features may make on\-disk format changes that do not interfere with other
103 103 software's ability to read from the pool. These features are referred to as
104 104 "read\-only compatible". If all unsupported features on a pool are read\-only
105 105 compatible, the pool can be imported in read\-only mode by setting the
106 106 \fBreadonly\fR property during import (see \fBzpool\fR(1M) for details on
107 107 importing pools).
108 108 .SS "Unsupported features"
109 109 .sp
110 110 .LP
111 111 For each unsupported feature enabled on an imported pool a pool property
112 112 named \fIunsupported@feature_guid\fR will indicate why the import was allowed
113 113 despite the unsupported feature. Possible values for this property are:
114 114
115 115 .sp
116 116 .ne 2
117 117 .na
118 118 \fB\fBinactive\fR\fR
119 119 .ad
120 120 .RS 12n
121 121 The feature is in the \fBenabled\fR state and therefore the pool's on\-disk
122 122 format is still compatible with software that does not support this feature.
123 123 .RE
124 124
125 125 .sp
126 126 .ne 2
127 127 .na
128 128 \fB\fBreadonly\fR\fR
129 129 .ad
130 130 .RS 12n
131 131 The feature is read\-only compatible and the pool has been imported in
132 132 read\-only mode.
133 133 .RE
134 134
135 135 .SS "Feature dependencies"
136 136 .sp
137 137 .LP
138 138 Some features depend on other features being enabled in order to function
139 139 properly. Enabling a feature will automatically enable any features it
140 140 depends on.
141 141 .SH FEATURES
142 142 .sp
143 143 .LP
144 144 The following features are supported on this system:
145 145 .sp
146 146 .ne 2
147 147 .na
148 148 \fB\fBasync_destroy\fR\fR
149 149 .ad
150 150 .RS 4n
151 151 .TS
152 152 l l .
153 153 GUID com.delphix:async_destroy
154 154 READ\-ONLY COMPATIBLE yes
155 155 DEPENDENCIES none
156 156 .TE
157 157
158 158 Destroying a file system requires traversing all of its data in order to
159 159 return its used space to the pool. Without \fBasync_destroy\fR the file system
160 160 is not fully removed until all space has been reclaimed. If the destroy
161 161 operation is interrupted by a reboot or power outage the next attempt to open
162 162 the pool will need to complete the destroy operation synchronously.
163 163
164 164 When \fBasync_destroy\fR is enabled the file system's data will be reclaimed
165 165 by a background process, allowing the destroy operation to complete without
166 166 traversing the entire file system. The background process is able to resume
167 167 interrupted destroys after the pool has been opened, eliminating the need
168 168 to finish interrupted destroys as part of the open operation. The amount
169 169 of space remaining to be reclaimed by the background process is available
170 170 through the \fBfreeing\fR property.
171 171
172 172 This feature is only \fBactive\fR while \fBfreeing\fR is non\-zero.
173 173 .RE
174 174
175 175 .sp
176 176 .ne 2
177 177 .na
178 178 \fB\fBempty_bpobj\fR\fR
179 179 .ad
180 180 .RS 4n
181 181 .TS
182 182 l l .
183 183 GUID com.delphix:empty_bpobj
184 184 READ\-ONLY COMPATIBLE yes
185 185 DEPENDENCIES none
186 186 .TE
187 187
188 188 This feature increases the performance of creating and using a large
189 189 number of snapshots of a single filesystem or volume, and also reduces
190 190 the disk space required.
191 191
192 192 When there are many snapshots, each snapshot uses many Block Pointer
193 193 Objects (bpobj's) to track blocks associated with that snapshot.
194 194 However, in common use cases, most of these bpobj's are empty. This
195 195 feature allows us to create each bpobj on-demand, thus eliminating the
196 196 empty bpobjs.
197 197
198 198 This feature is \fBactive\fR while there are any filesystems, volumes,
199 199 or snapshots which were created after enabling this feature.
200 200 .RE
201 201
202 202 .sp
203 203 .ne 2
204 204 .na
205 205 \fB\fBlz4_compress\fR\fR
206 206 .ad
207 207 .RS 4n
208 208 .TS
209 209 l l .
210 210 GUID org.illumos:lz4_compress
211 211 READ\-ONLY COMPATIBLE no
212 212 DEPENDENCIES none
213 213 .TE
214 214
215 215 \fBlz4\fR is a high-performance real-time compression algorithm that
216 216 features significantly faster compression and decompression as well as a
217 217 higher compression ratio than the older \fBlzjb\fR compression.
218 218 Typically, \fBlz4\fR compression is approximately 50% faster on
219 219 compressible data and 200% faster on incompressible data than
220 220 \fBlzjb\fR. It is also approximately 80% faster on decompression, while
221 221 giving approximately 10% better compression ratio.
222 222
223 223 When the \fBlz4_compress\fR feature is set to \fBenabled\fR, the
224 224 administrator can turn on \fBlz4\fR compression on any dataset on the
225 225 pool using the \fBzfs\fR(1M) command. Please note that doing so will
226 226 immediately activate the \fBlz4_compress\fR feature on the underlying
227 227 pool (even before any data is written). Since this feature is not
228 228 read-only compatible, this operation will render the pool unimportable
229 229 on systems without support for the \fBlz4_compress\fR feature. At the
230 230 moment, this operation cannot be reversed. Booting off of
231 231 \fBlz4\fR-compressed root pools is supported.
232 232 .RE
233 233
234 234 .sp
235 235 .ne 2
236 236 .na
237 237 \fB\fBspacemap_histogram\fR\fR
238 238 .ad
239 239 .RS 4n
240 240 .TS
241 241 l l .
242 242 GUID com.delphix:spacemap_histogram
243 243 READ\-ONLY COMPATIBLE yes
244 244 DEPENDENCIES none
245 245 .TE
246 246
247 247 This features allows ZFS to maintain more information about how free space
248 248 is organized within the pool. If this feature is \fBenabled\fR, ZFS will
249 249 set this feature to \fBactive\fR when a new space map object is created or
250 250 an existing space map is upgraded to the new format. Once the feature is
251 251 \fBactive\fR, it will remain in that state until the pool is destroyed.
252 252 .RE
253 253
254 254 .sp
255 255 .ne 2
256 256 .na
257 257 \fB\fBmulti_vdev_crash_dump\fR\fR
258 258 .ad
259 259 .RS 4n
260 260 .TS
261 261 l l .
262 262 GUID com.joyent:multi_vdev_crash_dump
263 263 READ\-ONLY COMPATIBLE no
264 264 DEPENDENCIES none
↓ open down ↓ |
264 lines elided |
↑ open up ↑ |
265 265 .TE
266 266
267 267 This feature allows a dump device to be configured with a pool comprised
268 268 of multiple vdevs. Those vdevs may be arranged in any mirrored or raidz
269 269 configuration.
270 270
271 271 When the \fBmulti_vdev_crash_dump\fR feature is set to \fBenabled\fR,
272 272 the administrator can use the \fBdumpadm\fR(1M) command to configure a
273 273 dump device on a pool comprised of multiple vdevs.
274 274
275 +.RE
276 +
277 +.sp
278 +.ne 2
279 +.na
280 +\fB\fBsha512\fR\fR
281 +.ad
282 +.RS 4n
283 +.TS
284 +l l .
285 +GUID org.illumos:sha512
286 +READ\-ONLY COMPATIBLE no
287 +DEPENDENCIES none
288 +.TE
289 +
290 +This feature enables the use of the SHA-512/256 truncated hash algorithm
291 +(FIPS 180-4) for checksum and dedup. The native 64-bit arithemtic of
292 +SHA-512 provides an approximate 50% performance boost over SHA-256 on
293 +64-bit hardware and is thus a good minimum-change replacement candidate
294 +for systems where hash performance is important, but these systems
295 +cannot for whatever reason utilize the faster \fBskein\fR and
296 +\fBedonr\fR algorithms.
297 +
298 +When the \fBsha512\fR feature is set to \fBenabled\fR, the administrator
299 +can turn on the \fBsha512\fR checksum on any dataset using the
300 +\fBzfs\fR(1M) command. Please note that doing so will immediately
301 +activate the \fBsha512\fR feature on the underlying pool (even before
302 +any data is written). Since this feature is not read-only compatible,
303 +this operation will render the pool unimportable on systems without
304 +support for the \fBsha512\fR feature. At the moment, this operation
305 +cannot be reversed. Booting off of pools utilizing SHA-512/256 is
306 +supported, provided that the appropriate GRUB stage2 module is
307 +installed.
308 +
309 +.RE
310 +
311 +.sp
312 +.ne 2
313 +.na
314 +\fB\fBskein\fR\fR
315 +.ad
316 +.RS 4n
317 +.TS
318 +l l .
319 +GUID org.illumos:skein
320 +READ\-ONLY COMPATIBLE no
321 +DEPENDENCIES none
322 +.TE
323 +
324 +This feature enables the use of the Skein hash algorithm for checksum
325 +and dedup. Skein is a high-performance secure hash algorithm that was a
326 +finalist in the NIST SHA-3 competition. It provides a very high security
327 +margin and high performance on 64-bit hardware (80% faster than
328 +SHA-256). This implementation also utilizes the new salted checksumming
329 +functionality in ZFS, which means that the checksum is pre-seeded with a
330 +secret 256-bit random key (stored on the pool) before being fed the data
331 +block to be checksummed. Thus the produced checksums are unique to a
332 +given pool, preventing hash collision attacks on systems with dedup.
333 +
334 +When the \fBskein\fR feature is set to \fBenabled\fR, the administrator
335 +can turn on the \fBskein\fR checksum on any dataset using the
336 +\fBzfs\fR(1M) command. Please note that doing so will immediately
337 +activate the \fBskein\fR feature on the underlying pool (even before any
338 +data is written). Since this feature is not read-only compatible, this
339 +operation will render the pool unimportable on systems without support
340 +for the \fBskein\fR feature. At the moment, this operation cannot be
341 +reversed. Booting off of pools using \fBskein\fR is \fBNOT\fR supported
342 +-- any attempt to enable \fBskein\fR on a root pool will fail with an
343 +error.
344 +
345 +.RE
346 +
347 +.sp
348 +.ne 2
349 +.na
350 +\fB\fBedonr\fR\fR
351 +.ad
352 +.RS 4n
353 +.TS
354 +l l .
355 +GUID org.illumos:edonr
356 +READ\-ONLY COMPATIBLE no
357 +DEPENDENCIES none
358 +.TE
359 +
360 +This feature enables the use of the Edon-R hash algorithm for checksum
361 +and dedup. Edon-R is a very high-performance hash algorithm that was part
362 +of the NIST SHA-3 competition. It provides extremely high hash
363 +performance (over 350% faster than SHA-256), but was not selected
364 +because of its unsuitability as a general purpose secure hash algorithm.
365 +This implementation utilizes the new salted checksumming functionality
366 +in ZFS, which means that the checksum is pre-seeded with a secret
367 +256-bit random key (stored on the pool) before being fed the data block
368 +to be checksummed. Thus the produced checksums are unique to a given
369 +pool, blocking hash collision attacks on systems with dedup.
370 +
371 +When the \fBedonr\fR feature is set to \fBenabled\fR, the administrator
372 +can turn on the \fBedonr\fR checksum on any dataset using the
373 +\fBzfs\fR(1M) command. Please note that doing so will immediately
374 +activate the \fBedonr\fR feature on the underlying pool (even before any
375 +data is written). Since this feature is not read-only compatible, this
376 +operation will render the pool unimportable on systems without support
377 +for the \fBedonr\fR feature. At the moment, this operation cannot be
378 +reversed. Booting off of pools using \fBedonr\fR is \fBNOT\fR supported
379 +-- any attempt to enable \fBedonr\fR on a root pool will fail with an
380 +error.
381 +
275 382 .SH "SEE ALSO"
276 383 \fBzpool\fR(1M)
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX