Page 1 sur 1

[LVM] Convertir VG (Résolu)

Publié : mar. 26 févr. 2013, 16:42
par aquemy
Bonjour à tous,

Nouveau petit soucis avec LVM. Je n'ai pas trouvé de ressource sur internet pour une telle question et donc je doute de la faisabilité de la chose.
Alors voila, j'ai un SSD (sda) avec une partition de boot (sda1) et une seconde partition (sda2) avec LVM par dessus. J'ai un vg nommé HTPC, composé de 4 lv : HTPC-lvroot, lvhome, lvvar, lvswap.

J'ai également un second disque dur (sdb) composé d'une partition unique (sdb1) qui accueille un vg nommé Server et composé de 4 lv au même nom que le premier.

Ce que j'aimerai réaliser, c'est d'une part supprimer Server-lvroot, lvvar et lvswap mais ça pas de soucis. D'autre part, j'aimerais rajouter le second disque dur, et plus particulièrement que Server soit converti en HTPC, ou tout du moins que Server-lvhome soit rajouté à HTPC-lvhome.

L'objectif final est d'avoir le vg HTPC sur sda2 et sdb1 (soit l'intégralité des deux disques, à l'exception de la partition de boot sur sda1) et que HTPC-lvhome puisse donc s'étendre sur les deux disques.
Actuellement je profite du SSD avec lvroot et lvvar (prévue très grande donc pas de redimensionnement prévu) mais je suis un peu à l'étroit pour HTPC-lvhome et j'ai 670Go de données à ne pas perdre sur Server-lvhome...

L'opération est-elle réalisable simplement et comment ?

Quelque commandes pour mieux voir :4

PARTITIONS

Code : Tout sélectionner

[root@htpc ~]# fdisk -l

WARNING: GPT (GUID Partition Table) detected on '/dev/sdb'! The util fdisk doesn't support GPT. Use GNU Parted.


Disk /dev/sdb: 2000.4 GB, 2000398934016 bytes, 3907029168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x00000000

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1  3907029167  1953514583+  ee  GPT
Partition 1 does not start on physical sector boundary.

WARNING: GPT (GUID Partition Table) detected on '/dev/sdc'! The util fdisk doesn't support GPT. Use GNU Parted.


Disk /dev/sdc: 200.0 GB, 200049647616 bytes, 390721968 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

   Device Boot      Start         End      Blocks   Id  System
/dev/sdc1               1   390721967   195360983+  ee  GPT

WARNING: GPT (GUID Partition Table) detected on '/dev/sdd'! The util fdisk doesn't support GPT. Use GNU Parted.


Disk /dev/sdd: 200.0 GB, 200049647616 bytes, 390721968 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

   Device Boot      Start         End      Blocks   Id  System
/dev/sdd1               1   390721967   195360983+  ee  GPT

WARNING: GPT (GUID Partition Table) detected on '/dev/sda'! The util fdisk doesn't support GPT. Use GNU Parted.


Disk /dev/sda: 128.0 GB, 128035676160 bytes, 250069680 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1   250069679   125034839+  ee  GPT

Disk /dev/mapper/HTPC-lvroot: 16.1 GB, 16106127360 bytes, 31457280 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/mapper/HTPC-lvvar: 21.5 GB, 21474836480 bytes, 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/mapper/HTPC-lvswap: 2147 MB, 2147483648 bytes, 4194304 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/mapper/HTPC-lvhome: 88.2 GB, 88197824512 bytes, 172261376 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/mapper/Server-lvroot: 16.1 GB, 16106127360 bytes, 31457280 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes


Disk /dev/mapper/Server-lvvar: 16.1 GB, 16106127360 bytes, 31457280 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes


Disk /dev/mapper/Server-lvswap: 2147 MB, 2147483648 bytes, 4194304 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes


Disk /dev/mapper/Server-lvhome: 751.6 GB, 751619276800 bytes, 1468006400 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes


Disk /dev/md127: 199.9 GB, 199914225664 bytes, 390457472 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/mapper/Save-lvsave: 199.9 GB, 199913111552 bytes, 390455296 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
LVM

Code : Tout sélectionner

[root@htpc ~]# pvs
  PV         VG     Fmt  Attr PSize   PFree
  /dev/md127 Save   lvm2 a--  186.18g    0 
  /dev/sda2  HTPC   lvm2 a--  119.14g    0 
  /dev/sdb1  Server lvm2 a--    1.82t 1.10t

Code : Tout sélectionner

[root@htpc ~]# pvs
  PV         VG     Fmt  Attr PSize   PFree
  /dev/md127 Save   lvm2 a--  186.18g    0 
  /dev/sda2  HTPC   lvm2 a--  119.14g    0 
  /dev/sdb1  Server lvm2 a--    1.82t 1.10t
