UFS - как файл 0 байтов сломал заголовок файловой системы?

Для тех, кто достигает здесь; К сожалению, я не смог восстановить данные, после различных попыток и воспроизведения проблемы было слишком дорого продолжать попытки, поэтому мы просто использовали прошлую резервную копию для воссоздания необходимой информации

Человеческая ошибка сломала файловую систему UFS 150G (Solaris).

При попытке сделать резервную копию файловой системы (c0t0d0s3) ufsdump(1M) использовался неправильно. Я объясню фон, который привел к этому...

Админ использовал:

# ufsdump 0f /dev/dsk/c0t0d0s3 > output_1
root@ats-br000432 # ufsdump 0f /dev/dsk/c0t0d0s3 > output_1
Usage: ufsdump [0123456789fustdWwnNDCcbavloS [argument]] filesystem

Это неправильное использование, поэтому он создал файл с именем output_1 с 0 байтами:

# ls -la output_1
-rw-r--r--   1 root   root         0 abr 12 14:12 output_1

Затем использовался следующий синтаксис:

# ufsdump 0f /dev/rdsk/c0t0d0s3 output_1

Который написал, что файл 0 байтов output_1 в / dev / rdsk / c0t0d0s3 - который был срезом раздела

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

Я предполагаю, что в какой-то момент заголовок файловой системы был затронут, верно? Или это была часть информации?

Небольшая попытка fsck вызывает это:

** /dev/rdsk/c0t0d0s3
** Last Mounted on /database
** Phase 1 - Check Blocks and Sizes
INCORRECT DISK BLOCK COUNT I=11 (400 should be 208)
CORRECT?

Количество дисковых блоков / I=11

  • похоже, что команда сломала информацию файловой системы относительно своего собственного содержимого, верно? Когда мы попытались выполнить fsck -y -F ufs /dev/dsk.. были восстановлены различные файлы, но не те файлы dbf, которые нам нужны (размером в ГБ)

Что можно сделать сейчас? Должен ли я попробовать каждую информацию суперблока из newfs -N?

РЕДАКТИРОВАТЬ: новая информация относительно вывода разделов newfs, показывающая информацию о суперблоке

# newfs -N /dev/rdsk/c0t0d0s3
Warning: 2826 sector(s) in last cylinder unallocated
/dev/rdsk/c0t0d0s3:     265104630 sectors in 43149 cylinders of 48 tracks, 128 sectors
        129445,6MB in 2697 cyl groups (16 c/g, 48,00MB/g, 5824 i/g)
super-block backups (for fsck -F ufs -o b=#) at:
 98464, 196896, 295328, 393760, 492192, 590624, 689056, 787488, 885920,
Initializing cylinder groups:
.....................................................
super-block backups for last 10 cylinder groups at:
 264150944, 264241184, 264339616, 264438048, 264536480, 264634912, 264733344,
 264831776, 264930208, 265028640

0 ответов

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