Я смог запустить сломанную систему raid 1 с одним доступным и одним сломанным диском, выполнив следующую команду.
mdadm --assemble --force /dev/md9 /dev/sda1 /dev/sda2
Мне удалось скопировать образ VMWare с диска и восстановить его с помощью команды VMWare
vmkfstools -x repair /path/to/image.vmdk
чтобы установить его на ESXi. После ремонта изображение было преобразовано из формата GSX в ESXi.
Мне удалось смонтировать диск ( /dev/sdb1
раздел) в новой установке Ubuntu, но при попытке спасти /var/www
и выдача ls -al
Получаю следующий результат.
Команда fsck -y /dev/sdb1
не сообщал ни о каких сбоях.
Команда fdisk -l /dev/sdb
сообщает следующее.
Что я могу сделать, чтобы получить данные из /var/www
?
ОБНОВЛЕНИЕ 1:
Бег e2fsck -f -y /dev/sdb1
начал ремонтировать много поломок. Однако я сомневаюсь, что это вернет мне мои данные.
ОБНОВЛЕНИЕ 2:
После запуска e2fsck -f -y /dev/sdb1
нет абсолютно никаких данных в /var/www
и много файлов с сгенерированными числовыми именами файлов теперь находятся в lost+found
папка.
Есть ли варианты выхода из этой ужасной аварии?
Во-первых, вы напортачили, заставив RAID собираться. Вероятно, что на одном из дисков была гораздо более старая версия данных, чем на другом. Принудительно вы сказали md, что оба диска содержат одни и те же данные, и предположили, что они чистые. Таким образом, md может извлечь любой сектор с любого диска.
Первое, что вам нужно было сделать, это сделать полную копию дисков с помощью такого инструмента, как dd
. Тогда все ваши усилия по восстановлению должны быть направлены на этот файл, а не на диски.
Возможно, вы опоздали для этого.
Теперь у вас есть два варианта.
Первый - отправить диски коммерческой компании по восстановлению данных, такой как Kroll OnTrack. Это может быть дорого. Я получал от них счета на сумму от 250 до 5000 долларов. Но если ваши данные того стоят, то оно того стоит.
Если на этом этапе вас не волнует дальнейшая потеря данных, то второй вариант - попытаться восстановить самостоятельно, используя dd
. Выключите диски и отсоедините тот, который ранее был отмечен как неисправный. Затем загрузите сервер с аварийного компакт-диска и используйте dd
чтобы скопировать диск на другой диск. Имейте в виду, что любая работа, которую вы можете проделать с исходными дисками на этом этапе, только усложнит для коммерческой компании по восстановлению данных возможность помочь вам, когда вы позже решите, что ошибаетесь.
После запуска e2fsck -f -y / dev / sdb1 в / var / www нет абсолютно никаких данных, и множество файлов с сгенерированными числовыми именами файлов теперь находятся в папке lost + found.
Это будут «потерянные» файлы (inodes со ссылками, которые должны существовать, но не существуют).
fsck
«нашел» их и положил сюда для вас. Теперь вы должны просмотреть их и определить, какие из них важны.
Да, это может - и, вероятно, будет - огромной задачей, но если вам повезет, вы найдете недостающие файлы из /var/www
там.
grep
вероятно будет вашим новым лучшим другом.