CH-J Server ManagerSSH によるサーバー管理
メニュー
すべてのガイドと記事 →

LVMと通常のパーティション:サーバーにはどちらを選ぶべきか

通常のパーティションに対してLVMが追加する機能とその代償を知り、小規模なVPSや複数ディスクのサーバーに適した構成を選びます。

違いの概要

パーティションは1台のディスク上の固定された範囲で、その上に直接ファイルシステムを作成します。LVMでは層が1つ加わり、物理ボリュームをボリュームグループにまとめ、そこから論理ボリュームを切り出します。ファイルシステムは論理ボリューム上に置かれ、データの物理的な位置に関係なく、論理ボリュームのサイズ変更や移動ができます。

サーバーの現在の構成を確認する

まず現在の構成を確認します。TYPEとFSTYPEの列には、パーティション、LVM、暗号化、RAIDが表示されます。ボリュームグループ内の空き容量はdfでは見えないため、LVMのコマンドで残り容量を確認します。

lsblk -f
sudo pvs
sudo vgs
sudo lvs

通常のパーティションで十分な場合

仮想ディスクが1台の小規模なVPSでは、パーティションの方が単純で、問題の原因になり得る要素も少なくなります。プロバイダーがディスクを拡張したら、growpartで最後のパーティションを拡張し、その後ファイルシステムを拡張します。ただし、パーティションは直後にある空き領域にしか拡張できないため、そこにswapパーティションや別のパーティションがあると妨げになります。

LVMが役立つ場合

将来の領域配分が決まっていない場合、1つのボリュームを複数のディスクにまたがって配置する場合、使用中のデータをpvmoveで新しいディスクへ移したい場合にLVMが役立ちます。スナップショットも作成できますが、そのための領域を確保する必要があります。同じディスク上のスナップショットはバックアップではなく、従来型のスナップショットは領域がいっぱいになると無効になります。

LVMボリュームを作成する

これらのコマンドは空のディスクを使用し、その上のすべてを破壊するため、lsblkでデバイス名を念入りに再確認してください。ボリュームグループには未割り当て領域を残します。後からボリュームを拡張するのは簡単ですが、縮小はより困難です。XFSはまったく縮小できず、ext4はアンマウントした状態でのみ縮小できます。

sudo pvcreate /dev/sdX
sudo vgcreate data /dev/sdX
sudo lvcreate -L 20G -n app data
sudo mkfs.ext4 /dev/data/app

後から構成を変えたくなった場合

データがあるパーティションは通常、標準ツールでそのままLVMに変換することはできません。一般的には新しいディスクを追加し、そこにLVMを作成してデータをコピーし、切り替えます。fstabの変更に加え、起動設定の変更も必要になる場合があります。検証済みのバックアップとコンソールへのアクセスを確保したうえで計画してください。起動の細部はディストリビューションによって異なるため、多くのインストーラーは/bootをLVMの外に置きます。

CH-J Server Managerのディスク表示

Alpha 0.1.1のDisk Managerは、LUKS、LVM、RAID、ZFSを含め、ディスクを各層とともに表示します。root権限がない場合、一覧は読み取り専用で不完全ですが、sudoで再読み込みできます。変更はまず確認用の計画としてキューに入り、計画の作成後に構成が変わっていれば、ジョブは何も変更せず停止します。データを失う可能性がある手順では、先に別途バックアップを取るよう警告が表示されます。対象はLinuxのブロックデバイスのみです。

詳しいドキュメント

man: lvm →

man: lvcreate →

生体認証によるロック解除とセキュリティ →