# SATA, Samba e applicazione proprietaria...AIUTOOOOOOOOOOOOOO

## wilma_dammi_la_clava

non corro più il rishio... alle 4:50  di oggi ora locale, un bellissimo controller ultra 160 e i suoi due discucci da 73 gb hanno fatto una fumata... :Mad:  .. s'è schiantato il controller porcaccio del cane..... accidenti a me è a st'accidenti di server.. ora mi so rotto raccato un'ultra 320 raid con 3 dischi e levo dai piedi st'accidenti di sata che detto tra noi non va manco a pintarlo quando lo esporti con samba... o sono io che ho padellato qualcosa in samba ma è lento... il troughput dei dischi sata mi fa rimpiangere il pata a 133..... quasi quasi m'avanzano un paio di 200 giga a casa pata... domani voglio fare un confronto oras so curioso...

randomaze: Thread splittato da qui

----------

## !equilibrium

 *wilma_dammi_la_clava wrote:*   

> levo dai piedi st'accidenti di sata che detto tra noi non va manco a pintarlo quando lo esporti con samba... o sono io che ho padellato qualcosa in samba ma è lento...

 

al 99% non hai allineato lo stripe size dell'array con quello del filesystem.

----------

## wilma_dammi_la_clava

mi sembrava di averlo fatto... ora sto reinstallando gentoo sai com'è scoppiando il controller...

in smb.conf il write cache size = 65535 (64kb) stripe size dell'array però samba 3.0.23 mi dice write chace size is deprecated.... ho fatto prove anche con gli oplocks, il deadtime, write raw e read raw, ma è sempre latente...accetto suggerimenti...però nel caso aprirei un altro thread questo lo lascio listato a lutto per 1500 euro tra controller e dischi andati in fumo.....

----------

## !equilibrium

 *wilma_dammi_la_clava wrote:*   

> mi sembrava di averlo fatto... ora sto reinstallando gentoo sai com'è scoppiando il controller...
> 
> in smb.conf il write cache size = 65535 (64kb) stripe size dell'array

 

oltre a quello hai formattato il filesystem in accordo allo stripe size dell'array? senza è inutile.

----------

## wilma_dammi_la_clava

cosa intendi per formattato il filesystem..??

allora ho generato le partizioni cosi sda1 boot ext2

                                                    sda2 swap, sda3 / ext3 sda5 /home ext3 sda6 /driver ext3 sda7 xfs sunit 128 swidth 384 unwritten 0 buffersize 64.....

 per l'ext3 andava passato qualche altro parametro che non ho trovato in giro per il mondo?

----------

## !equilibrium

 *wilma_dammi_la_clava wrote:*   

> andava passato qualche altro parametro che non ho trovato in giro per il mondo?

 

io mi riferivo del filesystem inerente l'array, quello su cui samba legge/scrive.

----------

## wilma_dammi_la_clava

allora smaba leggeva e scriveva dal disco scsi (il morto) almeno quella era l'intenzione bypassare il raid sata 5 hardware, prima samba esportava una partizione sul raid sata, ieri notte dopo che saltò anche il ciborio, feci delle prove esportando una partizione sul raid 5 precisamente sda6 in ext3, per il quale non ho trovato un granchè come parametri da passare insieme al mke2fs -j /dev/xxx suppongo che ci pensi il raid a traslare l'operazione sincronizzando l'ext3 con lo stripe ... almeno credo .... accetto ogni consiglio...

----------

## wilma_dammi_la_clava

ho recuperato un po di manualistica e ho trovato qualcosa d'interessante, ora ho provato a formattare alcune partizioni usando  *Quote:*   

>  mke2fs -j -O dir_index -stride=65535 /dev/sda

  era quello che intendevi?

una domanda banalissima, per evit<re di reinstallare il sistema ex novo, se tiro su il sistema dal cd d'installazione monto le partizioni, sposto i dati, le smonto riformatto con la stringa di cui sopra e poi rimettu su i dati dite che riparte...???

----------

## !equilibrium

 *wilma_dammi_la_clava wrote:*   

