Table des matières

Organisation

Confirmation de l’emplacement de l’AG : espace « Chez Nous », derrière la MJC

Activités

TomTom

On a essayé de faire fonctionner myTomTom sur Zorin avec Wine. Le logiciel est développé avec Qt, une techno linux, mais TomTom ne fournit qu’une version Windows et une version MacOS.

Le logiciel s’installe et démarre bien sous Wine, mais malheureusement impossible de lui faire détecter le GPS en USB.

Traitement d’images

Pour son projet de film en stop-motion, Romain a besoin de supprimer automatiquement un grand nombre de photos surexposées.

Après différents essais, la meilleure solution est de faire un petit script python qui fait appel à OpenVC (vc2) pour récupérer la luminance de chaque pixel, puis numpy pour faire la moyenne de ces valeurs.

On fixe un seuil limite et on lance le script sur toutes les images. Des centaines de photos triées en une heure !

LVM et Proxmox

Michel est venu avec son mini-serveur proxmox. Suite au remplacement du disque et à la copie bit-à-bit de l’ancien disque (plus petit) sur le nouveau, il reste 500 GB de libre qui ne sont pas utilisables par le système.

Proxmox est un système de virtualisation, libre, performant et qui monte fortement y compris chez les professionnels. Il utilise LVM pour créer et gérer les disques attribués aux machines virtuelles. Donner les 500 GB libres à proxmox pour les utiliser pour les VM consiste donc à redimensionner le pool LVM du storage domain.

Qu’est-ce que LVM ?

Proxmox utilise LVM, qui permet de gérer plus souplement le stockage que le seul système de partitionnement. Avec LVM, on déclare soit des disques entiers soit des partitions comme étant des Physical Volumes, qu’on agrège dans des Group Volumes. On peut ensuite découper ces VG à volonté pour créer des Logical Volumes, qui sont l’équivalent de partitions. Il faut d’ailleurs les formatter puis les monter, comme des partitions, pour les utiliser comme stockage de fichiers.

Pour ceux qui veulent plus de détails (et un beau schéma), voir cette jolie introduction en français ou la très complète doc ArchLinux en anglais (« I’m using arch, btw »).

Les avantages sont multiples et se voient surtout à l’usage : agrégation de plusieurs disques en un seul disque virtuel, modification des partitions beaucoup plus souple, changement de disques à chaud, snapshots, réplication de disques, thin-provisionning (surallocation), etc… C’est un petit travail supplémentaire à l’installation pour de gros gains le jour où vous avez un problème d’espace ou d’organisation.

En pratique pour un particulier, l’intérêt est surtout de se donner plus de souplesse pour jouer avec ses partitions. Par exemple redimensionner une partition est toujours trivial en LVM s’il y a de la place, alors qu’avec un partitionnement standard, il peut être nécessaire de déplacer de grosses quantités de données.

Typiquement, on partitionne le disque du PC parce que la partition efi ne peut pas être sur du LVM et que c’est déconseillé pour la partition boot (tous les bootloaders ne supportent pas le LVM). La troisième partition, la plus grosse, est utilisée pour le LVM. Si la machine a deux disques, on peut utiliser le deuxième comme PV aussi et créer un VG qui les agrège.

Exemple pour particulier

Voici un exemple typique de partitionnement :

Partition Taille Usage
sda1 256 MB EFI
sda2 512 MB boot ubuntu
sda3 512 MB boot manjaro
sda4 497 GB vg1
sdb 500 GB vg1

Dans cet exemple on a déclaré /dev/sda4 comme un PV, et /dev/sdb (tout le disque) comme un autre PV. Ces deux PVs sont agrégés dans un seul VG nommé vg1, de 980 GB.

Attention : si l’un des disques tombe en panne, tout le VG est perdu. C’est comme en RAID0. LVM permet de faire du LVMRAID mais ce n’est pas ce qui est décrit ici.

