... | ... | @@ -6,27 +6,56 @@ Voir [la page dédiée](https://forge.gresille.org/salle-serveur/doc-publique/-/ |
|
|
|
|
|
# Création d'un template d'OS
|
|
|
|
|
|
Installer une [machine virtuelle manuellement](fonctionnement_technique/procedures/Cr%C3%A9ation-d'une-VM#installation-manuelle).
|
|
|
Le principe est d'installer un OS assez minimal (sans interface graphique) et de le transformer ensuite en template. Ce template pourra être "cloné" à volonté pour produire autant de VM que nécessaire.
|
|
|
|
|
|
Choisir un nom de template explicite avec l'OS et la version, par exemple : `template-debian10`.
|
|
|
Pour cela, il faut commencer par créer une [machine virtuelle manuellement](fonctionnement_technique/procedures/Cr%C3%A9ation-d'une-VM#installation-manuelle).
|
|
|
|
|
|
Choisir un nom de VM explicite avec l'OS et la version, par exemple : `template-debian10`. Ca pourra être renommé plus tard si besoin.
|
|
|
|
|
|
Pour le matériel, choisir :
|
|
|
|
|
|
* ISO : l'image CD de l'OS souhaité (il faut l'avoir uploadé avant)
|
|
|
* CPU : 1
|
|
|
* RAM : 2 GB
|
|
|
* Disque : 40 GB sur stockage "fast"
|
|
|
* Disque : 40 GB sur stockage "fast", activer discard
|
|
|
|
|
|
Pour le réseau, choisir le VLAN 2131 dans le bridge `vmbr0`, désactiver le firewall.
|
|
|
|
|
|
Pour le réseau, utiliser l'IP et le VLAN réservés pour les templates : `193.23.164.131` et VLAN 2131. Selon l'OS, il pourra être nécessaire d'utiliser la [configuration réseau alternative](doc_usager/Configuration-réseau#configuration-alternative).
|
|
|
Démarrer la VM : elle devrait booter sur le CD.
|
|
|
|
|
|
Installer un OS sans interface graphique, avec un serveur SSH. Pour Debian, choisir aussi `utilitaires usuels du système`.
|
|
|
Configurer le réseau de la VM en statique, avec l'IP réservée pour les templates : `193.23.164.131`. Selon l'OS, il pourra être nécessaire d'utiliser la [configuration réseau alternative](doc_usager/Configuration-réseau#configuration-alternative). Cette configuration est uniquement nécessaire pour l'installation de l'OS : la configuration finale sera écrite par cloud-init.
|
|
|
|
|
|
Partitionner le disque avec une unique partition qui prend tout le disque, en ext4. Cela permettra de facilement étendre la partition pour les VM qui veulent davantage de stockage. Ne pas mettre de swap.
|
|
|
|
|
|
Ne pas mettre de mot de passe root (ce qui désactive le compte root), et créer un utilisateur `gresille` avec les droits sudo. Pour le mot de passe, mettre un mot de passe aléatoire, il sera écrasé par cloud-init lors de l'instantiation de VM.
|
|
|
|
|
|
Installer le paquet supplémentaire `cloud-init`.
|
|
|
Choisir le miroir standard pour l'OS (pour Debian : `deb.debian.org`). Installer un OS relativement minimal (pas d'interface graphique), avec un serveur SSH. Pour Debian, choisir aussi `utilitaires usuels du système`.
|
|
|
|
|
|
A la fin de l'installation, la VM reboote sur le système. Se logguer en SSH ou sur la console.
|
|
|
|
|
|
Installer les paquets `cloud-init` et `cloud-guest-utils`. Le premier permet de configurer la VM depuis proxmox (réseau, mot de passe). Le second contient l'utilitaire `growpart` qui permet facilement d'agrandir la partition à l'intérieur de la VM.
|
|
|
|
|
|
Eteindre la VM, supprimer le lecteur CD dans Hardware. Ajouter un disque cloud-init dans la page Hardware. Dans la page cloud-init, configurer comme pour une VM normale : utilisateur `gresille` et configuration réseau (IP `193.23.164.131/32` et gateway `100.100.100.100`).
|
|
|
|
|
|
Démarrer de nouveau la VM, et vérifier que le réseau est bien configuré.
|
|
|
|
|
|
Activer les mises à jour automatiques de paquet. Pour Debian :
|
|
|
|
|
|
sudo apt install unattended-upgrades
|
|
|
sudo dpkg-reconfigure -plow unattended-upgrades # Répondre Yes
|
|
|
|
|
|
Activer le service régulier `fstrim` qui dit à ZFS de libérer la place prise par les fichiers supprimés. Pour Debian :
|
|
|
|
|
|
sudo systemctl enable fstrim.timer
|
|
|
|
|
|
Nettoyer le système :
|
|
|
|
|
|
sudo apt autoremove # Désinstalle les paquets inutiles
|
|
|
sudo apt clean # Supprimer les paquets .deb téléchargés
|
|
|
sudo fstrim -av # Libère l'espace inutilisé dans ZFS
|
|
|
|
|
|
Activer le service régulier `fstrim`, par exemple sous Debian : `sudo systemctl enable fstrim.timer`
|
|
|
Eteindre la VM et la convertir en template dans l'interface proxmox.
|
|
|
|
|
|
Ensuite, éteindre la VM et la convertir en template dans l'interface proxmox.
|
|
|
|
|
|
# Mise à jour d'un template d'OS
|
|
|
|
... | ... | @@ -41,7 +70,7 @@ Partir d'un template existant : |
|
|
- faire les modifs voulues
|
|
|
- faire un `apt autoremove` pour désinstaller les paquets inutiles
|
|
|
- faire un `apt clean` pour supprimer les .deb téléchargés
|
|
|
- lancer un fstrim avec `systemctl start fstrim.service` pour libérer la place allouée par ZFS
|
|
|
- lancer un fstrim avec `fstrim -av` ou `systemctl start fstrim.service` pour libérer la place des fichiers supprimés
|
|
|
- éteindre la VM et la convertir en template dans l'interface proxmox
|
|
|
- supprimer l'ancien template
|
|
|
- renommer le nouveau template pour qu'il ait le même nom que l'ancien template.
|
... | ... | |