Linux LVM2のコマンド

(2014.9)

Linux LVM2 は, HP HP-UX や IBM AIX, 古くは OSF/1 で採用された LVM に似せて作られた。特に, HP-UX 11i の LVM と Linux の LVM2 は, 非常によく似ている。

LVM に載せられるファイルシステム

[2020.10]
lvextend コマンドは, --resizefs コマンドオプションで, 同時にファイルシステムを大きさ変更させることができる。fsadm コマンド (lvm2 パッケージ) に対応したファイルシステムのみが対象。Fedora 32 Linux では, ext2, ext3, ext4, ReiserFS および XFS のみが対応。

Btrfs on LVM はナンセンスなので、LVM には対応しない。(Btrfs が各種機能を有する.)

Red Hat Enterprise Linux 8 は GFS2 を LVM 上で動かす。他方, Oracle Linux は OCFS2 を LVM 論理ボリューム上に作成するのは禁止。

[2020.10 ここまで]

lvmコマンド

Linux LVM では, 3つのスタイルでコマンドを実行できる。

  1. シェルから直接, lvm-command を実行
  2. lvmコマンドを使う
    1. lvm コマンドで lvm コンソールに入り, 対話式に, 必要なコマンドを実行する
    2. lvm lvm-command コマンドスタイル

(1) シェルから実行できるlvmコマンド

下の表のコマンドはすべて, lvmコンソールでも実行できる。

* は HP-UX由来のコマンド.
lvmコマンド
処理 PV VG LV
metadataのバックアップ -- vgcfgbackup * --
metadataの復元 -- vgcfgrestore * --
属性の変更 (change) pvchange * vgchange * lvchange *
metadataの検査 (ck) pvck vgck --
metadataフォーマットの変換 (convert) -- vgconvert lvconvert
初期化 (create) pvcreate * vgcreate * lvcreate *
属性の表示 (display) pvdisplay * vgdisplay * lvdisplay *
ディスク内容のダンプ (export) -- vgexport * --
伸延 (extend) -- vgextend * lvextend *
VG をシステムに認識させる -- vgimport * --
VGのインポート -- vgimportclone --
結合 (merge) -- vgmerge --
-- vgmknodes --
移動 (move) pvmove * -- --
縮小 (reduce) -- vgreduce * lvreduce *
削除 (remove) pvremove vgremove * lvremove *
名前変更 (rename) -- vgrename lvrename
大きさ変更 (resize). lvresize は lvextend または lvreduce と同じ pvresize -- lvresize
情報表示 (s) pvs vgs lvs
スキャン (scan) pvscan vgscan * lvscan
分割 (split) -- vgsplit --

その他のシェルで実行できるコマンド:

  • blkdeactivate - utility to deactivate block devices
  • fsadm - utility to resize or check filesystem on a device
  • lvmchange ※ -- this is obsolete and does nothing. => dmsetupコマンド (device-mapperパッケージ) を使う
  • lvmconf
  • lvmdiskscan ※ - 一覧表示 for all devices visible to LVM2
  • lvmdump - create lvm2 information dumps for diagnostic purposes
  • lvmetad - LVM metadata cache daemon
  • lvmsadc ※ - サポートされない
  • lvmsar ※ - サポートされない

(2) lvmコンソールから実行するコマンド

上で※を付けたコマンドに加えて, 次のコマンドがある。

  • devtypes
  • dumpconfig
  • formats
  • pvdata
  • segtypes
  • tags

LVM metadata

Linux では, ファイルシステムが大きな機能を持っておらず、高度な機能はほとんど LVM で何とかするようになっている。(Btrfs を除く)

lvcreate, lvconvert コマンドの --type オプションに複雑さが集約されている。 --type linear striped snapshot mirror raidN thin cache vdo thin-pool cache-pool vdo-pool

lvmraid(7)

Redundancy and performance (raidN, mirror, striped, linear). mirror は deprecated. raid1 を使え.

ほとんどは、次のいずれかで十分.

  • raid1
  • raid4 RAID 4 は RAID 5で代替された
  • raid5 (an alias for raid5_ls),
  • raid6 (an alias for raid6_zr) and
  • raid10 (an alias for raid10_near). RAID 6のほうが望ましい.
LVM RAID logical volume は "dm-raid" カーネルモジュールを使う。 https://www.kernel.org/doc/Documentation/admin-guide/device-mapper/dm-raid.rst

Thin provisioning: lvmthin(7)

Thin provisioning (thin, thin-pool)

Copy-on-write snapshots (snapshot) は、シンプロビジョニングと組み合わせて使う。

Caching: lvmcache(7)

Performance caching (cache, cache-pool)

VDO: lvmvdo(7)

VDO (vdo). vdo-pool