仮想マシンの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
最後に変更をディスクに書き込んで終了できます。d
3
w
fdisk
次に、実行してもはやcat /proc/partitions
リストされていないことを確認してくださいsda3
。その場合は、実行しpartprobe /dev/sda
てもう一度確認してください。
おそらく、既存のパーティションを拡張する最も簡単なツールは、growpart
OpenSuSE 15.3では標準では利用できないようですが、ここから入手できます。https://software.opensuse.org/download.html?project=Cloud%3ATools&package=growpart
sda2
ディスク上のパーティションの背後にある連続的で非パーティションの空き領域を占めるようにパーティションを拡張するには:
growpart /dev/sda 2
次に、btrfs
ファイルシステムのサイズを変更して、より大きなパーティションを作成します。 (sda2
これがルートファイルシステムであると仮定)
btrfs filesystem resize max /