Dispositivo / dev / sdb1 non trovato (o ignorato dal filtro)


10

Sto cercando di aggiungere un volume fisico da utilizzare per aggiungere gruppi di volumi e quindi LV al loro interno. Purtroppo sto ottenendo il seguente errore.

[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

Gradirei qualsiasi aiuto tu possa dare. Questa sarebbe la prima volta che dovrei aggiungere un pv e durante la ricerca del problema non ho trovato nulla di molto utile.

Il sistema operativo è centos 6 - 64 bit

filtri

# 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/.*/" ]

parted:

parted /dev/sdb "unit s" "print"
Model: Adaptec AdaptecRAID5 (scsi)
Disk /dev/sdb: 38996510720s
Sector size (logical/physical): 512B/512B
Partition Table: gpt

OK, quindi quali filtri hai /etc/lvm.conf? E mentre ci sei, mostraci la tua tabella delle partizioni.
Michael Hampton,

Mostra questi con grep filter /etc/lvm.confeparted /dev/sdb "unit s" "print"
suprjami il


Risposte:


7

Il tipo di partizione nell'MBR è impostato su " ee", il che significa che dovrebbe esserci una tabella delle partizioni GPT sul disco, ma come partedmostra, non c'è affatto una tabella GPT.

È necessario:
a) utilizzare parted per creare una partizione GPT e utilizzare quella partizione come PV
b) rimuovere la tabella delle partizioni dall'MBR e utilizzare semplicemente il dispositivo a blocchi /dev/sdbcome PV


Ho usato parted per creare una partizione GPT. Sono quindi andato a formattarlo: mkfs.ext4 / dev / sdb1 mke2fs 1.41.12 (17-mag-2010) mkfs.ext4: dimensioni del dispositivo / dev / sdb1 troppo grandi per essere espresse in 32 bit usando una dimensione di blocco di 4096.
awmusic12635

@ awmusic12635 non formatterai questa partizione, userai pvcreate per trasformarla in un volume fisico, lvcreate per creare volumi logici da essa e quindi formatterai i volumi logici con un filesystem.
DerfK,

Stai usando EL6. La dimensione massima possibile del filesystem ext4 è limitata a 16 TB perché EL6 mkfs non è a conoscenza del 64bitflag del filesystem. Se avessi EL7, potresti creare un filesystem ext4 da 19Tb. O usa un altro filesystem come XFS, oppure fai quello che ha detto @DerfK e crea volumi logici LVM più piccoli.
suprjami,

3

Anche il tipo di dispositivo a blocchi potrebbe essere un problema. Se corri pvcreatecon -vvvve visualizzi un errore del tipo "Salto: tipo di dispositivo LVM non riconosciuto 251", devi aggiungere il numero magico all'elenco dei dispositivi consentiti.

Basta cercare il tipo di dispositivo per il numero /proc/devicese aggiungerlo alla devicessezione della configurazione di lvm /etc/lvm/lvm.conf, ad esempio:

types = [ "bcache", 251 ]

Ecco fatto, ora puoi usare pvcreatecome previsto.


La -vvvvmi ha aiutato a scoprire che nella sceneggiatura, dove pvcreateè stato immediatamente seguito parted /dev/nvme0n1 set 1 lvm onc'è un breve, ma momento degno di nota mentre il dispositivo /dev/nvme0n1p1viene ricreata da udev. Quindi, pvcreate in realtà non riusciva a trovarlo, il deposito con il dato errore, mentre l'emissione lo stesso comando in una shell terminato con successo.
Timur Bakeyev,

@TimurBakeyev va bene, QUESTA è una buona cattura ;-)
Phillipp

2

L'output parted mostra che non hai partizioni, quindi /dev/sdb1non esiste. Devi prima creare la partizione.


Strano, sembra che fdisk e parted abbiano prodotto output diversi. Grazie
awmusic12635 il

2

Ho scoperto che avevo bisogno di riavviare il server o eseguire 'partprobe / dev / sdaX' affinché pvcreate fosse correttamente informato della partizione.

Inoltre, fdisk non è a conoscenza di LVM, quindi stava distribuendo errori sulle partizioni facendomi pensare che ci fosse un problema più grande quando semplicemente non era così.


2

Si prega di eseguire il comando seguente prima di pvcreate

partprobe
partprobe /dev/sdb

Quindi esegui il tuo comando

pvcreate /dev/sdb1

Nota: a volte è necessario aggiornare il kernel manualmente. Ecco perché è richiesto il comando sopra.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.