スクリプト経由で parted を使用した論理ボリュームの拡張

スクリプト経由で parted を使用した論理ボリュームの拡張

スクリプトを介して論理ボリュームを拡張したいと思います。

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)。

おすすめ記事