> allora smaba leggeva e scriveva dal disco scsi (il morto) almeno quella era l'intenzione bypassare il raid sata 5 hardware

 

uhmmm allora molto probabilmente il calo di performance era dovuto al problema hardware, non dalla configurazione in se del software (sempre che abbia inteso correttamente la tua situazione, perchè sinceramente non ci ho capito un granchè della tua configurazione hardware).

 *wilma_dammi_la_clava wrote:*   

> era quello che intendevi?

 

sì, se un filesystem risiede su di un array RAID, va formattato affichè supporti correttamente il chunk size del RAID, altrimenti hai un collo di bottiglia sulle performance generali in lettura di scrittura.

 *wilma_dammi_la_clava wrote:*   

> una domanda banalissima, per evit<re di reinstallare il sistema ex novo, se tiro su il sistema dal cd d'installazione monto le partizioni, sposto i dati, le smonto riformatto con la stringa di cui sopra e poi rimettu su i dati dite che riparte...???

 

ovviamente.

----------

## wilma_dammi_la_clava

allora per darti una situazione chiara dell'hardware il serveruccio in questione è un dual xeon em64t a 3 ghz, 2 gb di ram, raid 5 hardware con 3 dischi da 250gb sata, due schede di rete a gigabit bondate, 3 alimentatori, un radeon extreme sopra  (non so per farci icchè..) e avevo aggiunto un u320 scsi con un paio di dischi miei a 15000 giri da far esportare con samba, e quell'accidenti di gestionale in cobol, che usano 70 client, tra uffici e moneta elettronica...l'esportazione della partizione su dischi sata raidati ha sempre dato problemi, qui m'uccidono comunque prima con ubuntu che non riconosceva manco i processori.... e poi con la gentoo le cose hanno cominciato a prendere una piega decisamente migliore, innanzitutto i processori lavorano come fucilate... ora c'è il collo di bottiglia dei dischi sata in raid.... però ora la risolvo grazie ai tuoi/vostri consigli...

----------

## !equilibrium

 *wilma_dammi_la_clava wrote:*   

> allora per darti una situazione chiara dell'hardware il serveruccio in questione è un [cut] però ora la risolvo grazie ai tuoi/vostri consigli...

 

ok, ora spiegami samba su cosa risiede e/o risiedeva, perchè mi è parso di capire che tu stessi esportando dai dischi SCSI; la questione è: samba era o è lento quando risiede sul RAID o sui dischi SCSI? e samba su che filesystem gira e con che configurazione (intendo le opzioni di formattazione)?

----------

## wilma_dammi_la_clava

samba risede sul raid 5 sata formattato in ext3 come da stringa precedente... la lentezza vien fuori quando comincia a lavorare il gestionale sopra, i primi 3/4 giorni tutto ok, poi comincia ad avere latenza, poi direttamente va in crisi nera, s'inchioda su degl'oplocks smbd rimane a livello zombie, e tocca di far ripartire samba a mano ogni volta... io voglio vivere non vivere attaccato ad un server... che sinceramente mi sta disintegrando l'esistenza.... ora e venerdi sera ho bell'è avuto una sfuriata mega daquella che l'è apparentemente ancora fidanzata... perchè si doveva partire mercoledi /giovedi per 4 giorni di riposo.... capirai come sono contento di vedere prima unno scsi bruciare, e poi il sata che butta fuori dati a singhiozzo... non ne posso piùùùùùùùùùùù

----------

## !equilibrium

 *wilma_dammi_la_clava wrote:*   

> la lentezza vien fuori quando comincia a lavorare il gestionale sopra, i primi 3/4 giorni tutto ok, poi comincia ad avere latenza, poi direttamente va in crisi nera, s'inchioda su degl'oplocks smbd rimane a livello zombie, e tocca di far ripartire samba a mano ogni volta...

 

a naso pare non essere un problema di samba, ma del software gestionale in COBOL che fa delle porcherie quando legge/scrive i file; sembrerebbe che non gradisca gli oplock UNIX. esattamente cosa fa questo gestionale con samba? che cosa esporta verso gli altri client con samba?

