После перезагрузки виртуальной машины возникли проблемы с файловой системой на LVM-диске, который был ранее расширен в ESXi. Теперь LVM-раздел воспринимается как физический раздел, и его информацию можно увидеть следующим образом: <pre><code>/dev/mapper/vg1-lv1: LVM2 PV (Linux Logical Volume Manager), UUID: sjXlXa-Ma5C-BT14-n0Na-69VR-BGzK-eIo7DW, size: 107372085248</code></pre> При попытке использовать команды <pre><code>e2fsck fsck.ext4</code></pre> возникает ошибка, которая показывает следующее: <pre><code>e2fsck 1.42.9 (28-Dec-2013) ext2fs_open2: Bad magic number in super-block fsck.ext4: Superblock invalid, trying backup blocks... fsck.ext4: Bad magic number in super-block while trying to open /dev/mapper/vg1-lv1 The superblock could not be read or does not describe a correct ext2 filesystem. If the device is valid and it really contains an ext2 filesystem (and not swap or ufs or something else), then the superblock is corrupt, and you might try running e2fsck with an alternate superblock: e2fsck -b 8193 <device></code></pre> Теперь, чтобы объяснить предшествующие действия, отмечу, что до вмешательства в fdisk физический диск отображался следующим образом: <pre><code>Disk /dev/sdb: 107.4 GB, 107374182400 bytes, 209715200 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk label type: gpt Disk identifier: 6446AAF3-C422-41BC-885A-5B7D038E4918 # Start End Size Type Name 1 2048 209713151 100G Microsoft basic</code></pre> Хотя на самом деле на нем было LVM. Я понимаю, что необходимо было выбрать тип "8e" (LVM Linux), однако ранее система функционировала корректно с установленным типом.
Восстановление файловой системы ext4, находящейся на физическом томе LVM, может быть сложным процессом, особенно если произошли изменения в структуре разделов. Ситуация, которую вы описываете, подразумевает, что информация о типе раздела была изменена, что привело к нераспознаванию файловой системы. Вот шаги, которые могут помочь восстановить доступ к вашей файловой системе: ### 1. Проверка структуры LVM Перед началом любых операций проверьте, что ваши LVM-тома корректно распознаются. Выполните команду: ```bash lvscan ``` Эта команда должна отобразить ваши логические тома. Если они отображаются как "inactive", их можно активировать командой: ```bash lvchange -ay /dev/vg1/lv1 ``` ### 2. Проверка доступного пространства и состояния физического тома Также проверьте состояние физических томов LVM: ```bash pvscan ``` Это поможет убедиться, что физические тома распознаются и правильно связаны с вашей группе томов. ### 3. Попытка проверки файловой системы с помощью альтернативных суперблоков Если ваша файловая система ext4 действительно повреждена, проверьте альтернативные суперблоки. Если «e2fsck» не может получить доступ к файловой системе, попробуйте выполнить команду с указанием альтернативного суперблока: ```bash e2fsck -b 32768 /dev/vg1/lv1 ``` Обычные местоположения для альтернативных суперблоков: - 8193 - 32768 - 98304 - 163840 - 229376 ### 4. Использование rescue или live-системы Если указанные выше шаги не помогли, загрузитесь с LiveCD или USB-накопителя, содержащего утилиты для работы с ext4 (например, SystemRescueCD). Это может помочь избежать проблем в случае, если LVM или файловая система находятся в активном использовании. ### 5. Восстановление данных Если ни одно из решений не сработает, возможно, вам придется рассмотреть возможность использования инструмента восстановления данных, такого как `testdisk` или `photorec`, чтобы попытаться восстановить данные. ### 6. Обращение к профессионалам Если данные критически важны и не удается выполнить восстановление самостоятельно, рекомендуется обратиться в сервис по восстановлению данных. ### Дополнительные советы: - Всегда создавайте резервные копии данных перед выполнением операций, которые могут нарушить файловую систему. - Никаких операций с `fdisk` или изменениями типа разделов, если вы не уверены в том, что делаете. Это может серьезно нарушить доступность данных.
С горем пополам пофиксил сам:
1. Удалил разделы с /dev/sdb
2. Создал заново разделы на /dev/sdb, установив начало первого на 2048й сектор, конечный сектор первого диска подсмотрел на рабочей ВМ с диском откаченным из бэкапа.
3. Столкнулся с проблемой PV [unknown] на месте /dev/sdb2, решил так:
pvcreate --uuid "тут UUID того PV который [unknown]" --restorefile /etc/lvm/archive/{тут файл архива .vg который бал на момент изначального расширения +20Гб моей VG} /dev/sdb2
затем
vgcfgrestore vg1
4. Ещё момент vgdisplay показывал что у него из 2х PV активный только 1, вылечило от этого повторное добавление потерянного PV в VGvgextend /dev/sdb2 vg1 vgcfgrestore -f /etc/lvm/archive/{тут файл архива .vg который бал на момент изначального расширения +20Гб моей VG} vg1
5.systemctl daemon-reload partprobe
и всё взлетело!
/dev/mapper/vg1-lv1 118G 87G 26G 77% /home/bitrix/www/upload
pvdisplay File descriptor 7 (pipe:[27112]) leaked on pvdisplay invocation. Parent PID 8769: bash --- Physical volume --- PV Name /dev/sdb1 VG Name vg1 PV Size <100.00 GiB / not usable 2.00 MiB Allocatable yes (but full) PE Size 4.00 MiB Total PE 25599 Free PE 0 Allocated PE 25599 PV UUID sjXlXa-Ma5C-BT14-n0Na-69VR-BGzK-eIo7DW --- Physical volume --- PV Name /dev/sdb2 VG Name vg1 PV Size 20.00 GiB / not usable 4.00 MiB Allocatable yes (but full) PE Size 4.00 MiB Total PE 5119 Free PE 0 Allocated PE 5119 PV UUID vBNMOq-iIQD-0H1B-nosS-iWmt-wzKm-IMslD6