Comment réduire un système de fichiers XFS? [fermé]

11

Nous avons un serveur RHEL 7 avec 2 disques ( sdaet sdb). Notre /, /var/loget swapsont allumés sda, /varest allumé sdb. Nous utilisons LVM et XFS.

sdaest trop grand (160 Go) et nous aimerions le réduire à 40 Go. Nous pouvons ensuite utiliser les 120 Go gratuits pour étendre sdb.

[root@foo ~]# pvs
  PV         VG        Fmt  Attr PSize   PFree
  /dev/sda2  rhel      lvm2 a--  134.77g 9.77g
  /dev/sdb1  vg_var    lvm2 a--  200.00g    0


[root@foo ~]# lvs
  LV        VG        Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root      rhel      -wi-ao---- 117.19g
  swap      rhel      -wi-ao----   3.91g
  var_log   rhel      -wi-ao----   3.91g
  lv_var    vg_var    -wi-ao---- 200.00g

[root@foo ~]# fdisk -l

Disk /dev/sdb: 214.7 GB, 214748364800 bytes, 419430400 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 label type: dos
Disk identifier: 0x3235298e

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048   419430399   209714176   8e  Linux LVM

Disk /dev/sda: 161.1 GB, 161061273600 bytes, 314572800 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 label type: dos
Disk identifier: 0x0009b153

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     1026047      512000   83  Linux
/dev/sda2         1026048   283656191   141315072   8e  Linux LVM

Disk /dev/mapper/rhel-root: 125.8 GB, 125829120000 bytes, 245760000 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/rhel-swap: 4194 MB, 4194304000 bytes, 8192000 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/vg_var-lv_var: 214.7 GB, 214744170496 bytes, 419422208 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/rhel-var_log: 4194 MB, 4194304000 bytes, 8192000 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

Comment pouvons-nous y parvenir en toute sécurité? J'ai essayé cela avec une machine de test, mais cela a échoué:

  1. Ajouter un nouveau disque
  2. Créez une partition LVM, pvcreate et ajoutez un nouveau LV dessus.
  3. Démarrage avec disque de secours
  4. Monter sdaà /mnt/sysimageet monter le LV du nouveau disque/mnt/sdb
  5. cp -ax /mnt/sysimage/* /mnt/sdb
  6. Mise /mnt/sysimage/etc/fstabà jour à utiliser/dev/mapper/rhel-lv_root
  7. Enfin, le redémarrage échoue en raison de INT18 boot failure
EsTeGe
la source
2
La question n'a pas de sens. / dev / sda et / dev / sdb sont des disques durs. Leur taille est déterminée par la façon dont ils sont fabriqués et ne peuvent pas être modifiés.
psusi
1
@psusi Théoriquement, vous pouvez avoir un disque dur sans table de partition que vous utilisez ensuite comme une seule partition mais je doute que c'est ce que fait OP ici.
phk

Réponses:

15

Actuellement, [2019] les systèmes de fichiers XFS ne peuvent pas être réduits.

http://xfs.org/index.php/Shrinking_Support

Voici ce qui est dit sur le site RH:

  • Il n'est actuellement pas possible de réduire la taille d'une partition ou d'un volume logique avec le système de fichiers xfs. Si vous êtes intéressé par cette fonctionnalité, veuillez contacter le support Red Hat et faire référence à Red Hat bugzilla 1062667, et fournissez votre cas d'utilisation pour avoir besoin d'une réduction / réduction XFS.
  • Comme solution de contournement possible dans certains environnements, les volumes LVM à provisionnement fin peuvent être considérés comme une couche supplémentaire sous le système de fichiers XFS.

https://access.redhat.com/solutions/540013

cbiddey
la source
2
Plus de détails sur la solution de contournement seraient les bienvenus. Le lien vers redhat.com n'est pas accessible aux non-abonnés.
Jonas Kongslund
-12

Je pense que vous pouvez redimensionner le LVM comme ci-dessous

  1. Démarrage avec disque de secours
  2. Utilisez resize2fs pour réduire le système de fichiers
  3. Utilisez lvresize pour réduire le volume logique
  4. utiliser pvresize pour réduire le volume physique
  5. À ce stade, vous devrez peut-être utiliser des outils de partition pour réduire la partition afin de créer de l'espace libre
  6. Une fois la nouvelle partition créée, utilisez pvcreate pour créer un nouveau volume
  7. utilisez vgextend pour étendre votre volume sur / dev / sdb
  8. utilisez lvextend pour étendre le système de fichiers / var

Je proposerai d'essayer ceci sur un système d'essai pour éviter d'éventuelles pertes de données.

Faites-moi savoir si cette procédure a été utile.

Arka Vansh
la source
13
Les systèmes de fichiers XFS ne peuvent pas être réduits en taille. resize2fsest pour les systèmes de fichiers ext.
TopHat