Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2014-07-22 08:53:30

  redelek - Członek DUG

redelek
Członek DUG
Skąd: Warszawa
Zarejestrowany: 2008-07-17

Monitorowanie zasobu NFS

Witam,

Mam 3 wirtualne serwery na XEN Server do tych wirtualnych maszyn jest podpięty dysk po NFS z fizycznej maszyny. Na tym dysku jest wspólny folder www dla dwóch serwerów Nginx.
Serwer zajmuje się dystrybucją reklam na serwery rp, gazeta onet pb więc ruch jest bardzo duży. ok godziny 12 jest największy ok 60M tak pokazuje cacti. I zaczyna kuleć NFS.
Nie mogę dojść co się dzieje dostajemy komunikaty że błąd odczytu klasy php z tego dysku permision deny. Po restarcie NFS na chwilkę pomaga potem znowu namnoży się zapytań i jest to samo.
Programiści twierdzą że klasa jest dobrze napisana , a NFS zatyka się. Na maszynie fizycznej w logach nic nie mam, żadnych błędów.

Mam do was pytanie jak uruchomić logi na nfs by pokazywał co się dzieje ?
Dysk mam udostępniony tak

Kod:

/DATA 10.0.1.0/24(rw,sync,no_subtree_check,anonuid=0,anongid=0)

na masyznach jest podłączony w fstab tak

Kod:

10.0.1.201:/DATA /DATA                               nfs     rw,intr,nfsvers=4    0       0

Macie może pomysł ? Dysk dodatkowo jest podłączony do XenServer i w nocy zrzuca wirtualne maszyny na ten zasób.

Dzięki
redelek


Pozdrawiam
Redelek
--------------------------------------------------------
Polecam hosting ViPower https://vipower.pl/panel/aff.php?aff=208, TikTalik https://tiktalik.com/pl/

Offline

 

#2  2014-07-22 09:30:50

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: Monitorowanie zasobu NFS

Dyzio się prawdopodobnie nie wyrabia.

Jeśli serwujecie parę milionów reklam na sekundę, to lepiej będzie zainwestować w pamięć RAM, i walić reklamy z ram-dysków, albo przez tydzień reklamować AddBlocka. :D

Jeden dyzio po NFS do dwóch maszyn VM z Nginxami, to raczej sadyzm technologiczny.

I przy okazji, jeśli serwujecie reklamy, to nie wiem, po ch*, du* i kamieni kupa na maszynie fizycznej dwie WM na Xenie, kiedy takie maszyny zawsze solidnie katują dysk, bo każdy system musi osobno określoną ilość bibiliotek wczytać a logów zapisać.

Nie wiem, ile mają te foldery z reklamami, ale jeśli mieszczą się w 30 GB, to szoruj do sklepu po RAM, wrzuć śmietnik na ramdysk, i niech Nginxy biorą śmietnik z ramdysku, wtedy każde obciążenie wytrzymają,
bo RAMdyzio jest XX razy szybszy, niż najlepsza karta sieciowa.
Możesz też pobawić się dyziami SSD, ale przy takim obciążeniu będą zdychać co rok, a RAM spokojnie obrobi taki i większy ruch przez 10 lat bez najmniejszego problemu.

Chyba, że znasz kartę sieciową o takiej szybkości:

/dev/zram0:
[b]Timing cached reads:   5606 MB in  1.99 seconds = 2821.13 MB/sec[/b]
Timing buffered disk reads: 1150 MB in  3.00 seconds = 383.01 MB/sec[/quote]
Tutaj wynik jest zafałszowany z powodu kompresii, prawdziwa jest prędkość bufora, po prostu Hdparm nie wiedział, że służy do testowania interfejsu zramX. :D

A SDRAMy z cache  na prawdziwym dyziu?

/dev/sda:
[b]Timing cached reads:   5096 MB in  1.99 seconds = 2562.85 MB/sec[/b]
Timing buffered disk reads: 220 MB in  3.02 seconds =  72.95 MB/sec[/quote]
Na Twoim miejscu na fizycznych dyziach, w czasie ciągłej pracy trzymałbym tylko bazy danych z logami, bo to w przypadku takiego spamowania oznacza podstawę do wystawienia faktury.
Oczywiście Ramdyzio traci zawartość po zaniku napięcia, ale po powrocie napięcia zawsze może automatycznie odzyskać zawartość z dyzia fizycznego, np Rsynciem, albo przy pomocy Gita, Merkuriała czy choćby jakiejś kombinacji z DRBD czy choćby skryptem.
Tak samo też może działać synchronizacja reklam między dyziem a ramdyziem.


Pozdro
;-)

Ostatnio edytowany przez Jacekalex (2014-07-22 09:45:26)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#3  2014-07-22 09:38:07

  redelek - Członek DUG

redelek
Członek DUG
Skąd: Warszawa
Zarejestrowany: 2008-07-17

Re: Monitorowanie zasobu NFS

Reklama jest u dostawcy czyli w dużych portalach my zliczamy czy na nią zasługuje czy nie, jeśli zasłuży to wysyłamy do producenta informację by pokazał tą reklamę.
Zapytań jest bardzo dużo ale tak naprawdę lata tylko plik o pojemności 1k , a pomimo tego zatyka się. Aplikacja która to zlicza , jest napisana w php i jv bazuje na mem cache dane są wysyłane i trzymane w couchDB.
Czyli to NFS siada przy takich byczych operacjach ?


Pozdrawiam
Redelek
--------------------------------------------------------
Polecam hosting ViPower https://vipower.pl/panel/aff.php?aff=208, TikTalik https://tiktalik.com/pl/

Offline

 

#4  2014-07-22 09:51:58

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: Monitorowanie zasobu NFS

Prawdopodobnie wąskim gardłem jest nie ilość danych, tylko ilość odwołań do dyzia.
Nawet najlepszy na świecie tenisista spuchnie, jak będzie musiał w jednej chwili odbić 200 piłek.
Gdzie to się ustawia w NFS i ile wytrzyma dyzio, pojęcia nie mam, ale przy takich małych pliczkach ramdyzio rozwiąże wszystkie problemy.
Podejrzewam, ze każde zapytanie oznacza odwołanie maszyny Xena do dyzia po NFS, i stąd masz problem.

Takie duperele w milionach sztuk robi się w ultra szybkich nośnikach.
Nic szybszego, niż pamięć RAM, nie ma, i nigdy nie będzie.


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#5  2014-07-22 10:14:39

  redelek - Członek DUG

redelek
Członek DUG
Skąd: Warszawa
Zarejestrowany: 2008-07-17

Re: Monitorowanie zasobu NFS

a czy można zrobić ram dysk i przewalić te dane do tego ?


Pozdrawiam
Redelek
--------------------------------------------------------
Polecam hosting ViPower https://vipower.pl/panel/aff.php?aff=208, TikTalik https://tiktalik.com/pl/

Offline

 

#6  2014-07-22 10:26:59

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: Monitorowanie zasobu NFS

Prosty ramdysk zrobisz w /etc/fstab:

Kod:

tmpfs      /var/tmp          tmpfs            noatime,size=3G,mode=1777                                                  0                     0

Po zamontowaniu:

Kod:

tmpfs on /var/tmp type tmpfs (rw,noatime,size=3G,mode=1777)

Oczywiście prawdziwą szybkość osiągniesz, jeśli RAMu będzie tyle, żeby system obywał się bez SWAPA, ale już wchodzą pamięci i płyty, które pomieszczę nawet 64G, a szybkość takiego ramdyzia to będzie ponad  1-5 GB na sekundę, byle się reszta systemu wyrobiła. :D.


Jak raz namówiłem gościa, któremu się dedyk nie wyrabiał, żeby cały sklepik (3 Giga - głównie obrazki) do ramdyzia, to od tej pory wszystko fruwa, ale potrzebne był droższy serwer.
Tutaj, jak rurki są w biurze, serwery stoją w biurze, to wioo, żyć, nie umierać, w sumie bułka z masłem.

Tylko oczywiście wszystkie pliki i tak siedzą na zwykłych dyziach, do ramdyzia się je kopiuje po włączeniu serwera.
Wtedy z dyzia czytasz pliczek raz, a z ramdyzia może wyfrunąć kilkanaście milionów razy bez jednego odwołania do dyzia mechanicznego.

Wtedy zwykły dyzio magnetyczny czy SSD na pewno da sobie radę, xD
i wytrzyma długie lata. ;)
Z resztą, jak myślisz, po co w dyziach dodali Cache, ostatnio już 128 MB ram?

Pozdro
;-)

Ostatnio edytowany przez Jacekalex (2014-07-22 10:32:28)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#7  2014-07-22 10:42:47

  redelek - Członek DUG

redelek
Członek DUG
Skąd: Warszawa
Zarejestrowany: 2008-07-17

Re: Monitorowanie zasobu NFS

serwery nie są moje tylko wypożyczone mają po 128GB ramu , mogę je wymienić na 64GB ramu ale za to z dyskiem SSD 512G, więc myślę czy dysk do ramu czy wymiana na SSD nieduża to różnica w cenie u dostawcy a może dać nam  pole do działania

___


zastanawiam się co z ram dyskiem i danymi po restarcie serwera chyba przepadną więc odpada takie rozwiązanie


Pozdrawiam
Redelek
--------------------------------------------------------
Polecam hosting ViPower https://vipower.pl/panel/aff.php?aff=208, TikTalik https://tiktalik.com/pl/

Offline

 

#8  2014-07-22 10:48:53

  thomsson - Dyskutant

thomsson
Dyskutant
Zarejestrowany: 2011-10-26

Re: Monitorowanie zasobu NFS

dane polecą, trzebaby to jakoś kopiować na dyzia przed restartem


ilin napisał
[i]"DUG to tez moja mała ojczyzna"[/i]

Offline

 

#9  2014-07-22 10:56:31

  Pavlo950 - człowiek pasjonat :D

Pavlo950
człowiek pasjonat :D
Zarejestrowany: 2012-02-20
Serwis

Re: Monitorowanie zasobu NFS

A ile masz tych danych?

Bo jak kilka GB, to weź sobie ten sprzęt z SSD i 64GB ramu i naskrob skrypt który będzie kopiował dane na SSD przy restarcie i kopiował z SSD na ramdysk.

Offline

 

#10  2014-07-22 11:11:50

  thomsson - Dyskutant

thomsson
Dyskutant
Zarejestrowany: 2011-10-26

Re: Monitorowanie zasobu NFS

No i do tego jeszcze załadować skrypta do CRON'a, żeby co jakiś czas synchronizował dane (chyba, że by jednocześnie kopiować dane na HDD i ramdysk)


ilin napisał
[i]"DUG to tez moja mała ojczyzna"[/i]

Offline

 

#11  2014-07-22 11:41:00

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: Monitorowanie zasobu NFS

Dane w ramie?
Od czego jest Git, Mercurial, DRBD, Rsync i diabli  wiedzą, co jeszcze?
Zapisujesz dane na fizycznym, stałym dyziu, a program automatycznie kopiuje je do RAMdyzia, na upartego można użyć mechanizmu inotyfy, żeby reagował na każdy nowy plik, jeśli Cron odpalający git pull na ramdyziu nie starczy.

Przecież serwery, jeśli są prawidłowo do prądu, albo mają UPSy, to potrafią stać tygodniami bez przerwy.

Ja mam najzwyklejszego domowego kompa, i też mu się zdarzają Uptime na poziomie 7 dni.
Tu chodzi o to, żeby ramdyzio robił za ultra szybki bufor danych dla serwerów WWW, oryginalne dane będą na niego dostarczane tylko po uruchomieniu, i najwyżej synchronizowane z oryginałem.

Ja raz w życiu coś podobnego postawiłem, używając skrypta bazującego na dnotify, który znalazłem chyba w książce "100 sposobów na Linux"
z Helionu.

Obecnie chyba prościej użyć Inotify:

Kod:

inotifywait -r  -m /var/tmp
Setting up watches.  Beware: since -r was given, this may take a while!
Watches established.
/var/tmp/ CREATE dupa
/var/tmp/ OPEN dupa
/var/tmp/ ATTRIB dupa
/var/tmp/ CLOSE_WRITE,CLOSE dupa
/var/tmp/ DELETE dupa
/var/tmp/ CREATE,ISDIR dupa
/var/tmp/ OPEN,ISDIR dupa
/var/tmp/ CLOSE_NOWRITE,CLOSE,ISDIR dupa
/var/tmp/dupa/ CREATE,ISDIR dwa
/var/tmp/dupa/ OPEN,ISDIR dwa
/var/tmp/dupa/ CLOSE_NOWRITE,CLOSE,ISDIR dwa
/var/tmp/dupa/dwa/ CREATE,ISDIR trzy
/var/tmp/dupa/dwa/ OPEN,ISDIR trzy
/var/tmp/dupa/dwa/ CLOSE_NOWRITE,CLOSE,ISDIR trzy
/var/tmp/dupa/dwa/trzy/ CREATE test.txt
/var/tmp/dupa/dwa/trzy/ OPEN test.txt
/var/tmp/dupa/dwa/trzy/ ATTRIB test.txt
/var/tmp/dupa/dwa/trzy/ CLOSE_WRITE,CLOSE test.txt

Np, napiszcie, jakie komendy spowodowały takiego loga, jak powyżej. xD

Tu macie CDN:
http://search.cpan.org/~mlehmann/Linux-Inotify2-1.22/Inotify2.pm
http://www.ibm.com/developerworks/library/l-ubuntu-inotify/
http://ubuntuforums.org/showthread.php?t=663950

Ostatnio edytowany przez Jacekalex (2014-07-22 12:09:20)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#12  2014-07-22 11:45:32

  yossarian - Szczawiożerca

yossarian
Szczawiożerca
Skąd: Shangri-La
Zarejestrowany: 2011-04-25

Re: Monitorowanie zasobu NFS

Jeżeli te „reklamy” to zwykłe statyczne dane, to taka zabawa z cronami jest niepotrzebna bo te dane będą takie same po kolejnych restartach i nie ma potrzeby ich synchronizacji z oryginałem na dysku.
Wystarczy je tylko ładować przy starcie danej usługi jako kopię w Ramie.

Co innego gdy mowa o logach w ramie i innych dynamicznych danych, których zawartość należy mieć zsynchronizowaną przy restarcie maszyny.

Offline

 

#13  2014-07-22 11:58:53

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: Monitorowanie zasobu NFS

Synchronizacja się przyda, jak podmieniasz reklamy, jedne dodajesz, drugie wywalasz, wtedy chyba najlepiej rsync z opcją delete, albo przy większych sprawach Git.

Przy czym, jeżeli tam stoją dwa potwory po 128 GB ram, a system Debian na serwerze rzadko potrzebuje więcej, niż dwa giga, to ja nie rozumiem, o czym ta cała dyskusja.
Jak mówi klasyk,  "Alleluja i do roboty" tu nie ma co kombinować. xD


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#14  2014-07-22 12:42:02

  Pavlo950 - człowiek pasjonat :D

Pavlo950
człowiek pasjonat :D
Zarejestrowany: 2012-02-20
Serwis

Re: Monitorowanie zasobu NFS

Albo po prostu synchronizować dosłownie cały dysk :D

Offline

 

#15  2014-07-22 13:37:34

  redelek - Członek DUG

redelek
Członek DUG
Skąd: Warszawa
Zarejestrowany: 2008-07-17

Re: Monitorowanie zasobu NFS

Dzięki wszystkim za wyczerpujące informacje, zmieniłem na serwerki 2 dyskami ssd zobaczymy jak teraz będzie :))


Pozdrawiam
Redelek
--------------------------------------------------------
Polecam hosting ViPower https://vipower.pl/panel/aff.php?aff=208, TikTalik https://tiktalik.com/pl/

Offline

 

#16  2014-07-22 17:58:34

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: Monitorowanie zasobu NFS

SSD przy naprawdę dużej liczbie zapytań długo nie pochodzi, taka już uroda SSD.
Porządny ram wytrzyma z 10 lat albo więcej, dysk SSD prawdopodobnie albo z trudem przeżyje gwarancję, albo nawet to się nie uda.

Zwłaszcza, że tam podobno nie pobierasz olbrzymich ilości danych, ale pobierasz pliczki około 1kB, miliony razy.

Ostatnio edytowany przez Jacekalex (2014-07-22 17:59:02)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#17  2014-07-22 21:28:15

  jurgensen - Użytkownik

jurgensen
Użytkownik
Skąd: Wrocław
Zarejestrowany: 2010-01-26

Re: Monitorowanie zasobu NFS

Bez przesady. Obecne dyski SSD mają naprawdę sporą żywotność. Dodatkowo odczyt nie wpływa znacząco na długość życia (zaryzykowałbym stwierdzenie, że jest ona dłuższa niż w dyskach talerzowych ze względu na brak elementów mechanicznych).
Jedynie bardzo duża ilość operacji zapisu skraca żywotność (ale dzisiaj staje się to niezauważalne)

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Nas ludzie lubią po prostu, a nie klikając w przyciski ;-)

[ Generated in 0.011 seconds, 12 queries executed ]

Informacje debugowania

Time (s) Query
0.00016 SET CHARSET latin2
0.00005 SET NAMES latin2
0.00138 SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='18.223.158.132' WHERE u.id=1
0.00098 UPDATE punbb_online SET logged=1732826269 WHERE ident='18.223.158.132'
0.00045 SELECT * FROM punbb_online WHERE logged<1732825969
0.00125 DELETE FROM punbb_online WHERE ident='185.191.171.18'
0.00049 SELECT topic_id FROM punbb_posts WHERE id=271928
0.00017 SELECT id FROM punbb_posts WHERE topic_id=26159 ORDER BY posted
0.00055 SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=26159 AND t.moved_to IS NULL
0.00015 SELECT search_for, replace_with FROM punbb_censoring
0.00101 SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=26159 ORDER BY p.id LIMIT 0,25
0.00106 UPDATE punbb_topics SET num_views=num_views+1 WHERE id=26159
Total query time: 0.0077 s