Menu serwera

Synology DiskStation i zepsuta baza danych

Namieszałem ostatnio sobie mocno na swoim serwerze. Otóż wykazałem się niesamowitą dawką inteligencji i zrobiłem rzecz, która każdemu posiadaczowi bazy danych (jakiejkolwiek) pewnie w ogóle do głowy by nie przyszła – ot wziąłem i sobie radośnie tabelę wywaliłem. Tak po prostu, bum i usunięte. Czemu? A bo coś moje Audio Station przestało ostatnio dodawane płytki pokazywać (choć do bazy je wciągało i normalnie można było sobie muzyki słuchać) i takim oto drastycznym krokiem postanowiłem sobie aplikację „naprawić”.

Porada: DON’T DO THAT (po naszemu: niechaj twoje świerzbiące paluchy daleko od takich zabaw będą trzymane a oleum w głowie twojej niechaj w końcu się uruchomi)

Głupszego pomysłu nie można było mieć. W efekcie mojej radosnej ingerencji w strukturę bazy danych wzięło i przestało mnie w ogóle muzykę indeksować. Tym sposobem pozbyłem się dostępu do swojej muzy za pomocą Audio Station. Super.

Szukanie po forach i w oficjalnym supporcie Synology podpowiedziało mi, że najsensowniejszym wyjściem było pozbycie się bazy i założenie wszystkiego od nowa. Problem w tym, że w bazie prócz informacji o multimediach, trzymane są ustawienia takiego chociażby Mail Station i – co najgorsze – Photo Station. Te dwie aplikacje miałem skonfigurowane cudnie i pod swoje potrzeby i ani myślałem pozbywać się tych informacji. Photo Station miałem w backupie (z dumpem odpowiednich tabel z bazy włącznie) ale niestety backup Synology nie oferuje dumpu danych z bazy dla aplikacji Mail Station, co zakwalifikowało się do wysłania zgłoszenia nowej funkcji do Synology. Dorzucę może jeszcze tylko, że porada od oficjalnego supportu brzmiała mniej więcej tak: „weź no sobie wszystko zresetuj, przeinstaluj firmware i wystartuj z bałaganem na nowo bo diabli wiedzą, jak wiele nagrzebałeś”. Za poradę podziękowałem i postanowiłem radzić sobie samemu.

Audio Station

Audio Station

Ratowanie Synology DiskStation

Zasadniczo sprawa okazała się być dosyć prosta i jedyne, co musiałem na nowo konfigurować to owo nieszczęsne Mail Station, którego dane konfiguracyjne w całym procesie poszły w piach. Co zdolniejsi pewnie wiedzieliby co i gdzie zrzucać ale ja się na takich rzeczach nie wyznaję i niestety za swoją niewiedzę płacę swoim czasem.

Schemat postępowania jest bardzo prosty i sprowadza się do kilku punktów:

  1. Wyłącz wszystkie usługi i aplikacje, w tym szczególnie multimedia (logi transferów FTP i różnych innych usług lądują w bazie i warto je wyłączyć by czegoś nie namieszać)
  2. Wyłącz bazę PostgreSQL
  3. Przenieś pliki bazy danych w zapasowe miejsce
  4. Uruchom PostgreSQL – zostanie stworzona nowa baza danych ze wszystkimi strukturami jak trzeba
  5. Włącz wszystkie usługi i aplikacje

Jak widać schemat jest prosty. Zakładam, że jesteś użytkownikiem robiącym kopie zapasowe bo dane Photo Station przywrócić należy z kopii i wszystko będzie jak przed usunięciem bazy. Zakładam też, że potrafisz się zalogować do swojego DiskStation za pomocą SSH. OK, do roboty:

Po wyłączeniu wszystkich usług zaloguj się na serwerze na koncie roota. Wyłącz bazę PostgreSQL poniższą komendą:

/usr/syno/etc/rc.d/S20pgsql.sh stop

Przenieś pliki aktualnej bazy danych do innego katalogu by usunąć bazę i mieć jej backup na wszelki wypadek:

mkdir /volume1/@database/pgsql.bak
mv /volume1/@database/pgsql/* /volume1/@database/pgsql.bak/

Uruchom ponownie PostgreSQL i poczekaj chwilę na założenie nowej bazy wraz ze wszelkimi zależnościami:

/usr/syno/etc/rc.d/S20pgsql.sh start

Teraz jest dobry moment na przywrócenie danych PhotoStation z backupu. Po przywróceniu, czas na reboot urządzenia (nie jest wymagany ale dobry reboot jeszcze nikomu nie zaszkodził :)) i włączenie usług. Włączenie usług automatycznie rozpocznie proces skanowania mediów i viola – Audio Station i reszta towarzystwa wraca do życia.

Tu jedna, zasadnicza uwaga: usunięcie bazy danych i ponowne jej stworzenie oczywiście usunie też dane w tej bazie trzymane. Truizm ale pamiętać o tym trzeba. Na szczęście Synology nie trzyma wszystkiego w bazie PostgreSQL, ustawienia usług i aplikacji w większości pozostaną nietknięte. Tak po prawdzie do tej pory problemy sprawiły mi tylko dwie aplikacje: Mail Station i Photo Station. Photo Station można w każdej chwili z backupu przywrócić (robisz backupy, prawda?) włącznie z ustawieniami użytkowników i blogiem ale z Mail Station sprawa nie jest już taka prosta gdyż Synology nie oferuje opcji backupu ustawień tej aplikacji. Po całej operacji musiałem tak naprawdę raz jeszcze ustawić konta POP3 w swoim Mail Station i to okazało się być najczasochłonniejszą czynnością.

Reset bazy danych NIE TYKA twoich plików więc się nie obawiaj o swoje dane. Tak po prawdzie ruszone zostały tylko pliki samej bazy danych i niczego więcej – poczta, muzyka czy zgromadzone filmy pozostają nie ruszone.

,

4 odpowiedź do Synology DiskStation i zepsuta baza danych

  1. matipl Czerwiec 3, 2013 o 17:24 #

    Chciałoby się rzec: stary, a ….. ;)

    Jak coś działa – nie ruszamy, prosta zasada :) Co do samej bazy, nie ma tam dostępnego pg_dump? Kopiowanie plików bazy nie wydaje się najlepszym pomysłem.

  2. Tomek Romanik Grudzień 29, 2014 o 07:26 #

    U mnie na dsm 5.1 dzialało dopiero w katalogu rc.sysv

  3. deni Wrzesień 17, 2016 o 15:58 #

    Aktualizacja dla DSM 6.0, może komuś się przyda:
    1. Skrypt uruchamiający/zatrzymujący postgresa to:
    /usr/syno/etc/rc.sysv/pgsql.sh
    2. W katalogu /volume1/@database/pgsql/ trzeba zostawić pliki postgresql.conf (symlink do /etc/postgresql/postgresql.conf). Bez tego, przy próbie uruchomienia bazy wyskakuje błąd.

    • CoSTa Październik 26, 2016 o 08:38 #

      Dzięki! Przyda się dla potomności na pewno.

Dodaj komentarz

Przeczytaj poprzedni wpis:
Woody Allen!

ciocia Wikipedia Dziś do wzięcia paczuszka klasycznych klasyków klasycznego klasyka. Nie w ejdż-di bo nie w obrazie w tych filmach...

Zamknij