仮想マシンに接続されるブロック・ストレージ・ボリュームのうち、以前、論理ボリューム・マネージャー (LVM) にフォーマット設定されていたブロック・ストレージ・ボリュームを「デフォルト・ブロック・ディスク接続用」アドオンを使用して、2 TB 以上に拡張する場合、追加のステップを実行する必要があります。
このタスクについて
Red Hat Enterprise Linux® 6.x を使用しており、ブロック・ストレージ・ボリュームを 2 TB 以上に拡張する場合は、仮想マシンにマウントされている論理ボリュームを手動でサイズ変更する必要があります。 この手動拡張を行うときは、ボリュームを切り離すか、仮想インスタンスを再始動する必要があります。 したがって、このタスクはメンテナンス期間に実行することをお勧めします。「リフレッシュ」 アクション中、またはアドオンを使用する新規デプロイメント中に、 Red Hat Enterprise Linux 6.xで論理ボリュームを 2 TB 以上に拡張すると、以下のエラー・メッセージが生成されます。The block storage device size expansion is not reflected in the
mounted logical volume. Automatic logical volume size refresh is not supported on RHEL 6.x if the
size is expanded to 2 TB or more. To refresh the logical volume size, manually rescan the device,
create a new partition, restart or the detach volume, and then add the partition to a physical
volume, volume group, logical volume and refresh the mount.
ページから仮想マシンに接続およびマウントされているブロック・ストレージを拡張した後、SSH を使用して仮想マシンにログインし、以下の手順を実行します。
手順
- パターン・インスタンスのブロック・ストレージ表から、ブロック・ストレージに関連付けられているマウント・ポイントを識別します。
-
df -Ph を実行して、マウント・ポイントに対応する論理ボリューム・ファイルシステム名を取得します。 ファイル・システム名の形式は、 /dev/mapper/<volume_group_name>-<logical_volume_name>です。例えば、マウント・ポイントが
/mount1の場合、
df
-Ph を実行すると、以下のような出力が表示されます。
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/datavg0-LV21328 3.0G 1.6M 2.8G 1% /mount1
- 前のステップで実行したコマンドの出力からボリューム・グループ名と論理ボリューム名を入手します。
前のステップの例の場合、ボリューム・グループ名は datavg0 で、論理ボリューム名は LV21328 です。
-
pvs コマンドを実行して、ボリューム・グループに関連付けられている物理デバイスを取得します。 pvs コマンドは、パーティション番号を持つ物理デバイスを返します。pvs コマンドを実行すると、以下の例のような出力が表示されます。
PV VG Fmt Attr PSize PFree
/dev/sda2 rhel lvm2 a-- 11.75g 0
/dev/sdb1 datavg0 lvm2 a-- 1020.00m 0
/dev/sdb2 datavg0 lvm2 a-- 1020.00m 0
ボリューム・グループが datavg0 である場合、物理デバイスは /dev/sdb です。
- 新しいサイズを取得するためにデバイスを再スキャンします:
echo 1 >
/sys/block/<PHYSICAL_DEVICE>/device/rescan。例えば、echo 1 > /sys/block/sdb/device/rescan です。
- 以下のコマンドを実行して、アライメント・エラーを修正します。
parted /dev/sdb print エラーを修正するか無視するかを確認するプロンプトが出されたら、 Fixと入力します。
- 次のコマンドを実行して、拡張ディスク・セグメントの開始値と終了値を取得します:
parted -s /dev/<PHYSICAL_DEVICE> u MB p free。 拡張されたディスク・セグメントは、出力の最後の項目です。前記のコマンドによって、以下の例のような出力が返されます。
parted -s /dev/sdb u MB p free
Model: IBM 2145 (scsi)
Disk /dev/sdb: 3221MB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
0.02MB 1.05MB 1.03MB Free Space
1 1.05MB 1073MB 1072MB P1 lvm
2 1073MB 2147MB 1075MB P2 lvm
2147MB 3221MB 1074MB Free Space
開始値は 2147 MB で、終了値は 3221 MB です。
- 次のコマンドを実行してパーティション化します:
parted -s -a optimal
/dev/<PHYSICAL_DEVICE> mkpart <Partition_Name>
<start> <end>。 開始値と終了値は、前のステップで取得した値と (末尾の MB というストリングまで含めて) 一致していなければなりません。次の例では、前のステップで取得した開始値と終了値を使用して新しいパーティションが作成されます: parted -s -a optimal /dev/sdb mkpart P3 2147MB
3221MB
- 次のコマンドを実行して、新しい区画に
lvm フラグを設定します: parted /dev/<PHYSICAL_DEVICE> set <partition_number> lvm on。例えば、新しいパーティション番号を取得するには、
parted /dev/sdb print を実行します。 出力は以下のとおりです:
Number Start End Size File system Name Flags
0.02MB 1.05MB 1.03MB Free Space
1 1.05MB 1073MB 1072MB P1 lvm
2 1073MB 2147MB 1075MB P2 lvm
3 2147MB 3221MB 1074MB P3
パーティション 3 を lvmに設定するには、 parted /dev/sdb set 3 lvm
onを実行します。
- カーネルが新しいパーティションを識別できるように、パターン・インスタンス・ページからボリュームの切り離しと再接続を行うか、仮想マシンを再始動します。
- ボリュームが再接続または再始動された後、
ls /dev/sd*を実行します。 コマンド出力に新しいパーティションが表示されます。例えば、以下のコマンドによって新しいパーティションが表示されます。
/dev/sdb3 ls /dev/sdb*
/dev/sdb /dev/sdb1 /dev/sdb2 /dev/sdb3
- 次のコマンドを実行して、新規パーティションから新規物理ボリュームを作成します。
pvcreate /dev/<PHYSICAL_DEVICE><PARTITION_NUMBER>例えば、 /dev/sdb3 を追加するには、 pvcreate
/dev/sdb3を実行します。
- 次のコマンドを実行して、ブロック・ストレージに関連付けられているボリューム・グループに新規物理ボリュームを追加します:
vgextend <volume_group_name>
/dev/<PHYSICAL_DEVICE><PARTITION_NUMBER>。 ブロック・ストレージに関連付けられているボリューム・グループを取得する方法については、ステップ 2 とステップ 3 を参照してください。例えば、ブロック・ストレージがボリューム・グループ datavg0 に関連付けられている場合に、ボリューム・グループ datavg0 を /dev/sdb3 で拡張するには、vgextend datavg0 /dev/sdb3 を実行します。
- 次のコマンドを実行して、ブロック・ストレージに関連付けられている論理ボリュームを拡張します。
lvextend -l +100%FREE
/dev/<volume_group_name>/<logical_volume_name> ブロック・ストレージに関連付けられている論理ボリュームを取得する方法については、ステップ 2 とステップ 3 を参照してください。例えば、ブロック・ストレージがボリューム・グループ datavg0 および論理ボリューム LV21328に関連付けられている場合、論理ボリュームを拡張するには、 lvextend -l
+100%FREE /dev/datavg0/LV21328を実行します。
- 次のコマンドを実行して、ファイル・システムのサイズをリフレッシュします。
resize2fs
/dev/<volume_group_name>/<logical_volume_name>例えば、ブロック・ストレージがボリューム・グループ datavg0 と論理ボリューム LV21328 に関連付けられている場合に、ファイル・システムをリフレッシュするには、resize2fs
/dev/datavg0/LV21328 を実行します。
- ファイル・システムのサイズが変更されたことを確認するには、
df -Ph を実行します。新しいサイズが表示されます。