Какой-либо способ восстановить ext4 файловые системы с удаленного логического тома LVM?

Если Вы укажете на конкретный файл ключей с ssh-i/path/to/key, то он будет только использовать тот, даже если другие будут загружены в агент, и Вам не предложат пароль. Можно также отредактировать Вас ~/.ssh/config и реклама что-то вроде этого...

Хост foo.example.com
IdentityFile .ssh/id_rsa_foo.example.com

можно также сделать...

Хост *.example.org
IdentityFile .ssh/id_rsa_example.org

4
задан 8 October 2011 в 18:39
3 ответа

Нет действительно хороших вариантов восстановления, и нет инструментов, поддерживающих это насколько мне известно. Тем не менее, см. Раздел восстановления данных Опасности и предостережения LVM , где можно найти некоторые статьи о ручном восстановлении.

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

В приведенном выше ответе также есть раздел об изменении размера томов LVM - их расширение достаточно безопасно, и обычно лучше использовать lvresize вместо удаления и воссоздания.

По связанному с этим вопросу: поскольку вы используете VMware, вы также должны позаботиться о том, чтобы сбросы кэша записи на жесткий диск (барьеры записи) корректно распространялись из гостевого ядра Linux через гипервизор и любую ОС хоста. Также важно, чтобы в гостевой FS и гостевом ядре были установлены барьеры записи, которые должны быть версии 2.6.33 или выше.

0
ответ дан 3 December 2019 в 03:47

Каждый раз, когда вы выполняете операцию с LVM, по умолчанию предыдущие метаданные архивируются в / etc / lvm / archive . Вы можете использовать vgcfgrestore , чтобы восстановить его, или захватить расширение вручную (сложнее, но lvcreate (8) должен покрыть его).

Edit:

И чтобы сделать это как можно проще, я должен добавить, что вы можете найти последнюю резервную копию перед разрушительной операцией, просмотрев описания:

# grep description /etc/lvm/archive/vg01_*
/etc/lvm/archive/vg01_00001.vg:description = "Created before executing 'lvremove -f /dev/vg01/foo'"
/etc/lvm/archive/vg01_00002.vg:description = "Created before executing 'lvremove -f /dev/vg01/bar'"
/etc/lvm/archive/vg01_00003.vg:description = "Created before executing 'lvremove -f /dev/vg01/baz'"

Изменить:

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

3
ответ дан 3 December 2019 в 03:47

Благодаря существующей резервной копии образа диска до удаления, но после создания, вы можете просто скопировать метаданные LVM обратно на место:

  1. Загрузите виртуальную машину с (копией cp --reflink) резервной копией в качестве диска и небольшого второго диска, чтобы сохранить несколько МиБ данных на шаге 3.

  2. Проверьте смещение полезной нагрузки в PV. Обычно это 1 МиБ.

  3. Скопируйте метаданные LVM из предыдущей полезной нагрузки в файл на дополнительном хранилище, например, dd bs=1024k count=1 if=/dev/sda5 of=/mnt/pv-meta.img.

  4. Загрузите систему аварийного восстановления на виртуальной машине с подключенным текущим диском и дополнительным хранилищем. (Не загружайте виртуальную машину с текущим диском и диском резервного копирования, подключенным одновременно, так как LVM не нравится видеть одни и те же UUID PV/VG/LV дважды.)

  5. Восстановите метаданные PV в /dev/sda5

  6. Перезагрузка

Если вы испортили размер /dev/sda5после изменения размера диска, верните /dev/sda5к его предыдущему размеру до шага 5, если это сбивает с толку LVM. Правильный способ добавить новое пространство - создать новый PV как /dev/sda6и добавить его в VG.

0
ответ дан 24 February 2022 в 11:36

Теги

Похожие вопросы