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: