シェルスクリプトマガジン

第3回 ストレージを柔軟に管理する(LVMの導入)

第1回から2回にわたって、パーティションの分割方法を紹介しました。いくつかのディレクトリーに別々のパーティションを割り当てると、他のディレクトリーから容量の圧迫などの影響を受けることがなくなります。
しかし、容量不足によるシステムやサーバーアプリの停止は免れても、容量不足に陥っているディレクトリーのサイズを簡単に増やせるわけではありません。新しいハードディスク(HDD)などを追加してより大きなサイズのパーティションを作成し、そのパーティションにディレクトリーの中身を丸ごとコピーした上で割り当てし直す作業が必要です。

柔軟なストレージ管理ができるLVM

Linuxには「LVM」(Logical Volume Manager)という仕組みがあります。LVMでは、HDDなどのストレージ内を物理的な区画(物理ボリューム)に分けて、それをいくつか束ねて論理的なストレージとなる「ボリュームグループ」を作成します(図1)。このボリュームグループから必要な容量だけを「論理ボリューム」に割り当てられます。この論理ボリュームは、パーティションと同様に扱えます。

図1 LVM(Logical Volume Manager)の構成

ボリュームグループや論理ボリュームの容量の増減は容易です。容量を増やしたいなら、ボリュームグループに物理ボリュームを追加し、追加したボリュームから必要な容量だけを論理ボリュームに割り当てます。逆に減らしたいなら、論理ボリュームからボリュームグループに容量を戻します。
また、LVMには「スナップショット」という便利な機能があります。ある時点のLVM上にあるデータの状態を瞬時に保存できます。バックアップ用途にも利用できるのでとても重宝します。
今回は、Ubuntu Server上でLVMを扱う方法を紹介します。