per gli oplocks prova ad impostare questo in samba:

```
        oplocks = yes

        level2 oplocks = yes
```

invece per migliorare le performance:

```
       large readwrite = yes

        read raw = yes

        write raw = yes

        getwd cache = yes

        write cache size = 262144

        max xmit = 65535

        use sendfile = yes

```

p.s.: ovviamente modifica i valori di write cache size e max xmit in base al tuo hardware.

infine prova ad ottimizzare ext3 come indicato in questo thread: https://forums.gentoo.org/viewtopic-t-305871-highlight-ext3+tuning.html

----------

## wilma_dammi_la_clava

cosa fa il gestionale... gestione campeggio, moneta elettronica controllo accessi, in pratica i dati dovrebbero risiedere su di un file server che butta  fuori i dati a razzo, ci sono circa 10 gb di dati a cui accedono 70 client, ovviamente per semplificare la vita mia, le richieste vengono inoltrate tr<amite netbios... quindi un bel broadcast di rete alla ricerca della macchina che si chiama server.... capisci da te che la situazione con un file server samba che fa le bizze diventa drammatica...già cosi il sistema è lento nella sua generalità con server windows su dischi u320 in raid 1 mirrorari però so ultra 320 a 10000 rpm e quindi la botta la regge ogni 2 giorni incrina gl'archivi ma quello è n'altro par di maniche, mentre su ext3 i dati sono rimasti ncorrotti per 6 mesi abbondanti..poi è andato in crisi tutto...in prtica la situazione e cosi, file serve e macchine che accedono ai dati in p2p... uno spettacolo..... mi fanno rimpiagere oracle e i suoi problemi...

----------

## !equilibrium

 *wilma_dammi_la_clava wrote:*   

> cosa fa il gestionale... [CUT] mi fanno rimpiagere oracle e i suoi problemi...

 

no comment sul funzionamento del gestionale.

mi pare normale e giusto che si corrompano i dati e samba fallisca gli oplocks dopo un tot di tempo: ci sono 70 client che tengono aperti i dati in continuazione e lo stesso fa il gestionale, ma siccome i files sono bloccati dagli oplock dei client, il gestionale non può scriverci direttamente, quindi scrive nella cache degli oplock di samba.... è ovvio che dopo 3/4 giorni sti benedetti client non hanno ancora rilasciato gli oplock sui files e samba ha quintali di cache in ram da scrivere. tutto questo:

- sul lungo periodo rallenta samba(perchè la ram è satura di dati da scrivere, e sono giorni che stanno li e più passa il tempo. più aumentano)

- dopo un tot di tempo avrai sicuramente la corruzione dei dati perchè se samba muore ti ritrovi con la cache degli oplock che viene brutalmente eliminata e quindi perdi le modifiche del gestionale e/o dei clienti (a seconda di quello che sta nella cache).

vista la situazione hai queste scelte:

- assicurarsi che gli oplocks siano attivati correttamente ed esplicitamente per ogni share e non soltanto nella sezione [GLOBAL]

- riavviare samba forzatamente tramite cron ogni tot tempo (spero ci sia un momento in cui i client non siano collegati al gestionale, altrimenti non ne vieni più fuori da questa situazione)

- usare il fake oplocks in samba (ci sono pro e contro... molti contro, quindi leggiti il man prima di fare disastri con il fileserver)

p.s.: (IMHO) è ovvio che non è samba in sè il problema, ma il gestionale che stai usando. non puoi generare dati dinamici dal gestionale, e darli in lettura/scrittura ai client allo stesso tempo, perchè l'esportazione tramite gli share samba non sono pensati per questo scopo. a tale fine esistono standard e tecnologie più idonee: DB, SOAP, XML, Web Services ecc ecc. puoi ottimizzare quanto vuoi samba, ma il problema resterà comunque.

----------

## wilma_dammi_la_clava

