Ceci est une ancienne révision du document !
Pour repérer le nom de la carte réseau:
#ip add
Activer la NIC:
#ip link set eno1 up
Redémarrer le service réseau:
#systemctl restart networking.service
Objectif du tutoriel
Monter dans un conteneur LXC un dossier du serveur hôte proxmox. Par exemple sur le serveur hôte, nous avons un dossier /home/partage/lxc que nous voulons rendre disponible dans le conteneur 100 avec pour point de montage /home/lxc.
Prérequis
Un serveur Proxmox 4 Un conteneur LXC
Informations nécessaires
Afin de mettre en place la configuration voici les informations que nous utiliserons : Conteneur LXC ID : 100 Chemin du dossier sur le serveur hôte : /home/partage/lxc Point de montage du dossier dans le conteneur LXC : /home/monpartage Mise en place de la configuration
#Ouvrez le fichier /etc/pve/lxc/100.conf avec un éditeur de texte.
Ajoutez y à la fin le contenu suivant :
#mp0: /home/partage/lxc,mp=/home/monpartage
Redémarrez votre conteneur.
Vérification
Afin de savoir si le partage est correctement monté connectez vous à la console du conteneur :
#pct enter 100
Puis entrez la commande :
#mount | egrep 'monpartage'
Vous devrez obtenir quelle que chose comme cela :
#/dev/dm-0 on /home/monpartage type ext4 (rw,relatime,errors=remount-ro,data=ordered)
Voilà votre dossier est bien partagé entre l’hôte est le conteneur. Vous pouvez ajouter d’autre partage sur le même conteneur en ajoutant de nouvelles lignes dans le fichier /etc/pve/lxc/100.conf et en incrémentant le numéro de mp0 par exemple :
#mp1: /home/partage2,mp=/home/secondpartage #mp1: /pool_ssd/img,mp=/home/partage_ssd
bash <(curl -s https://raw.githubusercontent.com/Weilbyte/PVEDiscordDark/master/PVEDiscordDark.sh ) install
curl http://git.patrikdufresne.com/pdsl/zfs-format-disk/raw/master/zfs-format-disk > /usr/local/sbin/zfs-format-disk chmod +x /usr/local/sbin/zfs-format-disk
Voici l'explication “courte”. Continuez à lire pour obtenir plus de détails.
sudo zpool status sudo ledctl locate=/dev/sdf sudo zfs-format-disk /dev/sdf sudo zpool replace rpool sdf2
Tout d’abord, vous devriez vérifier l’état du pool:
sudo zpool status
Il doit être dégradé et l’un des disques doit être hors ligne ou indisponible, en fonction de la panne. Si le disque est hors ligne, vous devez vérifier la raison. dmesg devrait fournir plus de détails. Cela est généralement lié à une erreur SATA. Si le problème ne se reproduit pas, il est assez sûr de réutiliser le même disque et de le remettre en ligne:
zpool online rpool sdf2
Une fois que vous avez identifié le disque, vous devez également identifier le disque physique pour le retirer et insérer le nouveau. Si vous avez un serveur avec un backplane, vous pouvez utiliser ledctl pour allumer un voyant afin de le localiser.
sudo ledctl locate=/dev/sdf
Une fois le nouveau disque en place, vous êtes prêt à le formater en utilisant zfs-format-disk pour créer la partition et y installer grub.
sudo zfs-format-disk /dev/sdf sudo zpool replace rpool sdf2
Vous devrez peut-être forcer le remplacement du disque avec -f s'il a déjà été utilisé dans un pool différent.
Lorsque vous effectuez l’installation à l’aide du programme d’installation de Proxmox VE, vous pouvez choisir ZFS pour le système de fichiers racine. Vous devez sélectionner le type de RAID au moment de l’installation :
RAID0 Aussi appelé « striping ». La capacité d’un tel volume est la somme des capacités de tous les disques. Mais RAID0 n’ajoute aucune redondance, de sorte que la défaillance d’un seul lecteur rend le volume inutilisable.
RAID1 Aussi appelé « mise en miroir ». Les données sont écrites de manière identique à tous les disques. Ce mode nécessite au moins 2 disques de même taille. La capacité résultante est celle d’un seul disque.
RAID10 Une combinaison de RAID0 et RAID1. Nécessite au moins 4 disques.
RAIDZ-1 Une variante de RAID-5, parité unique. Nécessite au moins 3 disques.
RAIDZ-2 Une variante du RAID-5, double parité. Nécessite au moins 4 disques.
RAIDZ-3 Une variante du RAID-5, triple parité. Nécessite au moins 5 disques.
The installer automatically partitions the disks, creates a ZFS pool called rpool, and installs the root file system on the ZFS subvolume rpool/ROOT/pve-1. Un autre sous-volume appelé rpool/data est créé pour stocker les images de machine virtuelle. Pour l’utiliser avec les outils Proxmox VE, le programme d’installation crée l’entrée de configuration suivante dans /etc/pve/storage.cfg: zfspool: local-zfs
pool rpool/data
sparse
content images,rootdir
Après l’installation, vous pouvez afficher l’état de votre pool ZFS à l’aide de la commande zpool :
#zpool status
pool: rpool state: ONLINE scan: none requested config: NAME STATE READ WRITE CKSUM rpool ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 sda2 ONLINE 0 0 0 sdb2 ONLINE 0 0 0 mirror-1 ONLINE 0 0 0 sdc ONLINE 0 0 0 sdd ONLINE 0 0 0 errors: No known data errors
La commande zfs permet de configurer et de gérer vos systèmes de fichiers ZFS. La commande suivante répertorie tous les systèmes de fichiers après l’installation :
#zfs list
| NAME | USED | AVAIL | REFER | MOUNTPOINT |
| rpool | 4.94G | 7.68T | 96K | /rpool |
| rpool/ROOT | 702M | 7.68T | 96K | /rpool/ROOT |
| rpool/ROOT/pve-1 | 702M | 7.68T | 702M | / |
| rpool/data | 96K | 7.68T | 96K | /rpool/data |
| rpool/swap | 4.25G | 7.69T | 64K | - |
Cette section vous donne quelques exemples d’utilisation pour les tâches courantes. ZFS lui-même est vraiment puissant et offre de nombreuses options. Les principales commandes pour gérer ZFS sont zfs et zpool. Les deux commandes sont livrées avec d’excellentes pages de manuel, qui peuvent être lues avec:
#man zpool #man zfs
Pour créer un pool, au moins un disque est nécessaire. L’ashift doit avoir la même taille de secteur (2 puissance d’ashift) ou plus que le disque sous-jacent.
#zpool create -f -o ashift=12 <pool> <device>
To activate compression (see section Compression in ZFS):
#zfs set compression=lz4 <pool>
Create a new pool with RAID-0 Minimum 1 disk
#zpool create -f -o ashift=12 <pool> <device1> <device2>
Create a new pool with RAID-1 Minimum 2 disks
#zpool create -f -o ashift=12 <pool> mirror <device1> <device2>
Create a new pool with RAID-10 Minimum 4 disks
#zpool create -f -o ashift=12 <pool> mirror <device1> <device2> mirror <device3> <device4>
Create a new pool with RAIDZ-1 Minimum 3 disks
#zpool create -f -o ashift=12 <pool> raidz1 <device1> <device2> <device3>
Create a new pool with RAIDZ-2 Minimum 4 disks
#zpool create -f -o ashift=12 <pool> raidz2 <device1> <device2> <device3> <device4>
Create a new pool with cache (L2ARC) Il est possible d’utiliser une partition de lecteur de cache dédiée pour augmenter les performances (utilisez SSD). En tant que <appareil> il est possible d’utiliser plus de périphériques, comme indiqué dans « Créer un nouveau pool avec RAID * ».
#zpool create -f -o ashift=12 <pool> <device> cache <cache_device>
Create a new pool with log (ZIL) Il est possible d’utiliser une partition de lecteur de cache dédiée pour augmenter les performances (SSD). En tant que <appareil> il est possible d’utiliser plus de périphériques, comme indiqué dans « Créer un nouveau pool avec RAID * ».
#zpool create -f -o ashift=12 <pool> <device> log <log_device>
Si vous avez un pool sans cache ni journal. Première partition du SSD en 2 partitions avec parted ou gdisk Utilisez toujours des tables de partition GPT. La taille maximale d’un périphérique de journal doit être d’environ la moitié de la taille de la mémoire physique, elle est donc généralement assez petite. Le reste du SSD peut être utilisé comme cache.
#zpool add -f <pool> log <device-part1> cache <device-part2>
Changing a failed device
#zpool replace -f <pool> <old device> <new device>
Selon la façon dont Proxmox VE a été installé, il utilise systemd-boot ou grub via proxmox-boot-tool [1] ou plain grub comme chargeur de démarrage (voir Host Bootloader). Vous pouvez vérifier en exécutant :
#proxmox-boot-tool status
Les premières étapes de la copie de la table de partition, de la réédition des GUID et du remplacement de la partition ZFS sont les mêmes. Pour rendre le système amorçable à partir du nouveau disque, différentes étapes sont nécessaires qui dépendent du chargeur de démarrage utilisé.
#sgdisk <healthy bootable device> -R <new device> #sgdisk -G <new device> #zpool replace -f <pool> <old zfs partition> <new zfs partition>
Utilisez la commande zpool status -v pour surveiller la progression du processus de réargenture du nouveau disque.
With proxmox-boot-tool:
#proxmox-boot-tool format <new disk's ESP> #proxmox-boot-tool init <new disk's ESP>
ESP signifie EFI System Partition, qui est configuré en tant que partition n ° 2 sur les disques amorçables configurés par le programme d’installation de Proxmox VE depuis la version 5.4. Pour plus d’informations, voir Configuration d’une nouvelle partition à utiliser en tant qu’ESP synchronisé.
With plain grub:
#grub-install <new disk>
plain grub n’est utilisé que sur les systèmes installés avec Proxmox VE 6.3 ou version antérieure, qui n’ont pas encore été migrés manuellement vers l’utilisation de proxmox-boot-tool.
ZFS est livré avec un démon d’événements ZED, qui surveille les événements générés par le module noyau ZFS. Le démon peut également envoyer des e-mails sur des événements ZFS tels que des erreurs de pool. Les packages ZFS plus récents sont livrés avec le démon dans un package zfs-zed distinct , qui doit déjà être installé par défaut dans Proxmox VE. Vous pouvez configurer le démon via le fichier /etc/zfs/zed.d/zed.rc avec votre éditeur préféré. Le paramètre requis pour la notification par e-mail est ZED_EMAIL_ADDR, qui est défini sur root par défaut.
ZED_EMAIL_ADDR="root"
Veuillez noter que Proxmox VE transfère les e-mails à root à l’adresse e-mail configurée pour l’utilisateur root. Limiter l’utilisation de la mémoire ZFS
ZFS utilise 50 % de la mémoire hôte pour l’ache C (ARC) A daptive Replacement (ARC). L’allocation de suffisamment de mémoire pour l’ARC est cruciale pour les performances d’E/S, alors réduisez-la avec prudence. En règle générale, allouez au moins 2 Gio de base + 1 Gio/TiB-Stockage. Par exemple, si vous avez un pool avec 8 Tio d’espace de stockage disponible, vous devez utiliser 10 Gio de mémoire pour l’ARC. Vous pouvez modifier la limite d’utilisation de l’ARC pour le démarrage en cours (un redémarrage réinitialise à nouveau cette modification) en écrivant directement dans le paramètre de module zfs_arc_max :
echo "$[10 * 1024*1024*1024]" >/sys/module/zfs/parameters/zfs_arc_max
To permanently change the ARC limits, add the following line to /etc/modprobe.d/zfs.conf:
options zfs zfs_arc_max=8589934592
This example setting limits the usage to 8 GiB (8 * 230).
In case your desired zfs_arc_max value is lower than or equal to zfs_arc_min (which defaults to 1/32 of the system memory), zfs_arc_max will be ignored unless you also set zfs_arc_min to at most zfs_arc_max - 1.
echo "$[8 * 1024*1024*1024 - 1]" >/sys/module/zfs/parameters/zfs_arc_min echo "$[8 * 1024*1024*1024]" >/sys/module/zfs/parameters/zfs_arc_max
Cet exemple de paramètre limite (temporairement) l’utilisation à 8 Gio (8 * 230) sur les systèmes avec plus de 256 Gio de mémoire totale, où le simple fait de définir zfs_arc_max seul ne fonctionnerait pas.
If your root file system is ZFS, you must update your initramfs every time this value changes:
#update-initramfs -u
must reboot to activate these changes.
L’espace d’échange créé sur un zvol peut générer des problèmes, tels que le blocage du serveur ou la génération d’une charge d’E/S élevée, souvent observée lors du démarrage d’une sauvegarde sur un stockage externe. Nous vous recommandons fortement d’utiliser suffisamment de mémoire, afin de ne pas rencontrer de situations de mémoire insuffisante. Si vous avez besoin ou souhaitez ajouter un swap, il est préférable de créer une partition sur un disque physique et de l’utiliser comme périphérique d’échange. Vous pouvez laisser de l’espace libre à cet effet dans les options avancées de l’installateur. En outre, vous pouvez réduire la valeur « swappiness ». Une bonne valeur pour les serveurs est de 10:
#sysctl -w vm.swappiness=10
Pour rendre l’échange persistant, ouvrez /etc/sysctl.conf avec un éditeur de votre choix et ajoutez la ligne suivante :
vm.swappiness = 10 Table 1. Linux kernel swappiness parameter values Value Strategy vm.swappiness = 0 The kernel will swap only to avoid an out of memory condition vm.swappiness = 1 Minimum amount of swapping without disabling it entirely. vm.swappiness = 10 This value is sometimes recommended to improve performance when sufficient memory exists in a system. vm.swappiness = 60 The default value. vm.swappiness = 100 The kernel will swap aggressively. Encrypted ZFS Datasets
ZFS sur Linux version 0.8.0 a introduit la prise en charge du chiffrement natif des jeux de données. Après une mise à niveau par rapport aux versions précédentes de ZFS sur Linux, la fonctionnalité de chiffrement peut être activée par pool :
#zpool get feature@encryption tank
NAME PROPERTY VALUE SOURCE tank feature@encryption disabled local
#zpool set feature@encryption=enabled
#zpool get feature@encryption tank
NAME PROPERTY VALUE SOURCE tank feature@encryption enabled local
Il n’existe actuellement aucune prise en charge du démarrage à partir de pools avec des jeux de données chiffrés à l’aide de Grub, et seule une prise en charge limitée du déverrouillage automatique des jeux de données chiffrés au démarrage. Les anciennes versions de ZFS sans prise en charge du chiffrement ne pourront pas déchiffrer les données stockées.
Il est recommandé de déverrouiller manuellement les jeux de données de stockage après le démarrage ou d’écrire une unité personnalisée pour transmettre le matériel de clé nécessaire au déverrouillage au démarrage à zfs load-key.
Établissez et testez une procédure de sauvegarde avant d’activer le chiffrement des données de production. Si le matériel de clé/phrase secrète/fichier de clé associé a été perdu, l’accès aux données chiffrées n’est plus possible.
Le chiffrement doit être configuré lors de la création de jeux de données/zvols et est hérité par défaut des jeux de données enfants. Par exemple, pour créer un fichier tank/encrypted_data de jeu de données chiffré et le configurer en tant que stockage dans Proxmox VE, exécutez les commandes suivantes :
#zfs create -o encryption=on -o keyformat=passphrase tank/encrypted_data Enter passphrase: Re-enter passphrase: #pvesm add zfspool encrypted_zfs -pool tank/encrypted_data
Tous les volumes/disques invités créés sur ce stockage seront chiffrés avec le matériel de clé partagée du jeu de données parent. Pour utiliser réellement le stockage, le matériel de clé associé doit être chargé et le jeu de données doit être monté. Cela peut être fait en une seule étape avec:
#zfs mount -l tank/encrypted_data Enter passphrase for 'tank/encrypted_data':
Il est également possible d’utiliser un fichier de clés (aléatoire) au lieu d’inviter une phrase secrète en définissant les propriétés keylocation et keyformat, soit au moment de la création, soit avec zfs change-key sur les jeux de données existants :
#dd if=/dev/urandom of=/path/to/keyfile bs=32 count=1 #zfs change-key -o keyformat=raw -o keylocation=file:///path/to/keyfile tank/encrypted_data
Lors de l’utilisation d’un fichier clé, des précautions particulières doivent être prises pour sécuriser le fichier clé contre tout accès non autorisé ou perte accidentelle. Sans le fichier clé, il n’est pas possible d’accéder aux données en texte brut ! Un volume invité créé sous un jeu de données chiffré aura sa propriété encryptionroot définie en conséquence. Le matériel de clé n’a besoin d’être chargé qu’une seule fois par encryptionroot pour être disponible pour tous les jeux de données chiffrés en dessous.
Consultez les propriétés encryptionroot, encryption, keylocation, keyformat et keystatus, les commandes zfs load-key, zfs unload-key et zfs change-key et la section Encryption de man zfs pour plus de détails et une utilisation avancée.
Lorsque la compression est activée sur un jeu de données, ZFS tente de compresser tous les nouveaux blocs avant de les écrire et les décompresse lors de la lecture. Les données déjà existantes ne seront pas compressées rétroactivement.
Vous pouvez activer la compression avec :
#zfs set compression=<algorithm> <dataset>
Nous vous recommandons d’utiliser l’algorithme lz4, car il ajoute très peu de surcharge CPU. D’autres algorithmes comme lzjb et gzip-N, où N est un entier compris entre 1 (le plus rapide) et 9 (meilleur taux de compression), sont également disponibles. Selon l’algorithme et la compressibilité des données, l’activation de la compression peut même augmenter les performances d’E/S.
Vous pouvez désactiver la compression à tout moment avec :
#zfs set compression=off <dataset>
Again, only new blocks will be affected by this change.
ZFS Special Device
Depuis la version 0.8.0, ZFS prend en charge des périphériques spéciaux. Un périphérique spécial dans un pool est utilisé pour stocker des métadonnées, des tables de déduplication et éventuellement de petits blocs de fichiers. Un périphérique spécial peut améliorer la vitesse d’un pool composé de disques durs à rotation lente avec de nombreuses modifications de métadonnées. Par exemple, les charges de travail qui impliquent la création, la mise à jour ou la suppression d’un grand nombre de fichiers bénéficieront de la présence d’un périphérique spécial. Les jeux de données ZFS peuvent également être configurés pour stocker de petits fichiers entiers sur l’appareil spécial, ce qui peut encore améliorer les performances. Utilisez des SSD rapides pour l’appareil spécial.
La redondance du périphérique spécial doit correspondre à celle du pool, car le périphérique spécial est un point de défaillance pour l’ensemble du pool.
L’ajout d’un périphérique spécial à un pool ne peut pas être annulé !
Create a pool with special device and RAID-1:
#zpool create -f -o ashift=12 <pool> mirror <device1> <device2> special mirror <device3> <device4>
Add a special device to an existing pool with RAID-1:
#zpool add <pool> special mirror <device1> <device2>
Les jeux de données ZFS exposent la propriété special_small_blocks=<size>. la taille peut être de 0 pour désactiver le stockage de petits blocs de fichiers sur le périphérique spécial ou une puissance de deux dans la plage comprise entre 512B et 128K. Après avoir défini la propriété, de nouveaux blocs de fichiers inférieurs à la taille seront alloués sur le périphérique spécial.
Si la valeur de special_small_blocks est supérieure ou égale à la taille d’enregistrement (128 Ko par défaut) du jeu de données, toutes les données seront écrites sur le périphérique spécial, alors soyez prudent ! La définition de la propriété special_small_blocks sur un pool modifiera la valeur par défaut de cette propriété pour tous les jeux de données ZFS enfants (par exemple, tous les conteneurs du pool opteront pour les petits blocs de fichiers).
Optez pour tous les fichiers plus petits que les blocs 4K à l’échelle du pool :
#zfs set special_small_blocks=4K <pool>
Opt in for small file blocks for a single dataset:
#zfs set special_small_blocks=4K <pool>/<filesystem>
Opt out from small file blocks for a single dataset:
#zfs set special_small_blocks=0 <pool>/<filesystem>
Les modifications apportées au format sur disque dans ZFS ne sont effectuées qu’entre les modifications majeures de version et sont spécifiées par le biais de fonctionnalités. Toutes les fonctionnalités, ainsi que le mécanisme général sont bien documentés dans la page de manuel zpool-features(5). Étant donné que l’activation de nouvelles fonctionnalités peut rendre un pool non importable par une ancienne version de ZFS, l’administrateur doit le faire activement en exécutant zpool upgrade sur le pool (voir la page de manuel zpool-upgrade(8)). À moins que vous n’ayez besoin d’utiliser l’une des nouvelles fonctionnalités, il n’y a aucun avantage à les activer. En fait, il y a quelques inconvénients à activer de nouvelles fonctionnalités: 1. Un système avec root sur ZFS, qui démarre toujours en utilisant grub deviendra non amorçable si une nouvelle fonctionnalité est active sur le rpool, en raison de l’implémentation incompatible de ZFS dans grub. 2. Le système ne sera pas en mesure d’importer un pool mis à niveau lorsqu’il est démarré avec un noyau plus ancien, qui est toujours livré avec les anciens modules ZFS. 3. Le démarrage d’un ancien Proxmox VE ISO pour réparer un système non amorçant ne fonctionnera pas non plus. ATTENTION : Ne mettez pas à niveau votre rpool si votre système est toujours démarré avec grub, car cela rendrait votre système non amorçable. Cela inclut les systèmes installés avant Proxmox VE 5.4, and systems booting with legacy BIOS boot (see how to determine the bootloader).
Enable new features for a ZFS pool:
#zpool upgrade pool
Voici une liste de commandes pour gérer les conteneurs et VM sur Proxmox.
Mettre à jour la liste des conteneurs disponibles
#pveam update
Afficher la liste des conteneurs systèmes disponibles
#pveam available --section system
Télécharger l’image CentOS 7 dans la partition local (Répertoire /var/lib/vz/template/cache/)
#pveam download local centos-7-default_20190224_amd64.tar.xz
Afficher la liste des images présentes sur le disque :
#pveam list local local:vztmpl/centos-7-default_20190224_amd64.tar.xz 65.47MB
Création d’un conteneur basé sur l’image CentOS 7 que nous venons de télécharger
#pct create 100 local:vztmpl/centos-7-default_20190224_amd64.tar.xz --hostname Test-Container --cores 1 --memory 512 --swap 512 --rootfs proxmox:5 --net0 name=eth0,bridge=vmbr1,ip=192.168.0.2/30,gw=192.168.0.1 --net1 name=eth1,bridge=vmbr2,ip=10.0.0.2/24 --onboot 1 --startup 'order=1,up=5,down=5'
100: Correspond à l’ID du conteneur. Celui-ci doit-être unique local:vztmpl/centos-7-default_20171212_amd64.tar.xz: Correspond à l’ID du stockage ou se trouve le template ainsi que le nom du template à utiliser s éparé par « : » hostname Test-Container : Nom du conteneur LXC (/etc/hostname). Il servira aussi à identifier le conteneur dans l’interface web de Proxmox cores 1 : Indique le nombre de cœur qui sera alloué au conteneur memory 512 : Indique la quantité de mémoire vive allouée au conteneur. La t aille doit être indiquée en MB swap 512 : Indique la quantité de mémoire swap allouée au conteneur. La tai lle doit être indiquée en MB rootfs proxmox:5 : Correspond à l’ID du stockage ou se sera créé le d isque dur conteneur ainsi que la taille de ce dernier séparé par « : ». La tail le doit être indiquée en GB net0 name=eth0,bridge=vmbr0,ip=192.168.0.2/30,gw=192.168.0.1 : Correspond à la configuration réseau du conteneur. Dans notre cas l’interface eth0 se ra connecté au bridge vmbr0, aura pour adresse IP 192.168.0.1 avec un masque de sous réseau autorisant 2 ip et la passerelle 192.168.0.1 onboot 1 : On indique à Proxmox qu’il faudra démarrer automatiquement le conteneur une fois que le système aura démarré pour ne pas avoir à le faire manuellement startup ‘order=1,up=5,down=5’ : On indique l’ordre de dém arrage du conteneur ainsi que le temps à observer entre chaque démarrage ou ext inction de conteneur
Afficher la liste des conteneurs :
#pct list
Démarrer un conteneur :
#pct start <container_id>
Afficher le status d’un conteneur :
#pct status <container_id> status: running
Susprendre un conteneur :
#pct suspend <container_id>
Relancer un conteneur suspendu :
#pct resume <container_id>
Arreter proprement un conteneur :
#pct shutdown <container_id>
Arreter brutalement un conteneur :
#pct stop <container_id>
Supprimer un conteneur :
#pct destroy <container_id>
Restorer un conteneur :
#pct restore <container_id> /var/lib/vz/dump/vzdump-lxc-100.tar --storage local
Entrer dans un conteneur :
#pct enter <container_id>
Afficher la configuration d’un conteneur :
#pct config <container_id>
Afficher l’espace disque réellement utilisé par un conteneur :
#pct df <container_id>
Faire un snapshot d’un conteneur :
#pct snapshot <container_id> <snapshot_name>
Afficher la liste des snapshots d’un conteneur
#pct listsnapshot <container_id>
Restaurer un snapshot d’un conteneur :
#pct rollback <container_id> <snapshot_name>
upprimer un snapshot d’un conteneur :
#pct delsnapshot <container_id> <snapshot_name>
Création d’une VM
#qm create 100 --name Test-VM --sockets 1 --memory 2048 --scsi0 local:100/vm100-disk-0.qcow2,size=10 --net0 model=virtio,bridge=vmbr0 --onboot 1 --startup 'order=1,up=5,down=5' --acpi yes --ostype l26 --storage local
100: Correspond à l’ID de la VM. Celui-ci doit-être unique name Test-VM: Nom de la VM pour l’’identifier dans l’interface web de Proxmox sockets 1: Indique le nombre de cœur qui sera alloué à la VM memory 2048: Indique la quantité de mémoire vive allouée à la VM. La taille doit être indiquée en MB scsi local:100/vm-100-disk-0.qcow2,size=10 : Correspond au controleur du disque dur de la VM, l’’emplacement du fichier QCOW2 ainsi que la taille de ce dernier. La taille doit être indiquée en GB cdrom none : On ajoute un CD-ROM à la VM net0 model=virtio,bridge=vmbr0 : Correspond à la configuration réseau de la VM. Dans notre cas l’interface eth0 sera connecté au bridge vmbr0 onboot 1 : On indique à Proxmox qu’il faudra démarrer automatiquement la VM une fois que le système aura démarré pour ne pas avoir à le faire manuellement startup ‘order=1,up=5,down=5’ : On indique l’ordre de démarrage des VM ainsi que le temps à observer entre chaque démarrage ou extinction des VM acpi : On active la gestion de l’ACPI par la VM ostype l26 : Correspond au type d’OS qui sera installé dans la VM. Ici du Linux avec un kernel 2.6 ou supérieur storage local : Correspond à l’ID du stockage ou sera stocké le fichier QCOW2 de la VM
Afficher la liste des VM :
#qm list
Démarrer une VM :
#qm start <vm_id>
Afficher le status d’une VM :
#qm status <vm_id> status: running
Susprendre une VM :
#qm suspend <vm_id>
Relancer une VM suspendue :
#qm resume <vm_id>
Arreter proprement une VM :
#qm shutdown <vm_id>
Arreter brutalement une VM :
#qm stop <vm_id>
Supprimer une VM :
#qm destroy <vm_id>
Restaurer une VM :
#qmrestore local:backup/vzdump-qemu-100.vma.gz --storage local <vm_id>
Afficher la configuration d’une VM :
#qm config <vm_id>
Faire un snapshot d’un conteneur :
#pct snapshot <vm_id> <snapshot_name>
Afficher la liste des snapshots d’une VM :
#qm listsnapshot <vm_id>
Restaurer un snapshot d’un conteneur :
#qm rollback <vm_id> <snapshot_name>
Supprimer un snapshot d’un conteneur :
#qm delsnapshot <vm_id> <snapshot_name>