# Samba lent et qui plante.

## erianor

Je découvre Linux depuis peu et Gentoo depuis encore moins de temps et là je tombe sur un problème que je ne parviens pas à résoudre :

Je veux accéder à un serveur samba installé avec SME-Server.

Et là ça va très lentement et si un fichier fait plus de 150 ko ça plante.

Disposant de 3 machines j'ai fait les tests suivants :

Serveur <-> Station-1 sous Windows XP tout est Ok

Serveur <-> Station-2 sous Windows XP tout est Ok

Serveur <-> Station-1 sous Gentoo lent et plantages

Station-2 XP accède à Station-1 Gentoo lent et plantages

Station-1 Gentoo accède à Serveur lent et plantages

Station-1 Gentoo accède à Station-2 XP tout est Ok

J'ai tenté de supprimer samba, y compris les fichiers de config et de réinstaller et ben c'est pas mieux. Je dois donc merder quelque part dans ma config... mais où ? Si quelqu'un a un indice...

----------

## -JeaN-

Essaie de regarder les logs.

Tu les trouves dans : ( si tu n'as pas changé les répértoires par défaut )

```
repertoire_samba/var/smbd.log et repertoire_samba/var/nmbd.log
```

Ca devrait t'aiguiller mieux sur l'erreur.

----------

## erianor

Beuh, y'a pas d'erreur dans le nmbd.

Par contre le fichier log.station-1 sur le serveur montre des erreurs comme celle-ci :

[2003/02/22 10:01:55, 0] lib/util_sock.c:read_data(436)

  read_data: read failure for 4. Error = Connection reset by peer

Et j'ai la meme chose sur la Station-1 mais cette fois dans le log.station-2.

Moi ça me dit rien, une idée ?

----------

## sergio

Une petite sugestion toute bête : tes adresses IP sont fixes ou atribuées par DHCP. Si elle sont fixes vérifie qu'aucune station n'utilise la même qu'une autre. Ca arrive de temps en temps et les conflits d'adresses ne sont pas toujours signalés. Par contre sa sème la zizanie sur le poste qui est conflit (celui qui a démarré le dernier).

Essaye de nous donner un peu plus d'informations...

Ton fichier samba.conf par exemple...

Autre question ton PC Gentoo est-il à la fois serveur et client ?

A+

----------

## px

post voir ton fichier de config du samba... ca peut aider pour trouver la panne...

----------

## erianor

Mes IP sont fixes et je viens de vérifier chaque adresse est unique.

Mon PC sous Gentoo a pour vocation d'etre uniquement client samba, j'ai voulu tester en serveur samba que parce qu'il ne fonctinnait pas comme client, mais bon à terme je ne vaux pas qu'il soit serveur.

Mon fichier smb.conf est tiré du smb.conf.example avec les modifs qui m'ont semblé nécessaires :

[global]

   workgroup = bayon.local

   netbios name = station-1

   server string = Samba Server %v

   printcap name = lpstat

   load printers = yes

   printing = cups

   log file = /var/log/samba/log.%m

   max log size = 50

   hosts allow = 192.168.1. 127.

   security = user

  encrypt passwords = yes

  smb passwd file = /etc/samba/private/smbpasswd

   socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192

   dns proxy = no 

[homes]

   comment = Home Directories

   browseable = no

   writable = yes

[printers]

   comment = All Printers

   path = /var/spool/samba

   browseable = no

   guest ok = yes

   writable = no

   printable = yes

   create mode = 0700

[print$]

   path = /var/lib/samba/printers

   browseable = yes

   read only = yes

   write list = @adm root

______

Merci à ceux qui ont le courage de se pencher sur mon cas

----------

## broly

apriori ton fichier de conf est normal; essai de lancer samba en mode debug. Tu mets dans ton fichier de conf ca: log level = 5 et apres tu retourne voir tes logs.

Sinon tu peux aussi faire un testparm pour voir si ta pas une erreur ds ton fichier de conf !!

----------

## sergio

Je ne vois pas à priori de problème flagrant dans ton fichier smb.conf. 

J'ai extrait un fichier smb.conf d'un de mes serveur HP-UX pour pourvoir faire un peu la comparaison le voici (j'ai masqué certaines adresses et nom de serveur pour des raison de sécurité) :

```

[global]

   

   workgroup = MON_DOMAINE

   server string = Serveur UNIX

        # Mode de logon

   domain logons = no

        # Emulation NT

   os level = 33 

   comment = Serveur UNIX

   domain master = no 

   prefered master = no   

   wins support = no 

   case sensitive = no

   share modes = yes

   announce as = NT

   browse list = yes 

   local master = no   

   wins server = MON_SERVEUR_WINS

        # sécurité

   security = domain

   encrypt passwords = yes

   null passwords = no

   password level = 5

   username level = 5

   username = @smb

        

   password server = MON_SERVEUR_NT

        # réglages optimum

   read prediction = yes

   read size = 8192

   socket option = TCP_NODELAY SO_KEEPALIVE SO_SNDBUF=4096 SO_RCVBUF=4096

   getwd cache = yes

        # options diverses

   logfile = /var/opt/samba/samba.log

   maxlog file = 1000

   username map = /etc/smbusers

[homes]

   comment = Disque Perso 

   path = /home/%U

   browseable = no

   read only = no

   create mode = 0750 

   directory mode = 770

[admingre]

   comment = Disque exploitation Ingres

   path = /users/admingre

   browseable = yes

   writable = yes

   valid users = @mon_groupe

   write list = @mongroup

   readonly = no

   directory mode = 766

   create mode = 766

   public = no

   force group = users

   force user = admingre

```

Comme tu le vois mon fichier est un peu plus complet. Veux-tu essayer avec celui-ci ?

D'autre part tu disais que ta station Gentoo n'est que cliente. Comment accèdes tu à tes partages NT ? Montage de disque en réseau ? Par KDE (avec lisa) 

A+

----------

## erianor

Merci pour ta config, je testerai ça ce soir. Apparemment tu utilises un serveur WINS et un serveur de mots de passe, ce qui n'est pas mon cas mais éventuellement je ferai les retouches nécessaires.

Je ferai aussi les tests de debug préconisés.

En fait mon but est bien de monter les disques partagés, je veux y avoir accès en ligne de commandes. J'ai quand même tenté avec KDE et Lisa mais je parviens tout juste à voir les machines, pas les partages, j'admets ne pas avoir insisté étant donné que ça n'était pas mon objectif.

Je me demandais si j'avais pu rater quelque chose dans le kernel, je suppose qu'il faut activer le support smbfs mais y aurait-il quelque chose d'autre ? Je pose la question du kernel car jusqu'à présent à chaque fois que quelque chose foirait ma réponse était là.

----------

## sergio

Pour le kernel il faut aussi activer l'option d'écriture sur smbfs

Normalement avec LISA, si tu le laisse se configurer tout seul tu devrais voir la liste de tes stations de travail et ton serveur. N'oublie pas dans "partages SAMBA" de spécifier ton workgroup, ton nom d'utilisateur et le mot de passe qui va bien. 

Normalement, ça tourne plutôt bien

Au boulot j'ai :

- 3 serveurs UNIX

- 14 serveurs NT

- 4 serveurs LINUX (dont deux Gentoo)

- ~ 350 stations de travail sous Windows 98, NT4, 2000, XP (quelques-une même sous WIN95 et WIN3.11)

- moins d'une dizaine de stations de travail Linux (Gentoo principalement)

Et tout ce petit monde s'échange des fichiers sans problème en passant par samba...

A+

----------

## ganjo

javais le meme prob (pas de plantage, mais cetait super lent)

jai passé des heures a retoucher ma conf mais jai reussi a resoudre le prob en passant sur les machines win la carte reseau du mode automatique en 1OOMb full duplex... depuis plus de probs.

Neanmoins le probleme ne doit pas etre imputable simplement a win car je n'ai aucun prob si je transmet des fichiers entre machines win

----------

## erianor

J'ai remarqué que ma carte 3com ne passait pas en full duplex sous gentoo alors que le serveur et la station xp sont bien en full duplex mais ceci dit je ne vois pas trop ce que ça change, j'avais aussi le problème avec une autre distrib et ça ne me génait pas.

J'ai bien vu des threads pour forcer les 3com en full duplex sous linux mais ça m'avait l'air bien compliqué...

----------

## ganjo

le bug est justement que mes cartes sont indiqués sous win comme etant en 100 full duplex, mais en realité touranit en 10.

----------

## erianor

Non non, je suis sur que la station XP est bien en 100 sinon ça n'irait pas aussi vite de déplacer des gigs de données...

En plus je veux accéder au serveur qui est sous linux lui aussi et en 100 full duplex.

Enfin je vais essayer de retrouver la méthode pour forcer ma carte 3com en fd histoire de m'enlever cette épine de l'esprit.

----------

## sergio

Le fait de forcer une carte en full duplex n'est pas toujours optimum. Généralement le choix du mode (10/100 Half ou Full) est issu d'une négociation entre la carte et le périphérique réseau sur lequel elle est connectée (hub, routeur, autre carte, etc...). Si les deux en ont la capacité ils négocient entre eux le meilleur compromis.

Par ex : si le cable est mauvais, il convient de baisser la vitesse de transmission pour éviter les collisions et les erreurs d'alignement. Au contraire si le flux est correct les deux périphériques négocient la vitesse la plus haute...

En régle générale il vaut laisser les réglages en "auto" des deux cotés (sur la carte et sur le hub).

Il faut savoir qu'il vaut mieux un bon 10Mbits/Half duplex qu'un très mauvais 100MBits/Full duplex. Les collisions et les erreurs entrainent des retry sur les cartes réseau et les hub qui peuvent au pire des cas bloquer tout un réseau...

A+

----------

## px

Je les trouve plutot enorme vos fichier samba... je n'ai que ca:

```
[global]

   workgroup = WORKGROUP

   server string = Samba Server %v

   printcap name = lpstat

   load printers = yes

   printing = cups

   log file = /var/log/samba/log.%m

   max log size = 50

;   hosts allow = 192.168.1. 192.168.2. 127.

   security = share

  encrypt passwords = yes

  smb passwd file = /etc/samba/private/smbpasswd

[homes]

   browseable = yes

   comment = Répertoires utilisateurs

   writable = yes

[printers]

   browseable = no

   printable = yes

   print command = lpr -P %p -o raw %s -r   # using client side printer drivers.

   writable = no

   path = /var/spool/samba

   guest ok = yes

   comment = Imprimantes

   create mode = 0700

[print$]

   path = /var/lib/samba/printers

   browseable = yes

   read only = yes

   write list = @adm root

```

----------

## sergio

 *px wrote:*   

> Je les trouve plutot enorme vos fichier samba... je n'ai que ca:
> 
> 

 

Je suis obligé car mes serveurs samba s'intègrent dans un réseau d'entreprise avec plusieurs serveurs NT. Et il faut bien que ce petit monde cohabite ensemble. Les serveurs UNIX sont vus comme des serveurs NT et réagissent de même...

A+

----------

## erianor

Rhààààà !!! Merci à tous pour votre aide, tout roule maintenant.

Et bien c'était la carte réseau qui merdait, hop en forçant le 100 full duplex tout fonctionne au poil.

Encore merci pour votre patience.

----------

## broly

moi ca m'interesse de savoir comment on fait pour forcer une carte reseau sous linux !!

----------

## erianor

Tiens, c'est vrai j'ai été égoiste sur ce coup.

Je précise que la technique employé est valable pour les cartes 3com utilisant le pilote 3c59x qui doit etre compilé en module.

Ensuite il suffit dans /etc/modules.autoload de rajouter la ligne

3c59x options=12 pour le 100 full duplex

Une URL avec plus d'infos :

http://sdb.suse.de/en/sdb/html/lr_3com90x.html

----------

## broly

ok mais moi j'ai pas une 3com et j'ai fouiner un peu sur le net et j'ai trouver ca : 

emerge mii-diag, puis on a juste a utiliser mii-tools !!

apparement ca marche avec pas mal de carte, voico ce que j'obtiens :

gentoo root # mii-diag

Using the default interface 'eth0'.

Basic registers of MII PHY #24:  3000 782d 0040 6174 05e1 45e1 0003 0000.

 The autonegotiated capability is 01e0.

The autonegotiated media type is 100baseTx-FD.

 Basic mode control register 0x3000: Auto-negotiation enabled.

 You have link beat, and everything is working OK.

 Your link partner advertised 45e1: Flow-control 100baseTx-FD 100baseTx 10baseT-FD 10baseT, w/ 802.3X flow control.

   End of basic transceiver information.

----------

