~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/admin-guide/device-mapper/vdo.rst

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /Documentation/admin-guide/device-mapper/vdo.rst (Version linux-6.12-rc7) and /Documentation/admin-guide/device-mapper/vdo.rst (Version linux-6.6.60)


  1 .. SPDX-License-Identifier: GPL-2.0-only          
  2                                                   
  3 dm-vdo                                            
  4 ======                                            
  5                                                   
  6 The dm-vdo (virtual data optimizer) device map    
  7 block-level deduplication, compression, and th    
  8 mapper target, it can add these features to th    
  9 with any file system. The vdo target does not     
 10 corruption, relying instead on integrity prote    
 11 it. It is strongly recommended that lvm be use    
 12 lvmvdo(7).                                        
 13                                                   
 14 Userspace component                               
 15 ===================                               
 16                                                   
 17 Formatting a vdo volume requires the use of th    
 18 at:                                               
 19                                                   
 20 https://github.com/dm-vdo/vdo/                    
 21                                                   
 22 In most cases, a vdo target will recover from     
 23 next time it is started. In cases where it enc    
 24 error (either during normal operation or crash    
 25 enter or come up in read-only mode. Because re    
 26 data-loss, a positive action must be taken to     
 27 mode. The 'vdoforcerebuild' tool, available fr    
 28 prepare a read-only vdo to exit read-only mode    
 29 the vdo target will rebuild its metadata the n    
 30 started. Although some data may be lost, the r    
 31 internally consistent and the target will be w    
 32                                                   
 33 The repo also contains additional userspace to    
 34 inspect a vdo target's on-disk metadata. Fortu    
 35 rarely needed except by dm-vdo developers.        
 36                                                   
 37 Metadata requirements                             
 38 =====================                             
 39                                                   
 40 Each vdo volume reserves 3GB of space for meta    
 41 its configuration. It is helpful to check that    
 42 deduplication and compression is not cancelled    
 43 requirements. An estimation of the space saved    
 44 be computed with the vdo estimator tool, which    
 45                                                   
 46 https://github.com/dm-vdo/vdoestimator/           
 47                                                   
 48 Target interface                                  
 49 ================                                  
 50                                                   
 51 Table line                                        
 52 ----------                                        
 53                                                   
 54 ::                                                
 55                                                   
 56         <offset> <logical device size> vdo V4     
 57         <storage device size> <minimum I/O siz    
 58         <block map era length> [optional argum    
 59                                                   
 60                                                   
 61 Required parameters:                              
 62                                                   
 63         offset:                                   
 64                 The offset, in sectors, at whi    
 65                 space begins.                     
 66                                                   
 67         logical device size:                      
 68                 The size of the device which t    
 69                 in sectors. Must match the cur    
 70                 volume.                           
 71                                                   
 72         storage device:                           
 73                 The device holding the vdo vol    
 74                                                   
 75         storage device size:                      
 76                 The size of the device holding    
 77                 of 4096-byte blocks. Must matc    
 78                 volume.                           
 79                                                   
 80         minimum I/O size:                         
 81                 The minimum I/O size for this     
 82                 bytes. Valid values are 512 or    
 83                 is 4096.                          
 84                                                   
 85         block map cache size:                     
 86                 The size of the block map cach    
 87                 blocks. The minimum and recomm    
 88                 If the logical thread count is    
 89                 must be at least 4096 blocks p    
 90                                                   
 91         block map era length:                     
 92                 The speed with which the block    
 93                 modified block map pages. A sm    
 94                 reduce the amount of time spen    
 95                 increased block map writes dur    
 96                 maximum and recommended value     
 97                 is 1.                             
 98                                                   
 99 Optional parameters:                              
100 --------------------                              
101 Some or all of these parameters may be specifi    
102                                                   
103 Thread related parameters:                        
104                                                   
105 Different categories of work are assigned to s    
106 the number of threads in each group can be con    
107                                                   
108 If <hash>, <logical>, and <physical> are all s    
109 all three thread types will be handled by a si    
110 values are non-zero, all of them must be non-z    
111                                                   
112         ack:                                      
113                 The number of threads used to     
114                 completing a bio calls an arbi    
115                 outside the vdo volume, thread    
116                 volume to continue processing     
117                 completion is slow. The defaul    
118                                                   
119         bio:                                      
120                 The number of threads used to     
121                 storage. Threads of this type     
122                 continue processing requests e    
123                 slow. The default is 4.           
124                                                   
125         bioRotationInterval:                      
126                 The number of bios to enqueue     
127                 switching to the next thread.     
128                 than 0 and not more than 1024;    
129                                                   
130         cpu:                                      
131                 The number of threads used to     
132                 as hashing and compression. Th    
133                                                   
134         hash:                                     
135                 The number of threads used to     
136                 deduplication based on the has    
137                 default is 0.                     
138                                                   
139         logical:                                  
140                 The number of threads used to     
141                 based on the logical address o    
142                 is 0; the maximum is 60.          
143                                                   
144         physical:                                 
145                 The number of threads used to     
146                 underlying storage device. At     
147                 the vdo is chosen; the vdo sto    
148                 enough to have at least 1 slab    
149                 default is 0; the maximum is 1    
150                                                   
151 Miscellaneous parameters:                         
152                                                   
153         maxDiscard:                               
154                 The maximum size of discard bi    
155                 blocks. I/O requests to a vdo     
156                 into 4096-byte blocks, and pro    
157                 However, discard requests to a    
158                 automatically split to a large    
159                 4096-byte blocks in a single b    
160                 at a time. Increasing this val    
161                 performance, at the cost of in    
162                 individual discard requests. T    
163                 the maximum is UINT_MAX / 4096    
164                                                   
165         deduplication:                            
166                 Whether deduplication is enabl    
167                 acceptable values are 'on' and    
168                                                   
169         compression:                              
170                 Whether compression is enabled    
171                 acceptable values are 'on' and    
172                                                   
173 Device modification                               
174 -------------------                               
175                                                   
176 A modified table may be loaded into a running,    
177 The modifications will take effect when the de    
178 modifiable parameters are <logical device size    
179 <maxDiscard>, <compression>, and <deduplicatio    
180                                                   
181 If the logical device size or physical device     
182 successful resume vdo will store the new value    
183 startups. These two parameters may not be decr    
184 size may not exceed 4 PB. The physical device     
185 least 32832 4096-byte blocks if at all, and mu    
186 underlying storage device. Additionally, when     
187 slab size is chosen: the physical device size     
188 size which provides 8192 slabs, and each incre    
189 add at least one new slab.                        
190                                                   
191 Examples:                                         
192                                                   
193 Start a previously-formatted vdo volume with 1    
194 physical space, storing to /dev/dm-1 which has    
195                                                   
196 ::                                                
197                                                   
198         dmsetup create vdo0 --table \             
199         "0 2097152 vdo V4 /dev/dm-1 262144 409    
200                                                   
201 Grow the logical size to 4 GB.                    
202                                                   
203 ::                                                
204                                                   
205         dmsetup reload vdo0 --table \             
206         "0 8388608 vdo V4 /dev/dm-1 262144 409    
207         dmsetup resume vdo0                       
208                                                   
209 Grow the physical size to 2 GB.                   
210                                                   
211 ::                                                
212                                                   
213         dmsetup reload vdo0 --table \             
214         "0 8388608 vdo V4 /dev/dm-1 524288 409    
215         dmsetup resume vdo0                       
216                                                   
217 Grow the physical size by 1 GB more and increa    
218                                                   
219 ::                                                
220                                                   
221         dmsetup reload vdo0 --table \             
222         "0 10485760 vdo V4 /dev/dm-1 786432 40    
223         dmsetup resume vdo0                       
224                                                   
225 Stop the vdo volume.                              
226                                                   
227 ::                                                
228                                                   
229         dmsetup remove vdo0                       
230                                                   
231 Start the vdo volume again. Note that the logi    
232 must still match, but other parameters can cha    
233                                                   
234 ::                                                
235                                                   
236         dmsetup create vdo1 --table \             
237         "0 10485760 vdo V4 /dev/dm-1 786432 51    
238                                                   
239 Messages                                          
240 --------                                          
241 All vdo devices accept messages in the form:      
242                                                   
243 ::                                                
244                                                   
245         dmsetup message <target-name> 0 <messa    
246                                                   
247 The messages are:                                 
248                                                   
249         stats:                                    
250                 Outputs the current view of th    
251                 by the vdostats userspace prog    
252                 buffer.                           
253                                                   
254         config:                                   
255                 Outputs useful vdo configurati    
256                 by users who want to recreate     
257                 want to know the creation conf    
258                                                   
259         dump:                                     
260                 Dumps many internal structures    
261                 not always safe to run, so it     
262                 a hung vdo. Optional parameter    
263                 dump are:                         
264                                                   
265                         viopool: The pool of I    
266                         pools: A synonym of 'v    
267                         vdo: Most of the struc    
268                         queues: Basic informat    
269                         threads: A synonym of     
270                         default: Equivalent to    
271                         all: All of the above.    
272                                                   
273         dump-on-shutdown:                         
274                 Perform a default dump next ti    
275                                                   
276                                                   
277 Status                                            
278 ------                                            
279                                                   
280 ::                                                
281                                                   
282     <device> <operating mode> <in recovery> <i    
283     <compression state> <physical blocks used>    
284                                                   
285         device:                                   
286                 The name of the vdo volume.       
287                                                   
288         operating mode:                           
289                 The current operating mode of     
290                 'normal', 'recovering' (the vo    
291                 with its metadata and is attem    
292                 'read-only' (an error has occu    
293                 volume to only support read op    
294                                                   
295         in recovery:                              
296                 Whether the vdo volume is curr    
297                 values may be 'recovering' or     
298                 recovering.                       
299                                                   
300         index state:                              
301                 The current state of the dedup    
302                 volume; values may be 'closed'    
303                 'offline', 'online', 'opening'    
304                                                   
305         compression state:                        
306                 The current state of compressi    
307                 may be 'offline' and 'online'.    
308                                                   
309         used physical blocks:                     
310                 The number of physical blocks     
311                                                   
312         total physical blocks:                    
313                 The total number of physical b    
314                 the difference between this va    
315                 <used physical blocks> is the     
316                 volume has left before being f    
317                                                   
318 Memory Requirements                               
319 ===================                               
320                                                   
321 A vdo target requires a fixed 38 MB of RAM alo    
322 that scale with the target:                       
323                                                   
324 - 1.15 MB of RAM for each 1 MB of configured b    
325   block map cache requires a minimum of 150 MB    
326 - 1.6 MB of RAM for each 1 TB of logical space    
327 - 268 MB of RAM for each 1 TB of physical stor    
328                                                   
329 The deduplication index requires additional me    
330 size of the deduplication window. For dense in    
331 GB of RAM per 1 TB of window. For sparse index    
332 of RAM per 10 TB of window. The index configur    
333 is formatted and may not be modified.             
334                                                   
335 Module Parameters                                 
336 =================                                 
337                                                   
338 The vdo driver has a numeric parameter 'log_le    
339 verbosity of logging from the driver. The defa    
340 (LOGLEVEL_INFO and more severe messages).         
341                                                   
342 Run-time Usage                                    
343 ==============                                    
344                                                   
345 When using dm-vdo, it is important to be aware    
346 behavior differs from other storage targets.      
347                                                   
348 - There is no guarantee that over-writes of ex    
349   Because the underlying storage may be multip    
350   an existing block generally requires a vdo t    
351   available.                                      
352                                                   
353 - When blocks are no longer in use, sending a     
354   blocks lets the vdo release references for t    
355   thinly provisioned, discarding unused blocks    
356   target from running out of space. However, d    
357   duplicate blocks, no discard request for any    
358   guaranteed to reclaim space.                    
359                                                   
360 - Assuming the underlying storage properly imp    
361   is resilient against crashes, however, unflu    
362   persist after a crash.                          
363                                                   
364 - Each write to a vdo target entails a signifi    
365   However, much of the work is paralellizable.    
366   achieve better throughput at higher I/O dept    
367   requests in parallel.                           
368                                                   
369 Tuning                                            
370 ======                                            
371                                                   
372 The vdo device has many options, and it can be    
373 choices without perfect knowledge of the workl    
374 configuration options must be set when a vdo t    
375 be changed without shutting it down completely    
376 changed while the target is active. Ideally, t    
377 workloads should be performed before deploying    
378 environments.                                     
379                                                   
380 The most important value to adjust is the bloc    
381 service a request for any logical address, a v    
382 the block map which holds the relevant mapping    
383 Performance will suffer when the working set d    
384 default, a vdo allocates 128 MB of metadata ca    
385 efficient access to 100 GB of logical space at    
386 up proportionally for larger working sets.        
387                                                   
388 The logical and physical thread counts should     
389 thread controls a disjoint section of the bloc    
390 threads increase parallelism and can increase     
391 control a disjoint section of the data blocks,    
392 threads can also increase throughput. However,    
393 resources and increase contention.                
394                                                   
395 Bio submission threads control the parallelism    
396 the underlying storage; fewer threads mean the    
397 reorder I/O requests for performance benefit,     
398 request has to wait longer before being submit    
399                                                   
400 Bio acknowledgment threads are used for finish    
401 done on dedicated threads since the amount of     
402 bio's callback can not be controlled by the vd    
403 is sufficient but additional threads may be be    
404 bios have CPU-heavy callbacks.                    
405                                                   
406 CPU threads are used for hashing and for compr    
407 compression enabled, more threads may result i    
408                                                   
409 Hash threads are used to sort active requests     
410 they should deduplicate; the most CPU intensiv    
411 threads are comparison of 4096-byte data block    
412 hash thread is sufficient.                        
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php