LINUX.ORG.RU
ФорумAdmin

Resize2fs on lvm after extend


1

1

Добрый день. Появилась проблема, не знаю как быть.

Жил был lvm volume, работал он виртуальным диском для виртуалки xen. Понадобилось как то, расширить раздел. Выключил виртуалку, заюзал lvextend, все ок, посмотрел на хостовой системе fdisk-ом таблицу разделов данного volume, сделал с offset-ом loop устойство, все ок, потом говорю resie2fs /dev/loop0, все ок, смотрю места дофига, раздел монтируется. Включаю виртуалку, и вот она долгожданная,

Either the superblock or the partition table is likely to be corrupt!
Выкидывает меня в maintenance mode. Смотрю вроде как все смонтировалось причем с нужным объемом, но система в ro. Пробовал запускать fsck и на самой виртуалке и на хостовой системе, пишет вышеописанный ерор и предлагает Аборт. Нажимаю «n» валятся куча
 Error reading block <blocknumber> Ignore error? 
Но жать 100500 раз «y» обломно. Да и не уверен что это поможет. Если запускать с опцией "-y" то он ответит «yes» на Аборт. Так же пробовал fsck -b <number> та же ошибка. Хз че сделать то. И не очень ясно что произошло. Господа, просветите. Спс



Последнее исправление: pyatak123 (всего исправлений: 1)

Ответ на: комментарий от i-rinat

1. fdiskom я лишь смотрел таблицу разделов. Увеличивал lvextend-ом. 2. Ты сам понял о чем ты? loop для того что бы получить виртуальный раздел на устройстве loop, а max_parts это параметр модуля loop который задает макс кол-во устройств loop.

pyatak123
() автор топика
Ответ на: комментарий от pyatak123

1. fdiskom я лишь смотрел таблицу разделов. Увеличивал lvextend-ом.

lvextend не изменит размер разделов. Он только увеличивает том. Если у тебя на томе своя таблица разделов, увеличивай размера раздела сам.

2. Ты сам понял о чем ты? loop для того что бы получить виртуальный раздел на устройстве loop, а max_parts это параметр модуля loop который задает макс кол-во устройств loop.

Да. Ты спутал max_loop и max_part. Вот, прочитай:

$ /sbin/modinfo loop
filename:       /lib/modules/3.2.0-4-amd64/kernel/drivers/block/loop.ko
alias:          devname:loop-control
alias:          char-major-10-237
alias:          block-major-7-*
license:        GPL
depends:        
intree:         Y
vermagic:       3.2.0-4-amd64 SMP mod_unload modversions 
parm:           max_loop:Maximum number of loop devices (int)
parm:           max_part:Maximum number of partitions per loop device (int)

Если на loop0 обнаружится таблица разделов (и max_part будет больше 0), у тебя появятся /dev/loop0p1, /dev/loop0p2 и так далее. Это гораздо удобнее, чем высчитывать смещения вручную.

i-rinat ★★★★★
()
Ответ на: комментарий от i-rinat

Внатуре попутал. Разобрался, с loop max_part, спс. Т.е нужно поправить таблицу разделов на самом volume?! Т.е удалить старый раздел со старым объемом и создать новый?

pyatak123
() автор топика
Ответ на: комментарий от pyatak123

Т.е нужно поправить таблицу разделов на самом volume?!

Если она там есть, то да. Сама она не поправится.

i-rinat ★★★★★
()
Ответ на: комментарий от pyatak123

А вообще, может я принципиально не так делаю, как бы делали вы?!

На хосте:

  • lvextend - увеличиваем LVM том;

В госте (если системный, через live-cd) *:

  • fdisk - пересоздать разделы
  • resie2fs - увеличить файловую систему
petav ★★★★★
()
Ответ на: комментарий от pyatak123

А как правильно пересоздать разделы?

  • Использовать fdisk
    fdisk /dev/path
    
    Удаляем существующий раздел и поверх создаем точно такой же (начало и id), но на весь диск.
  • Использовать live-cd gparted
petav ★★★★★
()
Последнее исправление: petav (всего исправлений: 1)
Ответ на: комментарий от pyatak123

как бы делали вы?!

 На хосте:
    lvextend - увеличиваем LVM том; 

В госте:
    fdisk - создать на свободном месте еще один раздел (pv)
    добавить новый pv в vg и увеличить  lv
    увеличить файловую систему 
sdio ★★★★★
()
Ответ на: комментарий от pyatak123

Конечно круто, можно все делать без остановки гостя. Если у тебя там игрушечный сервер, то не важно, а если какой-никакой продакшен, то не иметь LVM совсем не круто.

sdio ★★★★★
()
Последнее исправление: sdio (всего исправлений: 1)
Ответ на: комментарий от sdio

Конечно круто, можно все делать без остановки гостя.

А подскажите, это с какой версии XEN, онлайн resize работает (host vg/lv -> guest block)?

SandySandy
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.