Изменение размера корневого раздела виртуальной машины Linux после того, как ее виртуальному диску было предоставлено дополнительное пространство

Изменение размера корневого раздела виртуальной машины Linux после того, как ее виртуальному диску было предоставлено дополнительное пространство

Система

  • Debian 6 / 32 бит
  • VСфера

Цель

Измените размер основного раздела, чтобы использовать все доступные ресурсы.

Проблема

Я увеличил дисковое пространство на своем экземпляре виртуальной машины в Vsphere, однако я новичок в Linux и не могу понять, как:

  1. Посмотрите это новое доступное пространство (дополнительные 13 гигабайт)
  2. Выясните, какой раздел является основным (я думаю, что это /dev/sda1)
  3. Узнайте, как увеличить его до 20 г, которые теперь доступны.
  4. Выясните, есть ли у меня проблемные файлы, которые изначально занимают все мое дисковое пространство.

Поиск неисправностей

fstab

# <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)

дф -а

/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могут находиться на разных разделах — они также весьма существенны для нормального функционирования системы (хотя вы можете обойти это, если это необходимо в чрезвычайной ситуации).

Возможно, вам стоит рассмотретьext2onlineдля изменения размера /раздела. Я никогда этим не пользовался. Если вы не можете использовать его или что-то подобное по какой-то причине, вы можете загрузить систему в режиме восстановления, скопировать все с него /на временный внешний том (или второй виртуальный диск), переразбить, а затем скопировать все обратно.

Что касается поиска проблемных файлов, обычно сначала нужно проверить /varи удалить или обрезать любые файлы журналов, которые вам не нужно хранить (и делать это регулярно). Вы также можете удалить ненужные вещи /homeи проверить, aptitudeнет ли ненужных пакетов. Наконец, вы можете попробовать использовать cruftутилиту. Этот вопрос Serverfaultесть отличные идеи для некоторых графических приложений, которые могут предоставить вам визуальный отчет о том, что находится в вашей системе.

решение2

Если вы увеличили размер работающего диска в vSphere, вам необходимо повторно просканировать шину SCSI с помощью этой команды:

echo "- - -" > /sys/class/scsi_host/host#/scan

где # — номер хоста (по умолчанию 0).

Затем вы увидите новый размер диска и сможете расширить файловую систему с помощью e2extend.

Связанный контент