[root@htpc ~]# vgs
  VG     #PV #LV #SN Attr   VSize   VFree
  HTPC     1   4   0 wz--n- 119.14g    0 
  Save     1   1   0 wz--n- 186.18g    0 
  Server   1   4   0 wz--n-   1.82t 1.10t

Code : Tout sélectionner

[root@htpc ~]# lvs
*  LV     VG     Attr      LSize   Pool Origin Data%  Move Log Copy%  Convert
  lvhome HTPC   -wi-ao---  82.14g                                           
  lvroot HTPC   -wi-ao---  15.00g                                           
  lvswap HTPC   -wc-ao---   2.00g                                           
  lvvar  HTPC   -wi-ao---  20.00g                                           
  lvsave Save   -wi-a---- 186.18g                                           
  lvhome Server -wi-a---- 700.00g                                           
  lvroot Server -wi-a----  15.00g                                           
  lvswap Server -wc-a----   2.00g                                           
  lvvar  Server -wi-a----  15.00g
DIVERS

Code : Tout sélectionner

[root@htpc ~]#  file -s -L /dev/mapper/Server-lvhome
/dev/mapper/Server-lvhome: Linux rev 1.0 ext4 filesystem data, UUID=4e06041e-26f8-499e-b9d3-7ba8f999ddd9 (extents) (large files) (huge files)
[root@htpc ~]#  file -s -L /dev/mapper/HTPC-lvhome
/dev/mapper/HTPC-lvhome: Linux rev 1.0 ext4 filesystem data, UUID=8359b29a-c0d0-4ef7-88a9-21a8c165ccb4 (needs journal recovery) (extents) (large files) (huge files)

Code : Tout sélectionner

[root@htpc ~]# df -h /dev/mapper/Server-lvhome 
Filesystem                 Size  Used Avail Use% Mounted on
/dev/mapper/Server-lvhome  690G  600G   55G  92% /mnt/Tmp
[root@htpc ~]# df -h /dev/mapper/HTPC-lvhome   
Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/HTPC-lvhome   81G   64G   13G  84% /home
Merci pour votre aide.

Par ailleurs, j'en profite pour poser la question suivante :
Que signifie : needs journal recovery dans la sortie de la commande un peu plus haut ?

Re: [LVM] Convertir VG

Publié : mar. 26 févr. 2013, 19:05
par aquemy
Rebonjour,

J'ai donc résolu le problème grâce à vgmerge.
Voici la marche à suivre si cela peut aider quelqu'un :

1- Supprimer les lv inutiles avec lvremove
2- Renommer les lv à garder pour éviter un conflit de nom avec lvrename
3- Désactiver le vg source (celui qui va être supprimé) :

Code : Tout sélectionner

[root@htpc ~]# vgchange -a n Server
  0 logical volume(s) in volume group "Server" now active
4- Utiliser vgmerge pour fusionner les vg en un seul (et ajouter de fait pv sur lequel est le vg puisque c'était ma grande interrogation)

Code : Tout sélectionner

[root@htpc ~]# vgmerge -v HTPC Server
    Checking for volume group "HTPC"
    Checking for volume group "Server"
    Archiving volume group "Server" metadata (seqno 17).
    Archiving volume group "HTPC" metadata (seqno 5).
    Writing out updated volume group
    Creating volume group backup "/etc/lvm/backup/HTPC" (seqno 6).
  Volume group "Server" successfully merged into "HTPC"
Une petite vérification :

Code : Tout sélectionner

[root@htpc ~]# pvs
  PV         VG   Fmt  Attr PSize   PFree
  /dev/md127 Save lvm2 a--  186.18g    0 
  /dev/sda2  HTPC lvm2 a--  119.14g    0 
  /dev/sdb1  HTPC lvm2 a--    1.82t 1.14t
[root@htpc ~]# lvs
  LV         VG   Attr      LSize   Pool Origin Data%  Move Log Copy%  Convert
  lvhome     HTPC -wi-ao---  82.14g                                           
  lvhomesave HTPC -wi-a---- 700.00g                                           
  lvroot     HTPC -wi-ao---  15.00g                                           
  lvswap     HTPC -wc-ao---   2.00g                                           
  lvvar      HTPC -wi-ao---  20.00g                                           
  lvsave     Save -wi-a---- 186.18g   
Il ne me reste plus qu'à étendre lvhome pour copier lvhomesave et supprimer lvhome save par la suite. Je proccède de cette manière pour éviter les conflits puisque l'architecture des dossiers est la même sur les deux lv et il y aura potentiellement des conflits.

Voila.