Некоторое время назад я вытащил запасные части, чтобы настроить тест на резервное копирование. Два больших жестких диска были объединены в один том с помощью LVM. Спустя несколько месяцев кажется, что второй диск вышел / испортился. В последний раз я проверил, что данные, которые у меня есть, поместятся на первом диске, если я смогу убедить файловые системы изменить размер.
Я установил файловую систему как reiserfs, следуя некоторым сообщениям о том, что она хорошо работает для backuppc. Я начал использовать resierfsck, чтобы увидеть, насколько велик ущерб, включая попытки --rebuild-tree
со списком плохих блоков (из программы badblocks). Но каждый раз, когда я запускаю, он находит новый сбойный блок и останавливается, так что похоже, что диск потерян.
resize_resierfs
говорит мне, что мне нужно бежать reiserfsck --check
во-первых, даже с -f
. Это, в свою очередь, говорит мне, что он не может работать из-за неполного --rebuild-tree
.
По крайней мере, данные - это всего лишь резервная копия, поэтому ничего важного не будет потеряно при запуске заново, просто много времени на загрузку исходных резервных копий.
Что вы на самом деле пытаетесь сделать, так это получить логический том с этого диска, и лучше всего для этого перенести физические экстенты на другой диск. Невозможно предсказать, откуда появится свободное пространство, если вы просто измените размер файловой системы.
Предполагая, что неисправный диск /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.
Я согласен с тем, что диск кажется безнадежным. Ваш подход (сжатие файловой системы, сжатие LV, удаление плохого диска) также кажется нормальным.
Это может (и я имею в виду, может, все ставки невозможны из-за неисправного диска) сработает:
Это будет работать на уровне PE / блока, минуя файловую систему. Но вы получаете ошибки чтения, поэтому я не знаю, сработает это или не удастся.
со здоровыми дисками упражнение по удалению одного из VG выглядит следующим образом: (я предполагаю, что у вас есть один LV, охватывающий оба диска)
но ваша основная проблема, похоже, заключается в том, что на этапах 1 и 3 действительно не будут возникать дисковые ошибки.
в прошлом единственным способом восстановления данных с тома reiserfs с поврежденными секторами было ddrescue
. все «рискованные» инструменты reiserfs ошибаются в безопасности: при первой ошибке диска вся операция отменяется. с помощью ddrescue я мог просто скопировать на хорошее устройство и продолжить работу с reiserfsck.
Каждая программа изменения размера раздела (gparted, Partition Magic и т.д.), которую я когда-либо использовал, выполняет проверку работоспособности файловой системы перед фиксацией каких-либо изменений. Если никто не знает о приложении, которое не поддерживает и не поддерживает reiserfs, лучше всего начать с нуля. Любой другой путь, который я могу придумать, потребовал бы гораздо больше работы и времени.
В противном случае вы можете попробовать переназначить все плохие блоки с помощью инструментов файловой системы, но если диск действительно работает быстро, они могут появиться быстрее, чем вы можете переназначить их.