Forum général.général demande d'aide pour interpréter les tailles des volumes

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
0
28
juil.
2020

Hello,

j'ai besoin d'aide pour comprendre des valeurs de taille de disque

j'ai des partitions qui sont montées avec des logical volume (lvm)

quand je fait mon df j'ai ca (df simple sans option)

Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/vg10-lv1001 74279928 123540 71109768 1% /maPartition

quand je fais des commandes liés au lvs, j'ai ca
cmd: lvs -a --noheadings --nosuffix -o lv_name,size,lv_attr --units g --separator ';' vg10
lv1001;72.00;-wa-ao----

cmd: lvs -a --noheadings --nosuffix -o lv_name,size,lv_attr --units G --separator ';' vg10
lv1001;77.31;-wa-ao----

d'une part je ne comprends pas quel est la différence entre le g et G et pourquoi je n'ai pas les meme valeurs

et avec la valeur de mon df (74279928) je ne vois pas comment ils tombent sur des 72.00 ou 77.31

si quelqu'un a une idée ?

PS: j'ai regardé les man, sur le lvs ca a l'air d'etre un multiple de 1000 au lieu des 1024 qu'on voit habituellement mais meme avec ca, je ne retombe pas sur mes pieds

voici ma distrib
Red Hat Enterprise Linux Server release 7.7 (Maipo)

  • # df -H

    Posté par  . Évalué à 3.

    et pourquoi pas un df -H

    marc@gigabyte:~$ df -H | grep /dev/sd
    /dev/sda5 39G 29G 8,4G 78% /
    /dev/sda1 536M 8,2M 528M 2% /boot/efi
    /dev/sda4 175G 98G 70G 59% /home
    /dev/sdb10 772G 568G 165G 78% /extra

    • [^] # Re: df -H

      Posté par  . Évalué à 1.

      ca ne correspond pas justement

      en faisant le -H, ca fait autant de division par 1024 jusqu'a avoir un nombre < a 1000

      dans mon cas

      ca fait 74279928 / 1024 = 75538.9922M
      puis 75538.9922 / 1024 = 70.8389G arrondis a 71G

      le resultat du df -h
      /dev/mapper/vg10-lv1001 71G 121M 68G 1% /maPartition

      • [^] # Re: df -H

        Posté par  . Évalué à 2. Dernière modification le 28 juillet 2020 à 17:23.

        et df -h ?

        atrix:/home/quinton# df -h | grep mapp
        /dev/mapper/vg0-root                         12G     11G  1,1G  91% /
        /dev/mapper/vg0-projet                       31G     15G   15G  50% /export/projet
        /dev/mapper/vg0-home                         14G    9,3G  3,8G  71% /export/home
        /dev/mapper/vg0-local                        55G     11G   41G  22% /local
        /dev/mapper/vg0-var                          34G     16G   17G  48% /var
        atrix:/home/quinton# lvs -a
          LV     VG  Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
          home   vg0 -wi-ao---- 14,00g                                                    
          local  vg0 -wi-ao---- 55,00g                                                    
          projet vg0 -wi-ao---- 31,00g                                                    
          root   vg0 -wi-ao---- 12,00g                                                    
          swap   vg0 -wi-a-----  2,00g                                                    
          var    vg0 -wi-ao---- 34,00g                                                    
          swap   vg1 -wi-ao---- 32,00g                    
        
      • [^] # Re: df -H

        Posté par  . Évalué à 3. Dernière modification le 28 juillet 2020 à 18:18.

        Tu utilises quel df? Parce que dans Debian 10, la manpage dit:

        -h, --human-readable
        print sizes in powers of 1024 (e.g., 1023M)
        -H, --si
        print sizes in powers of 1000 (e.g., 1.1G)

        Chez moi:

        % df -h
        Sys. de fichiers Taille Utilisé Dispo Uti% Monté sur
        udev               7,7G       0  7,7G   0% /dev
        tmpfs              1,6G    256K  1,6G   1% /run
        /dev/sda8           20G    9,5G  9,1G  52% /
        tmpfs              5,0M    4,0K  5,0M   1% /run/lock
        tmpfs              3,1G    188M  2,9G   6% /dev/shm
        /dev/sda6           30G    3,9G   25G  14% /var
        /dev/sda7           99G     83G   11G  89% /home
        tmpfs              4,0G    484K  4,0G   1% /tmp
        
        % df -H
        Sys. de fichiers Taille Utilisé Dispo Uti% Monté sur
        udev               8,3G       0  8,3G   0% /dev
        tmpfs              1,7G    263k  1,7G   1% /run
        /dev/sda8           22G     11G  9,8G  52% /
        tmpfs              5,3M    4,1k  5,3M   1% /run/lock
        tmpfs              3,3G    204M  3,1G   7% /dev/shm
        /dev/sda6           32G    4,2G   26G  14% /var
        /dev/sda7          106G     89G   12G  89% /home
        tmpfs              4,3G    496k  4,3G   1% /tmp
        

        df -H indique de plus grandes capacités, ce qui implique donc que ça utilise bien les ordres de grandeur du système international, pas les capacités que l'on aime (ou pas je suppose) en informatique.

        C'est bien pour ça que je précise les versions de mon système, on a vite fait de se retrouver avec des résultats différents (ce qui est super quand on essaie de scripter un peu proprement d'ailleurs).

  • # peut-etre une réponse

    Posté par  . Évalué à 2.

    je pense avoir compris (mais je ne suis pas sûr)

    sur la commande df, on doit avoir l'espace disponible pour les données en fonction de chaque type de filesystem, ce qui correspond a la taille du disque moins les données consommé pour la gestion du FS (table d'allocation, historique, etc …. )

    alors que la commande lvs donne la taille du disque "physique"

    donc il n'est pas possible de retrouver la taille reel du disque a partir du df.

    PS: le but est de faire de l'automatisation, donc il faut que je soit precis
    dans mon cas, je faisait de l'ansible, et je recouperait la taille de la partition, je vais partir sur la taille du lv et ca devrait mieux marcher

    merci pour votre aide

    • [^] # Re: peut-etre une réponse

      Posté par  . Évalué à 2.

      Moui… mais je doute que ça se limite a ça… tu appelles quoi "précis" au juste?

      Tous les systèmes de fichier que je connais allouent des blocs au fichiers, et un seul fichier peut résider par bloc.
      Si ton FS est configuré pour avoir des blocs de 4Kio et que tu as 1000 fichiers d'1 octet, tu auras bel et bien 4000Kio d'utilisés, sans même prendre en compte l'espace utilisé par les structures du FS lui-même.

      Je pense que, si le but est d'automatiser, les deux données les plus pertinentes à remonter sont, justement, le nombre de blocs et d'inodes libres restants, pas l'espace disque réel.

      • [^] # Re: peut-etre une réponse

        Posté par  . Évalué à 2.

        le but de faire un formulaire pour augmenter un file system et d'automatiser l'action

        pour cela j'ai un formulaire dans lequel je demande la partition et le nombre de giga supplémentaire

        en temps normal on fait un lvextend -r -L +1G et ca marche tout seul
        sur ansible on ne peux pas faire de l'incrémentale (la fonction lvol fonctionne qu'avec une taille fixe)

        donc on doit récuperer la taille du FS, ajouter le nombre de giga et invoquer la fonction lvol avec le resultat de l’opération

        on s'est rendu compte que pour des petits ajouts, ca ne fonctionne pas

        par exemple dans mon cas, les 72G de disque correspond a 70.86G avec le df, si on ajoute 1g ca fait 71.86G, du coup ca ne faisait rien on ne comprenait pas pourquoi

        on a réussit a s'en sortir en trouvant la taille du disque et non celle de la partition

  • # Bloc réservés

    Posté par  . Évalué à 2.

    As‐tu tenu compte des blocs réservés pour root ?

    Au moins sur ext4 (et ses prédécesseurs), une certaine place est réservée à root. Par défaut, c’est 5 %, ce qui peut faire beaucoup sur de gros disques. L’option -m permet de spécifier moins.

    df indique la place disponible pour les utilisateurs, donc minorée de la partie réservée pour root.

    « Le fascisme c’est la gangrène, à Santiago comme à Paris. » — Renaud, Hexagone

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.