web-dev-qa-db-fra.com

Comment puis-je réduire un volume logique et réaffecter l'espace libéré dans une nouvelle partition sur le même lecteur?

J'ai un lecteur, SDA. Il a deux partitions:

sda1: /boot
sda2: LVM managed in Volume Group volgrp01

volGRP01 contient les volumes logiques suivants:

lv_root (30 GB)
lv_swap (8 GB)
lv_scratch (430 GB)

Ce que je veux faire, c'est réduire lv_scratch à 50 Go et réaffecter ce nouvellement libéré 380 Go dans une nouvelle partition, SDA3 (que je vais ajouter ensuite à un autre groupe de volumes).

J'ai attaché une image de mon désiré avant et après. Je suis en plein milieu de l'apprentissage à propos de LVM et je peux saisir l'idée de redimensionner des volumes logiques au sein d'un groupe de volumes, je ne sais pas comment on réaffecterait cet espace dans une nouvelle partition.

J'utilise Rhel6.

enter image description here

7
CptSupermrkt

Étape 1: Faire des sauvegardes.

Je sais, la plupart des gens ignorent cette étape, mais vous apportez des modifications pouvant entraîner une perte de données majeure si vous vous bousillez et que vous prenez des conseils d'un étranger aléatoire sur Internet. Vous sont responsables de la sécurité de vos données. Je ne suis pas.

Étape 2: Rétrécissez le système de fichiers dans lv_scratch. Si c'est un système de fichiers ext2/3/4, démontez-le et utilisez resize2fs; Si c'est autre chose, vous devrez rechercher la documentation sur le redimensionnement de ce type de système de fichiers.

Par exemple:

resize2fs /dev/volgrp01/lv_scratch 50G

Quand c'est fait (en supposant que vous utilisez resize2fs), ça va vous dire la nouvelle taille du système de fichiers en octets. Notez de ce numéro, car vous pouvez l'utiliser pour une vérification de sécurité à l'étape suivante.

Étape 3: Réduisez le volume logique à l'aide de lvreduce.

  • Si vous voulez être simple, utilisez lvreduce --size 50G volgrp01/lv_scratch.
  • Si vous voulez être très prudent de ne pas réduire la rétrécissement de la taille à une taille plus petite que le système de fichiers qu'il contient, vérifiez la taille physique de votre groupe de volumes à l'aide de vgdisplay volgrp01 et calculer le nombre d'étendants physiques nécessaires pour maintenir la taille d'octets de votre système de fichiers (en utilisant 1 Mo = 1048576 octets ). Puis spécifiez ce numéro à l'aide de l'--extents option au lieu de la --size 50G.

Sinon, vous pourrez peut-être sauter l'étape 1 et utiliser plutôt lvreduce 's -r Option pour redimensionner automatiquement le système de fichiers. Cela peut être plus facile, mais je n'ai pas d'expérience personnelle avec cela pour savoir à quel point c'est fiable.

À ce stade, je recommanderais d'exécuter fsck -f Sur ton /dev/volgrp01/vg_scratch juste pour m'assurer que c'est intact. Si vous obtenez des erreurs sur "Accès au-delà de la fin du périphérique", cela signifie que vous avez trop diminué le LV et besoin de lvextend cela avant de continuer.

Étape 4: Réduisez le volume physique en utilisant pvresize.

pvresize --setphysicalvolumesize 88G /dev/sda2

Vous n'avez pas besoin d'un contrôle de sécurité supplémentaire ici car pvresize _ refusera de réduire le volume physique à une taille trop petite pour vos volumes logiques existants. Mais si les tailles de vos autres LV ne sont pas des multiples exacts de 1 Go, les 88g peuvent être trop petits et vous aurez peut-être besoin d'une valeur différente.

Étape 5: Rétrécissez le sda2 Partition à l'aide de fdisk.

Courir fdisk /dev/sda, et à son invite, courez p pour examiner vos partitions existantes. Notez le numéro du secteur de départ de votre sda2 cloison. Puis supprimez le sda2 partition - cela ne touche pas les données réelles, supprime simplement l'enregistrement de l'endroit où il commence et se termine - et crée une nouvelle sda2 avec le même secteur de départ (c'est vital) et une taille de 88g. Le code de type de la partition devrait être 8e, "Linux lvm".

Si vous voulez être très prudent - et je vous recommanderais de faire, surtout si vous deviez spécifier une taille différente au pvresize plus tôt - Vérifiez la taille PE et le total de votre volume physique en utilisant pvdisplay /dev/sda2 et multipliez-les ensemble pour trouver la taille du volume physique en octets (à nouveau en utilisant 1MB = 1048576 octets). Puis soustrayez votre nouveau sda2 Numéro du secteur de départ de la partition à partir de sa fin, ajouter 1 de sorte que le dernier secteur soit compté et se multiplier par la taille du secteur de votre disque (qui devrait être soit 512 ou 4096 octets). Assurez-vous que les deux résultats correspondent.

Créez maintenant votre nouveau sda3 Partition, enregistrez vos modifications et quittez fdisk. Si vous obtenez un message sur la nécessité de redémarrer pour que la modification soit prise effet, redémarrez.

11
Wyzard

Je ne sais pas si cela fonctionnera - j'ai seulement augmenté PV. Et de quelque manière que ce soit, n'essayez pas de données précieuses à moins que votre sauvegarde lisible.

  1. Utilisez un outil spécifique FS (le cas échéant) pour redimensionner FS sur lv_scratch

  2. lvresize -L 50G /dev/volgrp01/lv_scratch

  3. pvresize --setphysicalvolumesize 88G /dev/sda2

  4. Redimensionnez votre/dev/SDA2 (sans savoir si cela est possible avec séparé/cfdisk, etc., vous aurez peut-être besoin d'un autre éditeur de partition)

  5. Créez une nouvelle partition, créez de nouveaux PV, créez un groupe de volumes, etc.

Double Vérifiez tous les numéros lors de la redimensionnement de votre volume logique ou physique plus que FS Vous pouvez vous retrouver avec cassé FS et des données perdues, généralement mieux laisser un espace inutilisé en cas de confusion.

1
F2nd