부분/dev/sdb
이 시스템의 파티션 테이블을 읽을 수 없습니다 . 대신 아래와 같이 "파티션 테이블을 읽을 수 없습니다"가 반환되는 이유는 무엇입니까?비어 있음/널? 이 "실패" 결과는 항상 장치의 파티션 테이블이 손상되었음을 의미합니까?
참고: 여기서 sdb는 분할 없이 LVM처럼 작동할 수 있습니다!
# pvs
PV VG Fmt Attr PSize PFree
/dev/sda3 vgroot lvm2 a-- 89.00g 4.00m
/dev/sda4 vgroot lvm2 a-- 746.78g 746.78g
/dev/sdb vgdata lvm2 a-- <836.99g 0
#
#
# sfdisk -l /dev/sdb
Disk /dev/sdb: 109262 cylinders, 255 heads, 63 sectors/track
#
#
# sfdisk -l /dev/sda
Disk /dev/sda: 109262 cylinders, 255 heads, 63 sectors/track
Units: cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0
Device Boot Start End #cyls #blocks Id System
/dev/sda1 0+ 109262- 109263- 877647871+ ee GPT
sfdisk: start: (c,h,s) expected (0,0,2) found (0,0,1)
/dev/sda2 0 - 0 0 0 Empty
/dev/sda3 0 - 0 0 0 Empty
/dev/sda4 0 - 0 0 0 Empty
#
#
# partx -s /dev/sdb
partx: /dev/sdb: failed to read partition table
#
# partx -s /dev/sda
NR START END SECTORS SIZE NAME UUID
1 2048 411647 409600 200M EFI System Partition 255f05dd-3c30-4eb5-b4ef-e222216eb27e
2 411648 2508799 2097152 1G 0eba1772-1106-4a63-bad6-6d20be988dba
3 2508800 189171711 186662912 89G 39fab8c9-bd96-47a2-b5db-495e43159055
4 189171712 1755295710 1566123999 746.8G 9e3d6237-5c7f-4443-8b60-b258052a8b32
#
#
# pvdisplay /dev/sdb
--- Physical volume ---
PV Name /dev/sdb
VG Name vgdata
PV Size 836.99 GiB / not usable 2.00 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 214269
Free PE 0
Allocated PE 214269
PV UUID IsOr0G-UBTt-Qn1E-bx6R-dzvY-HqSE-bNiCaq
#
#
# lsb_release -a
LSB Version: :core-4.1-amd64:core-4.1-noarch
Distributor ID: RedHatEnterpriseServer
Description: Red Hat Enterprise Linux Server release 7.4 (Maipo)
Release: 7.4
Codename: Maipo
#
#
다른 시스템 시나리오:
다음 부분은 파티션 없이 직접 null/empty를 출력할 수 있습니다. 이유는 무엇입니까?
참고: 아래 sdb는 파티션 없이 LVM으로도 잘 작동합니다!
#
#
# partx /dev/sdb
#
#
#
# pvdisplay /dev/sdb
--- Physical volume ---
PV Name /dev/sdb
VG Name vgdoc
PV Size 600.00 GB / not usable 4.00 MB
Allocatable yes (but full)
PE Size (KByte) 4096
Total PE 153599
Free PE 0
Allocated PE 153599
PV UUID mMPvrE-NBP5-9n3J-77w5-57p0-1R7E-ggFCEj
#
#
#
# lsb_release -a
LSB Version: :core-3.1-amd64:core-3.1-ia32:core-3.1-noarch:graphics-3.1-amd64:graphics-3.1-ia32:graphics-3.1-noarch
Distributor ID: RedHatEnterpriseServer
Description: Red Hat Enterprise Linux Server release 5.5 (Tikanga)
Release: 5.5
Codename: Tikanga
#
#
1) 내 생각에는 디스크에 실제로 파티션이 없으면 partx가 "읽을 수 없습니다..."라는 메시지와 함께 종료되어서는 안 됩니다.
참고: 보시다시피 partx는 파티션되지 않은 디스크가 있는 다른 시스템에서만 null/empty를 출력합니다.
2) 디스크 파티션에 PV/LVM을 생성해서 사용하는 것이 정상이겠죠?
Device Boot Start End #cyls #blocks Id System
/dev/sda1 * 0+ 25- 26- 204800 83 Linux
/dev/sda2 25+ 36404- 36380- 292215808 8e Linux LVM
답변1
partx
파티션 테이블이 필요합니다. 게시된 결과에는 파티션 테이블이 표시되지 않습니다 sdb
.
이는 파티션 테이블은 있지만 파티션이 없는 디스크와는 다릅니다. 이 경우 디스크에 LVM PV가 있을 수 없습니다.
출력 비교
blkid -o export /dev/sda
blkid -o export /dev/sda3
blkid -o export /dev/sdb
lsblk
유용하다고 생각할 수도 있습니다 .
sdb
첫 번째 섹터에 충돌하는 구조가 포함되어 있으므로 LVM PV와 파티션 테이블을 동시에 포맷할 수 없습니다. 둘 다 첫 번째 섹터의 구조를 포함하는지 확인하려면 다음을 비교하십시오.
wipefs --no-act /dev/sda
wipefs --no-act /dev/sda3
wipefs --no-act /dev/sdb
"오프셋" 열의 단위 wipefs --no-act
는 바이트입니다.
달리면 조심하세요 wipefs
. 그것은 정확히 들리는 대로 작동합니다. 그러나 달리면 안전하다 wipefs --no-act
.