スクリプトを介して論理ボリュームを拡張したいと思います。
10 GBのハードドライブを持つ仮想マシンを作成する前に、ハードドライブを5 GB増やして合計15 GBを持っていました。次のようにハードドライブを拡張するコマンドを手動で実行しました。
sudo parted /dev/sda
Warning: Not all of the space available to /dev/sda appears to be used, you can fix the GPT to use all of the space (an extra 8388608 blocks) or continue with the current setting?
Fix/Ignore? fix
Partition number? 3
End? [17.2GB]? 100%FREE
Information: You may need to update /etc/fstab.
sudo pvresize /dev/sda3
sudo lvresize --extents +100%FREE --resizefs /dev/mapper/ubuntu--vg-ubuntu--lv
test-vm:~$ df -h
Filesystem Size Used Avail Use% Mounted on
udev 447M 0 447M 0% /dev
tmpfs 99M 1.1M 98M 2% /run
/dev/mapper/ubuntu--vg-ubuntu--lv 8.8G 4.6G 3.8G 55% /
tmpfs 491M 0 491M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 491M 0 491M 0% /sys/fs/cgroup
/dev/sda2 976M 106M 804M 12% /boot
/dev/loop1 72M 72M 0 100% /snap/lxd/16099
/dev/loop2 68M 68M 0 100% /snap/lxd/21835
/dev/loop3 44M 44M 0 100% /snap/snapd/14295
/dev/loop4 56M 56M 0 100% /snap/core18/2253
/dev/loop5 62M 62M 0 100% /snap/core20/1270
tmpfs 99M 0 99M 0% /run/user/1000
/dev/loop7 56M 56M 0 100% /snap/core18/2284
/dev/loop8 44M 44M 0 100% /snap/snapd/14549
/dev/mapper/ubuntu --vg-ubuntu --lv に 5GB を追加します.
上記を次のスクリプトで実行したいと思います。
#!/bin/bash
sudo parted -s /dev/sda 'resizepart 3 100%'
sudo pvresize /dev/sda3
sudo lvresize --extents +100%FREE --resizefs /dev/mapper/ubuntu--vg-ubuntu--lv
hdd.shという上記のスクリプトを実行すると、次のような出力が表示されます。
test-vm:~ ./hdd.sh
Warning: Not all of the space available to /dev/sda appears to be used, you can fix the GPT to use all of the space (an extra 10485760 blocks) or continue with the current setting?
Error: Unable to satisfy all constraints on the partition.
Physical volume "/dev/sda3" changed
1 physical volume(s) resized or updated / 0 physical volume(s) not resized
Size of logical volume ubuntu-vg/ubuntu-lv unchanged from <9.00 GiB (2303 extents).
Logical volume ubuntu-vg/ubuntu-lv successfully resized.
resize2fs 1.45.5 (07-Jan-2020)
The filesystem is already 2358272 (4k) blocks long. Nothing to do!
したがって、スクリプトは "fix"入力を提供できないため、最初の parted コマンドを実行できません。以下を試してください。 sudo parted -s /dev/sda resizepart 3 Fix '100%'
私の目標は、スクリプトを介して論理ボリュームを拡張することです。どんな意見でも高く評価されます!
ありがとうございます!
ベストアンサー1
parted
この極端なケースをスクリプトで処理できるかどうかはわかりません(パーティションテーブルを最初から再生成せず)。
残念ながら、parted
これは最初に対話型プログラムであり、2番目にスクリプト可能なプログラムです。
sgdisk --move-second-header
代わりに使用して続行することができますparted
(またはsgdisk
必要に応じてすべてをスクリプトで作成できますが、対応sgdisk
するものはないと思いますresizepart
)。