サーバーワークロードを処理するためにLVMの利用可能なすべてのスペースを使用してディスクを自動的に拡張するスクリプトの作成

サーバーワークロードを処理するためにLVMの利用可能なすべてのスペースを使用してディスクを自動的に拡張するスクリプトの作成

プログラムでディスクを拡張するスクリプトを作成しようとしています(LVMを有効にする)。

ubuntu Server 22.04イメージは、ホストシステムに自動プロビジョニングされたVMを作成するために使用されます。

命令は知っていますが、sudo lvextend -L +[size] [partition]利用可能なスペースを自動的に照会して/dev/sdaからlvextend

すべてのシナリオには、可変空き容量のあるディスクが1つだけあり、スペース全体を占めるようにLinuxパーティションを自動的に拡張したいと思います。

私のdf -h外観は次のとおりです。

runner@hya-worker-temp:~$ df -h
Filesystem                         Size  Used Avail Use% Mounted on
tmpfs                               91M  928K   90M   2% /run
/dev/mapper/ubuntu--vg-ubuntu--lv  7.6G  3.9G  3.3G  55% /
tmpfs                              453M     0  453M   0% /dev/shm
tmpfs                              5.0M     0  5.0M   0% /run/lock
/dev/sda2                          1.7G  126M  1.5G   8% /boot
/dev/sda1                          537M  5.3M  532M   1% /boot/efi
tmpfs                               91M  4.0K   91M   1% /run/user/1001

使用可能なスペースを照会してスクリプトlvextendから渡す方法、またはストレージを拡張するより簡単な方法はありますか?.sh

答え1

必要なタスクを正確に実行する次のスクリプトを作成しました。

growpart /dev/sda 3
pvresize /dev/sda3
lvresize -l+100%FREE --resizefs /dev/mapper/ubuntu--vg-ubuntu--lv

答え2

ディスクサイズが自動的に拡張されるかどうかは、設定​​した割り当てストレージの種類によって異なります。

VirtualBox を例にすると、選択するとfixed size storageディスクサイズは自動的に拡張されず、選択するとDynamically allocated storageディスクは自動的に拡張されます。

ただし、動的割り当てを設定する場所に関係なく、VirtualBoxさらにはHy-Vディスクには最大サイズがあります。例:Debian / Ubuntuの最大ダイナミックスペースサイズはです12GB

したがって、ディスクがいっぱいになったら、12GB仮想マシンのディスク容量を手動で再拡張する必要があります。

最近は、あなたのようにVM Debianを動的に拡張するように設定し、VMのスペースサイズも設定しておきましたが、12GB数ヶ月経って、VM Debianのディスクスペースが使い果たされて、一週間ほど100%時間をかけてどうするかを調べる時間がありました。私の仮想マシンが言ったように、仮想マシンのディスクサイズを手動で拡張しますLow disk space, only less than 100MB free!。ああ、昔です!

メモ:ディスク使用率が8080%に達すると、ディスクは危険です。

30GB結論として、仮想マシンでより多くのスペースを有効にすることをお勧めします60GB

超過!

関連情報