Я работаю в отделе разработки для службы, которая управляет файлами jpeg в Интернете. У нас произошла неудачная установка, и наши медиа-файлы (JPEG) полностью исчезли. Я предполагаю, что наша потеря, вероятно, проста и может быть возмещена. Я почему-то думаю, что каталог, содержащий подкаталоги с нашими файлами jpeg, был отключен. Если это так, мы сможем их восстановить.
Я осознал потерю почти сразу и, к счастью, в тот момент у нас не было пользователей онлайн. Я остановил нашу службу и отключил наш сервер. Я сделал это, чтобы предотвратить дальнейшую запись в файловую систему, полагая, что предотвращение записи имеет важное значение для восстановления файлов.
Мы запускаем Ubuntu 16.04 в DigitalOcean. Я восстановил сервер с помощью режима восстановления DigitalOcean. Это позволяет монтировать файловую систему данного виртуального хоста без запуска виртуального хоста и без запуска служб, имеющихся на виртуальном хосте. Этого должно быть достаточно и правильно для выполнения любой формы восстановления.
Мне нужно куда-то записывать данные для восстановления. Для этого у меня есть еще один сервер в DigitalOcean в том же центре обработки данных (к сожалению, SFO1). Я смонтировал файловую систему этого хоста с помощью sshfs. Я должен иметь возможность записывать любые данные для восстановления из файловой системы моего виртуального хоста (которая находится в режиме восстановления) на этот другой хост через sshfs.
Я выбрал следующую утилиту для восстановления: PhotoRec
На самом деле эта утилита представляет собой две утилиты - PhotoRec и TestDisk.
Файловая система хоста, который мы хотим восстановить, - ext4. PhotoRec поддерживает ext4. TestDisk может не поддерживать ext4. Это нормально, согласно документации, если данные все еще там и в значительной степени не повреждены, мы сможем восстановить их с помощью PhotoRec.
Вот результат, когда я запускаю df -Th
- как вы видите, файловая система, которую я хочу восстановить, /dev/vda1
это типа ext4
и установлен через /mnt
. Я установил photorec в /lib/live/mount/overlay
который является файлом tmpfs. Я подключил другой хост через sshfs в том же центре обработки данных, чтобы разместить восстановленные данные:
root@xxxx-xxxxxx-xxxxxxxxx:~# df -Th
Filesystem Type Size Used Avail Use% Mounted on
udev devtmpfs 7.9G 0 7.9G 0% /dev
tmpfs tmpfs 1.6G 6.2M 1.6G 1% /run
/dev/sr0 iso9660 251M 251M 0 100% /lib/live/mount/medium
/dev/loop0 squashfs 220M 220M 0 100% /lib/live/mount/rootfs/rescue_rootfs.squashfs
tmpfs tmpfs 7.9G 14M 7.9G 1% /lib/live/mount/overlay
overlay overlay 7.9G 78M 7.8G 1% /
tmpfs tmpfs 7.9G 0 7.9G 0% /dev/shm
tmpfs tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs tmpfs 7.9G 0 7.9G 0% /sys/fs/cgroup
tmpfs tmpfs 1.6G 0 1.6G 0% /run/user/0
root@xxx.xxx.xxx.xxx:/ fuse.sshfs 311G 13G 298G 5% /mnt2/xxxxxx-xxxxxx-xxxxxx
/dev/vda1 ext4 311G 41G 270G 14% /mnt
Когда я бегу photorec
он видит только:
>Disk /dev/sr0 - 252 MB / 250 MiB (RO) - QEMU DVD-ROM
Он вообще не видит мою файловую систему, для которой я хочу выполнить восстановление. То есть:
/dev/vda1 ext4 311G 41G 270G 14% /mnt
Я пробовал это с смонтированной файловой системой, потому что мне это кажется правильным. Однако мы обнаружили в некоторой онлайн-документации, что некоторые инструменты восстановления файлов требуют, чтобы файловые системы не монтировались (что мне кажется странным - как это должно работать). Поэтому я попытался запустить его без подключения, но то же самое: он видит только:
>Disk /dev/sr0 - 252 MB / 250 MiB (RO) - QEMU DVD-ROM
Есть ли у кого-нибудь предложения по поводу получения photorec
чтобы увидеть мою файловую систему:
/dev/vda1 ext4 311G 41G 270G 14% /mnt
У меня есть несколько резервных копий, но, к сожалению, у меня есть фотографии без резервных копий за семь дней. Теоретически мы могли бы жить без них и обращаться к нашим клиентам, получать от них данные, повторно обрабатывать и размещать их. Но было бы идеально, если бы я мог всего несколькими щелчками некоторых кнопок вернуть эти данные, которые, вероятно, все еще недоступны для файловой системы.
Помощь в использовании photorec
для этой цели было бы идеально, как и любые другие предложения относительно того, как восстановить мои потерянные / отсутствующие файлы.
Спасибо!
Вы можете явно указать photorec, с каким блочным устройством работать, например photorec /dev/vda1
. Его нельзя монтировать.
Конечно, перед photorec вы должны попробовать использовать extundelete
, который может быстрее восстановить ваши файлы в файловой системе ext *. Опять же, его нельзя монтировать.
И, конечно же, вы должны быть готовы перейти к резервной копии.