LVM2-2.02.177

LVM2 の概要

LVM2 パッケージは論理パーティションを管理します。 複数の物理ディスク間やディスクパーティション間にわたってのファイルシステム構築を実現し、論理パーティションの動的な拡大縮小の機能なども提供します。

本パッケージは LFS-8.3 において正しくビルドでき動作することが確認されています。

パッケージ情報

LVM2 Dependencies

Optional

mdadm-4.0, reiserfsprogs-3.6.27, Valgrind-3.13.0, Which-2.21, xfsprogs-4.18.0 (all five may be used, but are not required, for tests), and thin-provisioning-tools

ユーザー情報: http://wiki.linuxfromscratch.org/blfs/wiki/lvm2

[注意]

注意

Kernel versions between 4.1 and 4.4.1 have a broken RAID implementation. If you want to use RAID type LV's, you should install kernel version 4.4.2 or above. Note that several tests use RAID logical volumes, and can generate a 「kernel oops」 with the faulty kernel version, which usually renders the system unusable.

カーネルの設定

以下に示すカーネル設定のオプションを有効にして、カーネルを再コンパイルしてください。

[注記]

注記

There are several other Device Mapper options in the kernel beyond those listed below. In order to get reasonable results if running the regression tests, all must be enabled either internally or as a module. The tests will all time out if Magic SysRq key is not enabled.

Device Drivers --->
  [*] Multiple devices driver support (RAID and LVM) ---> [CONFIG_MD]
    <*/M>   Device mapper support                         [CONFIG_BLK_DEV_DM]
    <*/M/ >   Crypt target support                        [CONFIG_DM_CRYPT]
    <*/M/ >   Snapshot target                             [CONFIG_DM_SNAPSHOT]
    <*/M/ >   Thin provisioning target                    [CONFIG_DM_THIN_PROVISIONING]
    <*/M/ >   Mirror target                               [CONFIG_DM_MIRROR]
Kernel hacking --->
  [*] Magic SysRq key                                     [CONFIG_MAGIC_SYSRQ]

LVM2 のインストール

以下のコマンドを実行して LVM2 をビルドします。

SAVEPATH=$PATH                  &&
PATH=$PATH:/sbin:/usr/sbin      &&
./configure --prefix=/usr       \
            --exec-prefix=      \
            --with-confdir=/etc \
            --enable-applib     \
            --enable-cmdlib     \
            --enable-pkgconfig  \
            --enable-udev_sync  &&
make                            &&
PATH=$SAVEPATH                  &&
unset SAVEPATH

The tests use udev for logical volume synchronization, so that the LVM udev rules and some utilities need to be installed before running the tests. If you are installing LVM2 for the first time, and do not want to install the full package before running the tests, the minimal set of utilities can be installed by running the following instructions as the root user:

make -C tools install_dmsetup_dynamic &&
make -C udev  install                 &&
make -C libdm install

To test the results, issue: make check_local as the root user. Other targets are available and can be listed with make -C test help. The test timings are very dependent on the speed of the disk(s), and on the number of enabled kernel options.

The tests do not implement the 「expected fail」 possibility, and a small number of test failures is expected by upstream. More failures may happen because some kernel options are missing. For example, the lack of the dm-delay device mapper target may explain some failures. Some tests are flagged 「warned」 if thin-provisioning-tools are not installed. A workaround is to add the following flags to configure:

     --with-thin-check=    \
     --with-thin-dump=     \
     --with-thin-repair=   \
     --with-thin-restore=  \
     --with-cache-check=   \
     --with-cache-dump=    \
     --with-cache-repair=  \
     --with-cache-restore= \

Some tests may hang with kernel versions in the 4.1 and 4.2 series (see above). They can be removed if necessary, for example: rm test/shell/lvcreate-large-raid.sh. The tests generate a lot of kernel messages, which may clutter your terminal. You can disable them by issuing dmesg -D before running the tests (do not forget to issue dmesg -E when tests are done).

[注記]

注記

The checks create device nodes in the /tmp directory. The tests will fail if /tmp is mounted with the nodev option.

root ユーザーになって以下を実行します。

make install

コマンド説明

PATH=$PATH:/sbin:/usr/sbin: The path must contain /sbin and /usr/sbin for proper system tool detection by the configure script. This instruction ensures that PATH is properly set even if you build as an unprivileged user.

--enable-applib: このスイッチは共有アプリケーションライブラリをビルドすることを指示します。

--enable-cmdlib: このスイッチは共有コマンドライブラリをビルドすることを指示します。 デーモンをビルドする際にはこれが必要になります。

--enable-pkgconfig: このスイッチの指定により pkgconfig サポートファイルをインストールします。

--enable-udev_sync: このスイッチは Udev との同期処理を有効にします。

--enable-dmeventd: このスイッチは Device Mapper イベントデーモンをビルドすることを指示します。

--enable-lvmetad: This switch enables building of the LVM metadata daemon, which avoids scanning all the filesystems when an lvm command is run.

パッケージ構成

インストールプログラム: blkdeactivate, dmeventd (任意ビルド), dmsetup, fsadm, lvm, lvmconf, lvmdump, lvmetad (任意ビルド), この他に lvm に対してのシンボリックリンクが数多くあり、所定の機能を提供します。
インストールライブラリ: libdevmapper.so, liblvm2app.so, and liblvm2cmd.so; optional: libdevmapper-event.so, libdevmapper-event-lvm2.so, libdevmapper-event-lvm2mirror.so, libdevmapper-event-lvm2snapshot.so, libdevmapper-event-lvm2raid.so, libdevmapper-event-lvm2thin.so
Installed Directories: /etc/lvm, /lib/device-mapper (任意ビルド)

概略説明

blkdeactivate

is a utility to deactivate block device.

dmeventd

(optional) is the Device Mapper event daemon.

dmsetup

is a low level logical volume management tool.

fsadm

is a utility used to resize or check filesystem on a device.

lvm

provides the command-line tools for LVM2. Commands are implemented via sympolic links to this program to manage physical devices (pv*), volume groups (vg*) and logical volumes (lv*).

lvmconf

is a script that modifies the locking configuration in the LVM2 configuration file.

lvmdump

is a tool used to dump various information concerning LVM2.

lvmetad

(optional) is the LVM metadata daemon.

vgimportclone

is used to import a duplicated VG (e.g. hardware snapshot).

libdevmapper.so

contains the Device Mapper API functions.

最終更新日: 2018-08-16 10:24:48 +0900