4.6. メタデータデーモン (lvmetad)
LVM はオプションで中央メタデータキャッシュを使用できます。これはデーモン (
lvmetad) と udev ルールにより実装されます。このメタデータデーモンの目的は主に 2 つあります。1 つ目は LVM コマンドのパフォーマンスを向上すること、2 つ目はシステムが論理ボリュームまたはボリュームグループ全体を利用できるようになった時に udev がそれらを自動的にアクティブ化できることです。
注記
lvmetad デーモンは、クラスターのノード間では現在サポートされておらず、ロックタイプはローカルのファイルベースである必要があります。
このデーモンの利点を活用するには、以下を実行してください。
lvm2-lvmetadサービスを使ってデーモンを起動します。デーモンをブート時に自動起動するには、chkconfig lvm2-lvmetad onコマンドを使用してください。手動でデーモンを起動するには、service lvm2-lvmetad startコマンドを使用してください。- Configure LVM to make use of the daemon by setting the
global/use_lvmetadvariable to 1 in thelvm.confconfiguration file. For information on thelvm.confconfiguration file, see 付録B LVM 設定ファイル.
Normally, each LVM command issues a disk scan to find all relevant physical volumes and to read volume group metadata. However, if the metadata daemon is running and enabled, this expensive scan can be skipped. Instead, the
lvmetad daemon scans each device only once, when it becomes available, by means of udev rules. This can save a significant amount of I/O and reduce the time required to complete LVM operations, particularly on systems with many disks. For information on the udev device manager and udev rules, see 「デバイスマッパーの udev デバイスマネージャサポート」.
When a new volume group is made available at runtime (for example, through hotplug or iSCSI), its logical volumes must be activated in order to be used. When the
lvmetad daemon is enabled, the activation/auto_activation_volume_list option in the lvm.conf configuration file can be used to configure a list of volume groups and logical volumes that should be automatically activated. Without the lvmetad daemon, a manual activation is necessary. By default, this list is not defined, which means that all volumes are autoactivated once all of the physical volumes are in place. The autoactivation works recursively for LVM stacked on top of other devices, as it is event-based.
注記
When the
lvmetad daemon is running, the filter = setting in the /etc/lvm/lvm.conf file does not apply when you execute the pvscan --cache device command. To filter devices, you need to use the global_filter = setting. Devices that fail the global filter are not opened by LVM and are never scanned. You may need to use a global filter, for example, when you use LVM devices in VMs and you do not want the contents of the devices in the VMs to be scanned by the physical host.