Podążaj za instrukcjami w poniższym filmie, aby zobaczyć, jak zainstalować naszą stronę jako aplikację internetową na ekranie głównym swojego urządzenia.
Informacja: Ta funkcja może nie być dostępna w niektórych przeglądarkach.
Używasz przestarzałej przeglądarki. Może ona nie wyświetlać poprawnie tej lub innych stron internetowych. Powinieneś zaktualizować swoją przeglądarkę lub użyć alternatywnej przeglądarki.
Borykam się z dziwnym (może tylko dla mnie problemem.
Mam w firmie QNAP-a, który służy głownie jako serwer baz danych postawionych na Docker. Są to dwa osobne serwery po jednym na każdą z baz.
Jestem w trakcie wdrażania systemu MES (do zarządzania produkcją). System jest tak przygotowany, że skalda się z kilku usług każda w osobnym kontenerze.
Firma która wdraża u minie ten system, postawiła całe środowisko i wszytko ładnie działało aż któregoś dnia, system przestał odpowiadać.
Chłopaki sprawdzili co się dzieje i okazało się, że kontenery działają ale zniknęły wszystkie pliki z przypisanych do niech storage.
Sprawdzili, z poziomu SUDO, logi i nie znaleźli nic co mogło by sugerować co się stało.
Uznaliśmy, że to jakiś przypadek i postawili wszytko od nowa. Ponownie działało jakiś czas do momentu aż sytuacja się powtórzyła.
I ponownie w logach kompletnie nic nie widać a plików brak.
Co przegapiliśmy? W jakiej sytuacji QTS może usuwać pliki? Jak sprawdzić co się dzieje i zapobiec temu w przyszłości?
Powiem tylko, że bazy działają poprawnie i z niemi nic się nie dzieje.
Krótko: najczęściej powodami „znikania” plików w Container Station są: użycie tymczasowych katalogów (tmpfs lub /mnt/HDA_ROOT) zamiast trwałego share (np. /share/Container), automatyczne czyszczenie /tmp przy restarcie, konwersja sterownika storage (overlay → overlay2) lub aktualizacja/operacja systemowa, która usuwa anonimowe woluminy kontenerów. Działaj szybko: wykonaj pełny backup danych kontenerów i obrazów, potem przeanalizuj poniższe punkty kontrolne i wprowadź zabezpieczenia.
1) Pierwsze bezpieczeństwo (natychmiast)
Zrób kopię zapasową folderów, obrazów i konfiguracji Container Station (eksport kontenerów i obrazów). To najważniejsze przed analizą.
Jeśli podejrzewasz, że dyski nadal mają dane, unikaj zapisu na nich — każda operacja może utrudnić odzyskanie.
2) Co najczęściej „usuwa” pliki w QTS / Container Station — przegląd przyczyn
/tmp jest tmpfs — czyści się przy restarcie systemu. Jeśli kontenery miały mounty do /tmp (wewnątrz NAS), dane znikają po reboocie.
/mnt/HDA_ROOT (party j systemowa) ma ograniczoną pojemność; QTS może usuwać/rotować pliki tymczasowe, update_pkg lub logi, a przy krytycznym braku miejsca usługi mogą zachowywać się niestandardowo.
Container Station przy migracji/konwersji sterownika storage (np. overlay → overlay2) może wymagać usunięcia i ponownego importu kontenerów; anonimowe woluminy powiązane z kontenerami mogą zostać utracone, jeżeli nie zrobiono eksportu przed konwersją.
Automatyczne zadania (cron, harmonogramowane zadania QTS, skrypty zewnętrzne/QPKG) mogą wykonywać czyszczenia lub synchronizacje, które kasują pliki.
Błędy montowania udziałów (np. kontener miał mapowanie do udziału, który w danym momencie był odmontowany) — wtedy kontener zapisał dane gdzie indziej (np. lokalnie w warstwie obrazu), które potem zostały utracone przy re-rysowaniu/aktualizacji kontenera.
Usługi systemowe, sprawdzanie systemu plików lub nieprawidłowe przywrócenie ustawień (restore settings) mogą zmienić konfigurację share/udostępnień i spowodować „brak” plików (udostępnienia przeniesione/usunięte).
Możliwe też: błędny skrypt aplikacji w kontenerze, który usuwa pliki według reguł (np. rotacja logów bez kryterium) — to jest po stronie aplikacji.
3) Co sprawdzić od razu (lista kroków diagnostycznych)
(Uwaga: poniższe komendy uruchom przez SSH z uprawnieniami root; przed wykonywaniem skopiuj ważne pliki)
- Sprawdź zajętość przestrzeni:
Bash:
df -h
df -i
- Sprawdź użycie /tmp i / (root) oraz /mnt/HDA_ROOT:
Bash:
du -sh /tmp /mnt/HDA_ROOT /share 2>/dev/null
ls -la /tmp
- Sprawdź logi systemowe QTS:
przejrzyj Centrum logów (Event Logs) w GUI oraz pliki /var/log, /var/log/messages, dmesg:
- Logi Container Station / Docker i konkretnego kontenera:
Bash:
# lista kontenerów i ich status
docker ps -a
# logi kontenera
docker logs <container-id>
# logi Container Station - lokalizacja może się różnić, sprawdź w GUI "Pobierz logi"
- Sprawdź, czy były ostatnio operacje konwersji storage/aktualizacje Container Station:
przejrzyj Event Logs w GUI (dział System / Dziennik zdarzeń) na wpisy związane z Container Station, overlay, storage driver, aktualizacjami o konkretnej godzinie zniknięcia.
- Sprawdź cron i harmonogram zadań QTS:
przejrzyj /etc/crontab i zadania użytkowników root oraz harmonogramy w GUI (Panel sterowania → Harmonogram).
- Czytanie otwartych (usuń) plików — pliki usunięte ale otwarte są nadal widoczne:
Bash:
lsof +L1
# albo dla konkretnego wolumenu
lsof | grep /share/QnapShareName
- Sprawdź, czy udział, na który były mapowane wolumeny kontenerów, pozostaje w tej samej lokalizacji (/share/...) i czy ma poprawne uprawnienia UID/GID używane przez kontenery.
4) Specyfika Container Station i storage drivers (ważne)
Container Station historycznie używała drivera overlay/aufs — konwersja do overlay2 lub zmiana sposobu przechowywania obrazów może wymagać reimportu kontenerów i usunięcia anonimowych woluminów. FAQ QNAP wyraźnie mówi: przed konwersją wykonaj eksport/kopie zapasowe i zanotuj ID anonimowych woluminów.
Jeśli kontenery używały anonimowych woluminów (nie mapowane do shareów typu /share/xxx), dane były trzymane wewnątrz storage Dockera i łatwo je stracić przy usunięciu kontenera lub czyszczeniu storage.
Zalecenie: zawsze mapować wolne dane kontenerów na hostowy udział QNAP (np. /share/Containers/<service>) zamiast trzymać je w warstwie obrazu/anonimowym woluminie.
5) Zapobieganie utracie danych — dobre praktyki
Mapuj wolumeny kontenerów do trwałych udziałów: używaj ścieżek z /share/<volume> (udostępniony katalog w QTS). Dzięki temu QTS nie skasuje danych podczas restartu/aktualizacji.
Nie używaj /tmp ani katalogów systemowych jako miejsca przechowywania danych aplikacji.
Przed aktualizacją QTS/Container Station lub konwersją storage zrób eksport wszystkich kontenerów i snapshot/share.
Włącz snapshoty (jeśli na QTS: Storage & Snapshots) dla krytycznych udziałów i planuj regularne backupy poza NAS (np. inne NAS, chmura, taśmy).
Monitoruj wykorzystanie /tmp i /mnt/HDA_ROOT; ustaw alerty w Centrum Powiadomień (threshold ~80%).
Unikaj QPKG lub skryptów trzecich, które przechowują dane na partycji systemowej; konfiguruj tak, aby korzystały z /share.
Sprawdzaj i ogranicz rotację logów w kontenerach (logrotate) oraz log-driver Dockera (np. max-size, max-file).
- Sprawdź listę woluminów dockera i ich mapowania:
Bash:
docker volume ls
docker inspect <volume-name> # pokaże mountpoint
- Sprawdź, czy ktoś/usługa wykonała przywrócenie ustawień: w logach systemowych znajdź restore/restore_config/restore_settings.
7) Co robić, jeśli już utraciłeś dane
Natychmiast wykonaj kopię sektorową (image) dysków jeśli dane są krytyczne i rozważ kontakt z pomocą QNAP lub firmą odzysku (przy RAID lepiej nie działać na żywo).
Jeśli dane były na anonimowych woluminach dockera, spróbuj listy woluminów docker (docker volume ls) i sprawdź mountpoint (może dane są nadal na dysku, choć niepowiązane z kontenerem).
Możesz spróbować narzędzi do odzyskiwania plików z EXT4 (jeśli QTS) lub z ZFS (jeśli QuTS hero — tu raczej snapshoty). Ale to jest ryzykowne i wymaga ostrożności.
8) Różnice QTS vs QuTS hero (ważne przy analizie)
QTS (ext4/lvm): /tmp jako tmpfs, /mnt/HDA_ROOT partycja systemowa; QTS automatycznie rotuje/usuwa update_pkg i logi. Sprawdzanie FS może odmontować wolumin.
QuTS hero (ZFS): snapshoty i samonaprawa, inne mechanizmy zarządzania danymi; konwersje storage containers też mają swoje niuanse. Jeśli używasz QuTS hero, sprawdzaj historyczne snapshoty i pool events zamiast /var/log/messages. (Zalecenie: snapshoty przed zmianami.)
9) Krótkie podsumowanie — checklist do wykonania teraz
1. Natychmiast: wykonaj backup wszystkich danych kontenerów i obrazów (eksport).
2. Sprawdź df -h, du dla /tmp, /mnt/HDA_ROOT i /share.
3. Przejrzyj dzienniki systemowe (Event Logs) w czasie, gdy pliki zniknęły; szukaj wpisów o Container Station, overlay, konwersji, aktualizacji, czyszczeniu dysków.
4. Sprawdź docker volumes i mapowania (docker inspect) — szukaj anonimowych woluminów.
5. Upewnij się, że kontenery trzymają dane w /share/..., a nie w /tmp ani w anonimowych woluminach.
6. Wprowadź snapshoty/backup i blokadę automatycznych operacji na krytycznych udziałach.
7. Przed każdą aktualizacją Container Station/firmware: eksport kontenerów i pełny backup.
Ostrzeżenie końcowe: operacje na woluminach, sprawdzanie systemu plików czy migracja storage mogą trwale usunąć anonimowe woluminy kontenerów. Zrób kopię zapasową przed jakąkolwiek zmianą i przenieś trwałe dane kontenerów na udziały typu /share.
Ta wiadomość pochodzi od asystenta AI — może zawierać błędy, zweryfikuj przed zastosowaniem. Oceń ją, głosując pod postem: ▲ pomocna lub ▼ nieprzydatna.
Na tym forum nie ma złych ocen — wszyscy wciąż się uczymy i wszyscy jesteśmy adminami, a +1 czy −1 to zawsze tylko 1 punkt. Każde Twoje kolejne pytanie to wspólna pomoc, która zostaje nie tylko na forum, ale i w internecie. Społeczność forum QNAP działa od 2008 roku i po niemal dwóch dekadach nieprzerwanie dostarcza rzetelne treści, z których korzystają kolejni admini — a ostatnio uczy się na nich także AI.
MMariusz jestem daleki od oceny kompetencji innych ludzi po tym, co ktoś o nich napisał w internecie. Jeżeli chcesz pomoc to odnoś się do przedstawionego problemu a nie obrażaj osób których nie znasz.
Ja też nie jestem alfą i omega dlatego zwracam się o pomoc do osób mądrzejszych ode mnie w konkretnym aspekcie.
Z tego co widzę w zakładce "Woluminy" Container station to ścieżki wygladaja przykładowo tak:
Ależ nikogo nie obrażam. Jeśli są chłopakami od wdrożenia - czyli biorą za to kasę, to ich obowiązkiem jest wiedzieć takie rzeczy - zwłaszcza że jest to elementarna wiedza nt linuxa, czyli notabene platformy „ich” softu. Skoro są to tylko te katalogi, to tak jak wyżej napisałem + dokładny debug z ich strony. Samo nigdy nic nie znika.
Ależ nikogo nie obrażam. Jeśli są chłopakami od wdrożenia - czyli biorą za to kasę, to ich obowiązkiem jest wiedzieć takie rzeczy - zwłaszcza że jest to elementarna wiedza nt linuxa, czyli notabene platformy „ich” softu. Skoro są to tylko te katalogi, to tak jak wyżej napisałem + dokładny debug z ich strony. Samo nigdy nic nie znika.
Ok, pewnie masz racje ale czy nie może za to odpowiadać, jakiś specyficzny element architektury QNAP-a, wbrew pozorom to nie jest powszechne rozwianie i nie każdy musi znać jego wszystkie tajniki
Dla minie istotne jest znalezienie przyczyny i rozwiązania i wszelkie osobiste wycieczki są, w mojej ocenie, niepotrzebne Dlatego jak napisałe pecet, koniec o "chłopakach"
tak więc - gdzie każda aplikacja w kontenerze zapisuje dane ? czy ta właśnie ścieżka jest wyciągnięta poza kontener - albo poprzez wolumen albo bind (po chłopsku , do folderu w NASie poza folderem dockera).
najczęściej dane znikają bo są zapisane w kontenerze ale nie w takiej ścieżce i odtworzenie kontenera zabija dane - co jest przedszkolnym błędem.
Zdecydowanie polecam żeby dane trzymać na osobnym fizycznym nośniku niż system qnapa i tutaj bind sprawuje się najlepiej.
tak więc - gdzie każda aplikacja w kontenerze zapisuje dane ? czy ta właśnie ścieżka jest wyciągnięta poza kontener - albo poprzez wolumen albo bind (po chłopsku , do folderu w NASie poza folderem dockera).
najczęściej dane znikają bo są zapisane w kontenerze ale nie w takiej ścieżce i odtworzenie kontenera zabija dane - co jest przedszkolnym błędem.
Zdecydowanie polecam żeby dane trzymać na osobnym fizycznym nośniku niż system qnapa i tutaj bind sprawuje się najlepiej.
tzn. także, że podczas wstępnej konfiguracji Qnap zalecane jest by dysk systemowy znajdował się poza pulą (osobny wolumin). Jeśli tak nie jest to trzeba dodać osobny dysk poza pulą (nowy wolumin) i na nim zapisywać dane z kontenerów.