Des nouvelles de FreeBSD

Posté par  (site web personnel) . Modéré par Nÿco.
Étiquettes :
0
10
avr.
2007
FreeBSD
Comme tous les trois mois, la Fondation FreeBSD publie son bulletin d'information permettant de suivre les derniers axes de développement des divers projets et donc les nouveautés à venir ou déjà intégrées au projet FreeBSD.

Les trois derniers mois ont apporté beaucoup de nouveautés au projet, et le rapport lève le voile sur les améliorations importantes qui seront apportées par la branche FreeBSD-7 (plus particulièrement en ce qui concerne les projets ZFS, GCC-4.1, Xorg 7.2 ou encore l'émulation Linux). La Fondation FreeBSD rapporte dans son bilan trimestriel les apports suivants :

  • Import du système de fichier ZFS dans le CVS officiel de FreeBSD. En effet, neuf mois après l'annonce du début du port de ZFS sur FreeBSD, Pawel Jakub Dawidek a pu intégrer ZFS dans le CVS officiel (mais toujours considéré comme expérimental), il sera donc présent sur FreeBSD-7.0-RELEASE. L'import est fait sous licence CDDL, il ne s'agit pas d'un simple portage puisque ZFS a été intégré à l'infrastructure GEOM de FreeBSD.

  • Passage à GCC-4.1 : Il aura fallu plusieurs mois pour permettre le passage à GCC-4.1 en tant que compilateur, maintenant la base est prête et la majeure partie des ports compile avec ce compilateur. Il devrait donc normalement faire son entrée dans la branche CURRENT de FreeBSD dans les semaines qui viennent et faire partie des meubles lors de la sortie des FreeBSD-7.0-RELEASE.

  • Import des trunk(4) depuis le projet OpenBSD, permettant de créer des interfaces réseau virtuelles qui sont des agrégations de cartes réseaux réelles, offrant ainsi les fonctionnalités suivante :


  • Intégration des cartes Wifi Intel 3956ABG. Le pilote(wpi) devrait faire son entrée dans la branche -CURRENT d'ici quelque semaines.

  • Le nombre de ports disponible approche maintenant les 17000.

  • Nette amélioration du support SMP de FreeBSD, tout particulière en ce qui concerne la montée en charge. Des gros progrès sont notables avec MySQL et PostgreSQL sur des serveurs multi-CPU (8 cores par exemples).

  • Amélioration de la compatibilité Linux : L'émulation Linux sur processeurs AMD64 est maintenant synchronisée avec celle de l'architecture i386, permettant d'émuler les appels système d'un noyau 2.6.16 (il reste encore quelques appels systèmes à implémenter).

  • Intégration de Xorg 7.2 : après plusieurs mois de développement, Xorg 7.2 devrait bientôt faire son apparition dans les ports. Le changement inhérent à l'intégration de Xorg 7.2 (multiplication des packages, disparition de /usr/X11R6 (X11BASE) en faveur de /usr/local (LOCALBASE)) ne permettront pas la mise à jour automatique par des outils tels que portmaster ou portupgrade. Xorg 7.2 est déjà testable (stable et utilisable) en suivant les instructions suivantes : http://wiki.freebsd.org/ModularXorg. Tout comme sous Linux, il est donc possible de faire tourner Compiz/Beryl sous FreeBSD.

  • Ajout d'une nouvelle interface de compatibilité pilote avec Linux. Les API noyau Linux sont émulées afin de permettre la recompilation depuis les sources de pilotes Linux et de pouvoir les utiliser en tant que pilote FreeBSD. Cette émulation est disponible dans les ports (devel/linux-kmod-compat). Le projet s'est, dans un premier temps, focalisé sur les pilotes de webcam USB. Actuellement, la couche d'émulation est suffisamment proche de la couche USB de Linux pour permettre la compilation sans modification de source des pilotes suivants : gspca et ov511 disponible dans les ports : multimedia/linux-gspca-kmod, multimedia/linux-ov511-kmod. La couche d’émulation devrait être diversifiée, pour permettre l’utilisation de pilotes Linux dans un plus grand nombre de domaines.

Aller plus loin

  • # Ça à l'air bien...

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

    Bah ça m'a l'air bien tout ça. Quelqu'un serait me dire quels sont les avantages/inconvénients d'une freebsd comparé à une distribution linux?

    Il me semble avoir lu qu'il y a pcBSD, qui serait un OS qui se veut convivial, quelqu'un pourrait me faire des retours?
  • # round-robin

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

    Je m'étais renseigné il y a quelques temps sur cette fonctionnalité.
    D'après mes espoirs et ce que j'en avais compris, un cas typique d'utilisation pour Mr Toutlemonde serait de pouvoir combiner le débit de plusieurs interfaces réseaux.
    Par exemple, si on a sur un portable un accès wifi ET un accès ethernet, les paquets peuvent passer par les 2 interfaces réseaux, augmentant ainsi le débit (et permettant une connexion/déconnexion du cable ethernet transparente).

    Quelqu'un sait si la procédure pour utiliser cela s'est simplifier, car dans mon souvenir, sous Linux, c'était plus que compliqué.
    • [^] # Re: round-robin

      Posté par  . Évalué à 4.

      > si on a sur un portable un accès wifi ET un accès ethernet, les paquets peuvent passer par les 2 interfaces réseaux, augmentant ainsi le débit (et permettant une connexion/déconnexion du cable ethernet transparente).
      > Quelqu'un sait si la procédure pour utiliser cela s'est simplifie

      Avec ceci, la carte ethernet (em0) a automatiquement préemption sur le wifi (ath0) dès qu'elle est connectée (et le wifi reprendra la main si on ote le cable) :


      ifconfig em0 up
      ifconfig ath0 nwid myessid up
      ifconfig trunk0 trunkproto failover trunkport em0 trunkport ath0 192.168.1.1 netmask 255.255.255.0


      Cf.
      http://www.openbsd.org/cgi-bin/man.cgi?query=trunk
    • [^] # Re: round-robin

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

      ce n'est pas tout à fait ça le round-robin... ce dont tu parles est plutôt de l'interface-bonding ou http://en.wikipedia.org/wiki/Link_aggregation
      • [^] # Re: round-robin

        Posté par  . Évalué à 2.

        Le trunking d'OpenBSD, donc celui repris par FreeBSD dispose de plusieurs protocoles comme indiqué dans la page de man :

        -- roundrobin : permet de distribuer le traffic sur plusieurs interfaces membres du trunk. Si une interface membre a un soucis ou est déconnectée, le trunk continue de fonctionner normalement sur les interfaces restantes.

        -- loadbalance : distribue le traffic sur les différents ports en fonction d'un hash de l'en-tête ethernet. C'est ce que font la majorité des constructeurs de switchs lorsqu'ils implémentent du trunking/etherchannel, etc. Il se peut que le mode roundrobin ne fonctionne pas avec certains switchs, ce mode permet donc d'utiliser le trunking avec tous.

        -- failover : on déclare une interface en maître et les autres en esclave. Tant que l'interface maître est active on tourne dessus. Lorsque l'interface maître passe inactive, la première interface esclave prend le relais. Si l'interface déclarée maître redevient ok, on rebascule dessus.

        C'est ce dernier mode qui est très utile pour les portables : on peut tourner sur le gigabit tant qu'il y a de la connectivité. Si on débranche le câble, le basculement se fait tout seul sur le wifi. Attention : le traffic ne passe que par *une seule* interface à la fois avec ce protocole.
        • [^] # Re: round-robin

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

          ah ouais, bien vu... c'est pourtant moi qui avait wikipédifié cette partie de la dépêche...

          m'enfin je dois avouer ma méconnaissance complète (visiblement) de trunk(4) et agr(4) => si tu as plus d'éléments sur le sujet ?

          j'ai d'ailleurs découvert au passage le LACP http://en.wikipedia.org/wiki/Link_Aggregation_Control_Protoc(...) qui me paraît bien prometteur pour réellement gérer les 2 cartes ethernet que je demande systématiquement pour nos serveurs (même si je n'ai jamais vu encore une seule carte réseau cramer après la mise en service :/ à la mise en service un port défectueux je veux bien, mais bon ensuite je vois pas trop pourquoi....).
          Quel dommage que ces pages de wikipedia ne soient pas encore dispos en français sur ces sujets, si ya des gens compétents sur le sujet qu'ils n'hésitent pas :)
          • [^] # Re: round-robin

            Posté par  . Évalué à 2.

            Avec le protocole roundrobin de trunk(4), tu répartis la charge sur tous les liens. Le problème vient de certains switchs qui posent problème avec ce mode.

            Si tu as de nombreuses connexions avec des en-têtes ethernet différentes la charge peut également bien être répartie avec le protocole loadbalance, et il marche avec nimporte quel switch.

            Mais attention, l'aggregation de lien ne permet jamais d'obtenir vraiment débit totale = (débit interface * nb interface). Il est possible de s'en approcher dans certaines conditions mais s'est pas toujours évident pour certaines configs.

            A noter que le trunking c'est aussi très utile si tu perds des liens en route puisque tu peux continuer de tourner sur d'autres.

            Je connais pas LACP avec agr(4), mais d'après ce que j'ai pu lire sur la page de man sur le site de netbsd, il a les mêmes problèmes que trunk(4) : http://netbsd.gw.com/cgi-bin/man-cgi?agr++NetBSD-current
          • [^] # Re: round-robin

            Posté par  . Évalué à 3.

            > même si je n'ai jamais vu encore une seule carte réseau cramer après la mise en service

            Note que la redondance permet aussi d'interconnecter plusieurs machines à l'aide de plusieurs switchs indépendants, de façon transparente (comme s'il s'agissait d'un seul lien).

            Bref, le mode failover de trunk(4) protège aussi contre les pannes des switchs (ou permet de remplacer un switch / un cablage à chaud sans s'inquiéter de la continuité du service), ce n'est donc pas seulement une protection contre les cartes réseau qui crament.

            Couplé avec la suite carp(4), pfsync(4), sasyncd(8), openbgpd, ifstated(8), hoststated(8), etc. sous OpenBSD, ça permet de construire des passerelles ipsec + firewall + routeurs + load balancers haute disponibilité en utilisant uniquement du logiciel libre.
  • # Import des pools ZFS

    Posté par  . Évalué à 5.

    Pour ceux qui voudraient importer leurs pools ZFS de Solaris vers FreeBSD, c'est tout à fait possible mais il faut un peu bidouiller.

    Il semblerait que Solaris ne créé pas des tables de partitions EFI corrects. Il faut donc les éditer à la main pour les corriger.

    Pour ma part j'ai utilisé gpte (dispo dans les ports de FreeBSD) pour effacer la tables des partitions et la re-créer avec les bonnes valeurs.

    Les valeurs importantes sont disponible en utilisant la commande glabel je crois (je ne me rappelle plus exactement)

    Après cette manipulation, il est possible d'accéder aux pools ZFS depuis FreeBSD. L'accès depuis Solaris est évidement toujours possible.

Suivre le flux des commentaires

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