Base de connaissances

Machines virtuelles Avancé 23 min

Placer une base de données sur un disque dédié

Séparer les données d’une base pour faciliter sauvegarde, extension et surveillance.

Objectif pratique

Préparer une base de données plus durable sur machine virtuelle en séparant stockage système et données métier.

Distribution utilisée

Debian / Ubuntu

Sommaire

  1. Préparer le volume
  2. Arrêter proprement la base
  3. Copier en conservant les droits
  4. Modifier la configuration
  5. Tester requêtes et sauvegarde

Guide détaillé

Étape 1

Préparer le volume

Le disque dédié doit être identifié, formaté, monté et documenté avant de toucher aux données.

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' "Préparer le volume" > ~/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.

Créer une sauvegarde lisible et restaurable

Cette base sauvegarde la configuration et un dossier applicatif. Adaptez /srv/app au chemin réel de votre service.

Debian / Ubuntu
sudo mkdir -p /root/backups
sudo tar -czf /root/backups/etc-$(date +%F).tar.gz /etc
sudo tar -czf /root/backups/app-$(date +%F).tar.gz /srv/app
ls -lh /root/backups
sudo tar -tzf /root/backups/etc-$(date +%F).tar.gz | head
Ce que font les commandes
  • `mkdir -p` crée le dossier demandé sans erreur s’il existe déjà.
  • `tar -czf` crée une archive compressée.
  • `tar -czf` crée une archive compressée.
  • `ls -lh /root/backups` exécute l’action indiquée ; lisez la sortie avant de passer à la commande suivante.
  • `tar -tzf` liste le contenu d’une archive sans l’extraire.

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.
  • L’archive doit pouvoir être listée avec `tar -tzf`.
  • Un fichier restauré en test doit conserver son contenu et ses droits utiles.

Étape 2

Arrêter proprement la base

Déplacer les fichiers à chaud expose à la corruption. Stoppez le service ou utilisez une procédure prévue par le moteur.

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' "Arrêter proprement la base" > ~/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.

Créer une sauvegarde lisible et restaurable

Cette base sauvegarde la configuration et un dossier applicatif. Adaptez /srv/app au chemin réel de votre service.

Debian / Ubuntu
sudo mkdir -p /root/backups
sudo tar -czf /root/backups/etc-$(date +%F).tar.gz /etc
sudo tar -czf /root/backups/app-$(date +%F).tar.gz /srv/app
ls -lh /root/backups
sudo tar -tzf /root/backups/etc-$(date +%F).tar.gz | head
Ce que font les commandes
  • `mkdir -p` crée le dossier demandé sans erreur s’il existe déjà.
  • `tar -czf` crée une archive compressée.
  • `tar -czf` crée une archive compressée.
  • `ls -lh /root/backups` exécute l’action indiquée ; lisez la sortie avant de passer à la commande suivante.
  • `tar -tzf` liste le contenu d’une archive sans l’extraire.

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.
  • L’archive doit pouvoir être listée avec `tar -tzf`.
  • Un fichier restauré en test doit conserver son contenu et ses droits utiles.

Étape 3

Copier en conservant les droits

Les fichiers de base dépendent fortement des propriétaires et permissions. Une copie incorrecte peut empêcher le démarrage.

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.

Créer une sauvegarde fichiers

On archive la configuration et les données applicatives. Remplacez /srv/app par le chemin réel de votre application.

Debian / Ubuntu
sudo mkdir -p /root/backups
sudo tar -czf /root/backups/etc-$(date +%F).tar.gz /etc
sudo tar -czf /root/backups/app-$(date +%F).tar.gz /srv/app
sudo rsync -a /root/backups/ backup@example.net:/backups/NOM_SERVICE/
Ce que font les commandes
  • `mkdir -p` crée le dossier demandé sans erreur s’il existe déjà.
  • `tar -czf` crée une archive compressée.
  • `tar -czf` crée une archive compressée.
  • `rsync` copie les fichiers en conservant les droits utiles.

Créer une sauvegarde lisible et restaurable

Cette base sauvegarde la configuration et un dossier applicatif. Adaptez /srv/app au chemin réel de votre service.