e lo so... e 2 anni che cerco di far capire che al livello a cui siamo arrivaqti nasce l'esigenza di ingegnerizzare un software proprietario per  la gestione di tutte le strutture, con funzionalità avanzate, tipo supporto ssl/ssh per le sedi remote, tcp/ip puro, sql/mysql/altro db solido è veloce, architettura diversa insomma, mettersi li a tavolino e pensare ad un software nuovo che copra le reali esigenze che si hanno nelle nostre strutture tra trippole e trappole ormai sono 10 campeggi 1 albergo 5 stelle, 15 ristoranti, 3 locali notturni, un mega complesso di palestre, e santi e madonne e circa altri 20 campeggi in apertura in europa... io tutta sta roba come diavolo faccio a smazzarla.... con questa roba che ho sotto mano so dolori...via vpn e come tagliarsi le vene chiedere due dati dal sito di firenze..fo prima ad andarci di persona son 20 km...

----------

## wilma_dammi_la_clava

 *Quote:*   

> [global]
> 
>         workgroup = girasole
> 
>         netbios name = server1
> ...

 

pensavo di modificarlo cosi il smb.conf... ora però mi viene una domanda è possibile settare il timing degl'oplock, nel senso se potessi costringere samba ogni x tempo a scrivere ciò che ha in ache come oplock si potrebbero ridurre ulteriormente i problemi dovuti alla saturazione della ram, o meglio ancora implementando delle restrizioni più severe a livello di sistema, che so consentire ad ogni client di eseguire una sola connessione, con dei limiti precisi in termini di utilizzo di ram e processi apribili, una sorta di hardening verticalizzato allo scopo preciso... potrebbe essere una strada percorribile?

----------

## !equilibrium

 *wilma_dammi_la_clava wrote:*   

> ora però mi viene una domanda è possibile settare il timing degl'oplock, nel senso se potessi costringere samba ogni x tempo a scrivere ciò che ha in ache come oplock si potrebbero ridurre ulteriormente i problemi dovuti alla saturazione della ram, o meglio ancora implementando delle restrizioni più severe a livello di sistema, che so consentire ad ogni client di eseguire una sola connessione, con dei limiti precisi in termini di utilizzo di ram e processi apribili?

 

sì, si può:

```
oplock break wait time (G)

              This is a tuning parameter added due to bugs in both Windows 9x and WinNT. If Samba  responds  to  a  client  too

              quickly  when  that client issues an SMB that can cause an oplock break request, then the network client can fail

              and not respond to the break request. This tuning parameter (which is set in milliseconds) is the amount of  time

              Samba will wait before sending an oplock break request to such (broken) clients.

              Warning

              DO NOT CHANGE THIS PARAMETER UNLESS YOU HAVE READ AND UNDERSTOOD THE SAMBA OPLOCK CODE.

       Default: oplock break wait time = 0
```

```
       oplock contention limit (S)

              This is a very advanced smbd(8) tuning option to improve the efficiency of the granting of oplocks under multiple

              client contention for the same file.

              In brief it specifies a number, which causes smbd(8)not to grant an oplock even when requested if the approximate

              number of clients contending for an oplock on the same file goes over this limit. This causes smbd to behave in a

              similar way to Windows NT.

              Warning

              DO NOT CHANGE THIS PARAMETER UNLESS YOU HAVE READ AND UNDERSTOOD THE SAMBA OPLOCK CODE.

       Default: oplock contention limit = 2

```

```
strict sync (S)

              Many  Windows  applications (including the Windows 98 explorer shell) seem to confuse flushing buffer contents to

              disk with doing a sync to disk. Under UNIX, a sync call forces the process to be suspended until the  kernel  has

              ensured that all outstanding data in kernel disk buffers has been safely stored onto stable storage. This is very

              slow and should only be done rarely. Setting this parameter to no (the default) means that  smbd(8)  ignores  the

              Windows applications requests for a sync call. There is only a possibility of losing data if the operating system

              itself that Samba is running on crashes, so there is little danger in this default  setting.  In  addition,  this

              fixes many performance problems that people have reported with the new Windows98 explorer shell file copies.

              Default: strict sync = no
```

va da sè che i settaggi per queste due opzioni dipendono dalle tue esigenze, per cui non posso suggerirti nessun valore specifico, ma dovrai determinarli/ricavarli tu.

