У меня есть виртуальная машина (на хосте Hyper-V), на которой работает сервер Ubuntu 16.04.3. Он настроен на динамическое расширение виртуального жесткого диска (VHDX).
У меня проблемы с дисковым пространством при попытке «завершить табуляции» имен:
-bash: cannot create temp file for here-document: No space left on device
Я спросил df -h
, и вот что ответил сервер:
Filesystem Size Used Avail Use% Mounted on
udev 221M 0 221M 0% /dev
tmpfs 48M 1.8M 47M 4% /run
/dev/mapper/zapp--vg-root 2.0G 2.0G 0 100% /
tmpfs 240M 0 240M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 240M 0 240M 0% /sys/fs/cgroup
/dev/sda1 472M 70M 379M 16% /boot
tmpfs 48M 0 48M 0% /run/user/1000
Очевидно, , этот раздел 2.0G заполнен. Однако виртуальный диск не достиг максимально допустимого размера (максимум 3,0 ГБ, реальный 2,69 ГБ).
Мы попытались расширить ограничение диска до 5 ГБ, но сервер, похоже, не замечает и не использует доступное пространство - даже после перезагрузки.
Можно ли разрешить расширение этих разделов при необходимости, пока не будет достигнут максимальный размер диска? Или что здесь нужно сделать?
Сначала вам нужно запустить parted
и использовать его команду resizepart
, чтобы расширить раздел для использования всего диска, затем запустить pvresize
, чтобы сообщить LVM о новом пространстве, а затем запустить lvresize
, чтобы увеличить логическое значение. том, и, наконец, resize2fs
на логическом томе, чтобы расширить файловую систему для использования нового пространства. Это можно сделать без перезагрузки.
Если машина видит расширенное пространство, и если вы используете LVM (что имеет место), то вы можете использовать команду lvresize, чтобы изменить размер раздела, чтобы заполнить новое пространство. Это не происходит автоматически.
Вы захотите ознакомиться со справочной страницей lvresize, в частности с ключами --resizefs и --size.