Nowe posty

xx Otoczenie najkrótszej frazy (2)
2022-09-25, 12:18:46
xx Skrypt do otwarcia i zamknięcia plików (2)
2022-09-19, 21:18:41
xx potrzebuje by ktoś mi wytłumaczył jedną żecz (4)
2022-09-16, 23:14:22
clip Zmiana ustawień punktu montowania (2)
2022-09-07, 23:20:08
xx Czarny ekran na start - linux mint (2)
2022-09-07, 14:46:31
xx Przydatne Linki (12)
2022-09-07, 14:33:34
xx Czy jest to potrzebne w domu ? (1)
2022-09-07, 08:26:40
xx System pakietów jest uszkodzony (Linux Ubuntu 20.04 LTS) (1)
2022-09-06, 16:50:43
xx Lupa. (5)
2022-09-04, 00:47:38
xx problem z wyburzaniem dell inspirion 15 3552 (1)
2022-09-03, 19:47:29

Autor Wątek: Problem z jbd2 - serwer 24/7  (Przeczytany 3328 razy)

PrzemoVi

  • Gość
Problem z jbd2 - serwer 24/7
« dnia: 2018-07-11, 08:56:34 »
Witam.
Z linuxa korzystam już od dłuższego czasu, ale pierwszy raz mam taki dziwny problem, którego nie potrafię sam rozwiązać.
Mianowicie posiadam serwer, na którym 24/7 działa sobie serwer www, teamspeak, serwer do gry i parę innych pierdół.
Ogólnie wszystko tak skonfigurowane, aby żarło jak najmniej IO. W nocy mnie strasznie rozprasza dźwięk pracującego hdd :P
Niestety nie jest to w 100% możliwe. Tzn jeden z serwerów co kilka sekund zapisuje bardzo małe pliczki i tego nie idzie w żaden sposób ominąć.
próbowałem ustawić vm.dirty tak, aby cachował wszystko co się da i zapisywał wszystko co godzinę na dysku, tak aby się po trzech minutach wyłączał.

Oto skrypt, który się wykonuje przy starcie:

echo 10 > /proc/sys/vm/swappiness
echo 360000 > /proc/sys/vm/dirty_expire_centisecs
echo 360000 > /proc/sys/vm/dirty_writeback_centisecs
echo 60 > /proc/sys/vm/dirty_background_ratio
echo 95 > /proc/sys/vm/dirty_ratio
hdparm -S 36 /dev/sda

I jego wcześniejsza wersja:

echo 10 > /proc/sys/vm/swappiness
echo 0 > /proc/sys/vm/dirty_expire_centisecs
echo 0 > /proc/sys/vm/dirty_writeback_centisecs
echo 60 > /proc/sys/vm/dirty_background_ratio
echo 95 > /proc/sys/vm/dirty_ratio
hdparm -S 36 /dev/sda

Czasami wpisuje też:
echo 5 > /proc/sys/vm/laptop_mode

Problem z tym jest taki, że bez tego skryptu serwer zapisuje bez przerwy mikroskopijne pliki na hdd. Z skryptem zapisuje wszystko hurtem co 3 minuty.
Ale no właśnie - co 3 minuty. Bufor się nawet nie zapełnia. Po prostu w IOTOP pokazuje mi nazwę procesu serwera i pod nim jbd2.
I tak się zastanawiam, czy jbd2 "budzi" dysk a laptop-mode wszystko zapisuje hurtowo, czy po prostu cache nie działa, serwer zapisuje plik i jbd2 to indeksuje.
Po prostu co mam zrobić, aby dysk mi się nie budził częściej niż raz na godzinę?

Też się zastanawiam jak pogodzić dirty_writeback_centisecs z commit w fstab.
Czym to się różni?

Offline 1709

  • Users
  • Guru
  • *****
  • Wiadomości: 2591
  • 1709
    • Zobacz profil
Odp: Problem z jbd2 - serwer 24/7
« Odpowiedź #1 dnia: 2018-07-11, 12:07:28 »
- Jak padnie zasilanie, to nie wiem, czy to bedzie dobre rozwiazanie, bo pamiec z bufora moze zniknac. ( chyba ze masz UPS )
- Korzystasz z laptop-mode-tools ?
- Myslales o wymianie dysku ?
Instalacja SSD moze jest drogie i male, sa tez dyski HDD do laptopow z 5 letnia gwarancja z jakims zlaczem SATA i cichsze.
 
« Ostatnia zmiana: 2018-07-11, 12:09:24 wysłana przez 1709 »
PS: Brak polskiej czcionki, nie jest to brak lenistwa, a jej brak w systemie i brak czasu na reczne poprawki.

PrzemoVi

  • Gość
Odp: Problem z jbd2 - serwer 24/7
« Odpowiedź #2 dnia: 2018-07-11, 22:30:52 »
Serwer bazuje na płycie głównej z mocnego laptopa ( z zamontowaną baterią ), więc można powiedzieć, że mam UPS :)
Chce w to jak najmniej wpakować. Zwłaszcza, że podobno da się to osiągnąć drogą programową.

Offline 1709

  • Users
  • Guru
  • *****
  • Wiadomości: 2591
  • 1709
    • Zobacz profil
Odp: Problem z jbd2 - serwer 24/7
« Odpowiedź #3 dnia: 2018-07-11, 23:11:35 »
W jaki sposób odczytujesz ile pamięci RAM (buforu) ma twój dysk ?
Przepraszam, ale nie mam czasu zbytnio czytać o dyskach twardych.

A myslales moze o zamontowaniu wykorzystywanego folderu w pamieci RAM ?
https://www.cyberciti.biz/faq/howto-create-linux-ram-disk-filesystem/
Potem jesli Ci te pliki sa potrzebne moglbys co godzine sobie kopiowac na dysk twardy za pomaca wpisu w crontab.
Do kopiowania mozesz uzyc rsync, bo przesyła tylko nowe pliki oszczedzajac czas i dysk.
« Ostatnia zmiana: 2018-07-11, 23:15:15 wysłana przez 1709 »
PS: Brak polskiej czcionki, nie jest to brak lenistwa, a jej brak w systemie i brak czasu na reczne poprawki.

PrzemoVi

  • Gość
Odp: Problem z jbd2 - serwer 24/7
« Odpowiedź #4 dnia: 2018-07-12, 22:14:01 »
Myślałem, że te dane ( w vm.dirty ) są zapisywane w pamięci ram komputera?
Mój dysk ma 8mb pamięci.
Serwer ma 6 gb pamięci ram i prawie cała jest wykorzystywana.
Jeżeli bym chciał tam przenieś pliki aplikacji to by zajęła ~1,5gb, a to za duża strata.