« GESTION DISQUE » : différence entre les versions

De TwisterWiki
Aucun résumé des modifications
Ligne 48 : Ligne 48 :
* parted /dev/sda resizepart 2
* parted /dev/sda resizepart 2
* resize2fs /dev/sda2
* resize2fs /dev/sda2
== LVM ==
=== LVM c'est quoi ? ===
* le LVM est une gestion des disques par des volumes logiques et modifiable à chaud
il y a trois termes à connaître
PV : Les disques durs, partitions de disques durs, volumes RAID ou unités logiques provenant d'un SAN forment des « volumes physiques » (physical volumes ou PV).
VG : On concatène les volumes physiques dans des « groupes de volumes » (volume groups ou VG). Ces VG sont équivalents à des pseudo-disques-durs.
LV : Des « volumes logiques » (logical volumes ou LV) sont alors découpés dans les groupes de volumes, puis formatés et montés dans des systèmes de fichiers ou utilisés en tant que raw devices.
Les LV sont équivalents à des pseudo-partitions.
* schema explicatif
[[Fichier: LVM_exemple1.png]]  [[Fichier: LVM_exemple2.png]]
=== les commandes utiles ===
* vgscan : scan les partitions LVM
root@debian:~# vgscan
  Reading all physical volumes.  This may take a while...
  Found volume group "VG_home" using metadata type lvm2
  Found volume group "VG_root" using metadata type lvm2
* vgchange -ay <monvolumeLVM> :  permet d'activer la partition LVM voulue
* lvs : affiche le nom logique de la partition LVM
root@debian:~# lvs
  LV  VG      Attr      LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  home VG_home -wi-ao---- <2,96g                                                   
  root VG_root -wi-ao---- 11,17g
* vgdisplay:  affiche des informations sur les VG
root@debian:~# vgdisplay
  --- Volume group ---
  VG Name              VG_home
  System ID           
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  5
  VG Access            read/write
  VG Status            resizable
  MAX LV                0
  Cur LV                1
  Open LV              1
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size              10,95 GiB
  PE Size              4,00 MiB
  Total PE              2804
  Alloc PE / Size      2804 / 10,95 GiB
  Free  PE / Size      0 / 0 
  VG UUID              1CWo34-pSCo-xm7c-3oDe-Bm1g-ssZv-lc6l3l
 
  --- Volume group ---
  VG Name              VG_root
  System ID           
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  2
  VG Access            read/write
  VG Status            resizable
  MAX LV                0
  Cur LV                1
  Open LV              1
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size              11,17 GiB
  PE Size              4,00 MiB
  Total PE              2860
  Alloc PE / Size      2860 / 11,17 GiB
  Free  PE / Size      0 / 0 
  VG UUID              0mBEyB-ulvn-uAlV-PLgX-Ukj0-Nyou-P75k1j
* lvdisplay : affiche des informations sur les LV
root@debian:~# lvdisplay
  --- Logical volume ---
  LV Path                /dev/lv_home/home
  LV Name                home
  VG Name                lv_home
  LV UUID                ksr3xP-1TMw-HmYl-i9bn-sbaV-D4xj-JEgQut
  LV Write Access        read/write
  LV Creation host, time debian, 2020-06-25 11:56:28 +0200
  LV Status              available
  # open                1
  LV Size                10,95 GiB
  Current LE            2804
  Segments              2
  Allocation            inherit
  Read ahead sectors    auto
  - currently set to    256
  Block device          254:1
 
  --- Logical volume ---
  LV Path                /dev/lv_root/root
  LV Name                root
  VG Name                lv_root
  LV UUID                ebhyTn-QKjr-RZoc-AJob-o7FM-CidW-UMNtsw
  LV Write Access        read/write
  LV Creation host, time debian, 2020-06-25 11:56:42 +0200
  LV Status              available
  # open                1
  LV Size                11,17 GiB
  Current LE            2860
  Segments              1
  Allocation            inherit
  Read ahead sectors    auto
  - currently set to    256
  Block device          254:0
