Base de connaissances

Machines virtuelles Avancé 20 min

Préparer le stockage d’une VM avec LVM

Organiser les volumes pour séparer système, données et croissance future.

Objectif pratique

Structurer les volumes d’une machine virtuelle avant que les données applicatives et journaux ne saturent le disque système.

Distribution utilisée

Debian / Ubuntu

Sommaire

  1. Séparer système et données
  2. Nommer les volumes clairement
  3. Garder de l’espace libre
  4. Documenter les points de montage
  5. Surveiller les volumes sensibles

Guide détaillé

Étape 1

Séparer système et données

Le système, les bases, les uploads et les logs n’ont pas le même rythme de croissance. Les isoler rend l’exploitation plus calme.

Observer la machine avant de changer quoi que ce soit

Ces commandes affichent la distribution, le nom de la machine, les interfaces réseau, les routes, la mémoire et l’espace disque. Elles ne modifient rien.

Debian / Ubuntu
cat /etc/os-release
hostnamectl
ip -br addr
ip route
free -h
df -h
Ce que font les commandes
  • `cat /etc/os-release` affiche la distribution et sa version exacte.
  • `hostnamectl` affiche le nom, le type de machine et quelques informations système.
  • `ip -br addr` liste les interfaces et adresses IP sous une forme courte.
  • `ip route` montre la passerelle utilisée et les routes connues.
  • `free -h` affiche RAM et swap dans une unité lisible.
  • `df -h` indique l’espace disque libre par point de montage.

Appliquer cette étape avec une trace simple

Pour cette machine virtuelle, on écrit ce que l’on va faire, on exécute les vérifications, puis on garde une note datée.

Debian / Ubuntu
mkdir -p ~/newscloud-notes
printf '%s\n' "Séparer système et données" > ~/newscloud-notes/etape.txt
systemctl --failed
journalctl -p warning -n 50 --no-pager
cat ~/newscloud-notes/etape.txt
Ce que font les commandes
  • `mkdir -p` crée le dossier demandé sans erreur s’il existe déjà.
  • `printf` écrit une note ou un fichier de contrôle avec un format prévisible.
  • `systemctl --failed` liste les services en échec pour repérer un problème global.
  • `journalctl` lit les journaux systemd ; l’option `--no-pager` évite un affichage interactif.
  • `cat ~/newscloud-notes/etape.txt` exécute l’action indiquée ; lisez la sortie avant de passer à la commande suivante.

Inspecter et préparer le stockage

On vérifie les disques, les points de montage et les volumes avant de déplacer des données ou agrandir un volume.

Debian / Ubuntu
lsblk -f
df -h
sudo blkid
sudo mkdir -p /srv/data
sudo rsync -aHAX --info=progress2 /srv/app/ /srv/data/app/
sudo chown -R www-data:www-data /srv/data/app
Ce que font les commandes
  • `lsblk` affiche les disques, partitions et systèmes de fichiers.
  • `df -h` indique l’espace disque libre par point de montage.
  • `blkid` affiche les identifiants de volumes utiles pour les montages stables.
  • `mkdir -p` crée le dossier demandé sans erreur s’il existe déjà.
  • `rsync` copie les fichiers en conservant les droits utiles.
  • `chown` remet la propriété des fichiers au bon utilisateur de service.

Base outils Debian / Ubuntu

apt installe les utilitaires utiles, puis systemctl et journalctl vérifient que la machine reste saine.

Debian / Ubuntu
sudo apt update
sudo apt install -y curl vim rsync
systemctl --failed
journalctl -p warning -n 50 --no-pager
Ce que font les commandes
  • `apt update` recharge la liste des paquets Debian/Ubuntu disponibles.
  • `apt install` installe les paquets indiqués depuis les dépôts configurés.
  • `systemctl --failed` liste les services en échec pour repérer un problème global.
  • `journalctl` lit les journaux systemd ; l’option `--no-pager` évite un affichage interactif.

Variantes et attention

  • Les commandes de ce guide sont adaptées pour Debian / Ubuntu. Si votre image est une autre famille Linux, gardez la logique mais remplacez le gestionnaire de paquets et les noms de services.
  • En VM, vous contrôlez le système complet. Vous pouvez agir sur le noyau, le pare-feu et les volumes, mais vous êtes aussi responsable des mises à jour et de l’exposition réseau.
  • Niveau avancé : adaptez les chemins, noms de services et ports à votre application. Ne copiez pas les commandes sans remplacer les valeurs exemples.

