Odzyskiwanie danych z niesprawnego systemu
Czasami może się zdarzyć, że w wyniku jakiegoś niezbyt przemyślanego działania nasz system przestanie działać. Wtedy najprostsza myśl to reinstalacja systemu. Ale przecież wtedy stracimy nasze dane! Musimy je przed reinstalacją z serwera jakoś ewakuować. Tylko jak je pobrać, jeżeli serwer nie chce wystartować?
Aby móc je pobrać, musimy wystartować nasz serwer "z płyty" i zainstalować na nim np serwer ftp, gdyż będzie to raczej jeden z prostszych w użyciu i przygotowaniu sposób dobrania się do plików.
Uwaga. Poradnik zakłada, że pliki i/lub system plików nie został uszkodzony, a po prostu system nie chce się uruchomić przez np problem z konfiguracją. Nie przedstawię tutaj metod ratowania uszkodzonych plików, ani krok ów które trzeba podjąć jeżeli np zdecydowaliśmy się na
Uruchomienie systemu z płyty
Na początek musimy zalogować się do panelu proxmox. Aby to zrobić, zaloguj mysię do panelu klienta i przejdźmy do panelu serwera z którego chcemy odzyskiwać pliki. Kliknijmy przycisk i zalogujmy się do panelu proxmox danymi które pojawią się nieco niżej. Po zalogowaniu powinniśmy zobaczyć ekran podobny do poniższego.
Teraz wybierzmy z listy opcję qemu
. Powinniśmy zobaczyć coś w tym stylu:
z listy po prawej stronie wybierzmy opcję hardware. Powinniśmy zobaczyć teraz ekran tego typu:
Wybierzmy opcję CD/DVD Drive
.
Ustawmy w tym okienku wszystko tak jak możemy zauważyć na powyższym screenie, ISO image powinien nazywać się ubuntu-18.04-live-server-amd64.iso
.
Zatwierdźmy wybór i przejdźmy do zakładki console
. Z górnego paska po prawej stronie wybierzmy opcję reset
z menu rozwijanego shutdown
Powinien pojawić się nam taki ekran w głównym oknie:
Wciśnijmy klawisz ESC
. Powinien nam wystąpić następujący ekran:
Wciśnijmy teraz 3
. Powinien zacząć się ładować system operacyjny z płyty którą wybraliśmy przed chwilą w zakładce hardware
.
Konfigurowanie systemu i instalacja serwera ftp
Po chwili ładowania systemu powinniśmy ujrzeć następujący ekran: Nie interesuje nas on, w końcu nie chcemy instalować ubuntu. Aby z niego "uciec" do systemu pracującego z płyty, użyjmy kombinacji klawiszy ALT+F2. [details=Jeżeli kombinacja nie działa - rozwiń] Jeżeli z jakiegoś powodu nie możemy użyć tej kombinacji, po lewej stronie wirtualnego ekranu naszego serwera znajdźmy strzałkę i wybierzmy opcje w następujący sposób: Teraz wystarczy wcisnąć F2. [/details] Po chwili ładowania powinniśmy zobaczyć ekran podobny do tego: Teraz możemy zacząć wykonywać polecenia. Dzięki niedawno wprowadzonemu DHCP nie musimy przejmować się konfigurowaniem sieci, powinna działać od razu. Jeżeli mimo to nie działa - napisz w tym wątku, a spróbujemy rozwiązać ten problem :slight_smile: Na początek zamontujmy dysk naszego serwera.
Uwaga. Zakładam, że system był instalowany przez automatyczny instalator hostingu. Jeżeli jest inaczej, upewnij się na której partycji zainstalowany jest system i użyj jej numerka w poniższych poleceniach.
Aby zamontować dysk serwera użyjmy polecenia sudo mount /dev/vda1 /mnt
. Jeżeli uzyskamy błąd mount: mnt: special device /dev/vda1 does not exist
, spróbujmy użyć sudo mount /dev/sda1 /mnt
.
Jeżeli oba te polecenia zwróciły taki błąd, napisz tu w wątku, a zastanowimy się co robić dalej.
Jeżeli po wykonaniu tego polecenia wyskoczył nam prompt bez dodatkowych informacji, to wszystko poszło po naszej myśli i dysk jest teraz zamontowany w katalogu /mnt
. Teraz możemy zainstalować serwer ftp. W tym celu wykonajmy polecenie sudo apt update && sudo apt install -y vsftpd
. Po wykonaniu tych komend serwer ftp powinien już zacząć działać w systemie.
W normalnych warunkach nie polecałbym takiego rozwiązania, lecz teraz dla uproszczenia całego procesu kopiowania danych posłużymy się logowaniem na konto root
. W normalnych warunkach nie polecam korzystania z niego, co opisałem w innym wątku: https://lvlup.rok.ovh/t/nigdy-nie-pracuj-na-koncie-root/6048
Na początek musimy ustalić mu nowe hasło, w tym celu skorzystajmy z polecenia sudo passwd
. Podajmy dwa razy hasło, którego chcemy używać. Teraz musimy zezwolić na logowanie na konto root w serwerze ftp. W tym celu najpierw zedytujmy plik /etc/ftpusers
poleceniem sudo nano /etc/ftpusers
. Wykomentujmy z niego konto root
stawiając przed nim znak #
:
Kombinacją CTRL+X, a następnie wciskając klawisze y
i enter zapiszmy plik. Teraz zedytujmy plik /etc/vsftpd.conf
poleceniem sudo nano /etc/vsftpd.conf
, dopisując w nim linijkę userlist_deny=YES
, na przykład na początku pliku:
Wyjdźmy z edytora tą samą kombinacją klawiszy którą przed chwilą opuściliśmy edytowanie pliku /etc/ftpusers
. Teraz został nam już tylko przeładowanie serwera ftp, aby załapał nową konfigurację poleceniem sudo systemctl reload vsftpd
.
Teraz nasz serwer czeka na połączenia ftp. Możemy do tego użyć naszego ulubionego programu do obsługi FTP, logując się na konto root
hasłem które wcześniej ustawiliśmy. Po nawiązaniu połączenia przejdźmy do katalogu /mnt/
, a ujrzymy wszystkie pliki z dysku naszego serwera vps. Możemy je teraz dowolnie pobierać i modyfikować.