=== ajouter de l'espace===
* comment ajouter de l'espace à un volume LVM
il faut en premier lieu augmenter la taille du disque
*exemple on ajoute une partition /dev/sda5
pvcreate /dev/sda5
* on agrandit le VG
vgextend monVolumeGroup /dev/sda5
* ajouter l'espace au volumeLogique
  lvresize --size +500G /dev/mapper/monVolumeGroup-monLogicalVolume
* extension du VolumeLogique sur la prtition ajoutée
lvextend /dev/mapper/monVolumeGroup-monLogicalVolume /dev/sda5
* agrandissement du file system
resize2fs /dev/mapper/monVolumeGroup-monLogicalVolume
=== Exemple d'ajout d'espace ===
* nous avons un disque de 16Go avec 2 VG (VG_root et VG_home) et une swap
** /dev/sda1 : swap
** /dev/mapper/VG_root-root : 11,2 GiB (/dev/sda2)
** /dev/mapper/VG_home-home : 3 GiB (/dev/sda5)
root@debian:~# fdisk -l
Disque /dev/sda : 16 GiB, 17179869184 octets, 33554432 secteurs
Modèle de disque : VBOX HARDDISK 
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
Type d'étiquette de disque : dos
Identifiant de disque : 0xd741f2c0
Périphérique Amorçage    Début      Fin Secteurs Taille Id Type
/dev/sda1    *            2048  3905535  3903488  1,9G 82 partition d'échange Linux / Solaris
/dev/sda2              3905536 27342847 23437312  11,2G 8e LVM Linux
/dev/sda3            27344894 33552383  6207490    3G  5 Étendue
/dev/sda5            27344896 33552383  6207488    3G 8e LVM Linux
Disque /dev/mapper/VG_root-root : 11,2 GiB, 11995709440 octets, 23429120 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/mapper/VG_home-home : 3 GiB, 3175088128 octets, 6201344 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
* Nous avons ajouter un second disque de 8Go pour étendre /home (sdb)
root@debian:~# fdisk -l
Disque /dev/sda : 16 GiB, 17179869184 octets, 33554432 secteurs
Modèle de disque : VBOX HARDDISK 
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
Type d'étiquette de disque : dos
Identifiant de disque : 0xd741f2c0
Périphérique Amorçage    Début      Fin Secteurs Taille Id Type
/dev/sda1    *            2048  3905535  3903488  1,9G 82 partition d'échange Linux / Solaris
/dev/sda2              3905536 27342847 23437312  11,2G 8e LVM Linux
/dev/sda3            27344894 33552383  6207490    3G  5 Étendue
/dev/sda5            27344896 33552383  6207488    3G 8e LVM Linux
Disque /dev/sdb : 8 GiB, 8589934592 octets, 16777216 secteurs
Modèle de disque : VBOX HARDDISK 
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/mapper/VG_root-root : 11,2 GiB, 11995709440 octets, 23429120 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/mapper/VG_home-home : 3 GiB, 3175088128 octets, 6201344 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
==== Création de la partition sdb1 ====
* on créer une partition primaire classique avec l'outils fdisk ou cfdisk
* on crée un volume physique lvm avec la commande pvcreate
root@debian:~# pvcreate /dev/sdb1
  Physical volume "/dev/sdb1" successfully created.
root@debian:~# pvs
  PV        VG      Fmt  Attr PSize  PFree
  /dev/sda2  VG_root lvm2 a--  11,17g    0
  /dev/sda5  VG_home lvm2 a--  <2,96g    0
  /dev/sdb1          lvm2 ---  <8,00g <8,00g
* on ajoute la partition /dev/sdb1 au volume group lv_home
root@debian:~# vgextend VG_home /dev/sdb1
  Volume group "VG_home" successfully extended
* on agrandit la taille de /home
root@debian:~# lvresize --size +8G /dev/mapper/VG_home-home
  Insufficient free space: 2048 extents needed, but only 2047 available
