Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédenteProchaine révisionLes deux révisions suivantes | ||
fr:proxmox [2020/04/02 09:50] – [Création de CT/VM] Deed | fr:proxmox [2020/04/26 15:07] – Deed | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
====== Proxmox ====== | ====== Proxmox ====== | ||
- | =====Installation===== | ||
- | Installer Buster en partitionnant, | ||
- | Après vérifier votre fichier hosts : | ||
- | Add an /etc/hosts entry for your IP address | + | <WRAP center round info 60%> |
+ | Proxmox Virtual Environment est une solution de virtualisation libre (licence AGPLv3) basée sur l' | ||
+ | <WRAP rightalign> | ||
+ | </WRAP> | ||
- | 127.0.0.1 | ||
- | Mon.IP | ||
- | | ||
- | # The following lines are desirable for IPv6 capable hosts | ||
- | ::1 | ||
- | ff02::1 ip6-allnodes | ||
- | ff02::2 ip6-allrouters | ||
- | Puis mettre les sources de Proxmox: | + | ===== Présentation ===== |
- | echo "deb http:// | + | |
- | wget http://download.proxmox.com/ | + | Proxmox est une distribution GNU/Linux basée sur Debian et spécialisée dans la virtualisation. Elle dispose donc d' |
- | apt-key add proxmox-ve-release-6.x.gpg | + | |
- | | + | Un des outils fort intéressant proposé par Proxmox est une interface web agréable qui permet aux administratrices débutantes de ne pas se sentir totalement larguées. Les administratrices plus chevronnées apprécieront également cette interface qui présente toutes les principales informations utiles. Bref, avec ça, plus besoin de chercher désespérément sur le wiki la commande dont on a besoin pour administrer Xen (et éviter la crise de panique si c'est Jukni et donc le wiki qui est down). |
+ | |||
+ | {{ : | ||
+ | |||
+ | ===== Installation ===== | ||
+ | |||
+ | Lorsque vous louez un serveur dédié, il est probable que votre hébergeur vous laisse le choix de la distribution. Si Proxmox fait partit de ces choix (par exemple chez Scaleway), cette option est la plus simple. | ||
+ | |||
+ | Si vous faites des tests chez vous, vous devez [[https:// | ||
+ | |||
+ | Si et seulement si aucune de ces méthodes ne fonctionne, vous pouvez [[fr: | ||
+ | |||
+ | |||
+ | ==== Certificat pour dépanner ==== | ||
+ | |||
+ | <WRAP center round important 60%> | ||
+ | Rendez-vous plutôt sur la doc [[fr: | ||
+ | |||
+ | Cela permet quand même d' | ||
+ | </ | ||
+ | |||
+ | | ||
+ | |||
+ | certbot certonly --standalone -d nom_de_domain | ||
+ | |||
+ | cp / | ||
+ | cp / | ||
+ | |||
+ | systemctl restart pveproxy | ||
+ | |||
+ | ===== Configuration, | ||
+ | Une fois la distribution installée, rendons nous directement sur l' | ||
+ | |||
+ | Mettez l' | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Une fois connecté, nous avons une interface en plusieurs parties. | ||
+ | |||
+ | Dans la colonne de gauche, « Datacenter » représente notre cluster et contient donc l' | ||
+ | |||
+ | |||
+ | ===== Réseau ===== | ||
+ | Niveau réseau, Proxmox propose plusieurs choses. | ||
+ | |||
+ | Ici nous ne retiendront que le //bridge//. Il s'agit d'un switch logiciel, ça se comporte tout comme un vrai switch matériel, sauf que c'est adapté à la virtualisation (faut être sacrément balèze pour brancher un câble reliant un switch physique et une machine… virtuelle…). Un bridge se présente sous la forme d'une nouvelle interface réseau, ce qui est plutôt logique. | ||
+ | |||
+ | Proxmox utilise par défaut un bridge et non la véritable interface réseau. Ça donne quelque chose de ce genre : | ||
+ | |||
+ | < | ||
+ | root@test: | ||
+ | 2: enp0s3: < | ||
+ | link/ether 08: | ||
+ | 3: vmbr0: < | ||
+ | link/ether 08: | ||
+ | inet 192.168.1.11/ | ||
+ | | ||
+ | inet6 2a01: | ||
+ | | ||
+ | inet6 fe80:: | ||
+ | | ||
+ | </ | ||
+ | |||
+ | Sur Proxmox, l' | ||
+ | |||
+ | Cette astuce permet de créer des VM et des conteneurs qui viendront eux-aussi se brancher sur ce bridge. Ainsi, sur le réseau physique, ces VM et conteneurs apparaîtront comme des machines physiques. Ça peut être super pratique dans certaines configurations. | ||
+ | |||
+ | Sauf que pour Khaganat, le réseau physique c'est l' | ||
+ | |||
+ | Dans l' | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Notez que la modification des interfaces réseaux nécessite un redémarrage de la machine afin que ce soit pris en compte. | ||
+ | |||
+ | À ce stade, les conteneurs qui seront créés seront sur le réseau interne et ne peuvent donc pas recevoir de connexion de l' | ||
+ | |||
+ | ==== Redirection des IP (IP forwarding) ==== | ||
+ | |||
+ | < | ||
+ | sysctl net.ipv4.ip_forward=1 | ||
+ | echo ' | ||
+ | </ | ||
+ | |||
+ | ==== Configuration de iptable ==== | ||
+ | === Pour un test === | ||
+ | Vous pouvez utiliser ce script. Il ne permet pas de conserver la configuration d' | ||
+ | |||
+ | < | ||
+ | # | ||
+ | |||
+ | IPTBL=/ | ||
+ | |||
+ | IF_IN=vmbr0 | ||
+ | PORT_IN=2222 | ||
+ | |||
+ | IP_OUT=10.0.0.42 | ||
+ | PORT_OUT=22 | ||
+ | |||
+ | echo " | ||
+ | $IPTBL -A PREROUTING -t nat -i $IF_IN -p tcp --dport $PORT_IN -j DNAT --to-destination ${IP_OUT}: | ||
+ | $IPTBL -A FORWARD -p tcp -d $IP_OUT --dport $PORT_OUT -j ACCEPT | ||
+ | $IPTBL -A POSTROUTING -t nat -j MASQUERADE | ||
+ | </ | ||
+ | |||
+ | Il redirige les connexions TCP entrantes sur le port 2222 vers le port 22 du conteneur dont l' | ||
+ | |||
+ | === En prod === | ||
+ | Si ce n'est pas encore fait, installons le paquet iptables-persistent : | ||
+ | |||
+ | < | ||
+ | |||
+ | |||
+ | Désormais, nous écrirons nos règles iptables dans le fichier ''/ | ||
+ | |||
+ | <WRAP center round todo 60%> | ||
+ | Todo : quelles commandes ? reprendre tuto de xen, c'est la même logique. | ||
+ | </ | ||
+ | |||
+ | Une fois que tout est bon, on sauvegarde : | ||
+ | |||
+ | < | ||
+ | iptables-save >/ | ||
+ | ip6tables-save >/ | ||
+ | </ | ||
+ | |||
+ | |||
+ | ==== Internet depuis les VM/ | ||
+ | Les VM/ | ||
+ | |||
+ | Dans la configuration réseau des VM/ | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Pensez à redémarrer les VM/ | ||
+ | |||
+ | Ceci fait, il ne reste plus qu'à configurer notre hôte Proxmox pour que ce dernier accepte de rediriger le trafic qu'il reçoit sur vmbr1 (le bridge des VM/ | ||
+ | |||
+ | < | ||
+ | iptables -A FORWARD -m conntrack --ctstate RELATED, | ||
+ | iptables -A FORWARD -i vmbr1 -o vmbr0 -j ACCEPT</ | ||
+ | |||
+ | Pensez à sauvegarder ces règles iptables aussi : | ||
+ | < | ||
+ | iptables-save >/ | ||
+ | ip6tables-save >/ | ||
+ | </ | ||
+ | |||
+ | ===== Ajouter un conteneur ===== | ||
+ | <WRAP center round todo 60%> | ||
+ | Préciser la nuance entre container/ | ||
+ | |||
+ | Merlin8282 : | ||
+ | Une VM c'est comme une machine physique : tout est émulé. Un container, ça se rapproche beaucoup plus d'un chroot : tu utilises notamment le noyau du système hôte. Dans une VM tu peux installer windows (ou HaikuOS, ou ReactOS, ou un BSD, ou...) alors que dans un container tu ne peux installer qu'un linux. | ||
+ | |||
+ | </ | ||
+ | |||
+ | ==== Le pool, les utilisatrices et leurs droits ==== | ||
+ | |||
+ | Avant de pouvoir créer un nouveau conteneur, nous avons quelques opérations à effectuer. La première est, au niveau du cluster (donc en sélectionnant « Datacenter » si vous avez bien suivi !), de créer un nouveau « pool » de permissions. Dans notre cas il suffit juste d'en ajouter un sans se poser de questions. | ||
+ | |||
+ | '' | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | On va profiter pour créer de quoi gérer nos utilisatrices. Ce n'est pas utile quand il n'y a qu'une seule personne qui a le droit d' | ||
+ | |||
+ | '' | ||
+ | |||
+ | Ensuite on créé au moins une utilisatrice (en plus de notre " | ||
+ | |||
+ | '' | ||
+ | |||
+ | Puis on va ensuite sur la gestion du pooln dans la partie '' | ||
+ | |||
+ | <WRAP center round todo 60%> | ||
+ | Ces manips sont du test, mais je le note au fur et à mesure quand même. Ça doit pouvoir s' | ||
+ | |||
+ | Voir aussi https:// | ||
+ | </ | ||
+ | |||
+ | ==== Stockage local ==== | ||
+ | |||
+ | Ensuite, au niveau du stockage local de notre hôte, il nous faut télécharger au moins un « template ». Ce que Proxmox appelle ainsi sont en réalité les images de base des conteneurs. À cause de leurs spécificités, | ||
+ | |||
+ | |||
+ | {{ : | ||
+ | |||
+ | Une fois les images que nous souhaitons téléchargées ou téléversées (puisqu' | ||
+ | {{ : | ||
+ | |||
+ | |||
+ | <WRAP center round info 90%> | ||
+ | En résumé : Nœud > Stockage > Contenu > Template pour les CT ou Upload pour les VM. | ||
+ | </ | ||
+ | |||
+ | <WRAP center round info 90%> | ||
+ | Si vous voulez plus de détail sur la création de containers : | ||
+ | * 1er onglet " | ||
+ | * Le nom d' | ||
+ | * Choisissez le pool de ressource créé précédemment. | ||
+ | * Choisissez votre clé ssh (la partie publique évidement) plutôt qu'un mot de passe pour bénéficier d'une connexion ssh fonctionnelle après le démarrage du container. | ||
+ | * 2e onglet " | ||
+ | * Stockage : local | ||
+ | * Modèle : choisissez le template précédemment choisi, par exemple " | ||
+ | * 3e onglet " | ||
+ | * Stockage : local | ||
+ | * Taille du disque : choisissez assez grand pour vos besoins. | ||
+ | * 4e onglet " | ||
+ | * Combien de cœurs votre VM peut utiliser ? | ||
+ | * 5e Onglet " | ||
+ | * Combien de ram et de swap ? | ||
+ | * 6e onglet " | ||
+ | * Tout laisser par défaut, en dehors | ||
+ | * du pont (choisir vmbr1) et | ||
+ | * de l' | ||
+ | * de la passerelle : indiquez l'ip donné à l' | ||
+ | * 7e onglet : DNS, laissez par défaut à moins de savoir ce que vous faites | ||
+ | * 8e onglet : confirmation. Relisez les informations, | ||
+ | </ | ||
+ | |||
+ | |||
+ | Une fois le conteneur créé, nous pouvons aller le démarrer et en profiter pour regarder ses options. Par exemple, il est utile d' | ||
+ | |||
+ | |||
+ | |||
+ | {{ : | ||
+ | |||
+ | Si nous créons ainsi plusieurs conteneurs, nous pouvons y ouvrir une console et vérifier leur configuration réseau. L' | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Pour l' | ||
+ | iptables -t nat -I PREROUTING -p tcp --destination-port 3512 -j DNAT --to 10.0.0.12: | ||
+ | |||
+ | <WRAP center round todo 60%> | ||
+ | Pour se co en ssh (avec root d' | ||
+ | Chez moi, ouvrir avec la console " | ||
+ | |||
+ | Voir aussi la commande '' | ||
+ | </ | ||
+ | |||
+ | ===== Snapshots et sauvegardes ===== | ||
+ | <WRAP center round todo 60%> | ||
+ | Oui, il y a des snaptshots. Et même mieux encore : plusieurs types de snapshots différents. Et un système de sauvegardes régulières automatiques. | ||
+ | |||
+ | De plus, les sauvegardes étant stockées sur un « stockage » au sens Proxmox du terme, il est possible de profiter nativement de tous les backends supportés (et compatibles, | ||
+ | |||
+ | Liens : | ||
+ | * https:// | ||
+ | * https:// | ||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | ===== Dépannage en chroot de Proxmox en LVM ===== | ||
+ | Si vous avez tout cassé, redémarrez votre serveur via l' | ||
+ | |||
+ | Rescue ubuntu de online.net | ||
+ | |||
+ | < | ||
+ | sudo mount / | ||
+ | sudo chroot /mnt/ | ||
+ | nano / | ||
+ | exit | ||
+ | sudo umount /mnt/ | ||
+ | exit</ | ||
+ | |||
+ | ===== Liens utiles et crédits ===== | ||
+ | > Ce tuto a été écrit grâce à de la doc préalablement faite par Tycho et Deed, que j'ai mis en forme. | ||
+ | > --- // | ||
+ | |||
+ | |||
+ | ===== Installation alternative depuis Debian ===== | ||
+ | |||
+ | Une méthode alternative d’installation de Proxmox est de transformer une installation Debian Buster en Proxmox. | ||
+ | |||
+ | <WRAP center round tip 90%> | ||
+ | Ce chapitre n'est utile **QUE** si : | ||
+ | * vous êtes chez un hébergeur qui ne propose pas Proxmox dans son choix de distribution | ||
+ | * ET que vous ne pouvez pas installer via une iso | ||
+ | * ET que vous avez de mettre Debian Buster sur votre machine | ||
+ | </ | ||
+ | |||
+ | |||
+ | Mais si jamais vous souhaitez l' | ||
+ | |||
+ | |||
+ | Installez Buster en partitionnant, | ||
+ | |||
+ | Puis vérifiez votre fichier ''/ | ||
+ | |||
+ | < | ||
+ | |||
+ | 127.0.0.1 | ||
+ | Mon.IP | ||
| | ||
- | | + | # The following lines are desirable for IPv6 capable hosts |
+ | ::1 | ||
+ | ff02::1 ip6-allnodes | ||
+ | ff02::2 ip6-allrouters</ | ||
+ | |||
+ | Puis mettre les sources de Proxmox: | ||
+ | < | ||
+ | echo "deb http:// | ||
+ | wget http:// | ||
+ | apt-key add proxmox-ve-release-6.x.gpg | ||
+ | apt update && apt full-upgrade | ||
+ | apt install proxmox-ve postfix open-iscsi | ||
+ | </ | ||
Il faut commenter la version entreprise : | Il faut commenter la version entreprise : | ||
Ligne 35: | Ligne 334: | ||
auto vmbr0 | auto vmbr0 | ||
iface vmbr0 inet static | iface vmbr0 inet static | ||
- | address | + | address |
- | netmask | + | |
gateway | gateway | ||
bridge-ports eno1 | bridge-ports eno1 | ||
Ligne 44: | Ligne 342: | ||
auto vmbr1 | auto vmbr1 | ||
iface vmbr1 inet static | iface vmbr1 inet static | ||
- | address | + | address |
- | netmask | + | |
bridge-ports none | bridge-ports none | ||
bridge-stp off | bridge-stp off | ||
Ligne 80: | Ligne 377: | ||
iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 443 -j DNAT --to-destination 10.0.0.10: | iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 443 -j DNAT --to-destination 10.0.0.10: | ||
| | ||
- | + | ===== spoil ===== | |
- | Choix du format : | + | Choix du format: |
Rollniak a choisi ZFS | Rollniak a choisi ZFS | ||
zpool create nom_de_la_partition /dev/sda* | zpool create nom_de_la_partition /dev/sda* | ||
- | ===== Gestion de Proxmox ===== | + | Pour créer une template: |
- | Allez à votre interface web : | + | |
- | | + | |
- | + | ||
- | "Ajout de screen" | + | |
- | ===== Création de CT/VM ===== | + | |
- | + | ||
- | Allez dans le Noeud puis choisissez un Stockage puis un contenu puis Template pour les CT ou Upload pour les VM.\\ | + | |
- | + | ||
- | "Ajout de screen" | + | |
- | =====chroot proxmox===== | + | |
- | Rescue ubuntu de online.net | + | |
- | + | ||
- | sudo lvm lvchange | + | |
- | sudo mount /dev/system-uferv/root /mnt/ | + | |
- | sudo chroot /mnt/ | + | |
- | nano / | + | |
- | exit | + | |
- | sudo umount /mnt/ | + | |
- | exit | + | |
| | ||
{{tag> | {{tag> |