source: postlfs/filesystems/lvm2.xml@ 13a9b259

perl-modules
Last change on this file since 13a9b259 was 13a9b259, checked in by Ken Moffat <ken@…>, 5 years ago

perl modules branch: Merge trunk revisions 20626 to 20656.

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/branches/perl-modules@20657 af4574ff-66df-0310-9fd7-8a98e5e911e0

  • Property mode set to 100644
File size: 14.5 KB
RevLine 
[8bc3edae]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
[13a9b259]7 <!ENTITY lvm2-download-http "https://sourceware.org/pub/lvm2/LVM2.&lvm2-version;.tgz">
8 <!ENTITY lvm2-download-ftp "ftp://sourceware.org/pub/lvm2/LVM2.&lvm2-version;.tgz">
9 <!ENTITY lvm2-md5sum "f63cc5feaadd3000138e73f7143ed370">
[8fef77a]10 <!ENTITY lvm2-size "2.3 MB">
[13a9b259]11 <!ENTITY lvm2-buildsize "33 MB (add at least 239 MB for tests in the /tmp directory; additionally transient files can grow up to around 500 MB)">
12 <!ENTITY lvm2-time "0.2 SBU (using parallelism=4; add 12 SBU for tests)">
[8bc3edae]13]>
14
[c627795]15<sect1 id="lvm2" xreflabel="LVM2-&lvm2-version;">
[8bc3edae]16 <?dbhtml filename="lvm2.html"?>
17
18 <sect1info>
19 <othername>$LastChangedBy$</othername>
20 <date>$Date$</date>
21 </sect1info>
22
[c627795]23 <title>LVM2-&lvm2-version;</title>
[8bc3edae]24
25 <indexterm zone="lvm2">
[c627795]26 <primary sortas="a-LVM2">LVM2</primary>
[8bc3edae]27 </indexterm>
28
29 <sect2 role="package">
[c627795]30 <title>Introduction to LVM2</title>
[8bc3edae]31
[c627795]32 <para>
[99fcc47]33 The <application>LVM2</application> package is a set of tools that manage
[c627795]34 logical partitions. It allows spanning of file systems across multiple
35 physical disks and disk partitions and provides for dynamic growing or
[99fcc47]36 shrinking of logical partitions, mirroring and low storage footprint
37 snapshots.
[c627795]38 </para>
[8bc3edae]39
[82e1be5]40 &lfs83_checked;
[8bc3edae]41
42 <bridgehead renderas="sect3">Package Information</bridgehead>
43 <itemizedlist spacing="compact">
[f60cf4a]44 <listitem>
[c627795]45 <para>
46 Download (HTTP): <ulink url="&lvm2-download-http;"/>
47 </para>
[f60cf4a]48 </listitem>
[8bc3edae]49 <listitem>
[c627795]50 <para>
51 Download (FTP): <ulink url="&lvm2-download-ftp;"/>
52 </para>
[8bc3edae]53 </listitem>
54 <listitem>
[c627795]55 <para>
56 Download MD5 sum: &lvm2-md5sum;
57 </para>
[8bc3edae]58 </listitem>
59 <listitem>
[c627795]60 <para>
61 Download size: &lvm2-size;
62 </para>
[8bc3edae]63 </listitem>
64 <listitem>
[c627795]65 <para>
66 Estimated disk space required: &lvm2-buildsize;
67 </para>
[8bc3edae]68 </listitem>
69 <listitem>
[c627795]70 <para>
71 Estimated build time: &lvm2-time;
72 </para>
[8bc3edae]73 </listitem>
74 </itemizedlist>
75
[b5e8375]76 <bridgehead renderas="sect3">LVM2 Dependencies</bridgehead>
77
[13a9b259]78 <bridgehead renderas="sect4">Required</bridgehead>
79 <para role="required">
80 <xref linkend='libaio'/>,
81 </para>
82
[b5e8375]83 <bridgehead renderas="sect4">Optional</bridgehead>
84 <para role="optional">
[99fcc47]85 <xref linkend='mdadm'/>,
86 <xref linkend='reiserfs'/>,
87 <xref linkend='valgrind'/>,
88 <xref linkend='which'/>,
89 <xref linkend='xfsprogs'/> (all five may be used, but are not required,
90 for tests), and
91 <ulink url='https://github.com/jthornber/thin-provisioning-tools'>
92 thin-provisioning-tools</ulink>
[b5e8375]93 </para>
94
[8bc3edae]95 <para condition="html" role="usernotes">User Notes:
[c627795]96 <ulink url="&blfs-wiki;/lvm2"/>
97 </para>
[09765cf]98
[e7670a4]99 <caution>
[09765cf]100 <para>
[e7670a4]101 Kernel versions between 4.1 and 4.4.1 have a broken RAID
102 implementation. If you want to use RAID type LV's, you should install
103 kernel version 4.4.2 or above. Note that several tests use RAID logical
104 volumes, and can generate a <quote>kernel oops</quote> with the faulty
105 kernel version, which usually renders the system unusable.
[09765cf]106 </para>
[e7670a4]107 </caution>
[8bc3edae]108 </sect2>
109
[c627795]110 <sect2 role="kernel" id="lvm2-kernel">
[7e1df8f9]111 <title>Kernel Configuration</title>
112
[c627795]113 <para>
[421128a1]114 Enable the following options in the kernel configuration
[c627795]115 and recompile the kernel:
116 </para>
[7e1df8f9]117
[b5e8375]118 <note><para>
119 There are several other Device Mapper options in the kernel beyond those
120 listed below. In order to get reasonable results if running the
121 regression tests, all must be enabled either internally or as a module.
[302a619]122 The tests will all time out if Magic SysRq key is not enabled.
[b5e8375]123 </para></note>
124
[7e1df8f9]125<screen><literal>Device Drivers ---&gt;
[421128a1]126 [*] Multiple devices driver support (RAID and LVM) ---&gt; [CONFIG_MD]
127 &lt;*/M&gt; Device mapper support [CONFIG_BLK_DEV_DM]
128 &lt;*/M/ &gt; Crypt target support [CONFIG_DM_CRYPT]
129 &lt;*/M/ &gt; Snapshot target [CONFIG_DM_SNAPSHOT]
[99fcc47]130 &lt;*/M/ &gt; Thin provisioning target [CONFIG_DM_THIN_PROVISIONING]
[302a619]131 &lt;*/M/ &gt; Mirror target [CONFIG_DM_MIRROR]
132Kernel hacking ---&gt;
133 [*] Magic SysRq key [CONFIG_MAGIC_SYSRQ]</literal></screen>
[7e1df8f9]134
135 <indexterm zone="lvm2 lvm2-kernel">
136 <primary sortas="d-lvm2">lvm2</primary>
137 </indexterm>
138
139 </sect2>
140
[8bc3edae]141 <sect2 role="installation">
[c627795]142 <title>Installation of LVM2</title>
[8bc3edae]143
[c627795]144 <para>
145 Install <application>LVM2</application> by running the following
146 commands:
147 </para>
[8bc3edae]148
[422bd2c]149<screen revision="sysv"><userinput>SAVEPATH=$PATH &amp;&amp;
[41d504a]150PATH=$PATH:/sbin:/usr/sbin &amp;&amp;
[e94d178]151./configure --prefix=/usr \
[4591404]152 --exec-prefix= \
153 --enable-cmdlib \
154 --enable-pkgconfig \
[46a9711b]155 --enable-udev_sync &amp;&amp;
[e94d178]156make &amp;&amp;
157PATH=$SAVEPATH &amp;&amp;
[422bd2c]158unset SAVEPATH</userinput></screen>
159
160<screen revision="systemd"><userinput>SAVEPATH=$PATH &amp;&amp;
161PATH=$PATH:/sbin:/usr/sbin &amp;&amp;
162./configure --prefix=/usr \
163 --exec-prefix= \
164 --with-confdir=/etc \
165 --enable-cmdlib \
166 --enable-pkgconfig \
167 --enable-udev_sync &amp;&amp;
168make &amp;&amp;
169PATH=$SAVEPATH &amp;&amp;
[e94d178]170unset SAVEPATH</userinput></screen>
[8bc3edae]171
[c627795]172 <para>
[99fcc47]173 The tests use <application>udev</application> for logical volume
174 synchronization, so that the LVM udev rules and some utilities need to
175 be installed before running the tests. If you are installing
176 <application>LVM2</application> for the first time, and do not
177 want to install the full package before running the tests, the minimal
178 set of utilities can be installed by running the following instructions
179 as the <systemitem class="username">root</systemitem> user:
180 </para>
181
182<screen role="root"><userinput>make -C tools install_dmsetup_dynamic &amp;&amp;
183make -C udev install &amp;&amp;
184make -C libdm install</userinput></screen>
185
186 <para>
187 To test the results, issue: <command>make check_local</command> as the
188 <systemitem class="username">root</systemitem> user. Other targets are
189 available and can be listed with <command>make -C test help</command>.
190 The test timings are very dependent on the speed of the disk(s), and on
[f9431b6]191 the number of enabled kernel options.
192 </para>
[20c731a]193
[6c6f393]194 <!-- Results for LVM2.2.02.176:
195 ### 292 tests: 177 passed, 46 skipped, 0 timed out, 60 warned, 9 failed
[20c731a]196 -->
197
[f9431b6]198 <para>
[af8a78d]199 The tests do not implement the <quote>expected fail</quote> possibility,
[e94d178]200 and a small number of test failures is expected by upstream. More
[f9431b6]201 failures may happen because some kernel options are missing. For example,
202 the lack of the <emphasis>dm-delay</emphasis> device mapper target may
[53375fc]203 explain some failures. Some tests are flagged
[e94d178]204 <quote>warned</quote> if
[f9431b6]205 <ulink url='https://github.com/jthornber/thin-provisioning-tools'>
206 thin-provisioning-tools</ulink> are not installed. A workaround is to
207 add the following flags to <command>configure</command>:
208 </para>
209
210<screen role="nodump"><userinput> --with-thin-check= \
211 --with-thin-dump= \
212 --with-thin-repair= \
213 --with-thin-restore= \
214 --with-cache-check= \
215 --with-cache-dump= \
216 --with-cache-repair= \
217 --with-cache-restore= \</userinput></screen>
218
219 <para>
[e94d178]220 Some tests may hang with kernel versions in the 4.1 and 4.2 series (see
221 above). They can be removed if necessary, for example: <command>rm
222 test/shell/lvcreate-large-raid.sh</command>. The tests generate a lot
[99fcc47]223 of kernel messages, which may clutter your terminal. You can disable them
224 by issuing <command>dmesg -D</command> before running the tests (do not
225 forget to issue <command>dmesg -E</command> when tests are done).
[fbcb3846]226
227 <note><simpara>The checks create device nodes in the /tmp directory. The
228 tests will fail if /tmp is mounted with the nodev
229 option.</simpara></note>
[c627795]230 </para>
[8bc3edae]231
[c627795]232 <para>
233 Now, as the <systemitem class="username">root</systemitem> user:
234 </para>
[8bc3edae]235
236<screen role="root"><userinput>make install</userinput></screen>
237
238 </sect2>
239
240 <sect2 role="commands">
241 <title>Command Explanations</title>
242
[e94d178]243 <para>
[41d504a]244 <command>PATH=$PATH:/sbin:/usr/sbin</command>: The path
[e94d178]245 must contain <filename class="directory">/sbin</filename> and
246 <filename class='directory'>/usr/sbin</filename> for proper system tool
[41d504a]247 detection by the <command>configure</command> script. This instruction
[41e2bf5]248 ensures that PATH is properly set even if you build as an unprivileged user.
[e94d178]249 </para>
250
[c627795]251 <para>
[2800af7]252 <parameter>--enable-cmdlib</parameter>: This switch enables
[c627795]253 building of the shared command library. It is required
254 when building the event daemon.
255 </para>
256
257 <para>
[2800af7]258 <parameter>--enable-pkgconfig</parameter>: This switch enables
[c627795]259 installation of <command>pkg-config</command> support files.
260 </para>
261
262 <para>
[2800af7]263 <parameter>--enable-udev_sync</parameter>: This switch enables
[c627795]264 synchronisation with <application>Udev</application> processing.
265 </para>
266
267 <para>
268 <option>--enable-dmeventd</option>: This switch enables
269 building of the <application>Device Mapper</application>
270 event daemon.
271 </para>
[8bc3edae]272
273 </sect2>
274
275 <sect2 role="content">
276 <title>Contents</title>
277
278 <segmentedlist>
279 <segtitle>Installed Programs</segtitle>
280 <segtitle>Installed Libraries</segtitle>
[c3c56b2]281 <segtitle>Installed Directories</segtitle>
[8bc3edae]282
283 <seglistitem>
[c627795]284 <seg>
[8ed30d52]285 blkdeactivate, dmeventd (optional), dmsetup, fsadm, lvm, lvmconf,
[13a9b259]286 and lvmdump. There are also
[09765cf]287 numerous symbolic links to lvm that implement specific
288 functionalities
[c627795]289 </seg>
290 <seg>
[422bd2c]291 libdevmapper.so, liblvm2app.so, and liblvm2cmd.so; optional:
[a037dab]292 libdevmapper-event.so, libdevmapper-event-lvm2.so,
293 libdevmapper-event-lvm2mirror.so, libdevmapper-event-lvm2snapshot.so,
[80454f5]294 libdevmapper-event-lvm2raid.so, and libdevmapper-event-lvm2thin.so
[c627795]295 </seg>
[c3c56b2]296 <seg>
[a037dab]297 /etc/lvm and
298 /lib/device-mapper (optional)
[c3c56b2]299 </seg>
[8bc3edae]300 </seglistitem>
301 </segmentedlist>
302
303 <variablelist>
304 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
305 <?dbfo list-presentation="list"?>
[61b95ac4]306
307 <?dbhtml list-presentation="table"?>
[8bc3edae]308
[8ed30d52]309 <varlistentry id="blkdeactivate">
310 <term><command>blkdeactivate</command></term>
311 <listitem>
312 <para>
[422bd2c]313 is a utility to deactivate block device.
[8ed30d52]314 </para>
315 <indexterm zone="lvm2 blkdeactivate">
316 <primary sortas="b-blkdeactivate">blkdeactivate</primary>
317 </indexterm>
318 </listitem>
319 </varlistentry>
320
[a037dab]321 <varlistentry id="dmeventd">
322 <term><command>dmeventd</command></term>
323 <listitem>
324 <para>
325 (optional) is the Device Mapper event daemon.
326 </para>
327 <indexterm zone="lvm2 dmeventd">
328 <primary sortas="b-dmeventd">dmeventd</primary>
329 </indexterm>
330 </listitem>
331 </varlistentry>
332
[8bc3edae]333 <varlistentry id="dmsetup">
334 <term><command>dmsetup</command></term>
335 <listitem>
[c627795]336 <para>
337 is a low level logical volume management tool.
338 </para>
[8bc3edae]339 <indexterm zone="lvm2 dmsetup">
340 <primary sortas="b-dmsetup">dmsetup</primary>
341 </indexterm>
342 </listitem>
343 </varlistentry>
344
345 <varlistentry id="fsadm">
346 <term><command>fsadm</command></term>
347 <listitem>
[c627795]348 <para>
[73fe507]349 is a utility used to resize or check filesystem on a device.
[c627795]350 </para>
[8bc3edae]351 <indexterm zone="lvm2 fsadm">
352 <primary sortas="b-fsadm">fsadm</primary>
353 </indexterm>
354 </listitem>
355 </varlistentry>
356
357 <varlistentry id="lvm">
358 <term><command>lvm</command></term>
359 <listitem>
[c627795]360 <para>
361 provides the command-line tools for <application>LVM2</application>.
362 Commands are implemented via sympolic links to this program to
363 manage physical devices (pv*), volume groups (vg*) and logical
364 volumes (lv*).
365 </para>
[8bc3edae]366 <indexterm zone="lvm2 lvm">
367 <primary sortas="b-lvm">lvm</primary>
368 </indexterm>
369 </listitem>
370 </varlistentry>
371
372 <varlistentry id="lvmconf">
373 <term><command>lvmconf</command></term>
374 <listitem>
[c627795]375 <para>
[0d7900a]376 is a script that modifies the locking configuration in
[c627795]377 the <application>LVM2</application> configuration file.
378 </para>
[8bc3edae]379 <indexterm zone="lvm2 lvmconf">
380 <primary sortas="b-lvmconf">lvmconf</primary>
381 </indexterm>
382 </listitem>
383 </varlistentry>
384
385 <varlistentry id="lvmdump">
386 <term><command>lvmdump</command></term>
387 <listitem>
[c627795]388 <para>
389 is a tool used to dump various information concerning
390 <application>LVM2</application>.
391 </para>
[8bc3edae]392 <indexterm zone="lvm2 lvmdump">
393 <primary sortas="b-lvmdump">lvmdump</primary>
394 </indexterm>
395 </listitem>
396 </varlistentry>
397
398 <varlistentry id="vgimportclone">
399 <term><command>vgimportclone</command></term>
400 <listitem>
[c627795]401 <para>
402 is used to import a duplicated VG (e.g. hardware snapshot).
403 </para>
[8bc3edae]404 <indexterm zone="lvm2 vgimportclone">
405 <primary sortas="b-vgimportclone">vgimportclone</primary>
406 </indexterm>
407 </listitem>
408 </varlistentry>
409
410 <varlistentry id="libdevmapper">
411 <term><filename class='libraryfile'>libdevmapper.so</filename></term>
412 <listitem>
[c627795]413 <para>
414 contains the <application>Device Mapper</application> API
415 functions.
416 </para>
[8bc3edae]417 <indexterm zone="lvm2 libdevmapper">
418 <primary sortas="c-libdevmapper">libdevmapper.so</primary>
419 </indexterm>
420 </listitem>
421 </varlistentry>
422
423 </variablelist>
424
425 </sect2>
426
427</sect1>
Note: See TracBrowser for help on using the repository browser.