Odzyskiwanie partycji w Debianie, gdy coś poszło nie tak

Dzień dobry, szanowni
To wydarzyło się w czwartek wieczorem, kiedy jeden z naszych administratorów miał dokonać zmiany rozmiaru dysku w jednej z maszyn wirtualnych KVM. Wydawałoby się to zupełnie trywialne zadanie, ale może prowadzić do całkowitej utraty danych… A więc… cała historia już za katem

Jak już wspomniałem — w czwartek wieczorem (z tego, co pamiętam, nie padał deszcz) jeden z naszych administratorów postanowił wykonać od dawna zaplanowane zadanie i zwiększyć rozmiar systemu plików wewnątrz maszyny wirtualnej. KVM.

Wcześniej zwiększyłem rozmiar samego dysku z 14 GB do 60 GB i administrator musiał tylko zwiększyć rozmiar systemu plików wewnątrz maszyny wirtualnej.

Około północy administrator wysłał wiadomość — pytał, czy partycja powinna być rozszerzona czy podstawowa… W odpowiedzi napisałem mu, że powinien postąpić tak, jak było wcześniej w samej maszynie wirtualnej.

Czas mijał… a administrator przesłał informację, że wystąpiły błędy, że rozszerzenie partycji nie powiodło się… i przestała się montować… na zegarze już była 2 w nocy…

Napisałem mu, żeby nic więcej nie robił i zostawił maszynę wirtualną w spokoju, a sam poszedłem zrobić kopię obrazu dysku VM — nazwałem ją vmname_bad

Sytuacja była jeszcze bardziej skomplikowana, ponieważ administrator nie utworzył zrzutu stanu i nie skopiował partycji przed swoimi działaniami… Gdybym miał tę informację, mógłbym cofnąć się w czasie i spróbować jeszcze raz.

Rano, z świeżymi pomysłami, uruchamiam maszynę wirtualną z tym samym systemem operacyjnym (Debian 9) i podłączam dysk. Przez fdisk widzę ten dysk już rozszerzony do 60 GB i partycję… która w zasadzie jest trochę uszkodzona.

Próbuję na podstawie zrzutów ekranu, które dostarczył administrator — znaleźć poprzednią partycję, ale na próżno. Próbuję przez fdisk dobrać wartości, ale niestety wszystkie próby zakończyły się niepowodzeniem.

Skoro fdisk nie może mi pomóc… sięgam po parted. Uruchamiam parted — usuwam starą partycję rm 2 i znając przybliżone wartości podziału wykonuję rescue — podaję wartość początkową i końcową, gdzie może znajdować się partycja. Chwilowe oczekiwanie i parted znajduje partycję i proponuje wprowadzenie jej informacji do systemu — zgodziłem się i wyszedłem z parted.

Montuję partycję — wszystko w porządku. Pliki na miejscu, wszystko dobrze, ale rozmiar wciąż stary 14 GB. Odmontowałem /dev/sdd1 i wykonuję resize2fs /dev/sdd1, następnie e2fsck /dev/sdd1 i ponownie montuję, a już widzę rozszerzoną partycję ze wszystkimi plikami i jest całkiem żywa.

Wszystko skończyło się dobrze zarówno dla mnie, jak i dla administratora.

Źródło: habr.com

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster