[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Samba (zawiera config) DLUGIE



Hello Robert,

Tuesday, April 6, 2004, 10:09:15 PM, you wrote:

Witam.

RM> Debian unstable + samba z dystrybucji = same problemy

Swoje uwagi opre na serwerach, ktore postawilem na woodym (stable) i
sambie 2.2.5 (z deba wygrzebanego z oficjalnego repozytorium, po
upgrade glibc)

RM> Serwer: Pentium II 450 + 390MB RAM + dysk ATA 100 IBM 7200 + karta

Powinno spokojnie starczyc dla 15-20 klientow intensywnie pracujacych na
dbfowych progsach po 100MBit sieci.

RM> sieciowa Realtec 100MB

Pierwszy blad.

<kryptoreklama>
Intel Pro/100 (lub Pro/1000 :) lub 3Com 3c905
Z tanszych kart - Intel InBusiness (Pro/100 bez bajerow, niby tylko
dla windy - ale chodzi pod linuchem znakomicie:)
Calkiem niezle spisywala mi sie tez karta na leciwym chipsecie DEC
21143.
</kryptoreklama>
Karty na RTL zostaw do satcji roboczych - to sa kosci projektowane pod
katem masowej produkcji przy minimalnych kosztach - ich wydajnosc
jest co najmniej marna... Pamietam, jak kiedys wsadzilem RTLa do
serwera NW5 zamiast Intela - userzy o malo mnie nie zakrakali...

RM> Stacje: 2x win 98, 2x DOS 1x XP Home (z wymuszonym logowaniem do domeny)
RM> 1x Linux

Generalnie - xp unikam jak diabel swieconej wody (i skutecznie mi sie
to udaje:) Z win98, NT4, 2k i msclient 3.0 (przypuszczam, ze wlasnei tego
uzywasz) dla dosa mam raczej pozytywne doswiadczenia. Choc spotkalem
proga, ktory wywalal sie pod msclientem, natomiast bez
problemow chodzil (i chodzi do dzis;) pod win98 i 2k -
problem rozwiazalem po linii najmniejszego oporu - kupic
windy na stacje robocze, standardowe (i bezpieczne) kombinacje opcjami
samby nie zalatwialy sprawy..
smbclient uzywam w zasadzie tylko do podpiecia udostepnionych dyskow
na kompach z NT i 2k na pokladzie - a i to sporadycznie.

RM> Sieć: Switch 24 Port Planet (Jakiś niezarządzalny model) + różne karty

Co do sprzetu marki Planet, czy Compex - przejechalem sie kilka
razy....
(ale nie powiem - przejechalem sie takze na niedrogich wowczas - 3
lata temu - switchach Intel InBusiness (tylko polduplex, wydajnosc
koszmarna...), a siec w ktorej siedza 2 niedrogie Compexy, po
kilkunastu klientow w kazdym ma sie, o ile mi wiadomo, doskonale;)
Czesto najtansze switche maja koszmarnie niską wydajność wewnętrznej
matrycy (tzw. przepustowość wewnętrzną). Dobrej klasy sprzęt (24porty)
osiąga 9-13 Gbit/s. Jeśli w danych technicznych znajdziesz parametr
"wydajność" lub "szybkość" równy 100*il.portów Mbit/s lub
2*100*il.portów (bo Full Duplex) to wiedz, że ktoś wkręca Ci lipę...
Inna sprawa to wielkość bufora mac (tzw. tablica MAC) - w razie jego
przepełnienia większość switchy zachowuje się jak zwykły hub... Te
lepsze urządzenia mają po 64 i więcej kB.
Generalnie - uważam, że switch, będący w końcu podstawą sieci, to
ostatnia rzecz, na której można coś zaoszczędzić i wydanie 3-4.000
zeta na porządny zarządzalny sprzęt udostępniający w dodatku
zaawansowane możliwości monitoringu ruchu sieciowego jest jak
najbardziej uzasadnione (a np. taki Allied-Telesyn z serii
AT-8000 czy AT-8300 produkuje przepiękne statystyki, po których od
razu widać, gdzie kabelek trzeszczy i kto broadcastowe śmieci
masowo produkuje :)

RM> częściowo 10 częściowo 100MB

Przy obecnych cenach sprzetu - wymien 10Mbit na 100, chocby na
Realteku. Byc moze jedna z przyczyn problemow moze byc byc switch,
ktory przy komunikacji z kartami 10Mbit traci na wydajnosci.
Zwróć też uwagę, czy wszystko chodzi w full duplexie.

RM>  

RM> 1) Logowanie do domeny z win98 - 2 komputery
RM> Zaraz po uruchomieniu komputerów nie mogę się zalogować do domeny. Po
RM> długim oczekiwaniu i oglądaniu klepsydry wyskakuje komunikat o
RM> niepoprawnym haśle. Za drugim albo trzecim razem logowanie idzie bez
RM> problemu. Sytuacja przeważnie nie występuje jeżeli wyloguję użytkownika
RM> i chcę zalogować go ponownie.

Na moje oko - cos nie halo z uslugami nezewniczymi NetBios /
przegladaniem sieci

RM> 2) Całość działa przeraźliwie wolno.

Porownaj do ftp. Wydajność samby to zazwyczaj ok. 85% wydajności ftp.
Oczywiście używasz klienta ftp z wiersza poleceń (tego standardowego,
którego doistajesz razem z windolem), jeśli chcesz wiedzieć dlaczego -
porównaj sobie różne klienty z tym samym serwerem, na tym samym kompie
- wyniki pewnie będą nieco zaskakujące...;)

RM> Przegranie pliku ok 100kB na i serwera trwa ok 20 sek.

jeśli postawiłeś serwer na 386sx ;)

RM> Tylko na stacjach dosowych (2 komputery trwa jeszcze dłużej)

Z moich dośiwadczeń wynika, że wydajność msclienta niewiele ustępuje
wydajności windy, a nawet czasami chodzi toto szybciej :)

RM> Windows XP Home przy otwieraniu zmapowanych dysków potrafi myśleć ok 20
RM> sek.

No XPomments ;)
A pewnie dlatego, że szuka sobie jakichś ikon albo inny pierdół...

RM> Odpalenie programu znajdującego się na serwerze trwa długo.
RM> Sprawdzałem obciążenie procesora na serwerze - nie przekracza 30%

W czasie kopiowania dużego pliku może dochodzić nawet do 90%, w takiej
sytuacji Twoje 30% to duuuużo za mało - bardzo wolny dysk, mała
wydajność pamięci (czyżby SIS/VIA onboard??) g****na karta sieciowa, etc..
etc...
Sytuacja może być też odwrotna - U160/U320 SCSI 10k/15k RPM dysk,
uczciwa sieciówa, szybka magistrala pamięci, żadnych zatorów na PCI -
w tym przypadku 30% to dużo za dużo....
Winowajcą może być również klient, albo sama sieć....
W pierwszej kolejności - poszukaj wąskich gardeł w samym serwerze,
zmierz wydajność dysków, pamięci, etc... a potem dopiero odpalaj
sambę.
Hint: time dd if=wielki.plik.na.dysku of=/dev/null
hint: to, co wyżej, lecz w druga stronę
Hint: ftp localhost
Hint: smbclient localhost
A poza tym - takie narzędzia jak hdparm, tiobench, si, vmstat,
tcpstat, iptraf i wiele, wiele innych...

RM> Pamięć jest wykorzystana w 85% ale tak podobno ma być.

Linux ma tę wspaniałą cechę, że prawie całą wolną pamięć zużywa na
cache dysków zostawiając sobie parę wolnych stron w zanadrzu.
Mechanizm ten działa zazwyczaj bez zarzutu i choć udostępnia kilka
gałek do pokręcenia - poza specyficznymi zastosowaniami nie trzeba nic
ruszać (a jeśli już koniecznie chcesz się w tym grzebać - czytaj,
myśl, kręć, mierz, czytaj, myśl.... i tak do bólu ;)

RM> 3) Blokowanie plików
RM> Jak nad tym zapanować? Na wszystkich stacjach musi pracować sieciowa
RM> aplikacja oparta o pliki dbf.

oplock = no

RM> Dawniej używałem pomocniczych aplikacji (dos) do synchronizacji danych.
RM> Teraz ta aplikacja potrafi mi tak zablokować plik, że potrzebny jest
RM> restart samby.

???!!!!!
A sprawdź, czy ten wynalazek w ogole chodzi pod siecią NT/2k.
Poćwicz z opcjami locking, strict locking, blocking locks, oplocks,
strict sync, dos filetimes, max disk size. Za pomocą smbstatus wyłap
rodzaj zakładanych blokad - w ten sposób dowiesz się, z czym w ogóle
walczysz. Moim zdaniem wygląda to na partactwo programisty...

RM>  Pracują tam też aplikacje (dbf) jednostanowiskowe, które
RM> muszą być uruchamiane naprzemiennie na kilku stacjach. Tutaj w grę
RM> wchodzi synchronizacja lub blokowanie zasobów i stosowne komunikaty -
RM> jednak nie mam pojęcia jak to wszystko ugryźć

max connections = 1 dla zasobu.
Ćwiczyłem to kiedyś dla baz starego Gniota (zwanego czasami
"Płatnikiem"), ale z raczej mizernym skutkiem -
często trzeba było się wylogować, aby zwolnić blokady... Ale myśle że
może być skuteczny batch o następującym scenariuszu:
1. Mapujemy dysk
2. Odpalamy proga
3. Odłączamy dysk


RM> 3) Polskie znaki w nazwach plików
RM> Jak ustawię tak jak na dole to wszędzie jest ok oprócz stacji linux
RM> gdzie pod konsolą ok a pod nautilusem bee. 
RM> Jak ustawię UNIX charset = UTF-8 to nautilus pokazuje ładnie, ale nie
RM> mogę wejść do żadnego folderu bo pokazuje błąd. Jak to ustawić żeby było
RM> dobrze?

O ile dobrze pamiętam (a nie mam w tej chwili żadnego serwera w
zasięgu klawy by sprawdzić) - ja załatwiam to następująco:
Kernel: default nls: iso8859-2
        nls cp852
        nls iso8859-2
smb.conf:client code page = cp852
         character set = iso8859-2

Co do nautilusa..... hmmmmm.... myszopędny serwer tak siakoś źle mi się
kojarzy :D

RM> Jak widać same problemy. Jeśli ktokolwiek ma jakieś sensowne sugestie to
RM> bardzo proszę o pomoc.

Polecam znakomitą książkę wydaną przez O'Reilly (a w PL przez ReadMe
www.rm.com.pl) pod prostym, acz wymownym tytułem "Samba" ("Using
Samba" w oryginale), którą w dodatku bez większych problemów można
znaleźć w sieci, a także znakomitą dokumentację dostarczaną razem z
sambą i mnóstwo ciekawych rzeczy na www.samba.org.

RM> Jak sprawdzić czy to przypadkiem nie wina sieci? Na razie podpiąłem
RM> innego switcha (też Planet) i bez zmian.

a taki ping -f -s 1500 :)
Tylko niech nie dziwi Cię krucjata userów przeciwko Tobie, jeśli
dopuścisz się tego za dnia ;)


M> Mój config

RM> [global]
RM>         display charset = ISO8859-2
RM>         dos charset = 852
RM>         UNIX charset = ISO8859-2

???? Skądżeś te opcje wytrzasnął??
No chyba że to o sambe 3.0 chodzi - w tym momencie - sorry, ale nie
pomogę...

RM>         workgroup = ELIKO
RM>         netbios name = SERVER
RM>         domain logons = yes
RM>         os level = 65

i przydałoby się domain master = yes
                 preferred master = yes
                 local master =yes
nie wiem, czy dla xp os level nie jest za niski - do czasu
doprowadzenia samby do stanu używalności, po prostu wywal dziada z
sieci
aha - i security = user (bodajże domyślna)

RM>         wins support = yes
RM>         name resolve order = lmhost host wins bcast

eeee.... po co biednej sambie życie utrudniasz....
name resolve order = wins, hosts
a tak przy okazji wins - w dhcpd.conf dodaj:
option netbios-name-servers ip.twojego.serwera;
option netbios-node-type 2;
w ten sposob zmusisz wszystkie klienty do uzywania wins i skutecznie
pozbedziesz sie z sieci broacastow, co zaowocuje ekspresowym
uzyskiwaniem przez klient ainformacji o sieci.

RM>         dns proxy = no
                                                                           
RM>         log file = /var/log/samba/log.%m
RM>         max log size = 10000
RM>         log level = 22

