web-dev-qa-db-fra.com

LVM a-t-il besoin d'une table de partition?

Il apparaît que je suis capable de faire avec succès une PVCreate au-dessus d'un appareil de bloc brut, sans jamais prendre l'étape consistant à créer une table de partition. Je suis alors capable de créer un groupe de volumes, un volume logique et enfin un système de fichiers, de monter et de tester via DD.

Il semble fonctionner, mais j'ai besoin d'une vérification de la santé mentale. Est-ce une mauvaise idée?

Comment créer une table de partition GPT ou MBR au-dessus d'un périphérique de bloc brut?

Comment puis-je utiliser séparé pour montrer quel type de table de partition est utilisé? J'ai essayé de faire:

partagé, Select/Dev/SDB, Imprimer et I Obtenir:

Erreur:/dev/sdb: étiquette de disque non reconnue

Pourtant, le lecteur est actuellement utilisé et je peux lire et écrire. Est-ce que la sortie attendue lorsque vous effectuez une LVM sur un dispositif de bloc brut sans une table de partition? Des pensées?

Merci!

18
cat pants

Même si LVM elle-même ne se soucie pas d'avoir une vraie partition, une raison de la créer de toute façon consiste à informer les programmes de partitionnement qu'il y a "quelque chose". Un scénario de cauchemar est un nouveau sysadmin diagnostiquant un problème de démarrage sur un serveur, tirant un programme de partitionnement, voyant des disques non sélectionnés et conclu que le lecteur est corrompu.

Je ne vois aucun inconvénient à créer une partition LVM. Est-ce que tu?

29
Philip

Bien que vous puissiez simplement créer un PV hors du périphérique de bloc brut, j'essaie normalement de l'éviter car elle peut entraîner une confusion quant à ce que le dispositif de bloc est utilisé. Il peut également briser certaines des routines de découverte automatique que LVM peut utiliser s'il manque ses fichiers de configuration.

Voici un exemple d'utilisation séché pour créer un GPT avec 1 partition qui est l'ensemble du lecteur et définir le drapeau de la partition pour être LVM. Le MKPart exige que vous spécifiez un système de fichiers, mais cela ne crée pas le système de fichiers. Semble être un bug de longue date en séparé. De plus, le décalage de démarrage de 1M est de vous assurer d'obtenir un alignement approprié.

parted /dev/sdb
mklabel GPT
mkpart primary ext2 1M 100%
set 1 lvm on
16
3dinfluence

Si vous créez un PV directement sur un périphérique de stockage virtuel à l'intérieur d'un invité KVM, vous remarquerez que les volumes logiques de l'invité sont visibles sur l'hyperviseur. Cela peut rendre les choses assez confuses si vous utilisez les mêmes noms de volume logique et de volume de volume sur plusieurs invités. Vous pouvez également obtenir des avertissements sur le Hypervisor, disant qu'il ne trouve pas de dispositif.

Par exemple, j'ai recréé ce problème sur mon hyperviseur de test:

[root@testhost ~]# vgs
  Couldn't find device with uuid dCaylp-1kvL-syiF-A2bW-NTPP-Ehlb-gtfxZz.
  VG          #PV #LV #SN Attr   VSize   VFree  
  vg_main       2   2   0 wz-pn-  19.25g 768.00m
  vg_main       2   2   0 wz-pn-  19.25g 768.00m
  vg_testhost   1   8   0 wz--n- 237.98g 120.15g

Ici, vous pouvez voir 2 groupes de volumes avec le même nom, des deux d'invités qui ne devraient pas vraiment apparaître sur l'hyperviseur.

Pour cette raison, je conseillerais que vous utilisiez une partition séparée ou FDISK pour créer une partition KVM sur ce document (comme indiqué dans la réponse précédente par 3DInfluence), avant de créer un PV et de l'ajouter à un groupe de volumes. De cette façon, les volumes logiques invités restent cachés à l'hyperviseur.

5
Paul Maunders

Un inconvénient est qu'il n'est pas possible d'ajouter de l'espace à chaud à un PV à l'intérieur d'une table de partition. Ce n'est pas un problème si vous utilisez l'ensemble du périphérique de bloc pour le PV.

4
user217432

Selon le guide LVM de Redhat, section 4.2.1 https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/logical_volume_manager_administration/PHYSVOL_Admin

Ils ont dit qu'il n'y a pas besoin d'avoir la table de partition, ils nous suggèrent même de le détruire si nous utilisons tout le disque pour VG (groupe de volumes), à moins que nous n'avions que l'intention de n'inclure que des parties de celui-ci (partition).

3
Pisacha Srinuan

Même si dans le passé, j'utilisais MS-DOS DISKLABEL ou GPT DISKLABEL pour PV, je préfère maintenant utiliser directement LVM sur le périphérique de bloc principal. Il n'y a aucune raison d'utiliser 2 disklabels, sauf si vous avez un cas d'utilisation très spécifique (comme disque avec secteur de démarrage et partition de démarrage).

L'avantage d'avoir la LVM directement sont:

  • sIMPLICITÉ - Vous n'avez pas besoin d'utiliser 2 séries d'outils
  • flexibilité - Vous pouvez utiliser PVMove pour déplacer les données d'un volume de disque à un autre sans temps d'arrêt, vous pouvez utiliser l'instantané et le provisioning mince.
  • vous n'avez pas besoin d'exécuter partprobe ou KPartx pour dire au noyau que vous avez créé/redimensionné/supprimé un volume. Et PartProbe/KPartx pourrait échouer Si des partitions sont utilisées et que vous pourriez avoir besoin de redémarrer
  • peut-être une meilleure performance, comparée à l'utilisation de LVM au-dessus de MS-DOS ou GPT DiskLables
3
Mircea Vutcovici