Dispositivo / dev / sdb1 não encontrado (ou ignorado pela filtragem)

10

Estou tentando adicionar um volume físico para uso para adicionar grupos de volumes e, portanto, LV dentro deles. Infelizmente, estou recebendo o seguinte erro.

[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

Eu apreciaria qualquer ajuda que você pudesse dar. Esta seria minha primeira vez adicionando um PV e, ao pesquisar o problema, não encontrei nada que fosse de grande ajuda.

OS é centos 6 - 64bit

Filtros

# 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
awmusic12635
fonte
OK, então em quais filtros você tem /etc/lvm.conf? E enquanto você está nisso, mostre-nos sua tabela de partições.
Michael Hampton
Mostre-os com grep filter /etc/lvm.confeparted /dev/sdb "unit s" "print"
suprjami
Filtros: pastie.org/8201254
awmusic12635
Parted: pastie.org/8201275
awmusic12635

Respostas:

7

O tipo de partição no MBR está definido como " ee", o que significa que deve haver uma tabela de partições GPT no disco, mas, como partedmostra, não há uma tabela GPT.

Você precisa:
a) usar parted para criar uma partição GPT e usar essa partição como PV
b) remover completamente a tabela de partições do MBR e usar o dispositivo de bloco /dev/sdbcomo PV

suprjami
fonte
Eu usei o parted para fazer uma partição GPT. Em seguida, fui formatá-lo: mkfs.ext4 / dev / sdb1 mke2fs 1.41.12 (17-maio-2010) mkfs.ext4: tamanho do dispositivo / dev / sdb1 muito grande para ser expresso em 32 bits usando um tamanho de bloco de 4096.
awmusic12635
@ awmusic12635 você não formatará esta partição, usará o pvcreate para transformá-lo em um volume físico, lvcreate para criar volumes lógicos a partir dele e depois formatará os volumes lógicos com um sistema de arquivos.
DerfK
Você está usando o EL6. O tamanho máximo possível do sistema de arquivos ext4 é restrito a 16 TB, porque o EL6 mkfs não conhece o 64bitsinalizador do sistema de arquivos. Se você tivesse o EL7, poderia criar um sistema de arquivos ext4 de 19Tb. Use outro sistema de arquivos como o XFS ou faça o que o @DerfK disse e crie Volumes Lógicos LVM menores.
Suprjami
3

O tipo de dispositivo de bloqueio também pode ser um problema. Se você executar pvcreatecom -vvvve você ver um erro como "Skipping: não reconhecido LVM dispositivo tipo 251", então você tem que adicionar o número mágico para a lista de dispositivos permitidos.

Basta procurar o número do tipo de dispositivo /proc/devicese adicioná-lo à devicesseção da configuração do lvm /etc/lvm/lvm.conf, por exemplo:

types = [ "bcache", 251 ]

É isso, agora você pode usar pvcreatecomo esperado.

Phillipp
fonte
Eles -vvvvme ajudaram a descobrir que no script, onde pvcreateestava seguindo imediatamente, parted /dev/nvme0n1 set 1 lvm onhá um momento curto, mas notável, enquanto o dispositivo /dev/nvme0n1p1é recriado udev. Portanto, pvcreate realmente não foi possível encontrá-lo, arquivando com o erro fornecido, enquanto emitia o mesmo comando em um shell concluído com êxito.
Timur Bakeyev 7/07
@TimurBakeyev bem, QUE É um bom partido ;-)
Phillipp
2

Sua saída dividida mostra que você não possui nenhuma partição, portanto /dev/sdb1não existe. Você precisa criar a partição primeiro.

Michael Hampton
fonte
Estranho, parece que o fdisk e se separou deu diferentes resultados. Graças
awmusic12635
2

Descobri que eu precisava reiniciar o servidor ou executar 'partprobe / dev / sdaX' para que o pvcreate estivesse devidamente informado da partição.

Além disso, o fdisk não está ciente do lvm, por isso estava distribuindo erros sobre partições, fazendo-me pensar que havia um problema maior quando esse simplesmente não era o caso.

flickerfly
fonte
2

Por favor, execute o comando abaixo antes de pvcreate

partprobe
partprobe /dev/sdb

Em seguida, execute seu comando

pvcreate /dev/sdb1

Nota: Às vezes você precisa atualizar seu kernel manualmente. É por isso que o comando acima é necessário.

Mahmud Riad
fonte