システムの実行中にLinuxパーティションのサイズを変更するには?

システムの実行中にLinuxパーティションのサイズを変更するには?

仮想マシンの1つ(OpenSUSE LEAP 15.3を実行)のファイルシステムは元々10 GBに設定されていましたが、いっぱいです。そのため、vSphereで20GBを拡張しました。私が見つけた説明によると、まず/dev/sda3そのディスクの最後にある20 GBの新しいパーティションを作成しました。

~ # fdisk -l   

Disk /dev/sda: 30 GiB, 32212254720 bytes, 62914560 sectors
Disk model: Virtual disk
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x000845f1

Device     Boot    Start      End  Sectors  Size Id Type
/dev/sda1  *        2048  1026047  1024000  500M 83 Linux
/dev/sda2        1026048 20971519 19945472  9.5G 83 Linux
/dev/sda3       20971520 62914559 41943040   20G 83 Linux
~ #

ところで、その時私は疑問を抱いていました。実際に、新しく作成されたパーティションを再度削除して既存のパーティションを拡張する方が良いと思います/dev/sda2

どうすれば最高で簡単にこれを行うことができますか?つまり、どのように/dev/sda3再度削除し、/dev/sda2終了セクタを62914559に変更しますか?私にとって問題は、ファイルシステムを壊さずに実行中の仮想マシン自体でこれを行う必要があることです。つまり、一部のパーティション編集ツールを含むCDまたはメモリースティックではシステムを起動できませんが、システムの実行中にこれを行う必要があります。可能だと思います。しかし、私は明らかにLinuxの専門家ではないので、ご了承ください。

ここに関連する場合:/dev/sda2書式設定にbtrfsを使用してください。

ベストアンサー1

怠惰な方法:btrfs機能を使用してsda3既存のファイルシステムにマージする

結果にのみ興味がある場合(つまり、パーティションのディスク容量がsda3既存のファイルシステムの一部になる)、単に次のことができます。

sda2(これがルートファイルシステムであり、実際に拡張したいファイルシステムであると仮定)

btrfs device add /dev/sda3 /   # this makes the new capacity available

それから

btrfs filesystem balance /     # this optimizes things but can take a long time

これで終わりました。

はい、単一のbtrfsファイルシステムが複数のパーティションを占有できます。


基本的な解決策:実際にsda3パーティションを削除して拡張します。sda2

sda3まず、作成したパーティションを削除する必要があります。まだインストールしていない場合、または既存のパーティションに追加したbtrfs場合、または別の方法で使用した場合は、単に実行して「パーティションの削除」と入力してから削除するパーティションの数を入力し、fdisk /dev/sda最後に変更をディスクに書き込んで終了できます。d3wfdisk

次に、実行してもはやcat /proc/partitionsリストされていないことを確認してくださいsda3。その場合は、実行しpartprobe /dev/sdaてもう一度確認してください。

おそらく、既存のパーティションを拡張する最も簡単なツールは、growpartOpenSuSE 15.3では標準では利用できないようですが、ここから入手できます。https://software.opensuse.org/download.html?project=Cloud%3ATools&package=growpart

sda2ディスク上のパーティションの背後にある連続的で非パーティションの空き領域を占めるようにパーティションを拡張するには:

growpart /dev/sda 2

次に、btrfsファイルシステムのサイズを変更して、より大きなパーティションを作成します。 (sda2これがルートファイルシステムであると仮定)

btrfs filesystem resize max /

おすすめ記事