Linux VServer, pour ceux qui ne connaissent pas...

Posté par  (site web personnel) . Modéré par Nÿco.
0
2
mar.
2004
Noyau
Linux-VServer, à ne pas confondre avec le Linux Virtual Server Project, est un projet lancé à l'origine par Jacques Gélinas (le patch CTX).

Le projet consiste en deux parties. La première est un patch pour le noyau (actuellement vs1.26 stable pour 2.4.25 et vs0.09.8 pour 2.6.3) qui permet, en résumé, de faire tourner plusieurs machines virtuelles sur une même machine physique. La seconde partie ajoute un ensemble d'outils pour installer/gérer ces serveurs virtuels. Ce projet permet, entre autre, de créer des serveurs mutualisés, une alternative très sérieuse au simple chroot, de tester une infrastructure N-tiers sur une même machine, etc.

Pour information le site LinuxFR.org tourne dans un vserver depuis maintenant plus de six mois, d'autres projets comme UUCPSSH.org tournent aussi sous serveurs virtuels. À ce titre la team de LinuxFR remercie Herbert Pötzl pour son support averti ainsi que tous les contributeurs au projet.

Aller plus loin

  • # Dans la même approche

    Posté par  . Évalué à 7.

    Dans la même approche que Vserver, les UML (UserModeLinux)
    http://user-mode-linux.sourceforge.net(...)

    J'ai actuellement une machine gentoo kernel 2.4.25 (patch skas3)
    qui fait tourner 12 serveurs virtuels debian et cela depuis plus de 6 mois.

    Ce qui serait intéressant serait de comparer les systèmes de ce type pour pouvoir juger quel est la meilleur solution.
    • [^] # Re: Dans la même approche

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

      Et c'est quoi ta conf matérielle pour faire tourner 12 serveurs virtuels Debian avec UML : CPU, mémoire, disques... ?

      Ca peut intéressant de savoir ça pour ceux qui voudraient se lancer dans l'aventure...
      • [^] # Re: Dans la même approche

        Posté par  . Évalué à 1.

        Le serveur maître est prévu pour supporter entre 25 et 30 UML.
        Les caractéristiques du serveur sont :

        * P4 2.4
        * 2.5 G de RAM
        * 1 DD de 120 G
        • [^] # Re: Dans la même approche

          Posté par  . Évalué à 1.

          et ca sert a quoi 12 serveurs ou plus ?
          • [^] # Re: Dans la même approche

            Posté par  . Évalué à 5.

            Alors c'est assez simple, j'offre ce service à des clients ;)

            Par exemple, pour un serveur virtuel debian, 5 G de DD, 128 de RAM et 256m de swap, je les fais à 60 Euro HT.

            J'ai bien sur d'autres types d'UML :

            RAM --> 32 / 64 / 128 / 256
            DD --> 3 G / 5G / 10G

            Sinon, je fais tourner aussi a titre perso dessus deux serveurs, un pour un serveur irc linked a un reseau, et l'autre pour heberger un serveur FTP anonyme.

            Les utilités sont multiples, en tout cas c'est une belle alternative aux blades servers.
            • [^] # Re: Dans la même approche

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

              Merci pour les exemples j'avais du mal a comprendre l'utilité de Linux-VServer.

              Un blocage intellectuel ou un saint instinct de survie m'enpechait d'imaginer un serveur FTP anonyme ou un serveur IRC cohabité avec des services d'hebergement pro sur une même plateforme hardware.

              Maintenant les idées d'appplications ce bousculent

              Enjoy
              Karles
            • [^] # Re: Dans la même approche

              Posté par  . Évalué à 1.

              Je vois.

              ce que je n'arrive pas a bien comprendre c'est comment les linux virtuels se partagent les acces reseaux ?
              ils passent tous par les memes cartes ? si oui alors le linux maitre sert de switch virtuel ? ( un fonctionnement a la vmware)
              • [^] # Re: Dans la même approche

                Posté par  . Évalué à 5.

                Bonjour,

                Pour mes serveurs virtuels, le serveur maître a la support de Universal TUN/AP, un peu dans le genre vmware. Donc, tous les serveurs virtuels se partagent la même carte réseau, mais chaque serveur virtuel a sa propre adresse IP et sa propre adresse MAC.
              • [^] # Re: Dans la même approche

                Posté par  . Évalué à 1.

                avec des Alias je suppose.
              • [^] # Re: Dans la même approche

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

                C'est basé sur le support TUN/TAP comme dit Eric.
                TUN permet de récupérer des paquets IP et les renvoit à un programme en userspace, tant dis que TAP récupère des trames ethernet et les renvoit lui aussi à un programme en userspace.

                Ainsi, un thread UML peut récupérer des paquets depuis une carte réseau en créant un périphérique TUN par exemple.

                Il est vrai que ca ressemble au principe de l'IPAliasing, même si les paquets passent en userspace.

                J'ai peut-être dis des bétises, alors si c'est le cas, corrigez moi (pas trop fort quand même ;-) ), cela me permettrait d'avancer.

                Amicalement
                Christophe.

                PS: /usr/src/linux/Documentation/networking/tuntap.txt
              • [^] # Re: Dans la même approche

                Posté par  (site web personnel, Mastodon) . Évalué à 1.

                C'est effectivement 127.0.0.1 qui fait le routeur vers les interfaces matérielles.
    • [^] # UML vs VServer

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

      Par contre UML te fait tourner plusieurs instances du noyau Linux. Cela engendre (entre autre) de multiples indirections pour accéder par exemple au filesystem... Bref pour tester des noyaux UML c'est bien, pour faire du mutualisé Linux-VServer c'est bien mieux.

      My 0.02 €
      • [^] # Re: UML vs VServer

        Posté par  . Évalué à 1.

        Bonjour,

        Effectivement pour chaque UML lancé tu as une instance kernel qui est lancé. Je ne comprend pas ce que tu sous-entends par indirection pour le filesystem ? J'ai un filesystem "template" debian ext2 qui est accessible uniquement en lecture, et j'utilise le procédé COW pour que chaque serveur UML ai son propre filesystem. Je n'ai pas de relantissement, enfin tout est pour le mieux avec UML.

        Je vais de toute façon tester Linux-VServer pour voir ce que cela donne.
        • [^] # Re: UML vs VServer

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

          Simple, ton noyau UML tourne en mode utilisateur. Donc il ne peut accéder directement au filesystem (inode et tout ça), car ça se fait en mode kernel et il est entiérement en mode utilisateur (d'où le nom UML d'ailleurs). Du coup, pour que ça marche, le noyau UML en mode utilisateur appelle les primitives du vrai noyau... Ce qui fait bien un premier appel de primitive kernel dans le noyau UML, suivi du même appel de ce dernier dans le noyau principal. Et ce n'est qu'un exemple.

          Du coup, met 20 UML sur une machine, met 20 VServer sur une autre, fait un simple test de lecture non séquentielle, en parallèle sur tous ces serveurs et en même temps, et là tu verras concrétement le problème... (bien sûr tape sur un même disque, pas sur des points de montage différents sinon ça ne vaut rien comme test)
    • [^] # Re: Dans la même approche

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

  • # Re: Linux VServer, pour ceux qui ne connaissent pas...

    Posté par  . Évalué à 1.

    La possibilité de créer des serveur virtuelles n'est pas directement implémenté dans le noyau 2.6? Linux Mag en a parlé ya pas longtemps mais je me rapel plus le nom... J'ai pas saisit la différence!

    Teppic
  • # Un gnurou vserver ?

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

    J'avais rencontré un petit problème pour utiliser links(*) dans un vserver sur une debian stable, j'avais été obligé de faire un ln -s /dev/tty /dev/tty0 sinon links segfaultait au démarrage.

    Dans /dev, à l'origine, il n'y avait que tty, pas de tty0 et Co. Et le code de links avait l'air de chercher (en stracant) /dev/vc/0 puis /dev/tty0. Je n'ai pas pris le temps de chercher pourquoi, comment, si quelqu'un sait ?

    (*) En espérant ne pas être le seul à utiliser links dans un vserver :)
    • [^] # Re: Un gnurou vserver ?

      Posté par  . Évalué à -10.

      je te conseille de laisser tomber linux et d'utiliser un as400 car ici les gens ne peuvent pas t'amener de réponses concrètes !
      • [^] # Re: Un gnurou vserver ?

        Posté par  . Évalué à -2.

        Je sais pas si je dois [+] ou [-] sur ce coup là !!!
      • [^] # Re: Un gnurou vserver ?

        Posté par  . Évalué à 1.

        Ben dis donc, en deux posts tu es déjà découragé par linux, un peu de volonté serais de rigueur à mon avis
    • [^] # Re: Un gnurou vserver ?

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

      J'ai pas de réponse spécifique pour vserver, mais en général sous Linux c'est comme cela (sous 2.4.25, devfs) :


      crw------- 1 root tty 5, 1 Jan 1 1970 /dev/console
      crw-rw-rw- 1 root tty 5, 0 Mar 2 09:54 /dev/tty
      lr-xr-xr-x 1 root root 4 Feb 19 19:47 /dev/tty0 -> vc/0
      lr-xr-xr-x 1 root root 4 Feb 19 19:47 /dev/tty1 -> vc/1
      crw-rw-rw- 1 root root 4, 0 Jan 1 1970 /dev/vc/0
      crw------- 1 root tty 4, 1 Feb 29 17:54 /dev/vc/1


      'console' correspond au terminal avec lequel le kernel "discute", par défaut c'est le terminal virtual actif, mais cela peut être le port série, le port parallèle (voir une console virtuelle à travers gdb, ethernet, tcp/ip ou autre).

      'tty' c'est le terminal associé à la session auquel appartient le processus en cours (attribué par le getty ou bien le xterm, etc ..): man 4 tty

      'tty0' c'est le terminal virtuel actif à l'instant t, 'tty0' pointe vers l'un des terminaux virtuels 'tty1' a 'tty63'. man 4 console

      'tty1' à 'tty63' ce sont les terminaux virtuels associés à la console VGA (ALT-F1 à ALT-GR F12 etc ..). man 4 console

      /me qui étale sa culture ...
      • [^] # Re: Un gnurou vserver ?

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

        Le problème vient, du moins je pense, que :
        1- comme nous sommes dans un vserver
        2- newvserver ne créé que le minimum
        3- je n'ai pas le support devfs sur le serveur(*)

        Les solutions sont 1 et/ou 2 et/ou 3 ?

        (*) Oui, je pourrais recompiler un noyau avec le support devfs pour vérifier que cela ne vient pas de là.
  • # Quelques docs

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

    Voici une petite doc sur le sujet (je sais, le titre est foireux, j'ai jamais pris le temps de le corriger)... pour Debian SID :
    [ http://www.e-glop.net/howtos/vserver-debian-sid.xhtml(...) ]

    Dans la même veine, mais pour Gentoo...
    [ http://doc.gentoofr.org/Members/BeTa/vservers-gentoo(...) ]

    Il est possible que ces docs aient pris un poil le temps... mais en théorie, je ne crois pas.
    note: ne pas oublier, pour les gentooistes, de faire un "emerge debootstrap" pour tester les vservers plus rapidement en installant des debian (pas de troll plz), ou même (troll possible) pour tester la debian en installant un vserver. (qui a dit pour mieux switcher ? comment ca moi ? ok c vrai, c'est comme ca que j'ai fait :cb)
    • [^] # Re: Quelques docs

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

      J'oubliais...

      moi j'ai un peu laché les vservers... mais voici un truc qui pourrait être intéressant :

      [ http://labs.libre-entreprise.org/projects/debian-vserver/(...) ]
      c'est un projet visant à porter les vunify et autres amuseries sous Debian (ils n'existent à ma connaissance que sous RedHat je crois)... je ne le maintiens plus, et il est possible que, vu le temps que j'y ai passé, bcp soit bon à jeté. Mais l'idée est toujours là ;c)

      notez aussi que, pour avoir eu une machine en prod avec un petit nombre de vservers en activité, c bien chiant à maintenir un système dans ce goût là. De plus, sans le vunify, c'est une belle pompe à RAM toute cette histoire !
      • [^] # Re: Quelques docs

        Posté par  . Évalué à 2.

        Juste pour info, pourquoi as-tu abandonner les vservers ? Diffculté de configuration, complexité de la mise en oeuvre, problèmes techniques ? Tu m'en avais dit tellement bien, j'aimerais bien savoir si ça vaut pas peine que je m'y mette :)
        • [^] # Re: Quelques docs

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

          j'aimerais bien savoir si ça vaut pas peine que je m'y mette :)

          Si comme moi, pour developper (ou autre) tu as besoin de plusieurs machines (parce que par exemple tu dev un client/server :))) et qu'installer et faire tourner plusieurs machines physiques, ca t'embête ou tu ne les as pas, vserver peut te rendre de grands services de ce coté. Enfin pour moi, il m'en rend :)
        • [^] # Re: Quelques docs

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

          la remarque de beny est excellente... ensuite si tu manques de machines pour pas pouvoir faire "un (type de) service par machine"... alors là pkoi pas.

          Sinon, franchement, c BCP plus d'emmerdes qu'autre chose (pb de maintenance, le vunify qui n'existe que sous RH et sans koi tu "exploses" ta RAM à coup de 25 glibc, config rezo, routage interne au kernel qui s'y perd sur des routeurs qui offriraient aussi des services ds des vservers, etc...) !! sauf à la limite si tu es un hébergeur, ce que tu n'es pas.
  • # Presque pareil mais différent

    Posté par  . Évalué à 3.

    Les micro-noyaux tu les fous dehors par la porte
    http://www.jaluna.com/(...)

    et ils reviennent par la fenêtre....
  • # Les VServers rendent con

    Posté par  . Évalué à 7.

    Depuis un an, on assiste à une uniformisation des noms d'hotes de machines. Tous les bons vieux noms sont en train de disparaître du top 100 et sont remplacés par des vs* ou bien des sv* ou bien des wk*. Il parait clair aujourd'hui que la mode des VServer n'est pas étrangère à cet inquiétant appauvrissement intellectuel.

    Janvier 2003 :
    http://www.isc.org/ops/ds/reports/2003-01/firstnames.html(...)
    Janvier 2004 :
    http://www.isc.org/index.pl?/ops/ds/reports/2004-01/firstnames.php(...)

    C'était un message du Comité Pour l'Entropie du DNS.
    • [^] # Re: Les VServers rendent con

      Posté par  . Évalué à 1.

      c'est peut etre le resultat d'un soft d'administration centralisé de parc de machine , ou bien des exemples de son manuel d'utilisation.

      ma machine avait un nom puis elle est devenue w6075 depuis qu'on a installé un serveur Win2003.
    • [^] # Re: Les VServers rendent con

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

      \o/ ouééééééééééééé
      Je suis number one avec www
      ouééééé \o/
    • [^] # Re: Les VServers rendent con

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

      Faut dire aussi que nommer 24 serveurs virtuels rien qu'avec le nom des 7 nains, c'est pas facile !
      • [^] # Re: Les VServers rendent con

        Posté par  . Évalué à 3.

        ouais , j'ai ete dans une boite où la regle etait :
        - desktop unix -> nom d'arbre
        - desktop Win -> nom de fruit
        - Mac -> nom de fleur

        resultat l'une des solaris s'est appelée "if" !!!

        c'est malin !
        • [^] # Re: Les VServers rendent con

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

          Chez nous la règle est de nommer les machines avec des noms d'alcool !!
          OK ok !!! je => []

          PS: C'est la stricte vérité ;-)

          Amicalement
          Christophe
          • [^] # Re: Les VServers rendent con

            Posté par  . Évalué à 1.

            à mon iut, même principe, c des noms de vins de la région, on a stjoseph, hermitage, cornas, etc. (et la bouteille correspondante sur la tour)
            • [^] # Re: Les VServers rendent con

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

              Dans une ancienne boite, on donnait aux postes des noms de rues aux alentours de l'entreprise, et de boulevards/avenues pour les serveurs.

              Maintenant, c'est des noms de spot de planche à voile. (en fait une mauvaise idée, parceque l'orthographe de Essaouïera est impossible à retenir)
            • [^] # Re: Les VServers rendent con

              Posté par  . Évalué à 2.

              J'ai fait un stage dans une boite dont le serveur principal s'appelait duvel. Dans ma grande ignorance, j'ai compris l'origine du nom en rentrant dans la salle machine, une canette etait posee sur la tour... La pratique est sympa.
          • [^] # Re: Les VServers rendent con

            Posté par  . Évalué à 1.

            Chez nous on fabrique des crèmes de fruits, et les nom donné aux serveurs sont ceux de nos produits phare : cassis, mure (le firewall :p), framboise, peche, fraise, etc. Ca donne une touche sympa au réseau :)
            • [^] # Re: Les VServers rendent con

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

              moi j'ai deux types principales de machines ici :
              - les sparcs
              - les portables
              - les autres

              Les sparcs sont appelées par des noms de planètes (dans l'ordre d'apparition, je leur donne le mm nom de la planete du systeme solaire) (comment ca "Tres original !!" ? ;c)

              Les portables sont nommés par des noms d'oiseaux (genre bernache, qui est un oiseau migrateur passant l'été au Canada, si je ne m'abuse).

              Les autres sont appelées par des noms de cervidés. Par exemple, j'ai gnou, couillu (alias le caribou, pour les connaisseurs), wapiti, ainsi que, tjs par exemple, dernier arrivé : brocard (un cervidé vivant au nord de l'Ecosse).

              glop :c)
            • [^] # Re: Les VServers rendent con

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

              Chez moi, en bon Belge, on est passé aux noms de bières, exclusivement belges actuellement, mais je doute d'arriver au point de devoir passer aux bières étrangères, même avec des vservers ;)
        • [^] # Re: Les VServers rendent con

          Posté par  . Évalué à 1.

          Dans ma première boite, une start-up, paix à son âme, on baptisait les machines avec des noms de fromages !

          Marbleu, cantal, cabecou, croustade, murol, roquefort et j'en oublie !

          Je crois que certain sont encore en activité.
          Doivent pas sentir bons !!
          • [^] # Re: Les VServers rendent con

            Posté par  . Évalué à 1.

            Ca manque d'originalité, les serveurs je les nomme avec le noms des généraux de Takeda Shingen :

            takeda, kosaka, omari, yamamoto, baba, tsuchiya, obu, morozumi, hara, sanada, obata, okiyama, naito, yamagata, anayama, ichijo, itagaki, yokota, saigusa...

            Et quand j'en aurais plus, je passerais à son éternel rival Uesugi Kenshin.
            • [^] # Re: Les VServers rendent con

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

              ca doit etre partique pour se souvenir et/ou ne pas se planter quand on tape les nom de machine ca !

              perso j'utilise des nom de chanson ou de groupe :
              floyd, bleach, twist, parabola, ...

              appeler une bacane floyd m'a toujours fait marrer allez savoir pourquoi ! ... peut etre une histoire de ping \o/

              ~~> []
              ( en douce )

              ps : pour heberger des sites ( plusieurs dizaines ) vserver ou uml ?
  • # Et systrace pour le côté sécurité ?

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

    Après avoir utiliser UML qui ressemble à Vserver, j'ai arrêté car trop lourd à administrer et j'avais des accès disques souvent et bloquant pour la machine réelle. Je n'ai pas compris pourquoi, je ne sais pas si c'était un petit ou gros problème. De plus le problème est d'avoir le patch à jour par rapport à la version du kernel, ce n'est pas négligeable quand il y a des maj du kernel pour raison de sécurité.

    Donc après UML je me suis tourné vers systrace (cf http://www.citi.umich.edu/u/provos/systrace/(...)) qui parait plus simple, mais le problème semble être un manque de communauté. Ca semble être un très bon outil pour la sécurité qui peut-être avec quelques options en plus pourrait être pratique. Mais il y a trop peu de monde dessus.

    Je viens de voir que grsec est développé par une seule personne (à moins que la doc de PaX ne soit pas à jour).

    Dommage, la sécurité n'interesse pas tant de monde que ça on dirait.
    • [^] # Re: Et systrace pour le côté sécurité ?

      Posté par  . Évalué à 1.

      UML ressemble à vserver.... vmware aussi....

      À ce compte-là, une barbecue à gaz, un four à convection et et un four micro-ondes sont aussi très semblables, ils servent tous à cuire les aliments.

      C'est vrai que la dernière fois que j'ai craqué une alumette au-dessus de mon barbecue 5 minutes après avoir ouvert le gaz, j'ai fait sauter le balcon ! ;-)

      Sans blague, c'est pas parce que tout ça sert à isoler des processus que c'est basé sur le même principe. Les vservers utilisent un seul et même noyau, aucun overhead puisque les binaires ne sont chargés qu'une fois en mémoire.

      Le problème avec les vservers, c'est que c'est trop simple, alors on cherche toujours un comparatif avec des solutions qui ne font pas exactement ce qu'on veut... :-)

      Essayez-le, vous verrez l'intérêt, c'est certain !
  • # Re: Linux VServer, pour ceux qui ne connaissent pas...

    Posté par  . Évalué à 1.

    SUN vient d'annoncer quelque chose de tres similaire pour son solaris 10!

    le detail sur comp.unix.solaris:
    http://groups.google.com/groups?selm=c1j796%2424c%241%40news1nwk.SF(...)

    et le topic sur /.
    http://slashdot.org/articles/04/03/02/135213.shtml(...)

    aurel
  • # Virtualisation de serveurs / concepts

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

    Bon, c'est mon tour:
    Il y a 3 types de solutions:

    - type vmware, à éviter car gourmand, et l'on a d'autres solutions pour Linux. L'avantage c'est que l'on peut avoir plusieurs OS différents.
    http://www.cl.cam.ac.uk/Research/SRG/netos/xen/(...)
    Xen is a virtual machine monitor for x86 that supports execution of multiple guest operating systems with unprecedented levels of performance and resource isolation.

    - type UML
    très bien mais limitée en performances (trop de noyau?)

    - type Vserver
    un peu mieux que UML

    J'ai discuté avec Jacques Gélinas lors des RMLL à Metz, voici ces quelques préconisations. Le Linux 'hote' n'a pas de service; donc pas de problème de sécurité, ce Linux gére les autres Linux 'invitées' et vérifier les intégrités(configuations et binaires) et la sécurité. Pour les performances, il ne fait que des liens symboliques, donc même inode pour les binaires; cela est possible que pour les mêmes distributions.
    On peut mettre plusieurs distributions différentes: tests effectuer par Jacques:
    - Redhat 5.2, 7.0, 8.0. 9.0
    - Redhat 7.0, Mandrake et debian
    - etc.

    Je crois que la meilleur façons de trouver le meilleurs systèmes est de les essayer. Ils ont tous les 3 des concepts différents pour différentes utilisations.

Suivre le flux des commentaires

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