nota: OS level non esiste, ma è os level (mi pare che la configurazione di samba sia case sensitive, ma non ne sono sicuro), e il valore 100 è troppo, non vorrei che questo influisse negativamente sulle performances generali; con samba-3 non c'è più bisogno di settare questo parametro perchè è autoconfigurato dal demone in se, in caso prova a commentarlo e vedi se apporta dei benefici (almeno non affossi eventuali server microsoft presenti sulla rete locale)

----------

## wilma_dammi_la_clava

os level l'avevo inserito perchè c'è un 2kserver che fa le bizze... in ogni modo è alquanto ininfluente come parametro cambia di poco le prestazioni, stavo cercando sul sito della acucorp se c'erano dei dettagli per il settaggio di samba con i loro prodotti.... ricerca quasi vana... quanto vorrei un gestionale web based.... metà rogne....doppiò delle prestazioni.... vabbè prossimamente ...  :Laughing: 

----------

## wilma_dammi_la_clava

ora provo ad implementare il wait time come suggerito di default e si vede che succede ..domani ho già la risposta... :Smile: ) :Smile: ) da follia cmq.. sbirciando nel sito di acucorp mi son trovato una oiacevole sorpresa..il nuovo compilatore è web oriented e loro stessi dell'acucorp spingono in quella direzione...apache2 a spaglio... almeno i client devono puntare ad indirizzo ip, e sotto ci gira un sql .. meglio che na pedata in bocca...  :Laughing: 

----------

## wilma_dammi_la_clava

 *Quote:*   

> [global]
> 
>         workgroup = girasole
> 
>         netbios name = server1
> ...

 

ho apportato queste modifiche, sono per provare lo strict syn a yes sulla cartella del gestionale almeno a leggere le parti che hai postato sembra che serva ad emulare il comportamento di nt.... bene lo provo al massimo lo commento e lo rendo inutile....s'andrà per tentativi... una domanda sola ma dove l'hai trovato quel materiale su samba..?

----------

## wilma_dammi_la_clava

benvenuti nel mio incubo ... ha retto 2 ore soltanto ed è andato in crash anche il ciborio... va a finire che monto su un w2k e mi rassegno... ma porcccccc... accidenti al cobol non mi riesce di capire dove stà l'inghippo.... ora ho una marea di log da spulciare... ho bisogno di un pò di brainstorming... son 2 giorni che non vado a letto e sono un pò annebbiato....

----------

## Apetrini

Mi dispiace non penso di poterti aiutare, però hai tutta la mia comprensione.

Chissa dov'è il problema!?!

Non vorrei farti perdere tempo con teorie che non centrano ma di solito puo anche essere colpa del kernel, magari ha qualche bug o gestisce male

delle cose che sotto sforzo lo fanno andare in loop. Prova un altro kernel,senza togliere quello vecchio, magari cambia qualcosa...

P.s. se non ne vieni fuori e pensi che win2k possa fare di meglio non dannarti l'anima io se fossi in te lo metterei su. Mi dispiace dire una cosa del genere, non sarà neanche colpa di linux ma se cosi si risolve il problema non vedo perche devi vivere male ed avere incubi; poi ovviamente ci sranno altri problemi ma bisogna sempre cercare il male minore...

----------

## wilma_dammi_la_clava

ho trovato un problemuccio fisico nel controller..il casino di oggi l'ha fatto perchè ha smontato una partizione.... dopo 1 ora di lavoro.... ora gli fo cambiare sia il controller sia i dischi da sata ritorno a scsi o iscsi, il sas m'attira ma non so se è performante...almeno ancora non l'ho provato... cmq il gestionale con samba almeno qui fa a cazzotti, in un'altro posto non fa na piega, ora mi fo mandare il loro smb.conf e controllo le differenze... il timing dell'applicazione e 400 ms prima di dare esito negativo... per il momento è tutto sono fuso è 48 ore che so in piedi le madonne volano basso oggi quindi stacco raccatto i log e domani con molta calma analisi dei log a scoprire il baco...

