ウェブサイト検索

LFCS: vgcreate、lvcreate、lvextend コマンドを使用して LVM を管理および作成する方法 - パート 11


LFCS 試験の要件が2 月から変更されたため。 2016 年 2 日に、ここで公開されている LFCS シリーズに必要なトピックを追加しています。この試験の準備のために、LFCE シリーズも使用することを強くお勧めします。

Linux システムをインストールする際の最も重要な決定事項の 1 つは、システム ファイル、ホーム ディレクトリなどに割り当てる記憶域の量です。この時点でミスをすると、スペースが不足したパーティションを拡張するのは負担がかかり、多少のリスクが伴う可能性があります。

論理ボリューム管理 (LVM とも呼ばれます) は、ほとんど (すべてではないにしても) Linux ディストリビューションのインストールのデフォルトになっており、従来のパーティション管理に比べて多くの利点があります。おそらく LVM の最も際立った機能は、あまり手間をかけずに論理分割のサイズを自由に変更 (縮小または拡大) できることです。

LVM の構造は次のもので構成されます。

  1. 1 つ以上のハードディスクまたはパーティション全体が物理ボリューム (PV) として構成されます。
  2. ボリューム グループ (VG) は、1 つ以上の物理ボリュームを使用して作成されます。ボリューム グループは 1 つのストレージ ユニットと考えることができます。
  3. 複数の論理ボリュームをボリューム グループ内に作成できます。各論理ボリュームは従来のパーティションとある程度同等であり、前述したようにサイズを自由に変更できるという利点があります。

この記事では、それぞれ 8 GB の 3 つのディスク (/dev/sdb/dev/sdc/dev) を使用します。 /sdd) を使用して 3 つの物理ボリュームを作成します。 PV はデバイス上に直接作成することも、最初にパーティション化することもできます。

最初の方法を使用することを選択しましたが、2 番目の方法を使用する場合は (このシリーズのパート 4 – Linux でのパーティションとファイル システムの作成で説明されているように)、必ず各パーティションをタイプ 8e として構成してください。 。

物理ボリューム、ボリュームグループ、および論理ボリュームの作成

/dev/sdb/dev/sdc、および /dev/sdd 上に物理ボリュームを作成するには、次の手順を実行します。

pvcreate /dev/sdb /dev/sdc /dev/sdd

新しく作成された PV は次のコマンドで一覧表示できます。

pvs

次のコマンドを使用して、各 PV に関する詳細情報を取得します。

pvdisplay /dev/sdX

(X は b、c、または d です)

パラメータとして /dev/sdX を省略すると、すべての PV に関する情報が取得されます。

/dev/sdb/dev/sdc を使用して vg00 という名前のボリューム グループを作成するには (/dev/sdd を保存します) は、必要に応じてストレージ容量を拡張するために他のデバイスを追加する可能性を後で説明します):

vgcreate vg00 /dev/sdb /dev/sdc

物理ボリュームの場合と同様に、次のコマンドを実行して、このボリューム グループに関する情報を表示することもできます。

vgdisplay vg00

vg00 は 2 つの 8 GB ディスクで構成されているため、1 つの 16 GB ドライブとして表示されます。

論理ボリュームを作成する場合は、現在と将来のニーズの両方を考慮してスペースを配分する必要があります。使用目的に応じて各論理ボリュームに名前を付けることをお勧めします。

たとえば、vol_projects (10 GB) と vol_backups (残りのスペース) という名前の 2 つの LV を作成してみましょう。これは、後でプロジェクトのドキュメントを保存するために使用できます。とシステムのバックアップです。

-n オプションは LV の名前を示すために使用されますが、-L は固定サイズを設定し、-l (小文字の L) はコンテナ VG 内の残りのスペースのパーセンテージを示すために使用されます。

lvcreate -n vol_projects -L 10G vg00
lvcreate -n vol_backups -l 100%FREE vg00

以前と同様に、次のコマンドを使用して LV のリストと基本情報を表示できます。

lvs

と詳細情報

lvdisplay

