장치 / 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

도움을 주시면 감사하겠습니다. 이것은 처음으로 pv를 추가해야 할 것이고이 문제를 연구 할 때 많은 도움이되는 것을 발견하지 못했습니다.

OS는 centos 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 /dev/sdb "unit s" "print"
Model: Adaptec AdaptecRAID5 (scsi)
Disk /dev/sdb: 38996510720s
Sector size (logical/physical): 512B/512B
Partition Table: gpt

자, 어떤 필터가 /etc/lvm.conf있습니까? 당신이 그것에있는 동안, 우리에게 당신의 파티션 테이블을 보여주십시오.
Michael Hampton 21

이러한보기 grep filter /etc/lvm.confparted /dev/sdb "unit s" "print"
suprjami


답변:


7

MBR 의 파티션 유형은 " ee" 로 설정되어 디스크에 GPT 파티션 테이블 이 있어야 하지만, parted표시된 것처럼 GPT 테이블이 전혀 없음을 의미합니다.

당신도 필요 :
A) 사용이 GPT 파티션을 만들고, 태양 광으로 파티션을 사용하는 헤어
b)는 전부 MBR에서 파티션 테이블을 제거하고 바로 사용 블록 장치 /dev/sdb태양 광으로


GPT 파티션을 만들기 위해 parted를 사용했습니다. 그런 다음 형식을 지정했습니다. mkfs.ext4 / dev / sdb1 mke2fs 1.41.12 (2010 년 5 월 17 일) mkfs.ext4 : / dev / sdb1 장치의 크기가 너무 커서 4096의 블록 크기를 사용하여 32 비트로 표현할 수 없습니다.
awmusic12635

@ awmusic12635이 파티션을 포맷하지 않습니다, 당신은 물리적 볼륨으로 바꿀 그것에서 논리적 볼륨을 만들 lvcreate에에에서 pvcreate를 사용합니다 및 다음 당신은 파일 시스템과 논리적 볼륨을 포맷 할 수 있습니다.
DerfK

EL6을 사용하고 있습니다. EL6 mkfs가 64bit파일 시스템 플래그를 알지 못하므로 가능한 최대 ext4 파일 시스템 크기는 16Tb로 제한됩니다 . EL7이 있다면, 19Tb ext4 파일 시스템을 만들 수 있습니다. XFS와 같은 다른 파일 시스템을 사용하거나 @DerfK가 말한 것을 수행하고 더 작은 LVM 논리 볼륨을 만드십시오.
suprjami

3

블록 장치 유형도 문제가 될 수 있습니다. 당신이 실행하는 경우 pvcreate-vvvv당신은 "건너 뛰기 : 인식 할 수없는 LVM 장치 유형 (251)"와 같은 오류가 표시, 당신은 허용 된 장치 목록에 마법 번호를 추가해야합니다.

숫자의 장치 유형을 찾아서 lvm config /proc/devicesdevices섹션에 추가하십시오 ( /etc/lvm/lvm.conf예 :

types = [ "bcache", 251 ]

이제 pvcreate예상대로 사용할 수 있습니다 .


-vvvv스크립트에 있음을 알아 내게 도움 pvcreate직후 된 parted /dev/nvme0n1 set 1 lvm on장치가있는 동안 짧은,하지만 주목할만한 순간이 /dev/nvme0n1p1에 의해 다시 만들어집니다 udev. 그래서, pvcreate 정말 성공적으로 완료 쉘에서 같은 명령을 실행하는 동안, 주어진 오류 신고, 그것을 찾을 수 없습니다.
Timur Bakeyev

@TimurBakeyev 알았어, 그것은 좋은 캐치이다 ;-)
Phillipp

2

분할 결과에는 파티션 /dev/sdb1이 없으므로 존재하지 않는 것으로 표시됩니다. 먼저 파티션을 만들어야합니다.


홀수, 그것은 fdisk와 parted가 다른 출력을 준 것 같습니다. 감사합니다
awmusic12635 21

2

pvcreate에 파티션에 대한 정보를 제대로 제공하려면 서버를 재부팅하거나 'partprobe / dev / sdaX'를 실행해야한다는 것을 알았습니다.

또한 fdisk는 lvm을 인식하지 못하므로 파티션에 대한 오류를 전달하고 있었기 때문에 단순히 그렇지 않은 경우 더 큰 문제가 있다고 생각했습니다.


2

pvcreate 전에 아래 명령을 실행하십시오

partprobe
partprobe /dev/sdb

그런 다음 명령을 실행하십시오.

pvcreate /dev/sdb1

참고 : 때로는 커널을 수동으로 업데이트해야합니다. 위의 명령이 필요한 이유입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.