Partitionner DD dev/md1 dev/md2

Hello,

J’ai un serveur debian en prod.

La partition dev/MD1 est presque full

udev                10M       0   10M   0% /dev
tmpfs              6,3G    690M  5,7G  11% /run
/dev/md1            20G     18G  530M  98% /
tmpfs               16G       0   16G   0% /dev/shm
tmpfs              5,0M     20K  5,0M   1% /run/lock
tmpfs               16G       0   16G   0% /sys/fs/cgroup
/dev/md2           421G     71M  399G   1% /home
tmpfs              3,2G       0  3,2G   0% /run/user/0

Est ce que c’est possible d’allouer une partie de dev/md2 sur md1 ?
Ou une autre façon de donner du giga disponible dans md1
Je précise que j’ai déjà nettoyé a coup de apt-get clean etc mais c’est mon site qui fait 20giga ou presque et pas vraiment compressible

Cdt

Non, évidemment. Redimensionner des partitions simples n’est déjà pas très pratique, mais redimensionner un ensemble RAID est bien pire.
Visiblement, le partitionnement de cette machine a été très mal pensé par rapport aux besoins puisque /home est quasiment vide alors qu’il occupe la quasi-totalité de l’espace disque. Si c’est un site web, dont les données sont normalement dans /srv ou /var/www, qui occupe le plus d’espace, alors c’est à ce répertoire qu’il aurait fallu allouer le plus d’espace disque et non à /home.

Pourquoi y a-t-il deux ensembles RAID distincts ? Utilisent-ils des disques différents ? Ont-ils des niveaux de RAID différents ? S’ils ont le même niveau de RAID, il aurait été préférable d’utiliser LVM par dessus afin de pouvoir allouer l’espace disque de façon souple au fur et à mesure des besoins. Mais c’est trop tard.

Tu as donc un système de fichiers dans /dev/md2 immense et presque vide monté sur /home. Tu pourrais

  • déplacer son contenu dans le système de fichiers racine, y déplacer les données du site web et le monter sur son emplacement originel (/srv ou /var/www) désormais vide
  • ou déplacer les données du site web dans /home et soit remplacer le répertoire originel par un lien symbolique, soit faire un montage en « bind » du nouveau répertoire sur l’originel
  • ou, un peu plus élaboré et ambitieux, sauvegarder le contenu de /home, réutiliser /dev/md2 en tant que volume physique LVM (pvcreate), créer un groupe de volumes LVM (vgcreate), des volumes logiques LVM (lvcreate) pour /home et le site web sans consommer tout l’espace disponible, les formater (mkfs), y transférer les données et les monter sur les emplacements souhaités.
1 J'aime

Merci PascalHambourg pour cette réponse complète.

Je vais tâcher d’être honnête, je n’y connais pas grand chose, j’ai du migrer un site hebergé sur une VM à la hâte vers ce serveur dédié sous pression à cause du temps offline. C’est donc entièrement ma faute.

En gros il y a un disque SSD de 20G et un autre pour les données.

Dans les solutions simple, ça veut dire que

mv /var/www /home
ln -s /home/www /var/www

Pourrait solutionner mon problème ?
Mais je suppose que je déplacerais le site hors du SSD et donc perte de performance.

1 seul SSD et un seul disque dur ?
Alors pourquoi y a-t-il du RAID ?
On peut voir la sortie de

fdisk -l
cat /proc/mdstat

Oui, en principe. Mais il faudra arrêter le service web pendant l’opération.
Il peut arriver que le service web ne fonctionne pas avec un lien symbolique, dans ce cas il faut faire un « bind mount » dans /etc/fstab.

Seulement si le facteur le plus limitant est la vitesse du disque et pas la capacité du réseau par exemple.
De toute façon si l’espace occupé par le site est amené à grossir encore, à part mettre un SSD plus grand ou remplacer le disque par un SSD il n’y a pas vraiment le choix à part répartir plus finement le contenu du site entre le SSD et le disque.

D’accord, merci encore d’éclairer un peu ma lanterne.
Voici le résultat de fdisk -l

