source: postlfs/filesystems/lvm2.xml@ 09765cf

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 7.10 7.9 8.0 8.1 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt nosym perl-modules plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition trunk upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since 09765cf was 09765cf, checked in by Pierre Labastie <pieere@…>, 8 years ago

LVM and mdadm: Add a warning against kernel versions 4.1 and 4.2, which have
a broken RAID implementation

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@16572 af4574ff-66df-0310-9fd7-8a98e5e911e0

  • Property mode set to 100644
File size: 12.7 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7 <!ENTITY lvm2-download-http " ">
8 <!ENTITY lvm2-download-ftp "ftp://sources.redhat.com/pub/lvm2/releases/LVM2.&lvm2-version;.tgz">
9 <!ENTITY lvm2-md5sum "80af5af726949bbbb2aceb15b24b7d20">
10 <!ENTITY lvm2-size "1.8 MB">
11 <!ENTITY lvm2-buildsize "31 MB (during tests, transcient files can grow up to around 500 MB)">
12 <!ENTITY lvm2-time "0.3 SBU (around 10 SBU with tests, see below)">
13]>
14
15<sect1 id="lvm2" xreflabel="LVM2-&lvm2-version;">
16 <?dbhtml filename="lvm2.html"?>
17
18 <sect1info>
19 <othername>$LastChangedBy$</othername>
20 <date>$Date$</date>
21 </sect1info>
22
23 <title>LVM2-&lvm2-version;</title>
24
25 <indexterm zone="lvm2">
26 <primary sortas="a-LVM2">LVM2</primary>
27 </indexterm>
28
29 <sect2 role="package">
30 <title>Introduction to LVM2</title>
31
32 <para>
33 The <application>LVM2</application> package is a set of tools that manage
34 logical partitions. It allows spanning of file systems across multiple
35 physical disks and disk partitions and provides for dynamic growing or
36 shrinking of logical partitions, mirroring and low storage footprint
37 snapshots.
38 </para>
39
40 &lfs78_checked;
41
42 <bridgehead renderas="sect3">Package Information</bridgehead>
43 <itemizedlist spacing="compact">
44 <listitem>
45 <para>
46 Download (HTTP): <ulink url="&lvm2-download-http;"/>
47 </para>
48 </listitem>
49 <listitem>
50 <para>
51 Download (FTP): <ulink url="&lvm2-download-ftp;"/>
52 </para>
53 </listitem>
54 <listitem>
55 <para>
56 Download MD5 sum: &lvm2-md5sum;
57 </para>
58 </listitem>
59 <listitem>
60 <para>
61 Download size: &lvm2-size;
62 </para>
63 </listitem>
64 <listitem>
65 <para>
66 Estimated disk space required: &lvm2-buildsize;
67 </para>
68 </listitem>
69 <listitem>
70 <para>
71 Estimated build time: &lvm2-time;
72 </para>
73 </listitem>
74 </itemizedlist>
75
76 <bridgehead renderas="sect3">LVM2 Dependencies</bridgehead>
77
78 <bridgehead renderas="sect4">Optional</bridgehead>
79 <para role="optional">
80 <xref linkend='mdadm'/>,
81 <xref linkend='reiserfs'/>,
82 <xref linkend='valgrind'/>,
83 <xref linkend='which'/>,
84 <xref linkend='xfsprogs'/> (all five may be used, but are not required,
85 for tests), and
86 <ulink url='https://github.com/jthornber/thin-provisioning-tools'>
87 thin-provisioning-tools</ulink>
88 </para>
89
90 <para condition="html" role="usernotes">User Notes:
91 <ulink url="&blfs-wiki;/lvm2"/>
92 </para>
93
94 <note>
95 <para>
96 Kernel versions in the 4.1 and 4.2 series have a broken RAID
97 implementation. If you want to use RAID type LV's, you should
98 install a kernel with version above 4.2.4. Note that several
99 tests use RAID logical volumes, and can generate a <quote>kernel
100 oops</quote> with faulty kernel version, which ususally renders the
101 system unusable.
102 </para>
103 </note>
104 </sect2>
105
106 <sect2 role="kernel" id="lvm2-kernel">
107 <title>Kernel Configuration</title>
108
109 <para>
110 Enable the following options in the kernel configuration
111 and recompile the kernel:
112 </para>
113
114 <note><para>
115 There are several other Device Mapper options in the kernel beyond those
116 listed below. In order to get reasonable results if running the
117 regression tests, all must be enabled either internally or as a module.
118 </para></note>
119
120<screen><literal>Device Drivers ---&gt;
121 [*] Multiple devices driver support (RAID and LVM) ---&gt; [CONFIG_MD]
122 &lt;*/M&gt; Device mapper support [CONFIG_BLK_DEV_DM]
123 &lt;*/M/ &gt; Crypt target support [CONFIG_DM_CRYPT]
124 &lt;*/M/ &gt; Snapshot target [CONFIG_DM_SNAPSHOT]
125 &lt;*/M/ &gt; Thin provisioning target [CONFIG_DM_THIN_PROVISIONING]
126 &lt;*/M/ &gt; Mirror target [CONFIG_DM_MIRROR]</literal></screen>
127
128 <indexterm zone="lvm2 lvm2-kernel">
129 <primary sortas="d-lvm2">lvm2</primary>
130 </indexterm>
131
132 </sect2>
133
134 <sect2 role="installation">
135 <title>Installation of LVM2</title>
136
137 <para>
138 Install <application>LVM2</application> by running the following
139 commands:
140 </para>
141
142<screen><userinput>./configure --prefix=/usr \
143 --exec-prefix= \
144 --enable-applib \
145 --enable-cmdlib \
146 --enable-pkgconfig \
147 --enable-udev_sync &amp;&amp;
148make</userinput></screen>
149
150 <para>
151 The tests use <application>udev</application> for logical volume
152 synchronization, so that the LVM udev rules and some utilities need to
153 be installed before running the tests. If you are installing
154 <application>LVM2</application> for the first time, and do not
155 want to install the full package before running the tests, the minimal
156 set of utilities can be installed by running the following instructions
157 as the <systemitem class="username">root</systemitem> user:
158 </para>
159
160<screen role="root"><userinput>make -C tools install_dmsetup_dynamic &amp;&amp;
161make -C udev install &amp;&amp;
162make -C libdm install</userinput></screen>
163
164 <para>
165 To test the results, issue: <command>make check_local</command> as the
166 <systemitem class="username">root</systemitem> user. Other targets are
167 available and can be listed with <command>make -C test help</command>.
168 The test timings are very dependent on the speed of the disk(s), and on
169 the number of enabled kernel options. A number of tests may fail.
170 One test has been reported to hang, and can be disabled via <command>rm
171 test/shell/snapshot-remove-dmsetup.sh</command>. Other tests may hang
172 with kernel versions in the 4.1 and 4.2 series (see above). They can be
173 removed as well if necessary. The tests generate a lot
174 of kernel messages, which may clutter your terminal. You can disable them
175 by issuing <command>dmesg -D</command> before running the tests (do not
176 forget to issue <command>dmesg -E</command> when tests are done).
177 </para>
178
179 <para>
180 Now, as the <systemitem class="username">root</systemitem> user:
181 </para>
182
183<screen role="root"><userinput>make install</userinput></screen>
184
185 </sect2>
186
187 <sect2 role="commands">
188 <title>Command Explanations</title>
189
190 <para>
191 <parameter>--enable-applib</parameter>: This switch enables
192 building of the shared application library.
193 </para>
194
195 <para>
196 <parameter>--enable-cmdlib</parameter>: This switch enables
197 building of the shared command library. It is required
198 when building the event daemon.
199 </para>
200
201 <para>
202 <parameter>--enable-pkgconfig</parameter>: This switch enables
203 installation of <command>pkg-config</command> support files.
204 </para>
205
206 <para>
207 <parameter>--enable-udev_sync</parameter>: This switch enables
208 synchronisation with <application>Udev</application> processing.
209 </para>
210
211 <para>
212 <option>--enable-dmeventd</option>: This switch enables
213 building of the <application>Device Mapper</application>
214 event daemon.
215 </para>
216
217 <para>
218 <option>--enable-lvmetad</option>: This switch enables
219 building of the <application>LVM</application> metadata daemon,
220 which avoids scanning all the filesystems when an lvm command is
221 run.
222 </para>
223
224 </sect2>
225
226 <sect2 role="content">
227 <title>Contents</title>
228
229 <segmentedlist>
230 <segtitle>Installed Programs</segtitle>
231 <segtitle>Installed Libraries</segtitle>
232 <segtitle>Installed Directories</segtitle>
233
234 <seglistitem>
235 <seg>
236 blkdeactivate, dmeventd (optional), dmsetup, fsadm, lvm, lvmconf,
237 lvmdump, lvmetad (optional), and vgimportclone. There are also
238 numerous symbolic links to lvm that implement specific
239 functionalities
240 </seg>
241 <seg>
242 libdevmapper.so, liblvm2app.so and liblvm2cmd.so; optional:
243 libdevmapper-event.so, libdevmapper-event-lvm2.so,
244 libdevmapper-event-lvm2mirror.so, libdevmapper-event-lvm2snapshot.so,
245 libdevmapper-event-lvm2raid.so, and libdevmapper-event-lvm2thin.so
246 </seg>
247 <seg>
248 /etc/lvm and
249 /lib/device-mapper (optional)
250 </seg>
251 </seglistitem>
252 </segmentedlist>
253
254 <variablelist>
255 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
256 <?dbfo list-presentation="list"?>
257
258 <?dbhtml list-presentation="table"?>
259
260 <varlistentry id="blkdeactivate">
261 <term><command>blkdeactivate</command></term>
262 <listitem>
263 <para>
264 utility to deactivate block device.
265 </para>
266 <indexterm zone="lvm2 blkdeactivate">
267 <primary sortas="b-blkdeactivate">blkdeactivate</primary>
268 </indexterm>
269 </listitem>
270 </varlistentry>
271
272 <varlistentry id="dmeventd">
273 <term><command>dmeventd</command></term>
274 <listitem>
275 <para>
276 (optional) is the Device Mapper event daemon.
277 </para>
278 <indexterm zone="lvm2 dmeventd">
279 <primary sortas="b-dmeventd">dmeventd</primary>
280 </indexterm>
281 </listitem>
282 </varlistentry>
283
284 <varlistentry id="dmsetup">
285 <term><command>dmsetup</command></term>
286 <listitem>
287 <para>
288 is a low level logical volume management tool.
289 </para>
290 <indexterm zone="lvm2 dmsetup">
291 <primary sortas="b-dmsetup">dmsetup</primary>
292 </indexterm>
293 </listitem>
294 </varlistentry>
295
296 <varlistentry id="fsadm">
297 <term><command>fsadm</command></term>
298 <listitem>
299 <para>
300 is a utility used to resize or check filesystem on a device.
301 </para>
302 <indexterm zone="lvm2 fsadm">
303 <primary sortas="b-fsadm">fsadm</primary>
304 </indexterm>
305 </listitem>
306 </varlistentry>
307
308 <varlistentry id="lvm">
309 <term><command>lvm</command></term>
310 <listitem>
311 <para>
312 provides the command-line tools for <application>LVM2</application>.
313 Commands are implemented via sympolic links to this program to
314 manage physical devices (pv*), volume groups (vg*) and logical
315 volumes (lv*).
316 </para>
317 <indexterm zone="lvm2 lvm">
318 <primary sortas="b-lvm">lvm</primary>
319 </indexterm>
320 </listitem>
321 </varlistentry>
322
323 <varlistentry id="lvmconf">
324 <term><command>lvmconf</command></term>
325 <listitem>
326 <para>
327 is a script that modifies the locking configuration in
328 the <application>LVM2</application> configuration file.
329 </para>
330 <indexterm zone="lvm2 lvmconf">
331 <primary sortas="b-lvmconf">lvmconf</primary>
332 </indexterm>
333 </listitem>
334 </varlistentry>
335
336 <varlistentry id="lvmdump">
337 <term><command>lvmdump</command></term>
338 <listitem>
339 <para>
340 is a tool used to dump various information concerning
341 <application>LVM2</application>.
342 </para>
343 <indexterm zone="lvm2 lvmdump">
344 <primary sortas="b-lvmdump">lvmdump</primary>
345 </indexterm>
346 </listitem>
347 </varlistentry>
348
349 <varlistentry id="lvmetad">
350 <term><command>lvmetad</command></term>
351 <listitem>
352 <para>
353 (optional) is the LVM metadata daemon.
354 </para>
355 <indexterm zone="lvm2 lvmetad">
356 <primary sortas="b-lvmetad">lvmetad</primary>
357 </indexterm>
358 </listitem>
359 </varlistentry>
360
361 <varlistentry id="vgimportclone">
362 <term><command>vgimportclone</command></term>
363 <listitem>
364 <para>
365 is used to import a duplicated VG (e.g. hardware snapshot).
366 </para>
367 <indexterm zone="lvm2 vgimportclone">
368 <primary sortas="b-vgimportclone">vgimportclone</primary>
369 </indexterm>
370 </listitem>
371 </varlistentry>
372
373 <varlistentry id="libdevmapper">
374 <term><filename class='libraryfile'>libdevmapper.so</filename></term>
375 <listitem>
376 <para>
377 contains the <application>Device Mapper</application> API
378 functions.
379 </para>
380 <indexterm zone="lvm2 libdevmapper">
381 <primary sortas="c-libdevmapper">libdevmapper.so</primary>
382 </indexterm>
383 </listitem>
384 </varlistentry>
385
386 </variablelist>
387
388 </sect2>
389
390</sect1>
Note: See TracBrowser for help on using the repository browser.