Vérifications

  • La commande `systemctl --failed` ne doit pas afficher de service critique en échec.
  • La commande `df -h` doit montrer assez d’espace libre sur `/`, `/var` et les volumes applicatifs.
  • `lsblk -f` doit montrer le volume attendu au bon point de montage.
  • Les droits du dossier de données doivent correspondre à l’utilisateur du service.

Étape 2

Nommer les volumes clairement

Un nom de volume doit raconter son usage. data-db ou logs-app évite les hésitations au moment d’agrandir.

Observer la machine avant de changer quoi que ce soit

Ces commandes affichent la distribution, le nom de la machine, les interfaces réseau, les routes, la mémoire et l’espace disque. Elles ne modifient rien.

Debian / Ubuntu
cat /etc/os-release
hostnamectl
ip -br addr
ip route
free -h
df -h
Ce que font les commandes
  • `cat /etc/os-release` affiche la distribution et sa version exacte.
  • `hostnamectl` affiche le nom, le type de machine et quelques informations système.
  • `ip -br addr` liste les interfaces et adresses IP sous une forme courte.
  • `ip route` montre la passerelle utilisée et les routes connues.
  • `free -h` affiche RAM et swap dans une unité lisible.
  • `df -h` indique l’espace disque libre par point de montage.

Appliquer cette étape avec une trace simple

Pour cette machine virtuelle, on écrit ce que l’on va faire, on exécute les vérifications, puis on garde une note datée.

Debian / Ubuntu
mkdir -p ~/newscloud-notes
printf '%s\n' "Nommer les volumes clairement" > ~/newscloud-notes/etape.txt
systemctl --failed
journalctl -p warning -n 50 --no-pager
cat ~/newscloud-notes/etape.txt
Ce que font les commandes
  • `mkdir -p` crée le dossier demandé sans erreur s’il existe déjà.
  • `printf` écrit une note ou un fichier de contrôle avec un format prévisible.
  • `systemctl --failed` liste les services en échec pour repérer un problème global.
  • `journalctl` lit les journaux systemd ; l’option `--no-pager` évite un affichage interactif.
  • `cat ~/newscloud-notes/etape.txt` exécute l’action indiquée ; lisez la sortie avant de passer à la commande suivante.

Inspecter et préparer le stockage

On vérifie les disques, les points de montage et les volumes avant de déplacer des données ou agrandir un volume.

Debian / Ubuntu
lsblk -f
df -h
sudo blkid
sudo mkdir -p /srv/data
sudo rsync -aHAX --info=progress2 /srv/app/ /srv/data/app/
sudo chown -R www-data:www-data /srv/data/app
Ce que font les commandes
  • `lsblk` affiche les disques, partitions et systèmes de fichiers.
  • `df -h` indique l’espace disque libre par point de montage.
  • `blkid` affiche les identifiants de volumes utiles pour les montages stables.
  • `mkdir -p` crée le dossier demandé sans erreur s’il existe déjà.
  • `rsync` copie les fichiers en conservant les droits utiles.
  • `chown` remet la propriété des fichiers au bon utilisateur de service.

Base outils Debian / Ubuntu

apt installe les utilitaires utiles, puis systemctl et journalctl vérifient que la machine reste saine.

Debian / Ubuntu
sudo apt update
sudo apt install -y curl vim rsync
systemctl --failed
journalctl -p warning -n 50 --no-pager
Ce que font les commandes
  • `apt update` recharge la liste des paquets Debian/Ubuntu disponibles.
  • `apt install` installe les paquets indiqués depuis les dépôts configurés.
  • `systemctl --failed` liste les services en échec pour repérer un problème global.
  • `journalctl` lit les journaux systemd ; l’option `--no-pager` évite un affichage interactif.

Variantes et attention

  • Les commandes de ce guide sont adaptées pour Debian / Ubuntu. Si votre image est une autre famille Linux, gardez la logique mais remplacez le gestionnaire de paquets et les noms de services.
  • En VM, vous contrôlez le système complet. Vous pouvez agir sur le noyau, le pare-feu et les volumes, mais vous êtes aussi responsable des mises à jour et de l’exposition réseau.
  • Niveau avancé : adaptez les chemins, noms de services et ports à votre application. Ne copiez pas les commandes sans remplacer les valeurs exemples.