Debian / Ubuntu
sudo mkdir -p /root/backups
sudo tar -czf /root/backups/etc-$(date +%F).tar.gz /etc
sudo tar -czf /root/backups/app-$(date +%F).tar.gz /srv/app
ls -lh /root/backups
sudo tar -tzf /root/backups/etc-$(date +%F).tar.gz | head
Ce que font les commandes
  • `mkdir -p` crée le dossier demandé sans erreur s’il existe déjà.
  • `tar -czf` crée une archive compressée.
  • `tar -czf` crée une archive compressée.
  • `ls -lh /root/backups` exécute l’action indiquée ; lisez la sortie avant de passer à la commande suivante.
  • `tar -tzf` liste le contenu d’une archive sans l’extraire.

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.
  • L’archive doit pouvoir être listée avec `tar -tzf`.
  • Un fichier restauré en test doit conserver son contenu et ses droits utiles.

Étape 4

Modifier la configuration

Le moteur doit pointer vers le nouveau chemin de données, et le montage doit revenir après redémarrage.

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' "Modifier la configuration" > ~/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.

Créer une sauvegarde lisible et restaurable

Cette base sauvegarde la configuration et un dossier applicatif. Adaptez /srv/app au chemin réel de votre service.

Debian / Ubuntu
sudo mkdir -p /root/backups
sudo tar -czf /root/backups/etc-$(date +%F).tar.gz /etc
sudo tar -czf /root/backups/app-$(date +%F).tar.gz /srv/app
ls -lh /root/backups
sudo tar -tzf /root/backups/etc-$(date +%F).tar.gz | head
Ce que font les commandes
  • `mkdir -p` crée le dossier demandé sans erreur s’il existe déjà.
  • `tar -czf` crée une archive compressée.
  • `tar -czf` crée une archive compressée.
  • `ls -lh /root/backups` exécute l’action indiquée ; lisez la sortie avant de passer à la commande suivante.
  • `tar -tzf` liste le contenu d’une archive sans l’extraire.

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.
  • L’archive doit pouvoir être listée avec `tar -tzf`.
  • Un fichier restauré en test doit conserver son contenu et ses droits utiles.

Étape 5

Tester requêtes et sauvegarde

Une base qui démarre n’est pas suffisante. Vérifiez lecture, écriture, logs et export de sauvegarde.

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.

Créer une sauvegarde fichiers

On archive la configuration et les données applicatives. Remplacez /srv/app par le chemin réel de votre application.

Debian / Ubuntu
sudo mkdir -p /root/backups
sudo tar -czf /root/backups/etc-$(date +%F).tar.gz /etc
sudo tar -czf /root/backups/app-$(date +%F).tar.gz /srv/app
sudo rsync -a /root/backups/ backup@example.net:/backups/NOM_SERVICE/
Ce que font les commandes
  • `mkdir -p` crée le dossier demandé sans erreur s’il existe déjà.
  • `tar -czf` crée une archive compressée.
  • `tar -czf` crée une archive compressée.
  • `rsync` copie les fichiers en conservant les droits utiles.

Créer une sauvegarde lisible et restaurable

Cette base sauvegarde la configuration et un dossier applicatif. Adaptez /srv/app au chemin réel de votre service.

Debian / Ubuntu
sudo mkdir -p /root/backups
sudo tar -czf /root/backups/etc-$(date +%F).tar.gz /etc
sudo tar -czf /root/backups/app-$(date +%F).tar.gz /srv/app
ls -lh /root/backups
sudo tar -tzf /root/backups/etc-$(date +%F).tar.gz | head
Ce que font les commandes
  • `mkdir -p` crée le dossier demandé sans erreur s’il existe déjà.
  • `tar -czf` crée une archive compressée.
  • `tar -czf` crée une archive compressée.
  • `ls -lh /root/backups` exécute l’action indiquée ; lisez la sortie avant de passer à la commande suivante.
  • `tar -tzf` liste le contenu d’une archive sans l’extraire.

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.
  • L’archive doit pouvoir être listée avec `tar -tzf`.
  • Un fichier restauré en test doit conserver son contenu et ses droits utiles.

Checklist finale

  • Volume prêt
  • Droits corrigés
  • Base testée