----------

## !equilibrium

 *wilma_dammi_la_clava wrote:*   

> una domanda sola ma dove l'hai trovato quel materiale su samba..?

 

man smb.conf

 *wilma_dammi_la_clava wrote:*   

> ho trovato un problemuccio fisico nel controller..il casino di oggi l'ha fatto perchè ha smontato una partizione.... dopo 1 ora di lavoro.... ora gli fo cambiare sia il controller sia i dischi da sata ritorno a scsi o iscsi

 

dovresti indagare su chi e cosa ha smontato quella partizione, se è stato l'HD in se che si è auto resettato molto probabilmente hai *grossi* problemi hardware su quel server; soprattutto visto che sei riuscito a friggere un controller SCSI (mica è così facile). il motivo più gettonato per cui un HD si auto resetta è la temperatura troppo elevata e prolungata nel tempo, ciò comunque non esclude un problema hardware generale.

fossi in te cercherei anche di capire chi e cosa genera un carico così elevato sugli HDs, in caso utilizzare un filesystem più sicuro ed efficiente di ext3 (vista la situazione critica in cui ti trovi); cosa stai usando per fare il raid5? un controller raid harware oppure una soluzione software?

una cosa utile sarebbe che tu postassi gli errori di samba ed eventuali log interessanti (ovviamente non postare tutti i log direttamente nel forum, usa nopaste o simili), così da avere sotto mano qualcosa di più concreto su cui ragionare.

p.s.: tempo fa ho avuto un problema simile al tuo su un server di un cliente, dove gli HDs friggevano e si auto resettavano spesso. il motivo era che la mobo aveva un dissipatore attivo per il controller IDE, e dopo qualche anno di utilizzo la ventolina di tale dissipatore era completamente morta, creando i disagi sopra citati perchè i chipset del controller si surriscaldavano.

----------

## wilma_dammi_la_clava

allora partiamo con ordine, il server in questione ha lavorato per 6 mesi circa senza dare nessun tipo di problemi, poi di punto in bianco è diventato lento, latenza in accesso ai dati nella partizione esportata con samba, la quantità di dati presente nelle directory d'esportazione è aumentata di circa 300 mb in 6 mesi.... alchè il server venen levato di produzione e sostituito con un vecchio server monoprocessore con dischi scsi.

il server che s'è inchiodato dopo un'ora e mezzo di lavoro, è rimasto per circa un mese acceso sotto stress, vedi sambatorture, netbench,pipebench,tiobench, come macchina di appoggio per i backup orari, senza dare segni di apparente malfunzionamento, qualche piccolezza di poco conto, che so ogni tanto il sistema si rallentava in maniera abissale, per una 30ina di secondi poi tornava in perfetta efficienza, considerando anche che la macchina è in garanzia, quindi non mi ci sbattezzo più di tanto, ora ho bell'è avvertito il fornitore, visto che negl'ultimi due mesi gli ho acquistato circa 150 macchine tra pos pc, pc, server entry level, server ha, tutti in perfetta efficienza di funzionamento, tranne questo... che ora manifesta squilibri gravi di funzionamento, il carico di lavoro sui dischi è generato da 29 client di moneta elettronica, 17 postazioni di gestionale, 4 timekeeper di gestione del personale, un webserver per le pronatazioni online che risisede su di un'altra macchina e qui trasmette e riceve i dati (la parte minore del traffico) 5 controlli accesso anche questi residenti su di un'altra macchina , in sè e per sè il carico di lavoro non è eccessivo considerando che ora tutto funziona lavorando su di un server solo.... in giornata preparo i log del momento incriminato, prendo il messages, il'smbd e l'nmbd e li metto in modo tale da poter essere postati, in ogni caso se non lo rimettevo in produzione non avrei avuto la certezza di un problema hardware che sospettavo dai tempi del primo rallentamento operativo..

il controller raid è hardware, un 'adaptec 2410SA, i dischi sono segate 250gb 7200 rpm, dual xeon 3.0 ghz, 2 giga di ram, su piastra asus ma non mi ricordo il modello..

----------

