web-dev-qa-db-fr.com

Comment changer un système de partition physique en LVM?

J'ai un serveur avec Debian qui dispose de 3 partitions physiques couvrant tous les disques: Boot, racine Y Swap. Maintenant, je veux remplacer ces partitions avec des partitions LVM. Je sais à quel point l'installation de Debian avec LVM au début, mais dans ce cas, je ne peux pas installer le système au début car le fournisseur me fait un serveur avec accès à distance et le système installé de cette manière.

Comment puis-je modifier ces partitions à l'aide d'une connexion SSH et éventuellement d'un autre serveur distant où mettre des données temporelles?

10
Daniel Hernández

Une mise à jour rapide de mon côté. Contexte: Aujourd'hui, j'ai eu un serveur dédié installé avec un schéma de partition physique au lieu de LVM. Il y avait 3 partitions:

/ Boot (ext4) - 512m/(ext4) - 730g Swap - 8g

En raison de la nature de ne pas avoir accès à la console, l'objectif final a été la convertir la partition racine existante en LVM.

Considérant que l'ext4 n'est pas réduit le seul moyen était de réutiliser la partition de swap comme une racine temporaire. J'ai également décidé de configurer la racine temporaire avec LVM pour être sûr que le processus peut fonctionner de bonne manière.

D'abord avancé le swap:

swapoff -a

A ensuite redimensionné la partition via séparée (à l'origine, elle a été démarrée de 742 à 750):

parted
resize 3 742 744

et créé une partition pour le LVM:

mkpart primary ext2 744 750
set 4 lvm on

Création du système de fichiers PV/VG/VG/LV pour la racine TEMP:

pvcreate /dev/sda4
vgcreate VolGroup00 /dev/sda4
lvcreate -L 5.73G -n tmproot VolGroup00
mkfs.ext4 /dev/VolGroup00/tmproot

La prochaine étape consistait à copier la racine à l'endroit temporaire:

mount /dev/VolGroup00/tmproot /media
rsync -ravzxq / /media/

Une fois que tout était là, l'entrée du système de fichiers racine dans/média/etc/fstab a dû être modifiée également:

/dev/VolGroup00/tmproot /                       ext4    defaults        1 1

Presque là-bas, le dernier et laissez la partie la plus indésirable sans accès à la console consistait à modifier le /boot/grub/grub.conf:

entrée originale:

title CentOS (2.6.32-279.22.1.el6.x86_64)
root (hd0,0)
kernel /vmlinuz-2.6.32-279.22.1.el6.x86_64 ro root=UUID=e769af21-d9e1-455f-a6a7-7a9c84d8cbea rd_NO_LUKS LANG=en_US.UTF-8  KEYBOARDTYPE=pc KEYTABLE=hu rd_NO_MD SYSFONT=latarcyrheb-Sun16 crashkernel=auto rd_NO_LVM rd_NO_DM rhgb quiet
initrd /initramfs-2.6.32-279.22.1.el6.x86_64.img

entrée modifiée:

title CentOS (2.6.32-279.22.1.el6.x86_64) LVM
insmod lvm
kernel /vmlinuz-2.6.32-279.22.1.el6.x86_64 ro LANG=en_US.UTF-8  KEYBOARDTYPE=pc KEYTABLE=hu SYSFONT=latarcyrheb-Sun16 crashkernel=auto dolvm root=/dev/mapper/VolGroup00-tmproot panic=10 
#rd_NO_DM rd_NO_MD rd_NO_LUKS
initrd /initramfs-2.6.32-279.22.1.el6.x86_64.img

Juste pour être du côté sûr: l'insmod LVM a été ajouté avec le paramètre DOLVM pour le noyau et le chemin racine a également été modifié en root =/dev/mapper/volgroup00-tmproceau. Important d'utiliser le/dev/mapper/chemin pour le moment. En tant que gêchement sécurisé, j'ai également ajouté le paramètre Panic = 10 et n'a pas changé l'entrée de démarrage par défaut dans l'en-tête. Au lieu de cela, je suis allé pour essayer de dire à la grub de démarrer avec le nouveau paramètre à une seule fois et en cas d'échec, l'entrée d'origine pouvait fonctionner:

grub
savedefault --default=1 --once

Et enfin:

reboot

C'était ok pour moi pour moi, pour la première fois, j'ai répété toute la procédure avec la création d'un nouveau groupe de volumes sur la partition racine d'origine et j'ai enfin eu la racine au bon endroit en utilisant LVM.

J'espère que cela t'aides.

21
uha

J'ai déjà migré ma partition racine "/" qui indiquait une partition de disque "/ dev/sda2" avec 10g sur Centos 6 à une partition LV, les étapes effectuées étaient les suivantes:

  • Ajoutez un disque dur sur VMware de 10g.
  • reconnaissez le disque sans redémarrer le système.
[.____] LS/SYS/Classe/SCSI_HOST/| En lisant x; faire écho "- - -">/sys/classe/scsi_host/$ {x}/numérisation; terminé
  • Créez une partition sur le nouveau disque, suppose que mon nouveau disque est/dev/sdb
  • Travailler avec :
 fdisk /dev/sdb
  • Être dans l'interface "FDISK" permet de créer une partition avec la clé "n" attribuer à + 9g de capacité, puis modifier la partition de type avec la clé "T" attribuer "8e" (partition 8e "(LVM) et enfin de la clé" W "pour appliquer des modifications. , si tu veux voir comment la table de partition, vous pouvez appuyer sur la touche "P".
  • une fois la partition créée, nous pouvons valider que l'appareil est créé avec la commande suivante (la commande fonctionne lorsque le disque n'est pas utilisé):
 PartProbe /Dev/sdb
  • une fois que le périphérique sort physiquement, permet de créer les objets LVM sur l'ordre suivant:
 PVCreate /Dev/sdb1