Disque /dev/ram0 : 4 MiB, 4194304 octets, 8192 secteurs
Unités : secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 4096 octets
taille d'E/S (minimale / optimale) : 4096 octets / 4096 octets
Disque /dev/ram1 : 4 MiB, 4194304 octets, 8192 secteurs
Unités : secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 4096 octets
taille d'E/S (minimale / optimale) : 4096 octets / 4096 octets
Disque /dev/ram2 : 4 MiB, 4194304 octets, 8192 secteurs
Unités : secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 4096 octets
taille d'E/S (minimale / optimale) : 4096 octets / 4096 octets
Disque /dev/ram3 : 4 MiB, 4194304 octets, 8192 secteurs
Unités : secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 4096 octets
taille d'E/S (minimale / optimale) : 4096 octets / 4096 octets
Disque /dev/ram4 : 4 MiB, 4194304 octets, 8192 secteurs
Unités : secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 4096 octets
taille d'E/S (minimale / optimale) : 4096 octets / 4096 octets
Disque /dev/ram5 : 4 MiB, 4194304 octets, 8192 secteurs
Unités : secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 4096 octets
taille d'E/S (minimale / optimale) : 4096 octets / 4096 octets
Disque /dev/ram6 : 4 MiB, 4194304 octets, 8192 secteurs
Unités : secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 4096 octets
taille d'E/S (minimale / optimale) : 4096 octets / 4096 octets
Disque /dev/ram7 : 4 MiB, 4194304 octets, 8192 secteurs
Unités : secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 4096 octets
taille d'E/S (minimale / optimale) : 4096 octets / 4096 octets
Disque /dev/ram8 : 4 MiB, 4194304 octets, 8192 secteurs
Unités : secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 4096 octets
taille d'E/S (minimale / optimale) : 4096 octets / 4096 octets
Disque /dev/ram9 : 4 MiB, 4194304 octets, 8192 secteurs
Unités : secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 4096 octets
taille d'E/S (minimale / optimale) : 4096 octets / 4096 octets
Disque /dev/ram10 : 4 MiB, 4194304 octets, 8192 secteurs
Unités : secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 4096 octets
taille d'E/S (minimale / optimale) : 4096 octets / 4096 octets
Disque /dev/ram11 : 4 MiB, 4194304 octets, 8192 secteurs
Unités : secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 4096 octets
taille d'E/S (minimale / optimale) : 4096 octets / 4096 octets
Disque /dev/ram12 : 4 MiB, 4194304 octets, 8192 secteurs
Unités : secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 4096 octets
taille d'E/S (minimale / optimale) : 4096 octets / 4096 octets
Disque /dev/ram13 : 4 MiB, 4194304 octets, 8192 secteurs
Unités : secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 4096 octets
taille d'E/S (minimale / optimale) : 4096 octets / 4096 octets
Disque /dev/ram14 : 4 MiB, 4194304 octets, 8192 secteurs
Unités : secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 4096 octets
taille d'E/S (minimale / optimale) : 4096 octets / 4096 octets
Disque /dev/ram15 : 4 MiB, 4194304 octets, 8192 secteurs
Unités : secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 4096 octets
taille d'E/S (minimale / optimale) : 4096 octets / 4096 octets
Disque /dev/loop0 : 100 GiB, 107374182400 octets, 209715200 secteurs
Unités : secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 512 octets
taille d'E/S (minimale / optimale) : 512 octets / 512 octets
Disque /dev/loop1 : 2 GiB, 2147483648 octets, 4194304 secteurs
Unités : secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 512 octets
taille d'E/S (minimale / optimale) : 512 octets / 512 octets
Disque /dev/sda : 447,1 GiB, 480103981056 octets, 937703088 secteurs
Unités : secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 4096 octets
taille d'E/S (minimale / optimale) : 4096 octets / 4096 octets
Type d'étiquette de disque : dos
Identifiant de disque : 0x3b1547ef

Device     Boot     Start       End   Sectors   Size Id Type
/dev/sda1  *         4096  40962047  40957952  19,5G fd Linux raid autodetect
/dev/sda2        40962048 936648703 895686656 427,1G fd Linux raid autodetect
/dev/sda3       936648704 937695231   1046528   511M 82 Linux swap / Solaris

Disque /dev/sdb : 447,1 GiB, 480103981056 octets, 937703088 secteurs
Unités : secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 4096 octets
taille d'E/S (minimale / optimale) : 4096 octets / 4096 octets
Type d'étiquette de disque : dos
Identifiant de disque : 0x4f46f483

Device     Boot     Start       End   Sectors   Size Id Type
/dev/sdb1  *         4096  40962047  40957952  19,5G fd Linux raid autodetect
/dev/sdb2        40962048 936648703 895686656 427,1G fd Linux raid autodetect
/dev/sdb3       936648704 937695231   1046528   511M 82 Linux swap / Solaris

Disque /dev/md1 : 19,5 GiB, 20970405888 octets, 40957824 secteurs
Unités : secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 4096 octets
taille d'E/S (minimale / optimale) : 4096 octets / 4096 octets
Disque /dev/md2 : 427,1 GiB, 458591502336 octets, 895686528 secteurs
Unités : secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 4096 octets
taille d'E/S (minimale / optimale) : 4096 octets / 4096 octets
Disque /dev/mapper/docker-9:1-927961-pool : 100 GiB, 107374182400 octets, 209715200 secteurs
Unités : secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 512 octets
taille d'E/S (minimale / optimale) : 65536 octets / 65536 octets

Voici le résultat de cat /proc/mdstat

Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4] [multi                                                                                                             path] [faulty]
md2 : active raid1 sda2[0] sdb2[1]
      447843264 blocks [2/2] [UU]
      bitmap: 0/4 pages [0KB], 65536KB chunk

md1 : active raid1 sda1[0] sdb1[1]
      20478912 blocks [2/2] [UU]

Je déconseille ce type de manipulation avec des liens symboliques.
Tu copies les données du site web dans /home/truc/machin. Il te suffit ensuite de modifier ton hôte virtuel Apache ou Nginx pour que le dossier racine soit /home/truc/machin au lieu de /var/www et de recharger la configuration du serveur.

Il n’y a pas de SSD de 20 Go mais deux disques ou SSD de 480 Go qui participent chacun aux deux ensembles RAID md1 et md2. Donc le déplacement de données d’un ensemble RAID à l’autre n’occasionnera aucune perte de performance.

Je note que le swap réparti sur les deux disques n’est pas en RAID, donc la défaillance d’un disque peut planter le système. Pas génial pour la disponibilité que le RAID est censé apporter.

2 J'aime