У меня есть сервер, который обрабатывает данные, и он начал выдавать мне эту ошибку:
write error: no space left on device cannot create temp file for here-document: no space left on device
Хотя я использую Ubuntu 14.04 в качестве основной операционной системы, управление файловой системой мне не понятно, и, следовательно, этот вопрос.
df -h
печать
Filesystem Size Used Avail Use% Mounted on /dev/mapper/VolGroup-lv_root 99G 94G 16M 100% / /dev/sda2 477M 39M 413M 9% /boot /dev/sda1 200M 264K 200M 1% /boot/efi /dev/mapper/VolGroup-lv_home 1.5T 453G 996G 32% /home shmfs 30G 0 30G 0% /dev/shm shmfs 30G 0 30G 0% /dev/shm shmfs 30G 0 30G 0% /dev/shm
Очевидно, у меня не так много места на моем lv_root. Я побежал
df -i Filesystem Inodes IUsed IFree IUse% Mounted on /dev/mapper/VolGroup-lv_root 6553600 143617 6409983 3% / /dev/sda2 128016 22 127994 1% /boot /dev/sda1 0 0 0 - /boot/efi /dev/mapper/VolGroup-lv_home 101588992 44952 101544040 1% /home shmfs 4085528 1 4085527 1% /dev/shm shmfs 4085528 1 4085527 1% /dev/shm shmfs 4085528 1 4085527 1% /dev/shm
И это указывает на то, что у меня осталось много свободного места (не уверен, правильно ли я понимаю).
Я попытался удалить файлы из /var/log
но так как эти файлы были не намного больше по размеру, ничего особенного не произошло. Я читал о lvextend
и думал, что смогу увеличить размер lv_root
VolGroup.
sudo lvs --segments
дает мне
LV VG Attr #Str Type SSize lv_home VolGroup -wi-ao---- 1 linear 1.36t lv_home VolGroup -wi-ao---- 1 linear 157.78g lv_root VolGroup -wi-ao---- 1 linear 100.00g lv_swap VolGroup -wi-ao---- 1 linear 20.00g sudo vgdisplay VolGroup
дает мне
VG Name VolGroup System ID Format lvm2 Metadata Areas 2 Metadata Sequence No 4 VG Access read/write VG Status resizable MAX LV 0 Cur LV 3 Open LV 3 Max PV 0 Cur PV 2 Act PV 2 VG Size 1.63 TiB PE Size 4.00 MiB Total PE 427545 Alloc PE / Size 427545 / 1.63 TiB Free PE / Size 0 / 0
Зная, что все мои разделы имеют одно и то же имя группы томов, VolGroup
и размер VG равен 1,63 TiB, я попытался увеличить пространство lv_root на 400Gib
sudo lvextend -L +400G /dev/mapper/VolGroup-lv_root
но получил это сообщение об ошибке
Insufficient free space: 102400 extents needed, but only 0 available
Одно и то же сообщение с разными экстентами нужно для 40G.
Операционная система сервера – RHEL 6, и я обрабатываю данные, которые вводятся в базу данных Oracle.
Я постараюсь ответить на ваш вопрос как можно лучше, вот первый:
Очевидно, у меня не так много места на моем lv_root. Я побежал
[…]
И это указывает на то, что у меня осталось много свободного места (не уверен, правильно ли я понимаю).
Таким образом, у вас недостаточно места на томе lv_root, смонтированном в корневом каталоге: осталось 16 МБ, а на томе, установленном в / home (lv_home), у вас почти не осталось ТБ. Вторая команда с ключом «-i» на самом деле не указывает на оставшееся пространство, но на нем осталось число инодов , в то время как их нехватка может также привести к тому, что «в сообщении устройства не осталось места», это не проблема здесь.
Следующий выпуск здесь:
Зная, что все мои разделы имеют одно и то же имя группы томов, VolGroup и размер VG равен 1,63 TiB, я попытался увеличить пространство lv_root на 400Gib
Размер VG составляет 1,63 ТБ, однако вы не можете выделить 400 ГБ ни одному LV, потому что все это пространство в настоящее время выделено так, как возвращено последней строкой вашей команды vgdisplay:
** Свободный PE / Размер 0/0 **
Вы можете увидеть фактическое распределение этого пространства в вашей команде lvs – сегментов:
Теперь, чтобы решить вашу проблему здесь, вы могли бы (по крайней мере, решения, о которых я думаю, не имея в виду, что это все из них):