Red Hat Enterprise Linux で lvcreate または lvextend が失敗し、device-mapper: reload ioctl failed: Invalid argument エラーが発生する
Issue
pvresizeコマンドを実行して領域を追加してからlvextendを実行すると失敗します。fdiskでパーティションテーブルを編集したあと、lvmツールが無効になり、ターゲットに対してデバイスが小さすぎることを示すエラーが発生します。partedまたはfdiskでパーティションテーブルを編集しても、device-mapperテーブルが更新されません。pvresizeを実行すると、pv のサイズが変更されたことが報告されますが、pv のサイズがパーティションのサイズには変更されません。- lvm で作成したブロックデバイスに領域を追加したあと、
lvextendコマンドを実行しても成功しません。 - 大きくなった仮想ディスク (vmware 仮想ホスト) で root のサイズを変更するにはどうすれば良いですか?
- vmware のサーバー側でディスクのサイズを増やしてから "
fdisk -l" を実行すると、ゲストのサイズに反映されたことが確認できます。次に pv コマンド (pvresize -v --setphysicalvolumesize) を実行すると成功しますが、lvextendは失敗します。 -
VMWare でサイズを増やしてもデバイスのサイズには反映されず、lvextend が失敗して以下のエラーが出力されます。
kernel: device-mapper: table:253:11: sdb1 too small for target: start=125831168, len=62906368, dev_size=125837312 -
lvcreateが失敗し、以下のエラーが出力されます。device-mapper: resume ioctl on (major:minor) failed:Invalid argument Unable to resume vgname-lvname (major:minor) Failed to activate new LV
Environment
- 以下のバージョンを含む Red Hat Enterprise Linux (RHEL)
- Red Hat Enterprise Linux 4 (RHEL4)
- Red Hat Enterprise Linux 5 (RHEL5)
- Red Hat Enterprise Linux 6 (RHEL6)
- サイズを変更したり、新たに追加できるストレージブロックデバイス
- 一般的には VMWare などの仮想化環境ですが、 SAN ベースのボリュームを使用したベアメタルシステムにも適用できます。
-
LVM2 が管理するストレージ
- 物理ボリューム (LVM PV) は、デバイスではなく、パーティション (この例では /dev/sdb1) にあります。
# pvs Scanning for physical volume names PV VG Fmt Attr PSize PFree DevSize PV UUID /dev/sdb1 VolGroup00 lvm2 a-- 90.00g 37.00g 60.00g lt5jBc-JE70-hlbn-yFtg-CZ5l-mD2c-twu9xj- LVM の物理ボリュームは
pvresize --setphysicalvolumesize <size>を実行して拡張されました。pvresize がデバイスの新しいサイズを自動的に検出したわけではありません。(ここではDevSizeは 60g ですが、PSizeは 90g です。これは、LVM メタデータが認識しているデバイスサイズよりも実際のサイズが小さいことを示しています。)
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.