Ile???!!!!!!
Już widzę, skąd te 386sx ;)
log level = 1 (lub nawet 0) tylko do szukania baboli z blokadami daj 3
lub 4
                                                                           
RM>         panic action = /usr/share/samba/panic-action %d
                                                                           
RM>         smb passwd file = /etc/samba/smbpasswd
RM>         security = user
RM>         encrypt passwords = yes
RM> #       passdb backend = tdbsam guest
RM> #       obey pam restrictions = yes
                                                                           
RM>         preferred master = yes
RM>         domain master = yes
RM>         local master = yes
                                                                           
RM>         guest account = nobody
RM>         create mask = 0774
RM>         hide dot files = yes
RM>         force directory mode = 0770
RM>         logon script = startup.bat
RM>         socket options = TCP_NODELAY IPTOS_LOWDELAY SO_KEEPALIVE
RM> SO_RCVBUF=8192 SO_SNDBUF=8192
                                                                           
Rozmiary buforów wypadałoby dobierać doświadczalnie opierając się na
precyzyjnych pomiarach na kilku różnych klientach. Na dobry początek
proponuję po 16384.

RM> #eksperymenty
                                                                           
RM> # włączenie tych dwóch opcji zwiększa zwykle szybkość Samby o
RM> kilkanaście procent
RM> # choć z moich analiz wynika, że praca z bazami danych jest trochę
RM> szybsza bez tego
RM>         read raw = yes
RM>         write raw = yes

Bardzo pozytywnie wpływa na większe pliki. Ma sens wyłącznie w
niezawodnych sieciach. I domyślnie jest yes :)

RM> # buforowanie katalogów
RM>         getwd cache = yes

RM> # buforowanie zapisu plików zdecydowanie poprawia prędkość
RM> # ale stwarza niebezpieczeństwo że Samba "nie zdąży" zrzucić buforów na
RM> dysk
RM> # przy np. padzie zasilania (bez ups'a) plik taki będzie uszkodzony
RM> # coś za coś, stosować z umiarem ;)
                                                                           
RM>         write cache size = 65536
                                                                           
RM> #       slow logins = yes
                                                                           
RM> [homes]
RM>         browseable = no
RM>         writable = yes
RM>         create mask = 0740
                                                                           
RM> [netlogon]
RM>         browseable = no
RM>         path = /home/samba/netlogon
RM>         writable = no
                                                                           
RM> [profiles]
RM>         browseable = no
RM>         path = /home/samba/profiles
RM>         writable = yes
RM>         create mask = 0600
RM>         directory mask = 0600
                                                                           
RM> [dok]
RM>         path = /home/samba/dok
RM>         writable = yes
RM>         create mask = 0774
RM>         guest ok = yes
                                                                           
RM> [dane]
RM>         path = /home/samba/dane
RM>         writable = yes
RM>         create mask = 0774
RM>         guest ok = yes
RM>         oplocks = yes
RM>         level2 oplocks = yes
RM> #       locking = no
RM> #       dos filetime resolution = yes
RM>         veto oplock files = /*.dbf/*.DBF/*.ntx/*.NTX/
                                                                           
RM> [all]
RM>         path = /home/samba
RM>         writable = no
RM>         browseable = no
RM>         read only = yes
RM>         guest ok = no
RM>         user = robert
                                                                           
RM> [archiwum]
RM>         path = /home/samba/archiwum
RM>         writable = yes
RM>         user = robert
                                                                           
RM> [bis]
RM>         path = /home/samba/bis
RM>         writable = yes
RM>         guest ok = yes
RM>         create mask = 0774
RM>         user = renata
RM>         oplocks = yes
RM>         veto oplock files =
RM> /*.dbf/*.dbf/*.ntx/*.NTX/*.mem/*.MEM/*.dat/*.DAT/*.k0*/*.K0*/
RM>  browseable = yes
RM>         guest ok = no



W przypadku dosowych progów operujących na dbfach lepiej wyjdziesz
ustawiając oplocks = no niż veto oplocks, oszczędzisz sambie
porównywania każdego żądania do wzorca kosztem niewielkiego wzrostu
obciążenia plikami programów, w sumie pomijalnie małe w stosunku do
obciążenia żadaniami baz i indeksów.


-- 
Pozdrawiam
Janes



-- 
Best regards,
 Janes                            mailto:janes@hot.pl



Reply to: