Ongoing service disruptions
For the most recent update on ongoing service disruptions affecting the AWS Middle East (UAE) Region (ME-CENTRAL-1), refer to the AWS Health Dashboard. For information on AWS Service migration, see How do I migrate my services to another region?
LVM を使用して EBS ボリュームのパーティションに論理ボリュームを作成する方法を教えてください。
Logical Volume Manager (LVM) を使用して Amazon Elastic Block Store (Amazon EBS) ボリュームのパーティションに LV を作成したいです。
解決策
LV を作成してマウント済みの場合は、「LV を拡張する」セクションに進んでください。
ボリュームのパーティションに PV を作成する
LV の基盤となる物理ストレージユニットは、ボリュームのパーティションやボリューム全体などのブロックデバイスです。
注: Nitro ベースのインスタンスは、ボリュームを NVMe デバイスとして公開します。ブロックデバイス名は、/dev/nvme1n1、/dev/nvme2n1、/dev/nvme3n1 といったパターンに従います。Nitro ベースのインスタンスを使用している場合は、次の手順に記載したデバイス名を適切なデバイス名に置き換えてください。詳細については、「Amazon EC2 インスタンス上のボリュームのデバイス名」を参照してください。
ボリュームのパーティションに物理ボリュームを作成するには、次の手順を実行します。
-
次のコマンドを実行して LVM をインストールします。
sudo yum install lvm2 -y注: Debian または Ubuntu ベースのシステムでは、次のコマンドを実行して growpart ユーティリティをインストールします。
sudo apt-get install -y lvm2 -
[gdisk] コマンドを実行し、パーティションを作成します。[コマンド] プロンプトに n と入力します。変数 [16 進コードまたは GUID] に 8e00 と入力します。
次の例では、/dev/xvdh に /dev/xvdh1 パーティションを作成します。sudo gdisk /dev/xvdh Command (? for help): n Partition number (1-1218, default 1): 1 First sector (34-20971486, default = 2048) or {+-}size{KMGTP}: Last sector (2048-20971486, default = 20971486) or {+-}size{KMGTP}: Current type is 'Linux filesystem' Hex code or GUID (L to show codes, Enter = 8300): 8e00出力例:
Changed type of partition to 'Linux LVM' OK; writing new GUID partition table (GPT) to /dev/xvdh. The operation has completed successfully. -
lsblk コマンドを実行し、パーティションが作成されていることを確認します。
lsblk出力例:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvda 202:0 0 8G 0 disk └─xvda1 202:1 0 8G 0 part / xvdh 202:80 0 10G 0 disk └─xvdh1 202:81 0 10G 0 part -
[pvcreate] コマンドを実行し、パーティションから物理ボリューム (PV) を作成します。次の例では、/dev/xvdh1 から PV を作成します。
sudo pvcreate /dev/xvdh1出力例:
Physical volume "/dev/xvdh1" successfully created.
ボリュームグループを作成し、ボリュームグループに PV を追加する
次の手順を実行します。
-
**vgcreate ** コマンドを実行し、新しい PV を組み合わせたボリュームグループを作成します。次の例では、1 つの PV を使用して examplegroup1 というボリュームグループを作成しています。
sudo vgcreate examplegroup1 /dev/xvdh1出力例:
group "examplegroup1" successfully created -
vgs または vgdisplay コマンドを実行し、ボリュームグループの詳細を表示します。
sudo vgs出力例:
VG #PV #LV #SN Attr VSize VFree examplegroup1 1 0 0 wz--n- <10.00g <10.00g
LV とマウントディレクトリを作成する
次の手順を実行します。
-
lvcreate コマンドを実行し、ボリュームグループから LV を作成します。次の例では、ボリュームグループ examplegroup1 から、lvexample1 という単一の 9 GB の LV を作成しています。
sudo lvcreate -n lvexample1 -L 9G examplegroup1出力例:
volume "lvexample1" created -
lvs または lvdisplay コマンドを実行し、LV の詳細を表示します。
sudo lvs出力例:
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert lvexample1 examplegroup1 -wi-a----- 9.00g -
mkdir コマンドを使用してマウントディレクトリを作成します。次の例では、/mnt1 というディレクトリを作成します。
sudo mkdir /mnt1
ファイルシステムの作成とマウント
次の手順を実行します。
-
mkfs-t コマンドを実行し、ファイルシステムを作成します。
sudo mkfs -t xfs /dev/examplegroup1/lvexample1注: xfs をファイルシステムの種類に置き換えてください(例: ext2、ext3、ext4)。
-
lsblk-f コマンドを実行し、ファイルシステムが作成されていることを確認します。
lsblk -f出力例:
NAME FSTYPE LABEL UUID MOUNTPOINT xvda ├─xvda1 └─xvda2 xfs 66e5e079-770e-4359-a9da-5205c3d8d5af / xvdh └─xvdh1 LVM2_member 0UnOic-e2ng-XxH5-z0UW-7aTh-RxQK-KMrDqo └─examplegroup1-lvexample1 xfs 5db36052-81d5-4762-8502-6986ff3964e7注: ファイルシステムのタイプは、FSTYPE に表示されます。
-
mount コマンドを実行し、ファイルシステムをマウントディレクトリにマウントします。
sudo mount /dev/examplegroup1/lvexample1 /mnt1 -
/etc/fstab ファイルでマウントオプションを編集し、再起動後も新しいマウントが維持されるようにします。
/dev/examplegroup1/lvexample1 /mnt1 xfs defaults,nofail 0 0注: xfs をファイルシステムの種類に置き換えてください(
LV を拡張する
LV を拡張するには、既存の EBS ボリュームのサイズを増やすか、ボリュームグループに EBS ボリュームを追加します。
既存の EBS ボリュームのサイズを増やす
注: 既存のボリュームのサイズを増やすと、サイズの変更は通常、ボリュームの状態が Optimizing になった後、数秒以内に反映されます。ボリュームが Optimizing 状態の間は、ボリュームのパフォーマンスは、ソースとターゲットの構成仕様の間に留まります。ボリュームの種類によっては、パフォーマンスの変化に数分から数時間かかる場合があります。詳細については、「Amazon EBS ボリュームの変更の進行状況を監視する」を参照してください。
既存の EBS ボリュームのサイズを増やすには、次の手順を実行します。
-
既存の EBS ボリュームのサイズを変更します。
-
growpart ユーティリティをインストールします。
sudo yum install cloud-utils-growpart -y注: Debian または Ubuntu ベースのシステムに growpart ユーティリティをインストールするには、次のコマンドを使用します。
sudo apt install -y cloud-guest-utils -
growpart コマンドを実行してパーティションを拡張します。次の例では、/dev/xvdh1 パーティションが拡張されています。
sudo growpart /dev/xvdh1出力例:
CHANGED: disk=/dev/xvdh partition=1: start=2048 old: size=20971519,end=16777182 new: size=41940958,end=41943006 -
pvresize コマンドを実行して、PV のサイズを変更します。
sudo pvresize /dev/xvdh1出力例:
Physical volume "/dev/xvdh1" changed 1 physical volume(s) resized or updated / 0 physical volume(s) not resized -
pvs または pvdisplay コマンドを実行し、PV の詳細を確認します。
sudo pvs出力例:
PV VG Fmt Attr PSize PFree /dev/xvdh1 examplegroup1 lvm2 a-- <20.00g <13.00g -
vgs または vgdisplay コマンドを実行し、ボリュームグループの詳細を表示します。
sudo vgs出力例:
VG #PV #LV #SN Attr VSize VFree examplegroup1 1 1 0 wz--n- <20.00g <13.00g -
lvextend コマンドを実行し、LV を拡張します。
sudo lvextend -L 19G /dev/examplegroup1/lvexample1 -
lvs または lvdisplay コマンドを実行し、LV の詳細を表示します。
sudo lvs出力例:
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert lvexample1 examplegroup1 -wi-a----- 19.00g -
以下のコマンドのいずれかを実行し、ファイルシステムを拡張します。
Ext2、Ext3、Ext4 ファイルシステム:sudo resize2fs /dev/examplegroup1/lvexample1XFS ファイルシステム:
sudo xfs_growfs /dev/examplegroup1/lvexample1
EBS ボリュームをボリュームグループに追加する
次の手順を実行します。
-
10 GB の EBS ボリュームをもう 1 つ作成し、インスタンスにボリュームをアタッチします。
-
/dev/xvdi デバイスにパーティションを作成します。
-
pvcreate コマンドを実行し、PV を作成します。次の例では、ボリュームのブロックデバイス名は /dev/xvdi1 です。
sudo pvcreate /dev/xvdi1出力例:
Physical volume "/dev/xvdi1" successfully created. -
vgextend コマンドを実行してボリュームグループを拡張し、新しいボリュームを追加します。次の例では、ボリュームグループ examplegroup1 を拡張してボリューム /dev/xvdi1 を含めています。
sudo vgextend examplegroup1 /dev/xvdi1出力例:
Volume group "examplegroup2" successfully extended -
vgs コマンドまたは vgdisplay コマンドを実行し、拡張を確認します。
sudo vgs次の出力例は、examplegroup1 ボリュームグループに 2 つの PV があることを示しています。
#PV #LV #SN Attr VSize VFree examplegroup1 2 1 0 wz--n- 29.99g 20.99g -
lvextend コマンドを実行し、LV を拡張します。
sudo lvextend -L 29G /dev/examplegroup1/lvexample1 -
以下のコマンドのいずれかを実行し、ファイルシステムを拡張します。
Ext2、Ext3、Ext4 ファイルシステム:sudo resize2fs /dev/examplegroup1/lvexample1XFS ファイルシステム:
sudo xfs_growfs /dev/examplegroup1/lvexample1
関連するコンテンツ
- 質問済み 3年前