VGCreate vg_root /dev/sdb1
Lvcreate -v -n lv_root vg_root -l 9g [.____]
  • une fois que les unités LV ont été créées, attribuons un FS et le monter sur le système actuel.
[.____] MKFS -T ext4 /dev/vg_root/lv_root
Mkdir /mnt/new_root/
Mount -T ext4/dev/vg_root/lv_root /mnt/new_root/
  • si vous ne savez pas ce qui est le FS de la partition actuelle, vous pouvez trouver avec des commandes telles que:
 DF -LHT 
 Cat /etc/fstab
blkid
  • lorsque le nouveau LV est monté, nous pouvons procéder à copier tous les fichiers du système.
 Trouver/-xdev | CPIO -PMVD /MNT/NEW_ROOT/[.____]
  • une fois les fichiers copiés, nous pouvons continuer à changer le "chroot" mais avant de monter certaines partitions:
 CD /mnt/new_root/
Mount Proc/Proc [.____] Mount -T Sysfs/Sys SYS /[.____] Mount --Rbind/dev dev/
  • laisse maintenant changer le chroot
 chroot /mnt/new_root/
  • une fois que nous sommes dans la nouvelle racine modifie le fichier:
[.____] VI /etc/fstab
  • laissant le fichier presque similaire à:
[
  • Une fois que le fichier est correctement modifié, permet de créer un fichier à la racine avec le nom "./autorelabel" Juste au cas où utiliser Selinux "Application" ou "Permissive".
 toucher ./autorelabel
  • Permet maintenant de partir de l'environnement chroot de/mnt/nouvelle-racine
sortir
  • Si des modifications ont été effectuées en fonction de votre scénario, permettent d'exécuter l'une des dernières modifications, qui modifie le fichier GRUB "/BOOT/grUB/grUB.conf", ajout d'un nouveau menu (ne modifiez pas l'option de démarrage de votre courant jusqu'à la nouvelle. on ajoute des travaux correctement).
 # avant 
 Titre Centos 6 (2.6.32-573.EL6.x86_64) [.____] ROOT (HD0,0) 
 Naude /vmlinuuz-2.6.32- 573.EL6.x86_64 ro root = UUID = 98DDD25BA-FEED-4DDB-80BA-5E2D1AB2BDAA RD_NO_LUKS LANG = EN_US.UTF-8 RD_NO_MD SYSFONT = LATARCYRHEB-SUN16 CrashKernel = Auto KeyboardType = US RD_NO_DM RHGB Calculement [.____] initrd /initramfs-2.6.32-573.el6.x86_64.img
[.____]
 # Maintenant 
 Title Centos 6 (2.6.32-573.EL6.x86_64) [.____] RACINE (HD0,0) 
 Kernel /vmlinuuz-2.6.32- 573.EL6.x86_64 ro root = UUID = 98DDD25BA-FEED-4DDB-80BA-5E2D1AB2BDAA RD_NO_LUKS LANG = EN_US.UTF-8 RD_NO_MD SYSFONT = LATARCYRHEB-SUN16 CrashKernel = Auto KeyboardType = US RD_NO_DM RHGB Calculement [.____] initrd /initramfs-2.6.32-573.el6.x86_64.img
Titale centos 6 (2.6.32-573.el6.x86_64-lvroot) [.____] racine (HD0, 0) [.____] insmod lvm 
 Noyau /vmlinuz-2.6.32-573.el6.x86_64 ro Dolvm root =/dev/mapper/vg_root-lv_root rd.lvm.lv = vg_root/lv_root lang = EN_US.UTF-8 SYSFONT = LATARCYRHEB-SUN16 CrashKernel = Auto KeyboardType = PC KeyTable = US Rhgb calme [.____] initrd /initramfs-2.6.32-573.elg

[.____] # la ligne ajoutée était 
 Titre Centos 6 (2.6.32-573.EL6.x86_64-LVROOT) 
 RACINE (HD0,0) [. ____] INSMOD LVM [ .____] Kernel /vmlinuz-2.6.32-573.EL6.32-573.EL6.x86_64 ro Dolvm root =/dev/mapper/vg_root-lv_root rd.lvm.lv = vg_root/lv_root lang = EN_US.UTF-8 SYSFONT = LatAcRyrheb-Sun16 Crashkernel = Auto KeyboardType = PC Keytable = US Rhgb calme 
 Inititrd /initramfs-2.6.32-573.el6.x86_64.Img
  • Une fois que les modifications apportées au fichier GRUB ont été effectuées, permet de terminer la régénération d'un nouveau fichier ISO initial InitiDRD:
 CD /boot
CP -AV Inititramfs - $ (uname -r) .Img Initiramfs - $ (uname -r) .img.old 
 Dracut -f 
  • enfin un redémarrage:
 init 6 
 # ou 
 Redémarrez [.____]
  • Une fois que le menu GRUB apparaît, choisissez la nouvelle personne ajoutée "Centos 6 (2.6.32-573.EL6.x86_64-lvroot)" et validez-la correctement.
  • Si le système fonctionne correctement et n'utilise pas le "/ dev/sda", il peut être supprimé et détacher de l'urVM ou le serveur physique.
[.____] DD si =/dev/zéro de =/dev/sda bs = 1 
  • Last Steep Set comme entrée par défaut Le nouvel élément ajouté sur le menu GRUB "/BOOT/GRUB/GRUB.CONF":
 # défaut = 0 
 Par défaut = 1 [.____]

J'espère que les informations fournies précédemment devraient vous aider à quelqu'un.

merci d'avance,

Manuel Lazo

3
Manuel Lazo

Rien n'est impossible à Linux, mais vous devrez être déterminé et fou de tenter ce que vous décrivez. N'oubliez pas que si vous n'avez que l'accès SSH, il y a de bonnes chances que vous perdiez l'accès au serveur si vous faites une erreur. Si vous avez une console "série" distante et un interrupteur d'alimentation virtuelle, cela pourrait aider un peu. Cela dit, si vous avez une nouvelle installation sans données à perdre, pourquoi ne pas l'essayer? J'ai trouvé un tutoriel à convertir à distance un système Linux en RAID1 ; Les étapes que vous essayez de LVM seraient analogues.

Premièrement, examinons la nécessité d'un espace de stockage temporaire. En supposant que vous n'ayez pas de second disque sur le serveur, vous pouvez rétrécir les partitions existantes à l'aide de parted . Bien entendu, cela nécessite que vos partitions de démarrage et de racine utilisent moins de la moitié du disque et doivent utiliser un système de fichiers rétractable. (XFS et JFS, par exemple, ne sont pas rétrécissables.)

Après avoir rétrécissant vos partitions existantes, vous pouvez créer un volume physique LVM dans l'espace libre, un groupe de volume et des volumes logiques à l'intérieur. Reproduire vos systèmes de fichiers. (Lors de la réplication de votre système de fichiers racine, vous devez tout tuer sauf sshd, et idéalement être en mode mono-utilisateur. Vous devrez probablement utiliser rsync plutôt que dd puisque vous répliquent un système de fichiers monté.)

Ensuite, vous prépareriez une initiative avec le support LVM et dites GRUB Pour démarrer dans le nouveau système, comme décrit dans le tutoriel de Warren Togami. Une fois que vous faites cela, c'est une question simple de supprimer les anciens systèmes de fichiers en utilisant parted et en croissance des volumes LVM.

Bonne chance! Faites-nous savoir si cela fonctionnait!

3
200_success

Il pourrait configurer un système de sauvetage intermédiaire dans la partition de swap (préalablement désactivée) (travail nerveux de démolition à faire si vous n'avez pas de CAR dans la machine) et travaillez à partir de là. En outre, des outils de redimensionnement en ligne existent pour certains systèmes de fichiers, puis la rétrécissement de la partition par la suite et le redémarrage est un cas de kwyd mais possible.

1
rackandboneman