Périphérique / dev / sdb1 introuvable (ou ignoré par filtrage)

10

J'essaie d'ajouter un volume physique à utiliser pour ajouter des groupes de volumes et donc LV à l'intérieur. Malheureusement, j'obtiens l'erreur suivante.

[root@server ~]# pvcreate /dev/sdb1
Device /dev/sdb1 not found (or ignored by filtering).

[root@server ~]# fdisk -l /dev/sdb

WARNING: GPT (GUID Partition Table) detected on '/dev/sdb'! The util fdisk doesn't support GPT. Use GNU Parted.


Disk /dev/sdb: 19966.2 GB, 19966213488640 bytes
255 heads, 63 sectors/track, 2427420 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1      267350  2147483647+  ee  GPT

J'apprécierais toute aide que vous pourriez apporter. Ce serait ma première fois d'avoir à ajouter un pv et lors de la recherche sur le problème, je n'ai rien trouvé de très utile.

OS est centos 6 - 64bit

Filtres

# By default we accept every block device:
filter = [ "a/.*/" ]

# Exclude the cdrom drive
# filter = [ "r|/dev/cdrom|" ]

# When testing I like to work with just loopback devices:
# filter = [ "a/loop/", "r/.*/" ]

# Or maybe all loops and ide drives except hdc:
# filter =[ "a|loop|", "r|/dev/hdc|", "a|/dev/ide|", "r|.*|" ]

# Use anchors if you want to be really specific
# filter = [ "a|^/dev/hda8$|", "r/.*/" ]

Séparé:

parted /dev/sdb "unit s" "print"
Model: Adaptec AdaptecRAID5 (scsi)
Disk /dev/sdb: 38996510720s
Sector size (logical/physical): 512B/512B
Partition Table: gpt
awmusic12635
la source
OK, alors quels filtres avez-vous /etc/lvm.conf? Et pendant que vous y êtes, montrez-nous votre table de partition.
Michael Hampton
Montrez-les avec grep filter /etc/lvm.confetparted /dev/sdb "unit s" "print"
suprjami
Filtres: pastie.org/8201254
awmusic12635
Parted: pastie.org/8201275
awmusic12635

Réponses:

7

Le type de partition dans le MBR est défini sur " ee", ce qui signifie qu'il devrait y avoir une table de partition GPT sur le disque, mais comme partedindiqué, il n'y a pas du tout de table GPT.

Vous devez soit:
a) utiliser parted pour créer une partition GPT, et utiliser cette partition comme PV
b) supprimer complètement la table de partition du MBR et utiliser simplement le périphérique de bloc /dev/sdbcomme PV

suprjami
la source
J'ai utilisé parted pour créer une partition GPT. Je suis ensuite allé le formater: mkfs.ext4 / dev / sdb1 mke2fs 1.41.12 (17 mai 2010) mkfs.ext4: Taille du périphérique / dev / sdb1 trop grande pour être exprimée en 32 bits avec une taille de bloc de 4096.
awmusic12635
@ awmusic12635 vous ne formaterez pas cette partition, vous utiliserez pvcreate pour la transformer en un volume physique, lvcreate pour créer des volumes logiques à partir de celle-ci et ensuite vous formaterez les volumes logiques avec un système de fichiers.
DerfK
Vous utilisez EL6. La taille maximale possible du système de fichiers ext4 est limitée à 16 To car EL6 mkfs ne connaît pas l' 64bitindicateur du système de fichiers. Si vous aviez EL7, vous pourriez créer un système de fichiers ext4 de 19 To. Soit utiliser un autre système de fichiers comme XFS, soit faire ce que @DerfK a dit et créer des volumes logiques LVM plus petits.
suprjami
3

Le type de périphérique de bloc peut également être un problème. Si vous exécutez pvcreateavec -vvvvet que vous voyez une erreur comme «Ignorer: type de périphérique LVM non reconnu 251», vous devez ajouter le numéro magique à la liste des périphériques autorisés.

Recherchez simplement le type de périphérique pour le numéro /proc/deviceset ajoutez-le à la devicessection de la configuration lvm /etc/lvm/lvm.conf, par exemple:

types = [ "bcache", 251 ]

Voilà, vous pouvez maintenant utiliser pvcreatecomme prévu.

Phillipp
la source
Le -vvvvm'a aidé à découvrir que dans le script, où pvcreatele suivait immédiatement parted /dev/nvme0n1 set 1 lvm onun court, mais un moment remarquable alors que le dispositif /dev/nvme0n1p1est recréée par udev. Donc, pvcreate je ne pouvais vraiment pas le trouver, le dépôt avec l'erreur donnée, tout en émettant la même commande dans un shell s'est terminé avec succès.
Timur Bakeyev
@TimurBakeyev bien, QUE est une bonne prise ;-)
Phillipp
2

Votre sortie séparée montre que vous n'avez aucune partition, donc /dev/sdb1n'existe pas. Vous devez d'abord créer la partition.

Michael Hampton
la source
Bizarre, il semble que fdisk et parted ont donné des sorties différentes. Merci
awmusic12635
2

J'ai trouvé que j'avais besoin de redémarrer le serveur ou d'exécuter «partprobe / dev / sdaX» pour que pvcreate soit correctement informé de la partition.

En outre, fdisk n'est pas au courant de LVM, donc il distribuait des erreurs sur les partitions, ce qui me faisait penser qu'il y avait un problème plus important alors que ce n'était tout simplement pas le cas.

flickerfly
la source
2

Veuillez exécuter la commande ci-dessous avant pvcreate

partprobe
partprobe /dev/sdb

Exécutez ensuite votre commande

pvcreate /dev/sdb1

Remarque: Parfois, vous devez mettre à jour votre noyau manuellement. C'est pourquoi la commande ci-dessus est requise.

Mahmud Riad
la source