WikiMiNET

La documentation technique et administrative

Outils pour utilisateurs

Outils du site


wiki:cluster:creation_vm:lxc

Ceci est une ancienne révision du document !


Créer un container LCX

Création de la machine

La création d'une LXC s'effectue directement dans Proxmox. Aller dans Créer CT en haut à droite de l'interface Web.

  • Choisir le noeud (la machine physique), en faisant attention de ne pas choisir une machine trop chargée (les ressource actuellement occupées s'affichent dans la liste). Laissez l'ID par défaut, et choisissez le nom de votre machine dans Hostname. Laissez le stockage sur charybde ou scylla (sauf dans certains cas particulier, pour garder accès à la machine en cas de problème avec les NAS, comme pour vpn1, ou pour des raison de performance, comme pour les bases de données). Chosissez le Ressource Pool (minet si c'est un CT pour MiNET, perso si c'est seulement pour vous). Choisissez le mot de passe root (pas nécessaire que ce soit le mot de passe normalisé, les OpenVZ sont de toutes façons accessibles depuis l'hôte).
  • Dans l'écran suivant, prenez le dernier template minetbase dans le Storage scylla. La machine virtuelle sera ainsi préconfigurée pour MiNET !
  • Allouez des ressources à la machine, sachant qui est possible de les modifier (à chaud) par la suite. Stockez le disque dur sur scylla.
  • Dans l'écran suivant, Network
    • Choisissez une IP_PRIVEE libre dans ip_dev et tentez de la pinger, on ne sait jamais, le wiki est parfois mal renseigné…
    • Dans IPV4/CIDR : VOTRE_IP/24
    • Gateway : 192.168.103.1
  • Pour le réseau, vous avez plusieurs choix de vmbr (VM bridge) :
    • vmbr0: pour avoir une interface dans le vlan 102 dans le cas d'un CT sur la prod, et 103 dans le cas d'un CT sur la dev (Vlans d'admin: il n'y a pas d'accès direct à internet. Il faut passer par le VPN pour accéder à la VM). IP statique
    • vmbr2: accès au Vlan 2 pour avoir une IP publique sur la prod. Accès direct à internet. IP statique
    • vmbr3: accès au Vlan 3 pour avoir une IP publique sur la dev. Accès direct à internet. IP statique
    • vmbr999: accès au Vlan 999 pour avoir accès au serveur PXE. Utilisation du DHCP avec du NAT.
  • Dans l'onglet DNS, mettez minet.net comme domaine, et les ip des serveurs DNS (192.168.10x.55 et 192.168.10x.54, 102 en prod, 103 en dev).
  • Vérifiez les paramètres dans le fenêtre de confirmation, puis cliquez sur Terminé, le container est créé est c'est… terminé !

Accéder à la machine

Vous pouvez tenter le bouton Console sur votre machine (il faut être dans le vpn, avec un Java 6 d'Oracle, et avoir de la chance…) Le plus sûr est de passer par la machine hôte : se connecter à l'hôte, et, en root :

pct list
pct enter ID-DE-VOTRE-MACHINE

La conf réseau se trouve dans /etc/network/interfaces et ressemble à quelque chose comme ça :

auto lo
iface lo inet loopback
 
auto eth0
iface eth0 inet static
        address 192.168.103.X
        netmask 255.255.255.0
        gateway 192.168.103.1

Le ssh root est désactivé par défaut sur debian. Il faut créer un autre utilisateur pour ssh, n'oubliez pas de lui donner les accès root.

L'INTERNET

Normalement, la CT n'a qu'une IP privée et comme ce n'est pas du NAT, elle ne devrait pas avoir internet. Si vous n'avez pas utilisé un template minetbase, c'est le cas.

Pour aller chercher des paquets sur internet depuis la CT, on utilise le proxy avec les variables d'environnement http_proxy et https_proxy :

« Linux and UNIX-like systems has environment variable called http_proxy. It allows you to connect text based session and/or applications via the proxy server. All you need is proxy server IP address (URL) and port values.. The http_proxy variable tells the system what proxy server it should used to fetch URLs on the command line. This allows you to manually download a file via http, https and ftp and also allows most other command line programs to get files from the internet (for example the apt-get command to update you Linux system).»

Ces varialbles sont définies dans /etc/profile.d/http_proxy.sh sur les templates minetbase, cf dans template

export http_proxy="http://192.168.103.61:82"
export https_proxy="http://192.168.103.61:82"

Les variables sont export pour être vues dans tous les environnements créés dans l'environnement de la création de ces variables. Intéressez vous à la portée des variables sur Linux si cette phrase n'est pas clair :).

L'objectif de ce fichier et plus généralement de tout les fichiers contenus dans /etc/profile.d/ est de contenir les commande qui seront executés lorsque vous vous loggez et ouvrez un shell (par ssh par exemple). Comme “pct enter ID-CT” n'est pas un login shell, ce fichier est “source” dans /etc/bash.bashrc

# export les varirables d'environnement pour le proxy minet
source /etc/profile.d/http_proxy.sh

source interprète chaque ligne du fichier comme une commande à exécuter.

Vous pouvez passer à la suite !

Divers

Ajouter d'autres interfaces réseau

Tout se fait dans l'interface Proxmox, dans l'onglet Network, choisir Ajouter…Network device (veth). Donnez-lui un nom cohérent, en général eth{NUMDUVLAN}, choisissez le vmbr correspondant dans la liste Bridge, choisissez une IP publique disponible A LA FOIS dans ip_dev et ip_production et tentez de la pinger et Ajouter.

Vous avez maintenant une configuration internet qui marche, il faut à présent la sécuriser en interdisant la connection ssh sur cette nouvelle interface. Modifier le fichier /etc/ssh/sshd_config en ajoutant la ligne:

ListenAddress ADRESSE_PRIVEE

où ADRESSE_PRIVEE est l'adresse ip privée de votre VM c'est-à-dire l'ip en 192.168.x.x et choisissez un mot de passe fort !

En IPv6

Toujours dans /etc/network/interfaces :

iface eth2 inet6 static
        address 2001:660:3203:422::a151
        netmask 64
        gateway 2001:660:3203:422::1

Et pour finir

N'oublier de lire le tutoriel post installation (guide de bonnes pratiques).

wiki/cluster/creation_vm/lxc.1526675077.txt.gz · Dernière modification: 2020/06/27 18:15 (modification externe)