VMテンプレートがあります。VMテンプレートは、スペースを節約するために4GBです。VMのストレージこれから構築するものは、iSCSIターゲットまたはLVMボリューム(機能によって異なります)上にあり、それらのファイルシステムのサイズは、マシンの役割によって異なります。
テンプレートから新しいVM=を作成した後、4GBを超えるディスクを必要とするものを構築する場合は、ルートパーティションのサイズを変更する必要があります。これは、partedをインタラクティブに使用しているときに問題なく動作しますが、スクリプト化されています。ファイルシステムを削除しようとすると、「-s」を使用しても続行するかどうかを尋ねられます
以下の出力は、失敗したスクリプト試行と、これを達成するためのインタラクティブセッションの動作を示しています。
単純にスクリプト化できるポストクローンのルートパーティションのサイズを変更する最良の方法は何ですか?
クローン作成後のパーティション
# parted /dev/vda p
Model: Virtio Block Device (virtblk)
Disk /dev/vda: 10.7GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
1 1049kB 4294MB 4293MB primary ext4 boot
スクリプトの削除の試み
# parted /dev/vda -s rm 1
Warning: Partition /dev/vda1 is being used. Are you sure you want to continue?
#
削除に失敗した後のパーティション
# parted /dev/vda p
Model: Virtio Block Device (virtblk)
Disk /dev/vda: 10.7GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
1 1049kB 4294MB 4293MB primary ext4 boot
削除前のパーティション
# parted /dev/vda p
Model: Virtio Block Device (virtblk)
Disk /dev/vda: 10.7GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
1 1049kB 4294MB 4293MB primary ext4 boot
すべてのディスクを使用する新しいパーティションの削除と作成
# parted /dev/vda
(parted) rm 1
Warning: Partition /dev/vda1 is being used. Are you sure you want to continue?
Yes/No? y
Error: Partition(s) 1 on /dev/vda have been written, but we have been unable to
inform the kernel of the change, probably because it/they are in use. As a
result, the old partition(s) will remain in use. You should reboot now before
making further changes.
Ignore/Cancel? I
(parted) mkpart p ext4 1 -1
(parted)
# parted /dev/vda p
Model: Virtio Block Device (virtblk)
Disk /dev/vda: 10.7GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
1 1049kB 10.7GB 10.7GB primary ext4
ファイルシステムのサイズ変更
# resize2fs /dev/vda1
resize2fs 1.42.9 (4-Feb-2014)
Filesystem at /dev/vda1 is mounted on /; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 1
The filesystem on /dev/vda1 is now 2621184 blocks long.
# df -kh .
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 9.8G 1.6G 7.9G 17% /
私はこれを行う方法を理解しました。キーはkpartxで、LVMをVMの外部でハイパーバイザホスト上で)使用できるようにします。次に、パーティションサイズを変更してから、ゲストを起動してファイルシステムを増やします。
したがって、/ dev/VMS/VIRT-TESTVMにストレージを持つTESTVMという名前のゲストがある場合、ハイパーバイザーホストで次のようにします。
# kpartx -a /dev/VMS/VIRT-TESTVM
# parted /dev/VMS/VIRT-TESTVM rm 1
# parted /dev/VMS/VIRT-TESTVM mkpart -a optimal p ext4 0% 100%
# kpartx -d /dev/VMS/VIRT-TESTVM
次に、マシンを起動してログインし、
# resize2fs /dev/vda1
安全のために、もう一度再起動します。