Могу ли я изменить размер reiserfs с неработающего тома LVM?

Некоторое время назад я вытащил несколько запасных частей, чтобы настроить тест для backuppc. Два больших жестких диска были объединены в один том с LVM. Спустя несколько месяцев кажется, что вторая поездка идет / испортилась. В последний раз, когда я проверял, данные, которые у меня есть, поместились бы на первом диске, если бы я смог убедить файловые системы изменить размер.

Я настроил файловую систему как reiserfs, следуя некоторым сообщениям, что она хорошо работала для backuppc. Я начал использовать resierfsck, чтобы увидеть, насколько велик ущерб, включая попытки --rebuild-tree со списком плохих блоков (из программы badblocks). Но каждый раз, когда я запускаю, он обнаруживает новый неисправный блок и останавливается, так что похоже, что диск - безнадежная причина.

resize_resierfs говорит мне, что мне нужно бежать reiserfsck --check во-первых, даже с -f, Это, в свою очередь, говорит мне, что он не может работать из-за неполного --rebuild-tree,

По крайней мере, данные являются только резервными копиями, поэтому при запуске с нуля не будет потеряно ничего жизненно важного, достаточно много времени для загрузки начальных резервных копий.

5 ответов

Решение

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

Предполагая, что неисправный диск /dev/sdb и новый диск /dev/sdcвот процедура:

Подготовьте новый диск

pvcreate /dev/sdc

добавить его в группу томов

vgextend myvolumegroup /dev/sdc

переместить данные на новый диск

pvmove /dev/sdb /dev/sdc

примечание: pvmove работает медленно, поэтому вы можете захотеть сделать

pvmove -v /dev/sdb /dev/sdc

вместо.

Использование pvmove переместить все экстенты для этого LV на другие PV в VG.

С исправными дисками упражнение по удалению одного из VG выглядит следующим образом: (я предполагаю, что у вас один LV, охватывающий оба диска)

  1. изменить размер файловой системы
    • изменить размер LV
    • pvmove
    • vgreduce

но ваша главная проблема, кажется, в том, что шаги 1 и 3 действительно не понравятся дисковым ошибкам.

в прошлом единственный способ восстановить данные из тома reiserfs с поврежденными секторами был ddrescue, все "рискованные" инструменты reiserfs ошибаются на безопасной стороне: при первой ошибке на диске вся операция отменяется. с ddrescue я мог бы просто скопировать на хорошее устройство и продолжить с reiserfsck.

Я согласен, что диск кажется безнадежным. Ваш подход (сжатие файловой системы, сокращение LV, удаление плохого диска) также кажется нормальным.

Это может (и я имею в виду, что все ставки на сбойном диске отключены):

  1. Получите другой диск, по крайней мере такой же большой, как и неисправный.
  2. Добавьте его в группу томов (pvcreate, vgextend).
  3. Переместите LV с неисправного диска (pvmove).

Это будет работать на уровне PE/ блока, минуя файловую систему. Но вы получаете ошибки чтения, поэтому я не знаю, сработает ли это или нет.

Каждая программа изменения размера раздела (gparted, Partition Magic и т. Д.), Которую я когда-либо использовал, выполняет проверку работоспособности файловой системы перед внесением каких-либо изменений. Если никто не знает о приложении, которое не поддерживает и все еще поддерживает reiserfs, лучше всего начинать с нуля. Любой другой путь, о котором я могу подумать, был бы намного больше работы и занял бы намного больше времени.

В противном случае вы можете попробовать переназначить все поврежденные блоки с помощью инструментов файловой системы, но если диск действительно работает быстро, они могут появиться быстрее, чем вы можете переназначить их.

Другие вопросы по тегам