Forum Linux.général Problème de migration samba....

Posté par  .
Étiquettes : aucune
0
26
nov.
2004
Hello !
Nous avons un nouveau serveur dell qui doit remplacer notre ancien serveur samba/dhcp. L'ancien serveur était configuré comme suit :
- IP 192.168.0.3
- Nom netbios : samba
- Nom du workgroup : samba
- Nom dns : samba

Lorsque j'ai installé le manchot sur notre nouvelle machine, je lui ai donné un nom bidon, avec pour adresse 192.168.0.4.
Et là, j'ai fait la connerie (y'a pas d'aute mot) de démarrer le samba sur cette nouvelle machine. Ce couillon là a gardé en mémoire quelque part (mais où, bordel) que le serveur de noms netbios était situé en 192.168.0.4 avec une machine portant pour noms (netbios, workgroup et dns) samba2.
Tout à l'heure, ignorant encore que nous allions rencontrer ces problèmes, nous avons fait arrêter tous les postes clients, puis le serveur samba. Puis, nous avons installé à sa place définitive le nouveau samba, changé les noms pour qu'il reprenne le nom de l'ancien serveur, et récupéré l'adresse IP du précédent, de façon à ce que ce changement soit transparent pour les utilisateurs.

Erreur !
Lorsque nous tentons de démarrer les services samba, une fois sur 2, le service de noms (nmbd) refuse de s'arrêter, et de redémarrer. La raison, visiblement, est qu'il n'arrive pas à forcer une ré-election sur le domaine samba2 ! avec la machine samba2 à l'adresse 192.168.0.4. Forcément, puisque cette machine n'existe plus sur le réseau !
Je ne sais plus quoi faire.
SVP, aidez moi !
J'ai déjà pensé aux choses suivantes :
- L'ancienne machine est éteinte.
- le fichier smb.conf semble correct.
- le fichier dhcpd.conf aussi (d'ailleurs ce service fonctionne à la perfection).
- toutes les machines (sauf les imprimantes) sont éteintes.
- Dans le smb.conf, je l'ai mis en prefered master, domain master, etc... Je n'ai plus les paramètres sous les yeux. A la limite, si ça déconne toujours demain, je posterais les paramètres de samba...
Le but, c'est d'en faire un serveur de domaine (PDC pour les intimes) comme le faisait le précédent.
A titre indicatif, le précédent faisait tourner samba 2.2.8a alors que le nouveau fait tourner samba 3.0.9. Je ne pense pas que ça puisse venir de là, mais sait-on jamais ?
Par ailleurs, j'ai récupéré tels quels les fichiers de configuration de l'ancien serveur pour les mettre sur le nouveau. Ce que je ne comprend pas, c'est que malgrès tout, les micros sous windows 98 fonctionnent toujours, alors que ceux sous 2000/XP se plaignent qu'ils n'ont pu joindre le contrôleur du domaine.
D'avance, merci pour vos idées, pistes, etc, aussi minces soient-elles.
  • # net ?

    Posté par  . Évalué à 2.

    Une piste: man net
    net cache flush pourrait être une solution ?
    • [^] # plus bourrin

      Posté par  . Évalué à 1.

      Sinon il y a plus bourrin:
      rm -f /var/lib/samba/*

      Attention effets de bord et résultats non garantis
      • [^] # Re: plus bourrin

        Posté par  . Évalué à 1.

        Hum... Je ne suis pas certain de cette solution... Je regarderais ce que contient ce répertoire avant quand même...
        Pour le coup du net cache cité plus haut :
        Je ne crois pas que la commande net soit au programme sous Linux.
        Petite information qui n'était peut-être pas très claire dans mon post :
        Le nouveau serveur samba est tout seul sur le réseau, mais il tente quand même de forcer une élection qu'il estime perdre contre une machine qui n'existe plus ! C'est trop fort. Demain, avant tout, j'essaierais de relancer les services samba (smbd et nmbd) en ayant les deux cartes réseaux de débranchées [ à propos, j'ai une info : j'ai réussi à faire fonctionner le net bonding, je vous en reparlerais dans une prochaine causerie, car c'est vraiement trop de bonheur, un lien à 2 Gb/s ! ]...
        Bref, revenons à nos moutons : pour le net cache, j'essaierais depuis un windows 98 démarré pour l'occasion, et je compte passer éteindre toutes nos imprimantes. Elles sont peut-être la source de nos tracas !
        • [^] # Re: plus bourrin

          Posté par  . Évalué à 2.

          > Je ne crois pas que la commande net soit au programme sous Linux.

          $ man net
          Reformatting net(8), please wait...
          net - Tool for administration of Samba and remote CIFS servers.

          Utile entre autre pour joindre un domaine, le vampiriser (en tant que BDC), lister les utilisateurs et groupes d'un domaine etc.
          • [^] # Re: plus bourrin

            Posté par  . Évalué à 1.

            Toutes mes plus plates excuses ! J'aurais du tenter la chose avant de poster !
            Je m'en vais regarder tout ça de très près (j'ai un samba d'installé sur ma machine perso, alors ça va être facile), et voir ce que je peux en tirer !
            Merci pour cette piste, c'est déjà un début prometteur !
  • # Windows XP

    Posté par  (site web personnel) . Évalué à 2.

    As tu appliquer les modifications de bases de registres necessaires a
    windows xp pour joindre un domaine Samba ?

    http://www.ccs.uky.edu/docs/samba.htm(...)
    • [^] # Re: Windows XP

      Posté par  (site web personnel) . Évalué à 2.

      Ah sinon pour ton pb de nom as tu essaye un 'rgrep 192.168.0.4 /etc' ?
      as tu verifie que le nom temporaire n'existait plus dans les
      fichiers /etc/hosts, /etc/hostname, /etc/mailname.
      que t'indique la commande hostname ?

      Si tu ne peut pas redemarrer le nvx serveur, il ne faut pas oublier
      de modifier les fichiers /etc/hosts et /etc/hostname puis de faire un hostname -F /etc/hostname, de redemarrer cron et sysklogd et eventuellement le smtpd (apres avoir modifier /etc/mailname pour exim)
    • [^] # Re: Windows XP

      Posté par  . Évalué à 2.

      Le "patch" signorseal dans la base de registre Windows n'est plus nécessaire dans la version 3 de samba depuis que la variable server schannel (par défaut à auto) existe dans smb.conf.
  • # Fais hyper gaffe!

    Posté par  . Évalué à 2.

    Le cache des noms netbios de samba se trouve dans /var/cache /samba/wins.dat. Tu peux peupler ce fichier à la main pour les entrées fixes ou également effacer ce fichier. Il sera rempli automatiquement avec le temps.

    Pour reprendre un réseau et des entrées netbios depuis zéro:

    éteint tout tes clients
    arrête samba
    efface /var/cache/samba/wins.dat
    redémarre le tout

    J'espère que tu n'as pas fait l'erreur de ne pas transférer le SID du PDC! Tu DOIS utiliser le même SID sur le nouveau PDC, sinon point de salut, tu dois sortir chaque client du domaine puis l'intégrer sur ton nouveau PDC.

    Pour transférer le SID, utilise (de mémoire) "net setlocalsid". Cela aura pour effet de rechercher le SID du PDC et de l'imposer à la machine locale (le nouveau PDC).

    Si tu fais cela, et que tu remet à zéro le cache netbios de tes machines, tout devrait bien se passer. Tiens moi informé, ça m'intéresse personnellement, merci.
    • [^] # Re: Fais hyper gaffe!

      Posté par  . Évalué à 2.

      Je précise qu'il est normal que tes clients XP ne puissent plus se connecter au PDC, le SID ayant changé, et il est normal qu'une machine 98 puisse le faire, puisqu'une machine 98 n'utilisant pas de compte machine, ne fait jamais réellement partie d'un doaine NT4.

      Lis ceci pour sauver ton job:

      http://sambafr.idealx.org/samba/docs/man/Samba-HOWTO-Collection/sam(...)
      • [^] # Re: Fais hyper gaffe!

        Posté par  . Évalué à 1.

        Je ne vais pas citer tout ton premier post, mais tu me proposes des pistes qui seraient LA solution à mon problème, et il faudrait que je te tiennes informé ? Y'a un truc que je ne pige pas ;-) !
        Quoi qu'il en soit, je ne suis plus au boulot depuis 12H20, et ton message est arrivé trop tard.
        J'ai donc remonté la baie RAID dans le serveur initial, après avoir éteint le nouveau, évidement, et j'ai tout redémarré comme c'était avant.

        Pour la partie netbios, je me doutais bien qu'une seule machine pourrait foutre le bordel sur le réseau, je les avais donc toutes éteintes, sauf les imprimantes réseau... Ce sont des HP, certaines avec une carte réseau intégrée, d'autres avec un boitier hp jetdirect.
        Par ailleurs, nos switches tournent toujours (ce sont des 3Com 3300 XM, à une exception près : un 4200), cela peut peut-être avoir une incidence ?!
        Ce matin, j'en suis arrivé à ce point : obligation de désinscrire les machines windows 2000 & XP d'un domaine qui n'existe plus et les ré-inscrire dans le nouveau domaine (c'est le même, mais bon, passons).
        Cette manip' effectuée, les micros sous XP/2000 étaient incapables de récupérer les données du profil, et je pense que c'est lié au SID, maintenant que tu m'en as parlé.

        Donc, en fin de semaine prochaine (voire même samedi matin), je pense éteindre absolument tout, imprimantes et switches y compris, après avoir récupéré le SID du serveur actuel (net getlocalsid en root). Implanter le SID sur le nouveau serveur (net setlocalsid en root toujours), après l'avoir allumé lui et le switch sur lequel il est branché, puis redémarrer tranquillement tous les PC, un a un, pour vérifier que tout fonctionne.
        Je tiendrais la communauté au courant du succès de cette entreprise.
        Si ça marche, je demande un patch à templeet pour "pertinentiser" à vie ton idée, car elle m'aura évité un lynchage collectif !
        • [^] # Re: Fais hyper gaffe!

          Posté par  . Évalué à 1.

          Catastrophe, tu as donc déjà sorti les machines du domaine ? Si oui, les profiles locaux ne seront plus utilisable tel quel. Sous xp, le dossier du profil local se trouve dans c:\documents and settings\monuser(.mondomaine)

          Lorsque tu joins un domaine, un dossier est ajouté pour l'utilisateur lorsqu'il se logue. un suffixe peut apparaître: ex monuser.mdkgroup

          Si bernard.mondomaine existait, alors le nouveau dossier deviendrait bernard.mondossier2 (ou autre). Ce qui veux dire que si tu n'avais aucun user local, le dossier qui est créé peut très bien s'appeler "bernard" tout court. Le système essaie les noms les un après le autres en fait, et ajoute des suffix pour ne rien écraser.

          Ces dossiers n'ont pas les mêmes droits, d'ailleurs tu peux voir que certains utilisateurs ayant droit sur ces dossiers apparaissent avec un uid qui n'est pas reconnu par le controleur. Ce user fantômes est l'utilisateur de l'ancien domaine.

          Pour récupérer le profil de ton ancien compte:

          Fais une backup du dossier originel! (fie toi aux dates si tu as un doute)
          passe en admin local
          efface le dossier du domaine actuel (le vide, celui qui correspond à ton domaine actuel)
          quitte le domaine
          rejoins le domaine
          logue toi avec ton user
          passe en admin local
          efface le nouveau dossier de profil qui vient dêtre créé
          remplace le dossier de profil actuel avec ta backup
          corrige les droits d'accès si nécessaire.

          http://lists.samba.org/archive/samba/2004-June/087799.html(...)

          C'est la procédure que j'utilise, il y a peut-être plus simple, mais je n'ai jamais fais le test: ce n'est pas dans ces moments là que tu as envie de faire des tests, tu veux juste que ça marche.

          Bonne chance.
          • [^] # Re: Fais hyper gaffe!

            Posté par  . Évalué à 1.

            C'est gentil de t'inquiéter autant que ça pour moi, si, si, ça me touche, vraiement !
            J'ai eu exactement la même crainte, mais en fait il n'en est rien...

            En fait, j'imagine que ça a dû fonctionner comme suit :
            - Lors de la désinscription à un domaine, XP/2000 demande un utilisateur / mdp autorisé à le faire,
            - Comme le PDC était injoignable (j'imagine qu'il se base sur le SID pour ça), il s'est basé sur le fait que l'identifiant est valide, seulement, pour la désinscription.
            - Lors de l'inscription, le PDC (le tout neuf) a validé l'inscription avec le couple mdp/user autorisé à le faire
            - Le micro sous XP/2000 à voulu utiliser le profile partagé par le samba, mais le SID de l'ancien serveur l'empéchait de le faire (probablement renseigné dans ntuser.dat ou une connerie du genre).

            Par conséquent, lorsque j'ai fait marche arrière ce matin, pour revenir à mon point de départ, j'ai fait la manoeuvre inverse : désinscription/réinscription et tout est rentré dans l'ordre.

            Je m'explique ça comme ça. Je suis peut-être loin de la vérité, peut être pas !? En tout cas, je n'ai absoluement rien perdu (à part un peu de temps, mais il est tellement difficile de tout maîtriser de nos jours !

            Update : je viens de relire ton post.... En fait, je crois que l'on ne doit pas utiliser les mêmes astuces ;-) !
            A mon bureau, les profiles sont locaux, mais stockés sur le serveur samba, donc adieu les c;\documents and ...
            Tout est dans un partage réseau. Là où ça se gâte, c'est lorsque comme nous tu as plusieures versions de windows qui cohabitent. Pour 98, il faut un partage nommé profile, pour 2000 et XP, il faut qu'il s'appelle profiles. Pour 98, il faut utiliser en plus la directive "logon home" dans le smb.conf, pour 2000/XP, c'est "logon path", etc. Y'en a plein des comme ça.
            Quoi qu'il en soit, nous n'utilisons pas les profiles itinérants au sens de microsoft, mais ceux au sens samba ! Et ça fonctionne du feu de dieu, et semble même plus résistant !
            • [^] # Re: Fais hyper gaffe!

              Posté par  . Évalué à 1.

              Effectivement, si le profil est stocké sur le serveur, ça change tout. C'est bon à savoir.

              Ha oui, si le PDC est injoignable, windows aurorise tout de même 10 login en se fiant à un cache local, passé ce nombre (modifiable dans la base de registre), il n'autorise plus l'utilisateur à se logger.

              Mais bon, on s'en fiche, le tout c'est que ça marche.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.