単一 LV に関する情報を表示するには、次のように lvdisplay をパラメータとして VG および LV とともに使用します。

lvdisplay vg00/vol_projects

上の画像では、LV がストレージ デバイスとして作成されたことがわかります (LV パス 行を参照)。各論理ボリュームを使用する前に、その上にファイルシステムを作成する必要があります。

ここでは例として ext4 を使用します。ext4 では各 LV のサイズの拡大と縮小の両方が可能です (サイズの拡大のみが可能な xfs とは対照的です)。

mkfs.ext4 /dev/vg00/vol_projects
mkfs.ext4 /dev/vg00/vol_backups

次のセクションでは、必要に応じて論理ボリュームのサイズを変更し、追加の物理ストレージ領域を追加する方法について説明します。

論理ボリュームのサイズ変更とボリュームグループの拡張

次に、次のシナリオを想像してください。 vol_backups のスペースが不足し始めていますが、vol_projects には十分なスペースがあります。 LVM の性質により、各ファイルシステムのサイズを同時に変更しながら、後者のサイズ (たとえば2.5 GB) を簡単に削減して前者に割り当てることができます。

幸いなことに、これは次のように行うのと同じくらい簡単です。

lvreduce -L -2.5G -r /dev/vg00/vol_projects
lvextend -l +100%FREE -r /dev/vg00/vol_backups

論理ボリュームのサイズを変更するときは、マイナス (-) またはプラス (+) 記号を含めることが重要です。それ以外の場合は、LV のサイズを変更するのではなく、固定サイズを設定することになります。

論理ボリュームのサイズを変更してもストレージのニーズを解決できなくなり、追加のストレージ デバイスを購入する必要がある場合があります。簡単に言うと、別のディスクが必要になります。初期設定 (/dev/sdd) からの残りの PV を追加して、この状況をシミュレートします。

/dev/sddvg00 に追加するには、次のようにします。

vgextend vg00 /dev/sdd

前のコマンドの前後に vgdisplay vg00 を実行すると、VG のサイズが増加していることがわかります。

vgdisplay vg00

これで、新しく追加されたスペースを使用して、ニーズに応じて既存の LV のサイズを変更したり、必要に応じて追加の LV を作成したりできます。

オンブートおよびオンデマンドでの論理ボリュームのマウント

もちろん、実際に使用しないのであれば、論理ボリュームを作成しても意味がありません。論理ボリュームをより正確に識別するには、その UUID (フォーマットされたストレージ デバイスを一意に識別する不変の属性) が何であるかを調べる必要があります。

これを行うには、blkid に続いて各デバイスへのパスを使用します。

blkid /dev/vg00/vol_projects
blkid /dev/vg00/vol_backups

各 LV のマウント ポイントを作成します。

mkdir /home/projects
mkdir /home/backups

そして、対応するエントリを /etc/fstab に挿入します (前に取得した UUID を必ず使用してください)。

UUID=b85df913-580f-461c-844f-546d8cde4646 /home/projects	ext4 defaults 0 0
UUID=e1929239-5087-44b1-9396-53e09db6eb9e /home/backups ext4	defaults 0 0

次に、変更を保存し、LV をマウントします。

mount -a
mount | grep home

実際に LV を使用する場合は、このシリーズのパート 8 – Linux でのユーザーとグループの管理で説明されているように、適切な ugo+rwx 権限を割り当てる必要があります。

まとめ

この記事では、拡張性を提供するストレージ デバイスを管理するための多用途ツールである論理ボリューム管理を紹介しました。 RAID (このシリーズの第 6 回 – Linux での RAID の作成と管理で説明しました) と組み合わせると、(LVM によって提供される) スケーラビリティだけでなく、(RAID によって提供される) 冗長性も享受できます。

このタイプのセットアップでは、通常、RAID の上に LVM が配置されます。つまり、最初に RAID を構成し、次にその上に LVM を構成します。

この記事についてご質問がある場合、または記事を改善するための提案がある場合は、以下のコメント フォームを使用してお気軽にお問い合わせください。