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

2016年2月2日の有効なLFCS試験要件の変更により、こちらに掲載されているLFCSシリーズに必要なトピックを追加しています。この試験の準備のために、LFCEシリーズも積極的に利用することをお勧めします。

LFCS: Manage LVM and Create LVM Partition – Part 11

Linuxシステムをインストールする際の最も重要な決定の1つは、システムファイル、ホームディレクトリなどに割り当てるストレージスペースの量です。その時点で間違いを com すると、スペースが不足しているパーティションを拡張することは負担がかかり、ややリスクが伴います。

Logical Volumes Management(またはLVMとしても知られています)は、ほとんどのLinuxディストリビューションのインストールのデフォルトとなっており、従来のパーティション管理に比べて多くの利点があります。LVMの最も特徴的な機能の1つは、論理的な区分を手間なくリサイズ(縮小または拡大)できることです。

LVMの構造は次のとおりです:

  1. 1つ以上のハードディスクまたはパーティション全体が物理ボリューム(PVs)として構成されます。
  2. A volume group (VG) is created using one or more physical volumes. You can think of a volume group as a single storage unit.
  3. その後、ボリュームグループ内に複数の論理ボリュームを作成できます。各論理ボリュームは、前述のように自由にリサイズできるという利点があります。

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

最初の方法を選択しましたが、このシリーズのPart 4 – Linuxでパーティションとファイルシステムを作成するで説明されているように、2番目の方法を選択する場合は、各パーティションをタイプ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ドライブとして表示されます。

List LVM Volume Groups

論理ボリュームを作成する際には、スペースの配分は現在と将来のニーズの両方を考慮する必要があります。各論理ボリュームには、その予定された使用目的に応じて名前を付けるのが良い慣行とされています。

たとえば、vol_projects10 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を使用し、パラメータとしてVGLVを指定します。以下のように:

# lvdisplay vg00/vol_projects
List Logical Volume

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

ここでは、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
Resize Reduce Logical Volume and Volume Group

論理ボリュームのサイズを変更する際に、マイナス (-) やプラス (+) の記号を含めることが重要です。そうしないと、LVのサイズを変更する代わりに固定サイズを設定してしまいます。

論理ボリュームのサイズ変更だけではストレージのニーズを満たせなくなり、追加のストレージデバイスを購入する必要が生じることがあります。簡単に言うと、別のディスクが必要になります。初期セットアップから残りのPVを追加することで、この状況をシミュレートします(/dev/sdd)。

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

# vgextend vg00 /dev/sdd

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

# vgdisplay vg00
Check Volume Group Disk Size

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

ブート時と必要に応じて論理ボリュームをマウントする

実際に使用しない場合、論理ボリュームを作成する意味はありません!論理ボリュームをよりよく識別するために、フォーマットされたストレージデバイスを一意に識別する変わらない属性である UUID を見つける必要があります。

blkidに続いて、各デバイスのパスを入力してください:

# blkid /dev/vg00/vol_projects
# blkid /dev/vg00/vol_backups
Find Logical Volume UUID

各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
Mount Logical Volumes on Linux

実際にLVを使用する際には、このシリーズのPart 8 – Manage Users and Groups in Linuxで説明されているように適切なugo+rwx権限を割り当てる必要があります。

概要

この記事では、スケーラビリティを提供するストレージデバイスを管理する多目的ツールであるLogical Volume Managementを紹介しました。これをPart 6 – Create and Manage RAID in Linuxで説明したRAIDと組み合わせると、スケーラビリティ(LVMによって提供される)だけでなく冗長性(RAIDによって提供される)も楽しむことができます。

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

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

Source:
https://www.tecmint.com/manage-and-create-lvm-parition-using-vgcreate-lvcreate-and-lvextend/