
答え1
プロバイダーが仮想ディスクを拡張したら、安全にパーティションを拡張するユーティリティがありますgrowpart
。あなたの場合の唯一の問題は、プロバイダーが不要な拡張/論理 DOS パーティションを不必要に作成していることです。したがって、拡張パーティションのサイズを変更してから、そこに含まれる論理パーティションのサイズを変更する必要があります。
sudo apt install cloud-guest-utils
このgrowpart
ユーティリティはディスク番号とパーティション番号を別々の引数として受け入れるので、サイズを変更するには次のように/dev/vda2
記述します。
sudo growpart /dev/vda 2
/dev/vda2
まず拡張パーティションのサイズを変更し、次に/dev/vda5
同じ方法でサイズを変更します。
sudo growpart /dev/vda 2
sudo growpart /dev/vda 5
これで、ファイルシステムのサイズを変更できるはずです。ext4 の場合は、 がresize2fs /dev/vda5
機能します。XFS の場合は、 を使用しますxfs_growfs /
。
答え2
出力からfdisk
判断すると、確かに80GBのディスクと40GBの延長パーティション(/dev/vda2
)には40GBの論理的な/dev/vda5
ファイルシステムを保持するパーティション/
。拡張パーティションには実際にはファイルは含まれず、以下で説明する 4 つのパーティション制限を克服できる論理パーティションの「コンテナ」にすぎません。また、40 GB の未割り当て領域がありますが、これはfdisk
まったく表示されません。
未割り当て領域の使用方法には、いくつかのオプションがある可能性があります。LVM を使用していないと想定しています。LVM にはボリュームのサイズを変更するための独自のツールがあるため、使用している場合は手順がまったく異なります。ただし、fdisk
出力には LVM パーティションに関する言及がまったくありません。
fdisk
パーティションを削除して再作成することは、常にデータを失うリスクがあるためお勧めしません。安全に実行したい場合は、次の操作を試してください。
最初のオプションは、2 つの 40 GB パーティションを用意し、これらの 2 つにファイルをインテリジェントに分割することです。たとえば、 に大量の大きなファイルを保存する場合/home
、 に新しいパーティションを使用し/home
、 を除くその他すべては/home
古いパーティションに残ります。これを行うには、次の手順を実行します。
を使って、その未割り当て領域に
fdisk
別のプライマリパーティション(おそらく として表示されます!)を作成し、 で新しいLinuxファイルシステムとしてフォーマットします。最大で合計4つのプライマリまたは拡張パーティションを作成できますが、そのうち最大1つが拡張パーティションであるため、別のパーティションのためのスペースがあります。プライマリパーティションが1つしかないパーティションレイアウトは推奨されません。/dev/vda3
mkfs /dev/vda3
後拡張パーティションですが、おそらく動作するでしょう。/home
ディレクトリの名前を に変更し/old_home
(現在使用されていないことを確認し、通常のユーザーがログインしていない状態で root から実行してください)、/home
古いディレクトリと同じ所有者と権限を持つ新しいディレクトリを作成します。コマンドを使用して、
/dev/vda3
以下のファイルシステムをマウントします。これが成功したら、システムの起動時に新しいファイルシステムが適切に自動マウントされるように編集する必要があります。おそらく、現在、vda1 と vda5 の 2 つの行が含まれています。次のようになります (これは私が今作ったもので、実際のものとは異なる場合があります)。/home
mount /dev/vda3 /home
/etc/fstab
/etc/fstab
/dev/vda5 / ext4 defaults 0 1
/dev/vda1 /boot ext4 defaults 0 2
たとえば、vda3 に同様の行を追加します。
/dev/vda3 /home ext4 defaults 0 2
(ファイルに「ext4」または「defaults」以外の何かが含まれている場合は、これらのパラメータを新しい行にコピーするだけです)。次に、任意のファイルを新しい
/home
ディレクトリに書き込み、システムを再起動します。再起動後、ディレクトリに置いたファイルがまだそこにある場合は、起動時に正しくマウントされたことを/home
意味します。/home
これで、すべてを に移動し
/old_home
、/home
空の/old_home
ディレクトリを削除できます。
私にとって、この方法は通常最も安全で簡単だと考えており、何度も使用しています。ただし、この方法には、単一の 80 GB のスペースではなく、実際には 2x40 GB のスペースが必要になるという欠点があります。これは、良い場合もあれば悪い場合もあります。たとえば、ユーザー ファイルでシステム ディスクが誤っていっぱいになるのを避けたい場合は、/home
別のパーティションを用意する方がよいでしょう。
もう一つの選択肢はGNUを使うことだ別れたvda2 および vda5 パーティション (最初に vda2、次に vda5。前者には後者が含まれるため) のサイズを 80 GB に調整するプログラムです。 は、parted
データを失うことなくパーティションを変更するように特別に設計されていますが、fdisk
保証はできません。 は Debian リポジトリにあるはずなparted
ので、 でインストールできますapt
。
パーティションのサイズを変更したら、コマンドを使用してファイルシステムを 80 GB までresize2fs /dev/vda5
拡張します。/
答え3
通常、この場合は を使用しますfdisk /dev/vda
。
- パーティション 2 と 5 の開始セクターをメモします。
- パーティション5を削除します。
- パーティション2を削除します。
- 古い開始セクターと新しい終了セクター(デフォルト値)でパーティション2を再作成します。これは延長パーティション。
- 古い開始セクターと新しい終了セクター(デフォルト値)でパーティション5を再作成します。これは論理的なパーティション。
テーブルが書き込まれてアクティブになった後 (再起動など)、そのパーティション上のファイルシステムに適した方法を/dev/vda5
使用してファイルシステムを拡張する必要があります。resize2fs
何よりも、これを試みる前に、適切なバックアップがあることを確認してください。