Vérifications

  • La commande `systemctl --failed` ne doit pas afficher de service critique en échec.
  • La commande `df -h` doit montrer assez d’espace libre sur `/`, `/var` et les volumes applicatifs.
  • `lsblk -f` doit montrer le volume attendu au bon point de montage.
  • Les droits du dossier de données doivent correspondre à l’utilisateur du service.

Étape 3

Garder de l’espace libre

LVM est utile si vous avez encore de la marge. Ne consommez pas tout dès le premier jour.

Observer la machine avant de changer quoi que ce soit

Ces commandes affichent la distribution, le nom de la machine, les interfaces réseau, les routes, la mémoire et l’espace disque. Elles ne modifient rien.

Debian / Ubuntu
cat /etc/os-release
hostnamectl
ip -br addr
ip route
free -h
df -h
Ce que font les commandes
  • `cat /etc/os-release` affiche la distribution et sa version exacte.
  • `hostnamectl` affiche le nom, le type de machine et quelques informations système.
  • `ip -br addr` liste les interfaces et adresses IP sous une forme courte.
  • `ip route` montre la passerelle utilisée et les routes connues.
  • `free -h` affiche RAM et swap dans une unité lisible.
  • `df -h` indique l’espace disque libre par point de montage.

Appliquer cette étape avec une trace simple

Pour cette machine virtuelle, on écrit ce que l’on va faire, on exécute les vérifications, puis on garde une note datée.

Debian / Ubuntu
mkdir -p ~/newscloud-notes
printf '%s\n' "Garder de l’espace libre" > ~/newscloud-notes/etape.txt
systemctl --failed
journalctl -p warning -n 50 --no-pager
cat ~/newscloud-notes/etape.txt
Ce que font les commandes
  • `mkdir -p` crée le dossier demandé sans erreur s’il existe déjà.
  • `printf` écrit une note ou un fichier de contrôle avec un format prévisible.
  • `systemctl --failed` liste les services en échec pour repérer un problème global.
  • `journalctl` lit les journaux systemd ; l’option `--no-pager` évite un affichage interactif.
  • `cat ~/newscloud-notes/etape.txt` exécute l’action indiquée ; lisez la sortie avant de passer à la commande suivante.

Inspecter et préparer le stockage

On vérifie les disques, les points de montage et les volumes avant de déplacer des données ou agrandir un volume.

Debian / Ubuntu
lsblk -f
df -h
sudo blkid
sudo mkdir -p /srv/data
sudo rsync -aHAX --info=progress2 /srv/app/ /srv/data/app/
sudo chown -R www-data:www-data /srv/data/app
Ce que font les commandes
  • `lsblk` affiche les disques, partitions et systèmes de fichiers.
  • `df -h` indique l’espace disque libre par point de montage.
  • `blkid` affiche les identifiants de volumes utiles pour les montages stables.
  • `mkdir -p` crée le dossier demandé sans erreur s’il existe déjà.
  • `rsync` copie les fichiers en conservant les droits utiles.
  • `chown` remet la propriété des fichiers au bon utilisateur de service.

Base outils Debian / Ubuntu

apt installe les utilitaires utiles, puis systemctl et journalctl vérifient que la machine reste saine.

Debian / Ubuntu
sudo apt update
sudo apt install -y curl vim rsync
systemctl --failed
journalctl -p warning -n 50 --no-pager
Ce que font les commandes
  • `apt update` recharge la liste des paquets Debian/Ubuntu disponibles.
  • `apt install` installe les paquets indiqués depuis les dépôts configurés.
  • `systemctl --failed` liste les services en échec pour repérer un problème global.
  • `journalctl` lit les journaux systemd ; l’option `--no-pager` évite un affichage interactif.

Variantes et attention

  • Les commandes de ce guide sont adaptées pour Debian / Ubuntu. Si votre image est une autre famille Linux, gardez la logique mais remplacez le gestionnaire de paquets et les noms de services.
  • En VM, vous contrôlez le système complet. Vous pouvez agir sur le noyau, le pare-feu et les volumes, mais vous êtes aussi responsable des mises à jour et de l’exposition réseau.
  • Niveau avancé : adaptez les chemins, noms de services et ports à votre application. Ne copiez pas les commandes sans remplacer les valeurs exemples.

Vérifications

  • La commande `systemctl --failed` ne doit pas afficher de service critique en échec.
  • La commande `df -h` doit montrer assez d’espace libre sur `/`, `/var` et les volumes applicatifs.
  • `lsblk -f` doit montrer le volume attendu au bon point de montage.
  • Les droits du dossier de données doivent correspondre à l’utilisateur du service.

