仮想ディスクに追加のスペースが与えられた後にLinux VMのルートパーティションのサイズを変更する

仮想ディスクに追加のスペースが与えられた後にLinux VMのルートパーティションのサイズを変更する

システム

  • Debian 6 / 32 ビット
  • スフィア

ゴール

現在利用可能なすべてのリソースを活用するためにメイン パーティションのサイズを変更します。

問題

Vsphere の VM インスタンスのディスク容量を増やしましたが、Linux は初めてなので、方法がわかりません。

  1. 新しく利用可能になったスペース(追加 13 ギガ)をご覧ください
  2. どのパーティションがメインパーティションであるかを確認します (/dev/sda1 だと思います)
  3. 現在利用可能な20gまでサイズを変更する方法を見つけてください
  4. そもそもディスク容量を消費している問題のあるファイルがあるかどうか調べる

トラブルシューティング

スタバ

# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    defaults        0       0
# / was on /dev/sda1 during installation
UUID=15a985ca-91ce-48ca-b235-cc0dad9418ef /               ext3    errors=remount-ro 0       1
# swap was on /dev/sda5 during installation
UUID=296256d8-f84a-4f4e-8511-1c2b9ea986d3 none            swap    sw              0       0
/dev/scd0       /media/cdrom0   udf,iso9660 user,noauto     0       0
/dev/fd0        /media/floppy0  auto    rw,user,noauto  0       0

マウント

/dev/sda1 on / type ext3 (rw,errors=remount-ro)
tmpfs on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
udev on /dev type tmpfs (rw,mode=0755)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=620)
overflow on /tmp type tmpfs (rw,size=1048576,mode=1777)
fusectl on /sys/fs/fuse/connections type fusectl (rw)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev)

df -a

/dev/sda1              7867856   7474208         0 100% /
tmpfs                  1557572         0   1557572   0% /lib/init/rw
proc                         0         0         0   -  /proc
sysfs                        0         0         0   -  /sys
udev                   1553124       120   1553004   1% /dev
tmpfs                  1557572         0   1557572   0% /dev/shm
devpts                       0         0         0   -  /dev/pts
overflow                  1024        68       956   7% /tmp
fusectl                      0         0         0   -  /sys/fs/fuse/connections
binfmt_misc                  0         0         0   -  /proc/sys/fs/binfmt_misc

答え1

Linux が動作している仮想ディスクのサイズを変更した場合、基礎となるブロック デバイス (つまり ) のサイズが変更されます/dev/sda。パーティションによって「サブ」ブロック デバイス (つまり ) が作成されますが、/dev/sda1もちろん、これらはパーティション テーブルから派生したもので、スペースを追加しても変更されていない可能性が高いため、変更されることはありません。「基礎」ディスクのサイズを確認するには、メイン/dev/sdaブロック デバイスのサイズを照会します。 unix.stackexchange.comの回答をご覧くださいその方法については。

Linux では、「メイン」パーティションは にマウントされているパーティションです/。したがって、上記によると、 です/dev/sda。他のシステムでは、/var/usr、 が/home異なるパーティションにある場合があることに注意してください。これらは、正常に機能するシステムにとっても非常に重要です (ただし、緊急時に必要な場合は回避できます)。

調べてみるといいかもしれませんext2オンラインパーティションのサイズを変更します/。私は使ったことがありません。何らかの理由でこれや同様のものを使用できない場合は、レスキュー モードでシステムを起動し、すべてを/一時的な外部ボリューム (または 2 番目の仮想ディスク) にコピーして、パーティションを再作成し、すべてをコピーし直すことができます。

問題のあるファイルを調べる場合、通常はまず、/var保存する必要のないログ ファイルをチェックして削除またはトリミングします (定期的に実行してください)。また、不要なものを削除し/home、不要なパッケージを削除するかどうか確認することもできますaptitude。最後に、ユーティリティを使用してみてくださいcruftこのServerfaultの質問システム上の状況を視覚的にレポートできる GUI アプリケーションに関する優れたアイデアが紹介されています。

答え2

vSphere で実行中のディスクのサイズを拡張した場合は、次のコマンドで SCSI バスを再スキャンする必要があります。

エコー "- - -" > /sys/class/scsi_host/host#/scan

ここで、# はホストの番号です (デフォルトは 0)。

すると、ディスクの新しいサイズが表示され、e2extendでファイルシステムを拡張できるようになります。

関連情報