Nie znaleziono urządzenia / dev / sdb1 (lub ignorowane przez filtrowanie)

10

Próbuję dodać wolumin fizyczny do użycia w celu dodania grup woluminów, a tym samym LV wewnątrz nich. Niestety pojawia się następujący błąd.

[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

Byłbym wdzięczny za każdą pomoc, którą możesz udzielić. To byłby mój pierwszy raz, kiedy musiałem dodać pv i podczas badania tego problemu nie natknąłem się na coś, co byłoby bardzo pomocne.

System operacyjny to centos 6 - 64bit

Filtry

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

Rozstał się:

parted /dev/sdb "unit s" "print"
Model: Adaptec AdaptecRAID5 (scsi)
Disk /dev/sdb: 38996510720s
Sector size (logical/physical): 512B/512B
Partition Table: gpt
awmusic12635
źródło
OK, więc w jakich filtrach masz /etc/lvm.conf? I kiedy już to robisz, pokaż nam swoją tablicę partycji.
Michael Hampton
Pokaż je za pomocą grep filter /etc/lvm.confiparted /dev/sdb "unit s" "print"
suprjami
Filtry: pastie.org/8201254
awmusic12635
Rozstanie
awmusic12635

Odpowiedzi:

7

Typ partycji w MBR jest ustawiony na „ ee”, co oznacza, że na dysku powinna znajdować się tablica partycji GPT , ale jak partedpokazuje, w ogóle nie ma tabeli GPT.

Musisz:
a) użyć parted, aby utworzyć partycję GPT i użyć tej partycji jako PV
b) usunąć tabelę partycji z MBR całkowicie i po prostu użyć urządzenia blokowego /dev/sdbjako PV

suprjami
źródło
Użyłem parted, aby utworzyć partycję GPT. Następnie poszedłem go sformatować: mkfs.ext4 / dev / sdb1 mke2fs 1.41.12 (17-maj-2010) mkfs.ext4: Rozmiar urządzenia / dev / sdb1 jest zbyt duży, aby można go było wyrazić w 32 bitach przy użyciu rozmiaru bloku 4096.
awmusic12635,
@ awmusic12635 nie sformatujesz tej partycji, użyjesz pvcreate, aby przekształcić ją w wolumin fizyczny, lvcreate, aby utworzyć z niej woluminy logiczne, a następnie sformatujesz woluminy logiczne za pomocą systemu plików.
DerfK
Używasz EL6. Maksymalny możliwy rozmiar systemu plików ext4 jest ograniczony do 16 TB, ponieważ EL6 mkfs nie wie o 64bitflagi systemu plików. Jeśli miałeś EL7, możesz stworzyć system plików ext4 19Tb. Użyj innego systemu plików, takiego jak XFS, lub zrób to, co powiedział @DerfK, i zmniejsz woluminy logiczne LVM.
suprjami
3

Problemem może być także typ urządzenia blokowego. Jeśli prowadzisz pvcreatez -vvvvi widzisz błąd jak „Pomijanie: Nierozpoznany LVM typu urządzenie 251”, to trzeba dodać liczbę magiczną do listy dozwolonych urządzeń.

Po prostu wyszukaj typ urządzenia dla numeru /proc/devicesi dodaj go do devicessekcji konfiguracji lvm /etc/lvm/lvm.conf, na przykład:

types = [ "bcache", 251 ]

To wszystko, możesz teraz używać pvcreatezgodnie z oczekiwaniami.

Phillipp
źródło
-vvvvPomógł mi dowiedzieć się, że w scenariuszu, gdzie pvcreatezostał natychmiast następnego parted /dev/nvme0n1 set 1 lvm onjest krótki, ale znaczący moment, gdy urządzenie /dev/nvme0n1p1jest odtwarzany przez udev. Tak więc pvcreate naprawdę nie mogłem go znaleźć, wypełniając dany błąd, podczas wydawania tego samego polecenia w powłoce zakończonej powodzeniem.
Timur Bakeyev
@TimurBakeyev w porządku, TO jest dobry haczyk ;-)
Phillipp
2

Twoje dane wyjściowe z podziałem pokazują, że nie masz żadnych partycji, dlatego /dev/sdb1nie istnieje. Najpierw musisz utworzyć partycję.

Michael Hampton
źródło
Dziwne, wygląda na to, że fdisk i parted dały różne wyniki. Dzięki
awmusic12635,
2

Zauważyłem, że muszę zrestartować serwer lub uruchomić „partprobe / dev / sdaX”, aby pvcreate został poprawnie poinformowany o partycji.

Ponadto fdisk nie jest świadomy lvm, więc rozdawał błędy dotyczące partycji, co sprawiło, że pomyślałem, że był większy problem, gdy po prostu tak nie było.

Flickerfly
źródło
2

Proszę uruchomić poniższe polecenie przed pvcreate

partprobe
partprobe /dev/sdb

Następnie uruchom polecenie

pvcreate /dev/sdb1

Uwaga: Czasami musisz ręcznie zaktualizować jądro. Dlatego wymagane jest powyższe polecenie.

Mahmud Riad
źródło