Étape 4

Documenter les points de montage

Notez quoi est monté où, pourquoi, et quel service en dépend. C’est essentiel en reprise.

Observer la machine avant de changer quoi que ce soit

Ces commandes affichent la distribution, le nom de la machine, les interfaces réseau, les routes, la mémoire et l’espace disque. Elles ne modifient rien.

Debian / Ubuntu
cat /etc/os-release
hostnamectl
ip -br addr
ip route
free -h
df -h
Ce que font les commandes
  • `cat /etc/os-release` affiche la distribution et sa version exacte.
  • `hostnamectl` affiche le nom, le type de machine et quelques informations système.
  • `ip -br addr` liste les interfaces et adresses IP sous une forme courte.
  • `ip route` montre la passerelle utilisée et les routes connues.
  • `free -h` affiche RAM et swap dans une unité lisible.
  • `df -h` indique l’espace disque libre par point de montage.

Appliquer cette étape avec une trace simple

Pour cette machine virtuelle, on écrit ce que l’on va faire, on exécute les vérifications, puis on garde une note datée.

Debian / Ubuntu
mkdir -p ~/newscloud-notes
printf '%s\n' "Documenter les points de montage" > ~/newscloud-notes/etape.txt
systemctl --failed
journalctl -p warning -n 50 --no-pager
cat ~/newscloud-notes/etape.txt
Ce que font les commandes
  • `mkdir -p` crée le dossier demandé sans erreur s’il existe déjà.
  • `printf` écrit une note ou un fichier de contrôle avec un format prévisible.
  • `systemctl --failed` liste les services en échec pour repérer un problème global.
  • `journalctl` lit les journaux systemd ; l’option `--no-pager` évite un affichage interactif.
  • `cat ~/newscloud-notes/etape.txt` exécute l’action indiquée ; lisez la sortie avant de passer à la commande suivante.

Inspecter et préparer le stockage

On vérifie les disques, les points de montage et les volumes avant de déplacer des données ou agrandir un volume.

Debian / Ubuntu
lsblk -f
df -h
sudo blkid
sudo mkdir -p /srv/data
sudo rsync -aHAX --info=progress2 /srv/app/ /srv/data/app/
sudo chown -R www-data:www-data /srv/data/app
Ce que font les commandes
  • `lsblk` affiche les disques, partitions et systèmes de fichiers.
  • `df -h` indique l’espace disque libre par point de montage.
  • `blkid` affiche les identifiants de volumes utiles pour les montages stables.
  • `mkdir -p` crée le dossier demandé sans erreur s’il existe déjà.
  • `rsync` copie les fichiers en conservant les droits utiles.
  • `chown` remet la propriété des fichiers au bon utilisateur de service.

Base outils Debian / Ubuntu

apt installe les utilitaires utiles, puis systemctl et journalctl vérifient que la machine reste saine.

Debian / Ubuntu
sudo apt update
sudo apt install -y curl vim rsync
systemctl --failed
journalctl -p warning -n 50 --no-pager
Ce que font les commandes
  • `apt update` recharge la liste des paquets Debian/Ubuntu disponibles.
  • `apt install` installe les paquets indiqués depuis les dépôts configurés.
  • `systemctl --failed` liste les services en échec pour repérer un problème global.
  • `journalctl` lit les journaux systemd ; l’option `--no-pager` évite un affichage interactif.

Variantes et attention

  • Les commandes de ce guide sont adaptées pour Debian / Ubuntu. Si votre image est une autre famille Linux, gardez la logique mais remplacez le gestionnaire de paquets et les noms de services.
  • En VM, vous contrôlez le système complet. Vous pouvez agir sur le noyau, le pare-feu et les volumes, mais vous êtes aussi responsable des mises à jour et de l’exposition réseau.
  • Niveau avancé : adaptez les chemins, noms de services et ports à votre application. Ne copiez pas les commandes sans remplacer les valeurs exemples.

Vérifications

  • La commande `systemctl --failed` ne doit pas afficher de service critique en échec.
  • La commande `df -h` doit montrer assez d’espace libre sur `/`, `/var` et les volumes applicatifs.
  • `lsblk -f` doit montrer le volume attendu au bon point de montage.
  • Les droits du dossier de données doivent correspondre à l’utilisateur du service.

Étape 5

Surveiller les volumes sensibles