On peut ensuite découper vg1 en plusieurs LVs : un de 100 GB pour un ubuntu, un de 100 GB pour une manjaro, un de 700 GB pour le home et 80 GB inutilisés, qu’on garde si l’un des systèmes avait tout d’un coup besoin de plus d’espace ou qu’on voulait tester un autre système.

Thin-pool

Dans le cas de Proxmox, celui-ci crée en plus un thin-pool. C’est un LV virtuel auquel on peut assigner des LV.

L’idée est qu’on peut y mettre des LV dont la somme des tailles max dépasse la taille totale du pool : par exemple 10 LV de 100 GB chacun (pour un total de 1 TB) dans un pool de 500 GB. Ça fonctionne tant que la taille réellement utilisée reste inférieure à la taille du pool.

C’est utilisé par exemple pour faire croire à un système dans une VM qu’il a un espace de 40 GB sans le réserver réellement.

Et oui c’est dangereux, il faut bien surveiller qu’on ne dépasse pas l’espace physiquement disponible sinon on bloque tout.

Pour agrandir le storage de Proxmox il faudra redimensionner le LV thin nommé pve01-data.

Redimensionner le PV

Dans le cas de Michel, on avait un disque nvme0n1 partitionné en 3, dont la troisième était un PV de 450 GB dans un VG nommé pve01. Il y avait 500 GB de libre, inutilisés non-partionnés sur le disque.

La premiére étape est donc d’ajouter cet espace libre au LVM. Pour cela, deux possibilités : agrandir le PV nvme0n1p3, ou créer une nouvelle partition nvme0n1p4, en faire un PV et l’ajouter au vg.

Michel préfère ne pas complexifier son partionnement et agrandir p3.

Il faut alors faire une opération qui fait peur : supprimer la partition et la recréer, en plus grande.

Un homme suspendu dans le vide se retenant seulement avec une main Sensation ressentie lorsqu’on supprime une partition pour la redimensionner

Ça fonctionne parce que lorsqu’on supprime une partition, on ne supprime que sa définition, et pas les données. Si on recrée la nouvelle partition parfaitement par-dessus de la précédente, tout fonctionne bien.

Pour cela on utilise fdisk. On affiche les partitions avec p, on supprime la partition 3 avec d, on en recrée une nouvelle avec n. Là, on vérifie bien que le début de la partition correspond au début de celle qui existait avant. Pour la fin, on peut prendre la valeur par défaut pour utiliser tout l’espace disponible.

Danger : à la question Voulez-vous supprimer la signature de filesystem ?, bien répondre Non : on ne veut pas endommager les données.

Valider en affichant le résultat avec p puis valider avec w (pour write).

Et voilà, la nouvelle partition est agrandie. Par contre, LVM ne le sait pas. On va lui dire de prendre l’espace apparu dans la partition avec :

pvresize /dev/nvme0n1p3

Maintenant, on peut vérifier que l’espace a été ajouté au VG avec la commande vgs :

# sudo vgs
VG     #PV #LV  #SN Attr   VSize    VFree
pve01   1   53   0  wz--n- <451,37g 470,58g

On a bien 470 GB dans VFree.

Redimensionner le LV

À partir de là, redimensionner le LV est trivial :

lvresize -L +400G pve01-data

Nous avons décidé de conserver 70 GB de libre, au cas où le LV root de Proxmox aurait besoin d’être agrandi : il contient un storage pour les iso. Suivant quel sotrage sera plein en premier, on pourra facilement redimensionner le LV correspondant.

Note : pour redimensionner un LV qui contient un système de fichier (le root par exemple), il faut redimensionner ensuite le système de fichier. On peut passer –resizefs comme paramètre supplémentaire à lvresize pour le faire automatiquement sur les filesystems supportés. Sinon il faut redimensionner le LV puis passer les commandes spécifiques soi-même (xfs_growfs ou resize2fs par exemple).

Au final, on observe bien le nouvel espace disponible dans l’interface de Proxmox, en affichant les propriétés du storage.