]> git.sur5r.net Git - bacula/docs/blob - docs/manual/dvd.tex
ebl add log_stdout method
[bacula/docs] / docs / manual / dvd.tex
1 %%
2 %%
3
4 \section*{DVD Volumes}
5 \label{_DVDChapterStart}
6 \index[general]{DVD Volumes}
7 \index[general]{Writing DVDs}
8 \index[general]{DVD Writing}
9 \index[general]{Volumes!DVD}
10 \addcontentsline{toc}{section}{DVD Volumes}
11
12 Bacula allows you to specify that you want to write to DVD. However,
13 this feature is implemented only in version 1.37 or later.
14 You may in fact write to DVD+RW, DVD+R, DVD-R, or DVD-RW 
15 media. The actual process used by Bacula is to first write
16 the image to a spool directory, then when the Volume reaches
17 a certain size or,  at your option, at the end of a Job, Bacula
18 will transfer the image from the spool directory to the
19 DVD.  The actual work of transferring the image is done
20 by a script {\bf dvd-handler}, and the heart of that
21 script is a program called {\bf growisofs} which allows
22 creating or adding to a DVD ISO filesystem.
23
24 You must have {\bf dvd+rw-tools} loaded on your system for DVD writing to
25 work.  Please note that the original {\bf dvd+rw-tools} package does {\bf
26 NOT} work with Bacula.  You must apply a patch which can be found in the
27 {\bf patches} directory of Bacula sources with the name
28 {\bf dvd+rw-tools-5.21.4.10.8.bacula.patch} for version 5.21 of the tools,
29 or patch {bf dvd+rw-tools-6.1.bacula.patch} if you have version 6.1       
30 on your system. Unfortunately, this requires you to build the dvd_rw-tools
31 from source.
32
33 The fact that Bacula cannot use the OS to write directly
34 to the DVD makes the whole process a bit more error prone than
35 writing to a disk or a tape, but nevertheless, it does work if you
36 use some care to set it up properly. However, at the current time
37 (26 August 2006) we still consider this code to be experimental and of 
38 BETA quality.  As a consequence, please do careful testing before relying
39 on DVD backups in production.
40
41 The remainder of this chapter explains the various directives that you can
42 use to control the DVD writing.
43
44 \label{DVDdirectives}
45
46 \subsection*{DVD Specific SD Directives} 
47 \index[general]{Directives!DVD}
48 \index[general]{DVD Specific SD Directives }
49 \addcontentsline{toc}{subsection}{DVD Specific SD Directives}
50
51 The following directives are added to the Storage daemon's
52 Device resource.
53
54 \begin{description}
55
56 \item [Requires Mount = {\it Yes|No}]
57    \index[sd]{Requires Mount  }
58    You must set this directive to {\bf yes} for DVD-writers,  and to {\bf no} for
59    all other devices (tapes/files).  This directive indicates if the device
60    requires to be mounted using the {\bf Mount Command}.
61    To be able to write a DVD, the following directives must also be
62    defined: {\bf Mount Point},  {\bf Mount Command}, {\bf Unmount Command} and
63    {\bf Write Part Command}.
64
65 \item [Mount Point = {\it directory}]
66    \index[sd]{Mount Point}
67    Directory where the device can be mounted. 
68
69 \item [Mount Command = {\it name-string}]
70    \index[sd]{Mount Command}
71    Command that must be executed to mount the device. Although the
72    device is written directly, the mount command is necessary in
73    order to determine the free space left on the DVD. Before the command is 
74    executed, \%a is replaced with the Archive Device, and \%m with the Mount 
75    Point.
76
77    Most frequently, you will define it as follows:  
78
79 \footnotesize
80 \begin{verbatim}
81   Mount Command = "/bin/mount -t iso9660 -o ro %a %m"
82 \end{verbatim}
83 \normalsize
84
85 \item [Unmount Command = {\it name-string}]
86    \index[sd]{Unmount Command}
87    Command that must be executed to unmount the device. Before the command  is
88    executed, \%a is replaced with the Archive Device, and \%m with the  Mount
89    Point.
90
91    Most frequently, you will define it as follows:  
92
93 \footnotesize
94 \begin{verbatim}
95   Unmount Command = "/bin/umount %m"
96 \end{verbatim}
97 \normalsize
98
99 \item [Write Part Command = {\it name-string}]
100    \index[sd]{Write Part Command  }
101    Command that must be executed to write a part to the device. Before the 
102    command is executed, \%a is replaced with the Archive Device, \%m with the 
103    Mount Point, \%e is replaced with 1 if we are writing the first part,
104    and with 0 otherwise, and \%v with the current part filename.
105
106    For a DVD, you will most frequently specify the Bacula supplied  {\bf
107    dvd-handler} script as follows:  
108
109 \footnotesize
110 \begin{verbatim}
111   Write Part Command = "/path/dvd-handler %a write %e %v"
112 \end{verbatim}
113 \normalsize
114
115   Where {\bf /path} is the path to your scripts install directory, and
116   dvd-handler is the Bacula supplied script file.  
117   This command will already be present, but commented out,
118   in the default bacula-sd.conf file. To use it, simply remove
119   the comment (\#) symbol.
120
121
122 \item [Free Space Command = {\it name-string}]
123    \index[sd]{Free Space Command  }
124    Command that must be executed to check how much free space is left on the 
125    device. Before the command is executed,\%a is replaced with the Archive
126    Device, \%m with the Mount Point, \%e is replaced with 1 if we are writing
127    the first part, and with 0 otherwise, and \%v with the current part filename.
128
129    For a DVD, you will most frequently specify the Bacula supplied  {\bf
130    dvd-handler} script as follows:  
131
132 \footnotesize
133 \begin{verbatim}
134   Free Space Command = "/path/dvd-handler %a free"
135 \end{verbatim}
136 \normalsize
137
138   Where {\bf /path} is the path to your scripts install directory, and
139   dvd-freespace is the Bacula supplied script file.
140   If you want to specify your own command, please look at the code in
141   dvd-handler to see what output Bacula expects from this command.
142   This command will already be present, but commented out,
143   in the default bacula-sd.conf file. To use it, simply remove
144   the comment (\#) symbol.
145
146   If you do not set it, Bacula will expect there is always free space on the
147   device. 
148
149 \end{description}
150
151 In addition to the directives specified above, you must also
152 specify the other standard Device resource directives. Please see the
153 sample DVD Device resource in the default bacula-sd.conf file. Be sure
154 to specify the raw device name for {\bf Archive Device}. It should 
155 be a name such as {\bf /dev/cdrom} or {\bf /media/cdrecorder} or
156 {\bf /dev/dvd} depending on your system.  It will not be a name such
157 as {\bf /mnt/cdrom}.
158
159
160 \subsection*{DVD Specific Director Directives} 
161 \index[general]{Directives!DVD}
162 \index[general]{DVD Specific Director Directives }
163 \addcontentsline{toc}{subsection}{DVD Specific Director Directives}
164
165 The following directives are added to the Director's Job resource.
166     
167 \label{WritePartAfterJob}
168 \begin{description}
169 \item [Write Part After Job = \lt{}yes|no\gt{}]
170    \index[dir]{Write Part After Job }
171    If this directive is set to {\bf yes} (default {\bf no}), the
172    Volume written to a temporary spool file for the current Job will
173    be written to the DVD as a new part file
174    will be created after the job is finished.  
175
176    It should be set to {\bf yes} when writing to devices that require a mount
177    (for example DVD), so you are sure that the current part, containing
178    this job's data, is written to the device, and that no data is left in
179    the temporary file on the hard disk.  However, on some media, like DVD+R
180    and DVD-R, a lot of space (about 10Mb) is lost everytime a part is
181    written.  So, if you run several jobs each after another, you could set
182    this directive to {\bf no} for all jobs, except the last one, to avoid
183    wasting too much space, but to ensure that the data is written to the
184    medium when all jobs are finished.
185
186    This directive is ignored for devices other than DVDs.
187 \end{description}
188
189
190
191 \label{DVDpoints}
192 \subsection*{Other Points}
193 \index[general]{Points!Other }
194 \index[general]{Other Points }
195 \addcontentsline{toc}{subsection}{Other Points}
196
197 \begin{itemize}
198 \item Writing and reading of DVD+RW seems to work quite reliably
199    provided you are using the patched dvd+rw-mediainfo programs.
200    On the other hand, we do not have enough information to ensure
201    that DVD-RW or other forms of DVDs work correctly.
202 \item DVD+RW supports only about 1000 overwrites. Every time you
203    mount the filesystem read/write will count as one write. This can
204    add up quickly, so it is best to mount your DVD+RW filesystem read-only.
205    Bacula does not need the DVD to be mounted read-write, since it uses
206    the raw device for writing.
207 \item Reformatting DVD+RW 10-20 times can apparently make the medium 
208    unusable. Normally you should not have to format or reformat
209    DVD+RW media. If it is necessary, current versions of growisofs will
210    do so automatically.
211 \item We have had several problems writing to DVD-RWs (this does NOT
212   concern DVD+RW), because these media have two writing-modes: {\bf
213   Incremental Sequential} and {\bf Restricted Overwrite}.  Depending on
214   your device and the media you use, one of these modes may not work
215   correctly (e.g.  {\bf Incremental Sequential} does not work with my NEC
216   DVD-writer and Verbatim DVD-RW).
217
218   To retrieve the current mode of a DVD-RW, run:
219 \begin{verbatim}
220   dvd+rw-mediainfo /dev/xxx
221 \end{verbatim}
222   where you replace xxx with your DVD device name.
223
224   {\bf Mounted Media} line should give you the information.
225
226   To set the device to {\bf Restricted Overwrite} mode, run:
227 \begin{verbatim}
228   dvd+rw-format /dev/xxx
229 \end{verbatim}
230   If you want to set it back to the default {\bf Incremental Sequential} mode, run:
231 \begin{verbatim}
232   dvd+rw-format -blank /dev/xxx
233 \end{verbatim}
234
235 \item Bacula only accepts to write to blank DVDs. To quickly blank a DVD+/-RW, run
236   this command:
237 \begin{verbatim}
238   dd if=/dev/zero bs=1024 count=512 | growisofs -Z /dev/xxx=/dev/fd/0
239 \end{verbatim}
240   Then, try to mount the device, if it cannot be mounted, it will be considered
241   as blank by Bacula, if it can be mounted, try a full blank (see below).
242
243 \item If you wish to blank completely a DVD+/-RW, use the following:
244 \begin{verbatim}
245   growisofs -Z /dev/xxx=/dev/zero
246 \end{verbatim}
247   where you replace xxx with your DVD device name. However, note that this
248   blanks the whole DVD, which takes quite a long time (16 minutes on mine).
249 \item DVD+RW and DVD-RW support only about 1000 overwrites (i.e. don't use the
250 same medium for years if you don't want to have problems...).
251
252 \item For more informations about DVD writing, please look at the
253 \elink{dvd+rw-tools homepage}{http://fy.chalmers.se/~appro/linux/DVD+RW/}.
254 \end{itemize}