Est-il possible de convertir une box Linux en LVM après coup?
17
Mon serveur Linux utilise LVM car j'ai remplacé la machine il y a un an et installé à partir de zéro. LVM a sauvé la vie et j'adore sa flexibilité. Mon ordinateur portable Linux, cependant, a été entièrement installé pour la dernière fois il y a trois ans, et utilise donc des partitions droites.
Est-il possible - sans réinstallation - de convertir un système existant en LVM? Si oui, quels outils peuvent faire ce travail?
Je m'attends à ce que les systèmes de fichiers à partager avec Windows sur un système à double démarrage ne puissent pas être LVM. Si je me trompe, faites-le moi savoir, mais je serais surpris.
Oui, vous pouvez l'utiliser pour un système Windows à double démarrage, à condition que vous fassiez de Windows la première partition, et qu'il s'agisse d'une partition principale (et non d'une extension dans une logique). Mes instructions ici ne couvrent pas cette situation, ce qui nécessite que vous ayez une certaine expérience du double démarrage. Si vous recherchez une configuration Windows / Linux à double démarrage, ne suivez aucun conseil en dessous de ce point.
Je ferai mieux: à quelques exceptions près, vous devriez pouvoir migrer l'intégralité de votre ordinateur portable en direct , à condition d'utiliser un disque externe avec une capacité suffisante.
Avertissement! Cette procédure est EXTRÊMEMENT DANGEREUSE! Il suppose que vous avez une connaissance intime du processus de partitionnement, que vous avez une partition séparée / de démarrage et que vous savez qu'une tentative bâclée peut vous laisser avec une installation endommagée par le cerveau qui ne démarrera pas! TU ÉTAIS PRÉVENU!
Tu auras besoin:
/ boot situé sur une partition séparée. Si vous avez un système de fichiers racine combiné (tout est inséré dans /), cela ne fonctionnera pas.
La possibilité de démarrer à partir d'un disque dur USB.
un disque dur externe suffisamment grand pour contenir toutes les données et tous les programmes de votre système existant. Assurez-vous d'exécuter un "du /" et d'attendre le résultat final, pour avoir une idée réelle du type d'espace dont vous aurez besoin.
Procédure générale (pardonnez-moi faute de quelques commandes, j'écris ceci très rapidement):
Connectez le lecteur externe et recherchez son nom de périphérique. Imaginons que vous le voyiez comme / dev / sdb.
Créez deux partitions sur votre disque externe. Dans notre exemple, cela apparaîtra comme / dev / sdb1 et / dev / sdb2.
parted / dev / sdb
Formatez la première partition en ext2 ou ext3 et étiquetée "boot". Formatez la deuxième partition sur le disque externe comme type "Linux LVM".
Obtenez le volume LVM nouvellement créé reconnu par le système à l'aide de
pvscan; vgscan
Découpez une partie suffisamment grande du volume LVM externe pour contenir le disque dur entier de l'ordinateur portable. En cas de doute, utilisez simplement tout l'espace disponible.
Formatez votre volume basé sur LVM en ext3 ou tout autre système de fichiers qui vous chatouille.
mke3fs / dev / ExternalUSBVolume / ExternalRoot
Pour chaque montage de système de fichiers non spécial , créez un répertoire sur votre disque externe et copiez (avec des attributs) tous vos fichiers de chaque montage sur ce disque. Ignorez les copies des points de montage comme / proc, etc. car ce sont des "spéciaux".
créez les points de montage spéciaux à la main, afin qu'ils existent sur votre disque externe. Ne les remplissez pas, assurez-vous simplement que les noms et les autorisations correspondent.
(Très soigneusement) utilisez votre chargeur de démarrage pour installer une image de démarrage sur votre disque externe, dans la partition / boot. Ce processus est un peu complexe donc je vous laisse le soin de trouver l'info ailleurs. Il est également dangereux de le rater - vous pourriez finir par écraser votre chargeur de démarrage sur le lecteur de votre ordinateur portable. Faites attention.
Redémarrez votre ordinateur portable. Lorsqu'il passe par le POST, assurez-vous de spécifier le lecteur externe comme lecteur de démarrage. À ce stade, vous devriez avoir une réplique (plus ou moins) proche du lecteur de votre ordinateur portable. (aux autres administrateurs: oui, je sais, les fichiers journaux et d'autres ne sont pas à 100% copiés, mais ce n'est pas l'accent ici ... c'est de faire déplacer les données et les outils ...)
Une fois que vous pouvez démarrer à partir du lecteur externe, vous pouvez ensuite l'utiliser pour effacer le lecteur de votre ordinateur portable. À ce stade, vous «vivez hors de» votre disque dur externe. Garde ça en tête.
Utilisez ensuite un éditeur de partition - gparted ou autre - pour supprimer les partitions d'origine du portable (bye-bye ...), puis marquez votre zone nouvellement créée comme "LVM". Passez par le processus de reconnaissance, de partitionnement, de formatage de votre volume LVM, etc.
En utilisant le processus de mise en miroir de LVM, mettez en miroir votre système en direct (qui se trouve actuellement sur le lecteur externe) sur le lecteur de l'ordinateur portable. Prenez une pause déjeuner (ou deux) pour cela car cela prendra du temps.
Remontez le système de fichiers en direct, en déplaçant le système de fichiers / du lecteur externe vers le volume LVM de votre ordinateur portable.
Réexécutez le processus d'installation de votre chargeur de démarrage. Ceci est essentiel car le disque virtuel actuel n'aura pas les bons paramètres et ne saura pas que vous avez déplacé les choses. Ne pas le faire entraînera un système non amorçable et une visite sur un disque de secours. Si tout le reste échoue, vous pouvez redémarrer à partir de votre disque externe (rien perdu ...)
Redémarrez l'ordinateur portable sans le lecteur externe connecté et spécifiez le lecteur interne de l'ordinateur portable à la place. Il devrait démarrer correctement. Notez tout ce qui semble ou semble blessé ou cassé (il ne devrait rien y avoir) et corrigez-le.
Asseyez-vous et profitez d'une boisson pour un travail bien fait.
Il est bien sûr possible de faire une migration en direct vers le stockage externe (si vous êtes assez courageux, vous pouvez même faire pivoter le système en cours d'exécution sur le disque externe et revenir sans redémarrage: D); faire tout le processus à partir d'un CD live devrait être moins sujet aux erreurs (par exemple, les FS virtuels sont à l'écart ...)
Luca Tettamanti
2
Et en passant, LILO et la nouvelle version de GRUB (celle qui deviendra finalement 2.0) ont un support natif pour les LV - pas besoin d'une partition / boot séparée.
Luca Tettamanti
Je sais. Mais j'ai pensé "mieux vaut prévenir que guérir". Avoir une partition native facilite la réparation des choses. Peut-être que l'OP doit utiliser un outil basé sur Windows qui ne comprend pas LVM (beaucoup ne le savent pas) - dans ce cas, au moins il peut modifier menu.lst avec grub, etc. selon les besoins. Mais merci pour la contribution! :)
Avery Payne
6
J'ai récemment écrit des blocs (née lvmify) qui effectuent cette conversion sur place. Il prend une seule partition, réduit le système de fichiers si nécessaire, déplace le début du système de fichiers à la fin de la partition et copie un superbloc LVM (préconfiguré avec le bon PV / LV / VG) à sa place. Si vous avez plusieurs partitions, la fusion des groupes de volumes nouvellement créés se fait avec vgmerge. Il ne peut pas fonctionner sur les systèmes de fichiers montés.
Je viens de migrer mes 2 partitions ext4 (totalisant 120 Go) vers LVM en environ 2 minutes en utilisant des blocs. Fonctionne parfaitement.
Amr Mostafa
3
La façon la plus simple de déplacer un système Linux vers LVM est d'utiliser un disque externe (USB, eSATA) et un système basé sur CD-ROM comme grml pour déplacer toutes les données du PC vers le disque externe, puis re-partitionner le PC avec LVM. Enfin, copiez tout et configurez et réinstallez grub sur le MBR.
Cette procédure est légèrement impliquée, mais vous avez toujours les données sur le lecteur externe et le CD-ROM pour démarrer votre système.
Comme vous vous en doutez, Windows n'est pas en mesure d'accéder aux volumes LVM.
En partant du bas: non, les fenêtres ne peuvent pas lire les volumes logiques LVM (partitions).
Si vous avez un disque de rechange qui peut être utilisé comme stockage temporaire, il suffit de démarrer à partir d'un CD live, de copier les données vers l'emplacement temporaire, de créer un ou plusieurs LV et de remettre les données. Il est impossible (mais possible) de faire une conversion sur place en LVM; vous devez essentiellement réduire l'ancienne partition et redimensionner le LV plusieurs fois (et le LV final serait fragmenté)
Vous avez une installation de plusieurs années sur un ordinateur portable. C'est une proposition perdante de le convertir en LVM. Sauvegardez vos données, réinstallez et recopiez vos données. Vous aurez un système propre avec de nouveaux logiciels et vos données.
Si vous ne pouvez pas le faire parce que vous ne savez pas où se trouvent vos données, vous avez un gros problème et c'est votre chance de le résoudre.
http://serialized.net/2006/04/migrating-live-filesystems-to-lvm/ a une façon intéressante de migrer un fs en direct. Ajoutez-le dans le cadre d'un groupe RAID-1, que le système d'exploitation mettra ensuite en miroir sur l'autre périphérique (qui pourrait être un volume logique LVM). C'est un peu daté, donc je ne sais pas si cela fonctionnerait toujours.
Vous devrez probablement sauvegarder les données sur un autre lecteur ou partition (ou iso?), Créer le conteneur LVM, puis restaurer les données dans le conteneur.
J'ai récemment écrit des blocs (née lvmify) qui effectuent cette conversion sur place. Il prend une seule partition, réduit le système de fichiers si nécessaire, déplace le début du système de fichiers à la fin de la partition et copie un superbloc LVM (préconfiguré avec le bon PV / LV / VG) à sa place. Si vous avez plusieurs partitions, la fusion des groupes de volumes nouvellement créés se fait avec
vgmerge
. Il ne peut pas fonctionner sur les systèmes de fichiers montés.la source
La façon la plus simple de déplacer un système Linux vers LVM est d'utiliser un disque externe (USB, eSATA) et un système basé sur CD-ROM comme grml pour déplacer toutes les données du PC vers le disque externe, puis re-partitionner le PC avec LVM. Enfin, copiez tout et configurez et réinstallez grub sur le MBR.
Cette procédure est légèrement impliquée, mais vous avez toujours les données sur le lecteur externe et le CD-ROM pour démarrer votre système.
Comme vous vous en doutez, Windows n'est pas en mesure d'accéder aux volumes LVM.
la source
En partant du bas: non, les fenêtres ne peuvent pas lire les volumes logiques LVM (partitions).
Si vous avez un disque de rechange qui peut être utilisé comme stockage temporaire, il suffit de démarrer à partir d'un CD live, de copier les données vers l'emplacement temporaire, de créer un ou plusieurs LV et de remettre les données. Il est impossible (mais possible) de faire une conversion sur place en LVM; vous devez essentiellement réduire l'ancienne partition et redimensionner le LV plusieurs fois (et le LV final serait fragmenté)
la source
Vous avez une installation de plusieurs années sur un ordinateur portable. C'est une proposition perdante de le convertir en LVM. Sauvegardez vos données, réinstallez et recopiez vos données. Vous aurez un système propre avec de nouveaux logiciels et vos données.
Si vous ne pouvez pas le faire parce que vous ne savez pas où se trouvent vos données, vous avez un gros problème et c'est votre chance de le résoudre.
la source
http://serialized.net/2006/04/migrating-live-filesystems-to-lvm/ a une façon intéressante de migrer un fs en direct. Ajoutez-le dans le cadre d'un groupe RAID-1, que le système d'exploitation mettra ensuite en miroir sur l'autre périphérique (qui pourrait être un volume logique LVM). C'est un peu daté, donc je ne sais pas si cela fonctionnerait toujours.
la source
Vous devrez probablement sauvegarder les données sur un autre lecteur ou partition (ou iso?), Créer le conteneur LVM, puis restaurer les données dans le conteneur.
la source