У меня были и до сих пор есть очень странные проблемы с сервером Ubuntu 18 LTS и LVM
Сначала казалось, что при создании хоста во время установки использовалось только 4 ГБ , который был обнаружен намного позже после года использования и привел к созданию полного корневого диска. Хосту было выделено 200 ГБ пространства в VMware, но корневой каталог использовал только 4G:
Это выглядело примерно так ( К сожалению, у меня больше нет реальных чисел для этой первой части, это примерно так, как я это помню):
root@somehostname:~# df -h --total
Filesystem Size Used Avail Use% Mounted on
udev 1,9G 0 1,9G 0% /dev
tmpfs 395M 6,1M 389M 2% /run
/dev/mapper/ubuntu--vg-ubuntu--lv 3,9G 3,9G 0 100% /
tmpfs 2,0G 0 2,0G 0% /dev/shm
tmpfs 5,0M 0 5,0M 0% /run/lock
tmpfs 2,0G 0 2,0G 0% /sys/fs/cgroup
/dev/sda2 976M 224M 685M 25% /boot
tmpfs 395M 0 395M 0% /run/user/1000
/dev/loop2 99M 99M 0 100% /snap/core/11081
/dev/loop1 100M 100M 0 100% /snap/core/11167
Я «исправил» это, используя следующие команды, но только получил 46 ГБ места рядом с ним, заявив, что это «изменилось с От 52,75 ГиБ (13504 экстента) до <199,00 ГиБ (50943 экстента) ": (На этом этапе я начал копировать каждое внесенное мной изменение, так что это реальные числа и результаты)
root@somehostname:/var/log# lvresize -l +100%FREE /dev/mapper/ubuntu--vg-ubuntu--lv
/etc/lvm/archive/.lvm_trac_2626_513583731: write error failed: No space left on device
root@somehostname:/var/log# resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv
resize2fs 1.44.1 (24-Mar-2018)
Filesystem at /dev/mapper/ubuntu--vg-ubuntu--lv is mounted on /; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 7
The filesystem on /dev/mapper/ubuntu--vg-ubuntu--lv is now 13828096 (4k) blocks long.
root@somehostname:/var/log# lvresize -l +100%FREE /dev/mapper/ubuntu--vg-ubuntu--lv
Size of logical volume ubuntu-vg/ubuntu-lv changed from 52,75 GiB (13504 extents) to <199,00 GiB (50943 extents).
Logical volume ubuntu-vg/ubuntu-lv successfully resized.
root@somehostname:/var/log# df -h --total
Filesystem Size Used Avail Use% Mounted on
udev 1,9G 0 1,9G 0% /dev
tmpfs 395M 6,1M 389M 2% /run
/dev/mapper/ubuntu--vg-ubuntu--lv 52G 3,9G 46G 8% /
tmpfs 2,0G 0 2,0G 0% /dev/shm
tmpfs 5,0M 0 5,0M 0% /run/lock
tmpfs 2,0G 0 2,0G 0% /sys/fs/cgroup
/dev/loop0 98M 98M 0 100% /snap/core/9993
/dev/sda2 976M 224M 685M 25% /boot
tmpfs 395M 0 395M 0% /run/user/1000
/dev/loop2 99M 99M 0 100% /snap/core/11081
total 60G 4,4G 53G 8% -
root@somehostname:/var/log# lvresize -l +100%FREE /dev/mapper/ubuntu--vg-ubuntu--lv
New size (50943 extents) matches existing size (50943 extents).
root@somehostname:/var/log# df -h --total
Filesystem Size Used Avail Use% Mounted on
udev 1,9G 0 1,9G 0% /dev
tmpfs 395M 6,1M 389M 2% /run
/dev/mapper/ubuntu--vg-ubuntu--lv 52G 3,9G 46G 8% /
tmpfs 2,0G 0 2,0G 0% /dev/shm
tmpfs 5,0M 0 5,0M 0% /run/lock
tmpfs 2,0G 0 2,0G 0% /sys/fs/cgroup
/dev/loop0 98M 98M 0 100% /snap/core/9993
/dev/sda2 976M 224M 685M 25% /boot
tmpfs 395M 0 395M 0% /run/user/1000
/dev/loop2 99M 99M 0 100% /snap/core/11081
total 60G 4,4G 53G 8% -
lvscan и pvscan state ~ 200G
lvscan
ACTIVE '/dev/ubuntu-vg/ubuntu-lv' [<199,00 GiB] inherit
pvscan
PV /dev/sda3 VG ubuntu-vg lvm2 [<199,00 GiB / 0 free]
Total: 1 [<199,00 GiB] / in use: 1 [<199,00 GiB] / in no VG: 0 [0 ]
vgscan указывает только один VG
vgscan
Reading volume groups from cache.
Found volume group "ubuntu-vg" using metadata type lvm2
у кого-нибудь есть идеи о том, что здесь происходит? Почему он не использует все пространство lvm? Что мне не хватает? Почему он изначально использовал 4G, когда у него было 52,75 ГиБ и теперь используется только этот объем пространства, кроме того, на самом деле он должен использовать 199 ГБ
Что произойдет, если вы снова запустите команду resize2fs
?
resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv
Ваше сообщение показывает, что вы
lvextend
для расширения LV и он вырос до 52,75 GiB (13504 extents)
resize2fs
для увеличения файловой системы, чтобы заполнить это пространствоlvextend
для расширения LV снова и он вырос до <199, 00 GiB (50943 экстентов)
Однако вы не использовали resize2fs
во второй раз. Я не знаю, почему первый lvextend
не заполнил пространство, но, возможно, произошла ошибка из-за нехватки места на диске.
Если resize2fs
не работает, то вы должны опубликовать результаты pvs
, vgs
и lvs
Почему он использовал 4G для начала
Похоже, это поведение по умолчанию. Есть несколько тем об этом. Вот пара ссылок