Skip to main content

Utilisation LVM pour baie 6 Tera

Pour utiliser pleinement les 6 téra-octets de la baie il est intéressant (indispensable ?) d'utiliser LVM. Ce petit tutorial présente la mise en place complète depuis le formatage du disque. Attention, ici tout s'effectue en mode console ... car j'ai tenté une config avec les outils graphiques mais seuls 2TO ont été utilisés !

D'abord on efface tout !
#parted /dev/sde
mklabel gpt
Warning: The existing disk label on /dev/sde will be destroyed and all data on
this disk will be lost. Do you want to continue?
Yes/No? y                                                                
Error: Partition(s) 1 on /dev/sde have been written, but we have been unable to
inform the kernel of the change, probably because it/they are in use.  As a
result, the old partition(s) will remain in use.  You should reboot now before
making further changes.

On reboote donc pour ne pas prendre de risques, tiens on se croisait sous W...
On crée ensuite notre partition toujours en mode console :
# parted /dev/sde
rm 1                            -- pour détruire la partition existante
mkpart primary EXT4 127 -1      -- EXT4 pour mettre quelque chose 0=debut -1=fin
print
Model: ATA SMART RAID 5 (scsi)
Disk /dev/sde: 6001GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number  Start   End     Size    File system  Name  Flags
 1      127kB  6001GB  6001GB
align-check opt 1                                               
1 aligned
quit


Par prudence on effectue un petit contrôle :
# parted /dev/sde
GNU Parted 2.3
Using /dev/sde
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print                                                           
Model: ATA SMART RAID 5 (scsi)
Disk /dev/sde: 6001GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number  Start  End     Size    File system  Name     Flags
 1      127MB  6001GB  6001GB               primary
(parted) quit 
      

On a donc bien une partition de 6To bien alignée !
A ce point il est préférable de rebooter pour que le système reconnaisse bien ce nouveau périphérique.
On a donc bien une partition de 6To bien alignée ! Soit environ 5,46 TiB ...
Un reboot plus tard ... on passe à LVM en initialisant notre volume physique (j'ai mis 5,43TiB pour ne pas prendre de risque d'arrondi sur la taille) :
# pvcreate /dev/sde1 --setphysicalvolumesize 5,43TiB
  Writing physical volume data to disk "/dev/sde1"
  Physical volume "/dev/sde1" successfully created

Et on vérifie !
# pvdisplay /dev/sde1
  "/dev/sde1" is a new physical volume of "5,43 TiB"
  --- NEW Physical volume ---
  PV Name               /dev/sde1
  VG Name              
  PV Size               5,43 TiB
  Allocatable           NO
  PE Size               0  
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               WpXKr9-h2dV-ZoJG-hsEe-QxZb-1Skw-AbgW0Y


On affecte notre nouveau PV à un Volume Group :
# vgcreate TALE /dev/sde1
   Volume group "TALE" successfully created


et on re-vérifie :
# vgdisplay TALE
  --- Volume group ---
  VG Name               TALE
  System ID            
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  1
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                0
  Open LV               0
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               5,43 TiB
  PE Size               4,00 MiB
  Total PE              1423441
  Alloc PE / Size       0 / 0  
  Free  PE / Size       1423441 / 5,43 TiB
  VG UUID               Gfbz5t-Gqlr-hQyp-dRGl-zaPE-QkqE-1VzI5C


Maintenant on va aller voir dans l'interface graphique LVM ce qu'il nous dit !
Dès le lancement il "voit" le VG "TALE" contenant 0 volume logique, c'est conforme et "Ô merveille" le volume fait bien 5,46Tib.
On peut maintenant créer un Volume Logique de 500Go nommé "TEST" dans notre VG et vérifier :
# lvcreate -L 500G -n TEST TALE
  Logical volume "TEST" created

# lvdisplay TALE
  --- Logical volume ---
  LV Name                /dev/TALE/TEST
  VG Name                TALE
  LV UUID                QH8EjL-t7Qs-X5lH-PW40-7FFR-Juym-b30D4I
  LV Write Access        read/write
  LV Status              available
  # open                 0
  LV Size                500,00 GiB
  Current LE             128000
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:33


Et on le formate en EXT4 :
# mkfs -t ext4 -b 4096 -j -m 5 -L TALE_0 -O dir_index,extent /dev/mapper/TALE-TEST
mke2fs 1.42 (29-Nov-2011)
Étiquette de système de fichiers=TALE_0
Type de système d'exploitation : Linux
Taille de bloc=4096 (log=2)
Taille de fragment=4096 (log=2)
« Stride » = 0 blocs, « Stripe width » = 0 blocs
32768000 i-noeuds, 131072000 blocs
6553600 blocs (5.00%) réservés pour le super utilisateur
Premier bloc de données=0
Nombre maximum de blocs du système de fichiers=4294967296
4000 groupes de blocs
32768 blocs par groupe, 32768 fragments par groupe
8192 i-noeuds par groupe
Superblocs de secours stockés sur les blocs :
    32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
    4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
    102400000

Allocation des tables de groupe : complété                       
Écriture des tables d'i-noeuds : complété                       
Création du journal (32768 blocs) : complété
Écriture des superblocs et de l'information de comptabilité du système de
fichiers : complété


Pour faire reconnaître notre volume (sans rebooter) on lance un petit coup de "vgchange -a y" avant de tenter le montage :
# mount /dev/mapper/TALE-TEST /mnt
# df -k /mnt
Sys. fich.            1K-blocks  Util. Disponible Uti% Monté sur
/dev/mapper/TALE-TEST 516061624 202520  489644704   1% /mnt


C'est le pied, voyons s'il tient au reboot !
Ouaah !!! J'ai vu apparaître un volume dans la séquence de démarrage, vérifions vite :
# lvdisplay TALE
  --- Logical volume ---
  LV Name                /dev/TALE/TEST
  VG Name                TALE
  LV UUID                QH8EjL-t7Qs-X5lH-PW40-7FFR-Juym-b30D4I
  LV Write Access        read/write
  LV Status              available
  # open                 0
  LV Size                500,00 GiB
  Current LE             128000
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:0


Il est toujours là et semble bien accroché, et il se monte fort bien ... il est temps lancer quelques tests, le plus rapide notre favori "dd"  en écriture :
dd if=/dev/zero of=/TALE/test bs=4096 count=4194304
4194304+0 enregistrements lus
4194304+0 enregistrements écrits
17179869184 octets (17 GB) copiés, 213,531 s, 80,5 MB/s


La vitesse en écriture est identique avec ou sans LVM ! voyons voir en lecture :
dd if=/TALE/test of=/dev/null bs=4096
4194304+0 enregistrements lus
4194304+0 enregistrements écrits
17179869184 octets (17 GB) copiés, 109,468 s, 157 MB/s


Et en lecture c'est aussi bon ! Ce n'est pas un SSD mais ça dépote quand même.
On va pouvoir gérer facilement l'espace de cette unité en utilisant LVM sans aucun autre artifice.

Attention "parted" ne "voit" plus rien dans le volume !
# parted /dev/sde
GNU Parted 2.3
Using /dev/sde
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print                                                           
Error: /dev/sde: unrecognised disk label                                 
(parted) quit     
                  

GPARTED affiche le disque comme "unallocated", ce qui m'a bien trompé au début, mais le disque est parfaitement accessible et notre LV est bien présent et utilisable.
La configuration graphique de LVM ("system-config-lvm") affiche parfaitement la nouvelle unité et on peut s'en servir pour allouer d'autres LV.