Устройство / dev / sdb1 не найдено (или отфильтровано)

10

Я пытаюсь добавить физический том для использования для добавления групп томов и, следовательно, LV внутри них. К сожалению, я получаю следующую ошибку.

[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

Буду признателен за любую помощь, которую вы можете оказать. Это был мой первый раз, когда мне пришлось добавить фотоэлемент, и при исследовании проблемы я не обнаружил ничего, что могло бы мне помочь.

ОС стоит 6 - 64 бита

фильтры

# 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
источник
Хорошо, так какие фильтры у вас есть /etc/lvm.conf? И пока вы там, покажите нам свою таблицу разделов.
Майкл Хэмптон
Покажите это с grep filter /etc/lvm.confиparted /dev/sdb "unit s" "print"
suprjami
Фильтры: pastie.org/8201254
awmusic12635
Расстались: pastie.org/8201275
awmusic12635

Ответы:

7

Тип раздела в MBR установлен на « ee», что означает, что на диске должна быть таблица разделов GPT , но, как partedвидно, таблицы GPT вообще нет.

Вам нужно либо:
а) использовать parted для создания раздела GPT, и использовать этот раздел в качестве PV;
b) полностью удалить таблицу разделов из MBR и просто использовать блочное устройство /dev/sdbв качестве PV.

suprjami
источник
Я использовал parted для создания раздела GPT. Затем я отформатировал его: mkfs.ext4 / dev / sdb1 mke2fs 1.41.12 (17 мая 2010 г.) mkfs.ext4: Размер устройства / dev / sdb1 слишком велик, чтобы его можно было выразить в 32 битах с использованием размера блока 4096.
awmusic12635
@ awmusic12635 вы не будете форматировать этот раздел, вы будете использовать pvcreate, чтобы превратить его в физический том, lvcreate, чтобы создать из него логические тома, а затем отформатируете логические тома с помощью файловой системы.
DerfK
Вы используете EL6. Максимально возможный размер файловой системы ext4 ограничен 16 ТБ, поскольку EL6 mkfs не знает о 64bitфлаге файловой системы. Если бы у вас был EL7, вы могли бы создать файловую систему ext4 19 ТБ. Либо используйте другую файловую систему, такую ​​как XFS, либо делайте то, что сказал @DerfK, и делайте логические тома LVM меньшего размера.
suprjami
3

Тип блочного устройства также может быть проблемой. Если вы запускаете pvcreateс -vvvvи видите ошибку типа «Пропуск: нераспознанный тип устройства LVM 251», то вам нужно добавить магический номер в список разрешенных устройств.

Просто найдите тип устройства для числа /proc/devicesи добавьте его в devicesраздел конфигурации lvm /etc/lvm/lvm.conf, например:

types = [ "bcache", 251 ]

Вот и все, теперь вы можете использовать, pvcreateкак ожидалось.

Phillipp
источник
Это -vvvvпомогло мне выяснить, что в скрипте, за которым pvcreateсразу следовал, parted /dev/nvme0n1 set 1 lvm onесть короткий, но заметный момент, когда устройство /dev/nvme0n1p1воссоздается udev. Таким образом, pvcreate действительно не удалось найти его, отправка с указанной ошибкой, в то время как выполнение той же команды в оболочке завершилось успешно.
Тимур Бакеев
@TimurBakeyev хорошо, ЧТО хороший улов ;-)
Phillipp
2

Ваш разделенный вывод показывает, что у вас нет разделов, следовательно /dev/sdb1, не существует. Вы должны сначала создать раздел.

Майкл Хэмптон
источник
Странно, похоже fdisk и parted дали разные выводы. Спасибо
awmusic12635
2

Я обнаружил, что мне нужно либо перезагрузить сервер, либо запустить 'partprobe / dev / sdaX', чтобы pvcreate был должным образом проинформирован о разделе.

Кроме того, fdisk не знает lvm, поэтому он выдавал ошибки о разделах, заставляя меня думать, что была большая проблема, когда это просто не имело место.

flickerfly
источник
2

Пожалуйста, выполните команду ниже перед pvcreate

partprobe
partprobe /dev/sdb

Затем запустите вашу команду

pvcreate /dev/sdb1

Примечание: иногда вам нужно обновить ядро ​​вручную. Вот почему вышеуказанная команда требуется.

Махмуд Риад
источник