miroir linux LVM vs miroir MD

11

Je pense que je me souviens avoir fait des miroirs il y a des années avec LVM, et je ne me souviens pas de cette chose "log". Ou peut-être que j'ai fait le miroir avec mdadm et mis LVM sur le dessus. Ça doit être ça.

  1. À quoi sert le journal LVM s'il ne s'agit que d'un miroir? Qu'est-ce qui y est stocké? Quel est son but? L'utilisation de "--mirrorlog core" est-elle mauvaise? Quel est l'inconvénient? Je ne veux pas avoir une autre partition pour les journaux si je n'en ai pas besoin.

  2. Des recommandations sur l'utilisation de l'une ou l'autre technologie? Même si je crée le miroir avec mdadm, j'utiliserai LVM en plus. Donc, dans ce cas, il vaut peut-être mieux avoir toute la configuration construite avec LVM ...? Cela prendrait-il plus ou moins de performances?

Les disques servent à stocker des "disques" Xen domU.

Désolé pour la «question» complexe et non pertinente.

Les idées, suggestions et liens sont les bienvenus. Merci!

d -_- b
la source
md semble mieux fonctionner pour les opérations miroir par rapport à lvm. Voir serverfault.com/questions/80134/linux-md-vs-lvm-performance
Zoredache
1
La mise en miroir LVM était destinée à un objectif différent. Bien que vous puissiez l'utiliser pour "refléter" la façon dont MD, il est vraiment utilisé pour cloner des volumes. Voir serverfault.com/questions/97845/lvm-mirroring-vs-raid1
Avery Payne
1
S'il est destiné au clonage, pourquoi nécessite-t-il trois volumes?
d -_- b
Voir la question connexe unix.stackexchange.com/questions/150644/…
Faheem Mitha

Réponses:

9

Personnellement, je vais toujours MD + LVM. Il est plus rapide (MD peut effectuer des lectures parallèles en RAID1) et il ne nécessite que 2 disques (si vous ne voulez pas reconstruire le miroir après chaque redémarrage) et MD est conçu uniquement pour faire du RAID, et il le fait très bien. Il est également plus flexible.

J'ai aussi été brûlé par LVM. Dans un cas, il s'agissait de l'entrelacement LVM sur HP-UX (cela ne devrait pas se produire avec LVM2 sous Linux), et je n'ai pas pu étendre le LV car l'extension devait avoir exactement le même nombre de bandes. Cela semble raisonnable, mais parfois ...

Une autre fois, c'était avec la mise en miroir (LVM2 sous Linux cette fois), mais maintenant je ne me souviens pas si LVM a refusé de prendre un instantané d'un LV en miroir ou de l'étendre, annulant efficacement l'avantage d'avoir LVM en premier lieu (nous l'avons fait à la fin, mais impliquait l'utilisation de lvconvert dans les deux sens).

Dan Andreatta
la source
Merci! Je pense que je vais aller avec LVM au-dessus de MD. Il semble qu'il y ait des problèmes avec la détection automatique de MD. ( raid.wiki.kernel.org/index.php/RAID_Boot ) Je voulais en quelque sorte mettre en miroir tout mon système (swap, boot, /, var, home, usr). Je vais donc devoir chercher autre chose que la détection automatique.
d -_- b
Oui, l'autodétection est une bonne idée en principe, mais elle donne toutes sortes de maux de tête. J'ai une configuration avec iSCSI + multipath + MD + LVM ... et la détection automatique est ... intéressante, mais inutile dans ce cas.
Dan Andreatta
4

Lorsqu'une paire en miroir est arrêtée brusquement, dans n'importe quel système, il peut y avoir des blocs qui ont été écrits sur un périphérique mais pas encore sur l'autre. En théorie, avec la réorganisation des chemins d'E / S, certains blocs ont été écrits sur A mais pas B, et certains écrits sur B mais pas encore sur A.

Lorsque la machine redémarre, elle doit rendre les périphériques cohérents. Le simple fait d'avoir les deux appareils seuls ne suffit pas: il ne saurait pas quels blocs sont incohérents et il ne saurait pas quelle version était la plus récente.

Le logiciel miroir doit donc stocker un peu de métadonnées pour garder une trace de cela. C'est ce qu'on appelle le «journal d'intention d'écriture».

md le stocke normalement dans un espace réservé à l'intérieur de l'appareil lui - même , mais vous pouvez également choisir de le stocker sur un appareil séparé. (C'est une des raisons pour lesquelles les miroirs md sont légèrement plus petits que les appareils de base.

Les miroirs LVM ne peuvent stocker le journal d'étendue d'écriture qu'en externe, ce qui, comme vous le constatez, est un peu gênant pour le cas typique où vous avez exactement deux disques physiques. Je pense que vous avez toujours le choix de le stocker sur une partition différente sur le même périphérique physique, mais cela n'est toujours pas pratique.

Si je comprends bien, le journal du miroir LVM a pour but de garder une trace des blocs qui ont été écrits sur un appareil mais pas encore sur l'autre.

poolie
la source
2

ce sont deux concepts différents:

  • LVM est comme son nom l'indique pour la gestion des volumes. Considérez-le comme un mécanisme pour combiner plusieurs volumes en un (oui, vous pouvez dire que c'est comme raid0), les redimensionner, les redimensionner en direct, créer des instantanés.
  • MD est destiné à la gestion RAID. Ajoutez plusieurs appareils dans un même métapériphérique, rendez ce métapériphérique hautement disponible en utilisant raid1, 5, 10, etc ...

LVM fonctionne sur des périphériques de stockage, que ce soit des métapériphériques, ou des périphériques présentés par le contrôleur de raid, ou simplement des disques simples.

MD fonctionne sur des disques (oui, vous pouvez également utiliser des disques présentés par le contrôleur de raid, mais à quoi ça sert? ..

LVM n'est pas destiné à rendre votre stockage hautement disponible. Et de même MD n'est pas pour la gestion du volume ...

J'espère que cela t'aides :)

rytis
la source
1
Je comprends ce que c'est. Cependant, si vous lisez la page de manuel de lvcreate, il indique qu'il peut créer des miroirs. Je suppose que c'est un peu un jouet pour l'instant?
d -_- b
1
à mon humble avis oui. je ne vois pas de bon usage pour lui au moins pour l'instant. non seulement c'est un miroir au niveau du volume (plutôt que de l'appareil), mais c'est aussi un peu "intéressant" comment il est créé, par exemple si vous avez besoin d'un miroir bidirectionnel (comme dans l'original + copie), vous devez avoir 3 volumes - un pour chaque côté miroir + volume du journal. mais encore une fois - à mon humble avis. :)
rytis
1

LVM provenait d'autres types de systèmes UNIX. Je l'ai utilisé sur HPUX qui n'avait pas la couche MD de Linux lorsque j'y ai travaillé il y a 10 ans, je n'en suis pas sûr maintenant. Dans ces circonstances, la mise en miroir LVM devient utile dans une situation où le RAID matériel n'est pas disponible.

Ron McOuat
la source
Je viens de trouver étrange qu'un miroir LVM ait besoin de plus d'un volume. Quel genre de miroir est-ce?
d -_- b
1
@toor le troisième volume est utilisé pour stocker un journal d'écriture anticipée pour le miroir, essentiellement pour garder une trace de ce qui doit être resynchronisé après un arrêt brutal. Sur MD, cela est normalement stocké dans une partie réservée des deux disques.
poolie
1

avec l'option -mirrorlog mirrored et l'option -alloc Anywhere, avec deux disques, vous obtenez deux journaux miroir 4M, un sur chaque disque. Je suis ennuyé de devoir outrepasser la politique pour ce qui semble être la situation la plus courante, mais bon.

LVM sur Linux n'est pas lié à la chose sur HP-UX ou AIX, a juste les mêmes commandes d'espace utilisateur. LVM sur Linux utilise en interne le système DM et utilise donc le même code que MD. À ce stade, je ne vois aucun avantage de LVM sur MD. Pour les partitions que vous souhaitez rapides et qui ne se soucient pas des sauvegardes (par exemple, échanger des partitions pour des machines virtuelles invitées), LVM vous permet de choisir si vous souhaitez les mettre en miroir ou non, ou si le dépouillement est préférable.

Et, il est beaucoup plus facile d'ajouter un disque à LVM qu'à MD.

mcr
la source