
Система
- Debian 6 / 32 бит
- VСфера
Цель
Измените размер основного раздела, чтобы использовать все доступные ресурсы.
Проблема
Я увеличил дисковое пространство на своем экземпляре виртуальной машины в Vsphere, однако я новичок в Linux и не могу понять, как:
- Посмотрите это новое доступное пространство (дополнительные 13 гигабайт)
- Выясните, какой раздел является основным (я думаю, что это /dev/sda1)
- Узнайте, как увеличить его до 20 г, которые теперь доступны.
- Выясните, есть ли у меня проблемные файлы, которые изначально занимают все мое дисковое пространство.
Поиск неисправностей
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.