Un volume de logs plein n’a pas le même impact qu’un volume base plein. Les alertes doivent refléter cette priorité.

Observer la machine avant de changer quoi que ce soit

Ces commandes affichent la distribution, le nom de la machine, les interfaces réseau, les routes, la mémoire et l’espace disque. Elles ne modifient rien.

Debian / Ubuntu
cat /etc/os-release
hostnamectl
ip -br addr
ip route
free -h
df -h
Ce que font les commandes
  • `cat /etc/os-release` affiche la distribution et sa version exacte.
  • `hostnamectl` affiche le nom, le type de machine et quelques informations système.
  • `ip -br addr` liste les interfaces et adresses IP sous une forme courte.
  • `ip route` montre la passerelle utilisée et les routes connues.
  • `free -h` affiche RAM et swap dans une unité lisible.
  • `df -h` indique l’espace disque libre par point de montage.

Appliquer cette étape avec une trace simple

Pour cette machine virtuelle, on écrit ce que l’on va faire, on exécute les vérifications, puis on garde une note datée.

Debian / Ubuntu
mkdir -p ~/newscloud-notes
printf '%s\n' "Surveiller les volumes sensibles" > ~/newscloud-notes/etape.txt
systemctl --failed
journalctl -p warning -n 50 --no-pager
cat ~/newscloud-notes/etape.txt
Ce que font les commandes
  • `mkdir -p` crée le dossier demandé sans erreur s’il existe déjà.
  • `printf` écrit une note ou un fichier de contrôle avec un format prévisible.
  • `systemctl --failed` liste les services en échec pour repérer un problème global.
  • `journalctl` lit les journaux systemd ; l’option `--no-pager` évite un affichage interactif.
  • `cat ~/newscloud-notes/etape.txt` exécute l’action indiquée ; lisez la sortie avant de passer à la commande suivante.

Lire les journaux et éviter de remplir le disque

Ces commandes trouvent les gros fichiers, lisent les erreurs récentes et préparent une rotation simple.

Debian / Ubuntu
sudo du -xh /var/log | sort -h | tail -20
journalctl -p warning -n 100 --no-pager
sudo nano /etc/logrotate.d/newscloud-app
sudo logrotate -d /etc/logrotate.d/newscloud-app
df -h /var/log
Ce que font les commandes
  • `du -xh` mesure l’espace consommé par dossier en restant sur le même système de fichiers.
  • `journalctl` lit les journaux systemd ; l’option `--no-pager` évite un affichage interactif.
  • `nano` ouvre le fichier à modifier ; remplacez les valeurs exemples avant d’enregistrer.
  • `sudo logrotate -d /etc/logrotate.d/newscloud-app` exécute l’action indiquée ; lisez la sortie avant de passer à la commande suivante.
  • `df -h` indique l’espace disque libre par point de montage.

Base outils Debian / Ubuntu

apt installe les utilitaires utiles, puis systemctl et journalctl vérifient que la machine reste saine.

Debian / Ubuntu
sudo apt update
sudo apt install -y curl vim rsync
systemctl --failed
journalctl -p warning -n 50 --no-pager
Ce que font les commandes
  • `apt update` recharge la liste des paquets Debian/Ubuntu disponibles.
  • `apt install` installe les paquets indiqués depuis les dépôts configurés.
  • `systemctl --failed` liste les services en échec pour repérer un problème global.
  • `journalctl` lit les journaux systemd ; l’option `--no-pager` évite un affichage interactif.

Variantes et attention

  • Les commandes de ce guide sont adaptées pour Debian / Ubuntu. Si votre image est une autre famille Linux, gardez la logique mais remplacez le gestionnaire de paquets et les noms de services.
  • En VM, vous contrôlez le système complet. Vous pouvez agir sur le noyau, le pare-feu et les volumes, mais vous êtes aussi responsable des mises à jour et de l’exposition réseau.
  • Niveau avancé : adaptez les chemins, noms de services et ports à votre application. Ne copiez pas les commandes sans remplacer les valeurs exemples.

Vérifications

  • La commande `systemctl --failed` ne doit pas afficher de service critique en échec.
  • La commande `df -h` doit montrer assez d’espace libre sur `/`, `/var` et les volumes applicatifs.
  • Les logs doivent tourner sans supprimer les événements récents utiles.
  • Le disque ne doit plus grossir anormalement après rotation.

Checklist finale

  • Données séparées
  • Points de montage documentés
  • Alertes disque