root@debian:~# lvresize  --extents +2047 /dev/mapper/VG_home-home
  Size of logical volume VG_home/home changed from <2,96 GiB (757 extents) to 10,95 GiB (2804 extents).
  Logical volume VG_home/home successfully resized.
* on voit que le volume groupe à été augmenté de 8Go
root@debian:~# lvs
  LV  VG      Attr      LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  home VG_home -wi-ao---- 10,95g                                                   
  root VG_root -wi-ao---- 11,17g
* dernière étape on augmente la taille du file_system sur le LV
root@debian:~# resize2fs /dev/mapper/VG_home-home
resize2fs 1.44.5 (15-Dec-2018)
Filesystem at /dev/mapper/VG_home-home is mounted on /home; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 2
The filesystem on /dev/mapper/VG_home-home is now 2871296 (4k) blocks long.
root@debian:~# df -h
Sys. de fichiers        Taille Utilisé Dispo Uti% Monté sur
udev                      983M      0  983M  0% /dev
tmpfs                      200M    3,0M  197M  2% /run
/dev/mapper/VG_root-root    11G    1,5G  9,0G  14% /
tmpfs                      998M      0  998M  0% /dev/shm
tmpfs                      5,0M      0  5,0M  0% /run/lock
tmpfs                      998M      0  998M  0% /sys/fs/cgroup
/dev/mapper/VG_home-home    11G    15M  11G  1% /home
tmpfs                      200M      0  200M  0% /run/user/0

Version du 8 juillet 2020 à 08:03

Ajout d'un disque à chaud

  • La commande suivante va permettre de lancer un scan sur tous les channels SATA et donc de reconnaitre un nouveau disque
echo "- - -" >/sys/class/scsi_host/hostX/scan

Supprimer un disque à chaud

  • ATTENTION Il faut être certain du disque que l'on retire
echo "1" >/sys/class/scsi_host/hostX/device/target0:0:0/0:0:0:0/delete

Relire la table des partitions

partprobe qui fait parti du paquet parted sous debian

trouver le UUID d'une partition

ls -l /dev/disk/by-uuid/
vol_id -u /dev/hdc1
tune2fs -l /dev/hdc1 | grep UUID

Mulitpath

  • connaitre le wwid d'un volume
multipath -l

Dec 26 16:05:20 | multipath.conf line 33, invalid keyword: path_checker
db2instance (360001440000000102048d9256bfc8b28) dm-0 EMC,Invista
size=15G features='1 queue_if_no_path' hwhandler='0' wp=rw
`-+- policy='round-robin 0' prio=1 status=active
  |- 1:0:0:2 sdc 8:32  active ready running
  |- 3:0:0:2 sdi 8:128 active ready running
  |- 1:0:1:2 sdf 8:80  active ready running
  `- 3:0:1:2 sdl 8:176 active ready running
db2indextext (360001440000000102048d9256bfc8b1e) dm-1 EMC,Invista
size=20G features='1 queue_if_no_path' hwhandler='0' wp=rw
`-+- policy='round-robin 0' prio=1 status=active
  |- 1:0:0:0 sda 8:0   active ready running
  |- 3:0:0:0 sdg 8:96  active ready running
  |- 1:0:1:0 sdd 8:48  active ready running
  `- 3:0:1:0 sdj 8:144 active ready running
db2data (360001440000000102048d9256bfc8b23) dm-2 EMC,Invista
size=600G features='1 queue_if_no_path' hwhandler='0' wp=rw
`-+- policy='round-robin 0' prio=1 status=active
  |- 1:0:0:1 sdb 8:16  active ready running
  |- 3:0:0:1 sdh 8:112 active ready running
  |- 1:0:1:1 sde 8:64  active ready running
  `- 3:0:1:1 sdk 8:160 active ready running

Augmenter la taille d'un disque

  • parted /dev/sda resizepart 2
  • resize2fs /dev/sda2