67.14. LVM 문제 해결
LVM(Logical Volume Manager) 툴을 사용하여 LVM 볼륨 및 그룹의 다양한 문제를 해결할 수 있습니다.
67.14.1. LVM에서 진단 데이터 수집 링크 복사링크가 클립보드에 복사되었습니다!
LVM 명령이 예상대로 작동하지 않는 경우 다음과 같은 방법으로 진단을 수집할 수 있습니다.
프로세스
다음 방법을 사용하여 다양한 유형의 진단 데이터를 수집합니다.
-
모든 LVM 명령에
-v
인수를 추가하여 명령 출력의 상세 정보 표시 수준을 늘립니다.v를 추가하여 상세 정보를 추가로 늘릴 수 있습니다
. 최대 4개의 이러한v가
허용됩니다(예:-vvvv
). -
/etc/lvm/lvm.conf
구성 파일의log
섹션에서level
옵션의 값을 늘립니다. 이로 인해 LVM에서 시스템 로그에 자세한 정보를 제공합니다. 문제가 논리 볼륨 활성화와 관련된 경우 활성화 중에 LVM을 활성화하여 메시지를 기록합니다.
-
/etc/lvm/lvm.conf
구성 파일의log
섹션에서activation = 1
옵션을 설정합니다. -
-vvv
옵션과 함께 LVM 명령을 실행합니다. - 명령 출력을 검사합니다.
활성화
옵션을0
으로 재설정합니다.옵션을
0
으로 재설정하지 않으면 메모리 부족 상황에서 시스템이 응답하지 않을 수 있습니다.
-
진단 목적으로 정보 덤프를 표시합니다.
lvmdump
# lvmdump
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 추가 시스템 정보를 표시합니다.
lvs -v
# lvs -v
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pvs --all
# pvs --all
Copy to Clipboard Copied! Toggle word wrap Toggle overflow dmsetup info --columns
# dmsetup info --columns
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
/etc/lvm/backup/
디렉토리에서 LVM 메타데이터의 마지막 백업과/etc/lvm/archive/
디렉터리에 보관된 버전을 검사합니다. 현재 구성 정보를 확인합니다.
lvmconfig
# lvmconfig
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
/run/lvm/hints
캐시 파일이 어떤 장치에 물리 볼륨이 있는지 확인합니다.
-
모든 LVM 명령에
67.14.2. 실패한 LVM 장치에 대한 정보 표시 링크 복사링크가 클립보드에 복사되었습니다!
실패한 LVM(Logical Volume Manager) 볼륨에 대한 문제 해결 정보는 실패 이유를 결정하는 데 도움이 될 수 있습니다. 가장 일반적인 LVM 볼륨 오류의 다음 예제를 확인할 수 있습니다.
예 67.15. 볼륨 그룹 실패
이 예에서는 볼륨 그룹 myvg 를 구성하는 장치 중 하나가 실패했습니다. 그러면 볼륨 그룹 사용성이 실패 유형에 따라 달라집니다. 예를 들어 RAID 볼륨도 관련된 경우에도 볼륨 그룹을 계속 사용할 수 있습니다. 실패한 장치에 대한 정보도 볼 수 있습니다.
예 67.16. 논리 볼륨 실패
이 예에서는 장치 중 하나가 실패했습니다. 이는 볼륨 그룹의 논리 볼륨이 실패하는 이유가 될 수 있습니다. 명령 출력에는 실패한 논리 볼륨이 표시됩니다.
예 67.17. RAID 논리 볼륨의 이미지에 실패함
다음 예제에서는 RAID 논리 볼륨의 이미지가 실패한 경우 pvs
및 lvs
유틸리티의 명령 출력을 보여줍니다. 논리 볼륨은 계속 사용할 수 있습니다.
67.14.3. 볼륨 그룹에서 손실된 LVM 물리 볼륨 제거 링크 복사링크가 클립보드에 복사되었습니다!
물리 볼륨이 실패하면 볼륨 그룹의 나머지 물리 볼륨을 활성화하고 볼륨 그룹에서 해당 물리 볼륨을 사용한 모든 논리 볼륨을 제거할 수 있습니다.
프로세스
볼륨 그룹에서 나머지 물리 볼륨을 활성화합니다.
vgchange --activate y --partial myvg
# vgchange --activate y --partial myvg
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 제거할 논리 볼륨을 확인합니다.
vgreduce --removemissing --test myvg
# vgreduce --removemissing --test myvg
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 볼륨 그룹에서 손실된 물리 볼륨을 사용한 모든 논리 볼륨을 제거합니다.
vgreduce --removemissing --force myvg
# vgreduce --removemissing --force myvg
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 선택 사항: 유지하려는 논리 볼륨을 실수로 제거한 경우 Cryostatreduce 작업을 되돌릴 수 있습니다.
vgcfgrestore myvg
# vgcfgrestore myvg
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 주의씬 풀을 제거하는 경우 LVM에서 작업을 되돌릴 수 없습니다.
67.14.4. 누락된 LVM 물리 볼륨의 메타데이터 검색 링크 복사링크가 클립보드에 복사되었습니다!
볼륨 그룹의 물리 볼륨의 메타데이터 영역이 실수로 덮어쓰거나 다른 방법으로 삭제되면 메타데이터 영역이 잘못되었거나 특정 UUID가 있는 물리 볼륨을 찾을 수 없음을 나타내는 오류 메시지가 표시됩니다.
이 절차에서는 누락되거나 손상된 물리 볼륨의 최신 아카이브 메타데이터를 찾습니다.
프로세스
물리 볼륨이 포함된 볼륨 그룹의 아카이브된 메타데이터 파일을 찾습니다. 보관된 메타데이터 파일은
/etc/lvm/archive/volume-group-name_backup-number.vg
경로에 있습니다.cat /etc/lvm/archive/myvg_00000-1248998876.vg
# cat /etc/lvm/archive/myvg_00000-1248998876.vg
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 00000-1248998876 을 backup-number로 바꿉니다. 볼륨 그룹에 가장 많은 수가 있는 마지막으로 알려진 유효한 메타데이터 파일을 선택합니다.
물리 볼륨의 UUID를 찾습니다. 다음 방법 중 하나를 사용합니다.
논리 볼륨을 나열합니다.
lvs --all --options +devices
# lvs --all --options +devices Couldn't find device with uuid 'FmGRh3-zhok-iVI8-7qTD-S5BI-MAEN-NYM5Sk'.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
보관된 메타데이터 파일을 검사합니다. 볼륨 그룹 구성의
physical_volumes
섹션에서id =
레이블이 지정된 값으로 UUID를 찾습니다. --partial
옵션을 사용하여 볼륨 그룹을 비활성화합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
67.14.5. LVM 물리 볼륨에서 메타데이터 복원 링크 복사링크가 클립보드에 복사되었습니다!
이 절차에서는 손상된 물리 볼륨에서 메타데이터를 복원하거나 새 장치로 교체합니다. 물리 볼륨의 메타데이터 영역을 다시 작성하여 물리 볼륨에서 데이터를 복구할 수 있습니다.
작동 중인 LVM 논리 볼륨에서 이 절차를 시도하지 마십시오. 잘못된 UUID를 지정하면 데이터가 손실됩니다.
사전 요구 사항
- 누락된 물리 볼륨의 메타데이터를 확인했습니다. 자세한 내용은 누락된 LVM 물리 볼륨의 메타데이터 찾기를 참조하십시오.
프로세스
물리 볼륨에서 메타데이터를 복원합니다.
pvcreate --uuid physical-volume-uuid \ --restorefile /etc/lvm/archive/volume-group-name_backup-number.vg \ block-device
# pvcreate --uuid physical-volume-uuid \ --restorefile /etc/lvm/archive/volume-group-name_backup-number.vg \ block-device
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고명령은 LVM 메타데이터 영역만 덮어쓰고 기존 데이터 영역에는 영향을 미치지 않습니다.
예 67.18. /dev/vdb1에서 물리 볼륨 복원
다음 예제에서는 다음 속성을 사용하여
/dev/vdb1
장치를 물리 볼륨으로 레이블을 지정합니다.-
FmGRh3-zhok-iVI8-7qTD-S5BI-MAEN-NYM5Sk
의 UUID 볼륨 그룹에 대해 가장 최근의 아카이브 메타데이터인
VG_00050.vg
에 포함된 메타데이터 정보pvcreate --uuid "FmGRh3-zhok-iVI8-7qTD-S5BI-MAEN-NYM5Sk" \ --restorefile /etc/lvm/archive/VG_00050.vg \ /dev/vdb1
# pvcreate --uuid "FmGRh3-zhok-iVI8-7qTD-S5BI-MAEN-NYM5Sk" \ --restorefile /etc/lvm/archive/VG_00050.vg \ /dev/vdb1 ... Physical volume "/dev/vdb1" successfully created
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
볼륨 그룹의 메타데이터를 복원합니다.
vgcfgrestore myvg
# vgcfgrestore myvg Restored volume group myvg
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 볼륨 그룹의 논리 볼륨을 표시합니다.
lvs --all --options +devices myvg
# lvs --all --options +devices myvg
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 논리 볼륨은 현재 비활성 상태입니다. 예를 들면 다음과 같습니다.
LV VG Attr LSize Origin Snap% Move Log Copy% Devices mylv myvg -wi--- 300.00G /dev/vdb1 (0),/dev/vdb1(0) mylv myvg -wi--- 300.00G /dev/vdb1 (34728),/dev/vdb1(0)
LV VG Attr LSize Origin Snap% Move Log Copy% Devices mylv myvg -wi--- 300.00G /dev/vdb1 (0),/dev/vdb1(0) mylv myvg -wi--- 300.00G /dev/vdb1 (34728),/dev/vdb1(0)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 논리 볼륨의 세그먼트 유형이 RAID인 경우 논리 볼륨을 다시 동기화합니다.
lvchange --resync myvg/mylv
# lvchange --resync myvg/mylv
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 논리 볼륨을 활성화합니다.
lvchange --activate y myvg/mylv
# lvchange --activate y myvg/mylv
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
on-disk LVM 메타데이터가 오버로이드된 공간만큼 많은 공간을 사용하는 경우 이 절차에서는 물리 볼륨을 복구할 수 있습니다. 메타데이터 영역을 통과한 메타데이터를 덮어쓰는 경우 볼륨의 데이터가 영향을 받을 수 있습니다.
fsck
명령을 사용하여 해당 데이터를 복구할 수 있습니다.
검증
활성 논리 볼륨을 표시합니다.
lvs --all --options +devices
# lvs --all --options +devices LV VG Attr LSize Origin Snap% Move Log Copy% Devices mylv myvg -wi--- 300.00G /dev/vdb1 (0),/dev/vdb1(0) mylv myvg -wi--- 300.00G /dev/vdb1 (34728),/dev/vdb1(0)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
67.14.6. LVM 출력에서 오류 반올림 링크 복사링크가 클립보드에 복사되었습니다!
볼륨 그룹의 공간 사용량을 보고하는 LVM 명령은 사람이 읽을 수 있는 출력을 제공하기 위해 보고된 수를 2
진수로 반올림합니다. 여기에는 Cryostatdisplay 및
Cryo stats 유틸리티가
포함됩니다.
라운드링으로 인해 보고된 여유 공간 값이 볼륨 그룹의 물리 확장 영역보다 클 수 있습니다. 보고된 여유 공간의 크기를 논리 볼륨을 생성하려고 하면 다음과 같은 오류가 발생할 수 있습니다.
Insufficient free extents
Insufficient free extents
오류를 해결하려면 사용 가능한 공간의 정확한 값인 볼륨 그룹의 사용 가능한 물리 확장 영역 수를 검사해야 합니다. 그런 다음 확장 영역 수를 사용하여 논리 볼륨을 성공적으로 만들 수 있습니다.
67.14.7. LVM 볼륨을 생성할 때 반올림 오류 방지 링크 복사링크가 클립보드에 복사되었습니다!
LVM 논리 볼륨을 만들 때 논리 볼륨의 논리 확장 영역 수를 지정하여 반올림 오류를 방지할 수 있습니다.
프로세스
볼륨 그룹에서 사용 가능한 물리 확장 영역 수를 찾습니다.
vgdisplay myvg
# vgdisplay myvg
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예 67.19. 볼륨 그룹에서 확장 영역 사용 가능
예를 들어 다음 볼륨 그룹에는 8780 사용 가능한 물리 확장 영역이 있습니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 논리 볼륨을 만듭니다. 바이트가 아닌 Extent에 볼륨 크기를 입력합니다.
예 67.20. 확장 영역 수를 지정하여 논리 볼륨 생성
lvcreate --extents 8780 --name mylv myvg
# lvcreate --extents 8780 --name mylv myvg
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예 67.21. 나머지 공간을 모두 차지하기 위해 논리 볼륨 만들기
또는 볼륨 그룹에서 남은 사용 가능한 공간의 백분율을 사용하도록 논리 볼륨을 확장할 수 있습니다. 예를 들면 다음과 같습니다.
lvcreate --extents 100%FREE --name mylv myvg
# lvcreate --extents 100%FREE --name mylv myvg
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
볼륨 그룹에서 현재 사용 중인 확장 영역 수를 확인합니다.
vgs --options +vg_free_count,vg_extent_count
# vgs --options +vg_free_count,vg_extent_count VG #PV #LV #SN Attr VSize VFree Free #Ext myvg 2 1 0 wz--n- 34.30G 0 0 8780
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
67.14.8. LVM 메타데이터 및 디스크의 위치 링크 복사링크가 클립보드에 복사되었습니다!
LVM 헤더 및 메타데이터 영역은 다른 오프셋 및 크기에서 사용할 수 있습니다.
기본 LVM 디스크 헤더:
-
label_header
및pv_header
구조에 있습니다. - 디스크의 두 번째 512바이트 섹터에 있습니다. PV(물리 볼륨)를 생성할 때 기본이 아닌 위치가 지정된 경우 헤더가 첫 번째 또는 세 번째 섹터에 있을 수도 있습니다.
표준 LVM 메타데이터 영역:
- 디스크 시작부터 4096바이트를 시작합니다.
- 디스크 시작부터 1MiB를 종료합니다.
-
mda_header
구조를 포함하는 512바이트 섹터로 시작합니다.
메타데이터 텍스트 영역은 mda_header
섹터 후에 시작하여 메타데이터 영역의 끝으로 이동합니다. LVM VG 메타데이터 텍스트는 순환 방식으로 메타데이터 텍스트 영역에 작성됩니다. mda_header
는 텍스트 영역 내의 최신 VG 메타데이터의 위치를 가리킵니다.
# pvck --dump headers /dev/sda
명령을 사용하여 디스크에서 LVM 헤더를 출력할 수 있습니다. 이 명령은 label_header
,pv_header
,mda_header
및 존재하는 경우 메타데이터 텍스트 위치를 출력합니다. 잘못된 필드는 CHECK
접두사를 사용하여 출력됩니다.
LVM 메타데이터 영역 오프셋은 PV를 생성한 시스템의 페이지 크기와 일치하므로 메타데이터 영역은 디스크 시작 시 8K, 16K 또는 64K를 시작할 수 있습니다.
PV를 생성할 때 더 크거나 작은 메타데이터 영역을 지정할 수 있습니다. 이 경우 메타데이터 영역은 1MiB가 아닌 위치에서 종료될 수 있습니다. pv_header
는 메타데이터 영역의 크기를 지정합니다.
PV를 생성할 때 디스크 끝에 두 번째 메타데이터 영역을 선택적으로 활성화할 수 있습니다. pv_header
에는 메타데이터 영역의 위치가 포함되어 있습니다.
67.14.9. 디스크에서 VG 메타데이터 추출 링크 복사링크가 클립보드에 복사되었습니다!
상황에 따라 디스크에서 VG 메타데이터를 추출하려면 다음 절차 중 하나를 선택합니다. 추출된 메타데이터를 저장하는 방법에 대한 자세한 내용은 추출된 메타데이터를 파일에 저장을 참조하십시오.
복구의 경우 디스크에서 메타데이터를 추출하지 않고 /etc/lvm/backup/
에서 백업 파일을 사용할 수 있습니다.
프로세스
유효한
mda_header
에서 참조된 현재 메타데이터 텍스트를 인쇄 :pvck --dump metadata <disk>
# pvck --dump metadata <disk>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예 67.22. 유효한
mda_header
의 메타데이터 텍스트pvck --dump metadata /dev/sdb
# pvck --dump metadata /dev/sdb metadata text at 172032 crc Oxc627522f # vgname test segno 59 --- <raw metadata from disk> ---
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 유효한
mda_header
를 찾는 방법에 따라 메타데이터 영역에 있는 모든 메타데이터 복사본의 위치를 인쇄합니다.pvck --dump metadata_all <disk>
# pvck --dump metadata_all <disk>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예 67.23. 메타데이터 영역에 있는 메타데이터 복사본의 위치
pvck --dump metadata_all /dev/sdb
# pvck --dump metadata_all /dev/sdb metadata at 4608 length 815 crc 29fcd7ab vg test seqno 1 id FaCsSz-1ZZn-mTO4-Xl4i-zb6G-BYat-u53Fxv metadata at 5632 length 1144 crc 50ea61c3 vg test seqno 2 id FaCsSz-1ZZn-mTO4-Xl4i-zb6G-BYat-u53Fxv metadata at 7168 length 1450 crc 5652ea55 vg test seqno 3 id FaCsSz-1ZZn-mTO4-Xl4i-zb6G-BYat-u53Fxv
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 헤더가 없거나 손상된 경우
mda_header
를 사용하지 않고 메타데이터 영역에 있는 모든 메타데이터 복사본을 검색합니다.pvck --dump metadata_search <disk>
# pvck --dump metadata_search <disk>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예 67.24.
mda_header
를 사용하지 않고 메타데이터 영역의 메타데이터 복사본pvck --dump metadata_search /dev/sdb
# pvck --dump metadata_search /dev/sdb Searching for metadata at offset 4096 size 1044480 metadata at 4608 length 815 crc 29fcd7ab vg test seqno 1 id FaCsSz-1ZZn-mTO4-Xl4i-zb6G-BYat-u53Fxv metadata at 5632 length 1144 crc 50ea61c3 vg test seqno 2 id FaCsSz-1ZZn-mTO4-Xl4i-zb6G-BYat-u53Fxv metadata at 7168 length 1450 crc 5652ea55 vg test seqno 3 id FaCsSz-1ZZn-mTO4-Xl4i-zb6G-BYat-u53Fxv
Copy to Clipboard Copied! Toggle word wrap Toggle overflow dump
명령에-v
옵션을 포함하여 메타데이터 복사본의 각 설명을 표시합니다.pvck --dump metadata -v <disk>
# pvck --dump metadata -v <disk>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예 67.25. 각 메타데이터 사본에서 설명 표시
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
이 파일은 복구에 사용할 수 있습니다. 첫 번째 메타데이터 영역은 기본적으로 덤프 메타데이터에 사용됩니다. 디스크 끝에 두 번째 메타데이터 영역이 있는 경우 --settings "mda_num=2"
옵션을 사용하여 덤프 메타데이터에 두 번째 메타데이터 영역을 대신 사용할 수 있습니다.
67.14.10. 추출된 메타데이터를 파일에 저장 링크 복사링크가 클립보드에 복사되었습니다!
복구에 덤프된 메타데이터를 사용해야 하는 경우 추출된 메타데이터를 -f
옵션과 --setings
옵션을 사용하여 파일에 저장해야 합니다.
프로세스
-
-f <filename
>이--dump 메타데이터에
추가되면 원시 메타데이터가 이름이 지정된 파일에 작성됩니다. 이 파일을 사용하여 복구할 수 있습니다. -
-f <filename
>이--dump metadata_all
또는--dump metadata_search
에 추가된 경우 모든 위치의 원시 메타데이터가 이름이 지정된 파일에 작성됩니다. --dump metadata_all|metadata_search
의 메타데이터 텍스트 인스턴스 하나를 저장하려면--settings "metadata_offset=<offset>"
을 추가합니다. 여기서 <offset
>은 목록 출력의 "metadata at <offset>"입니다.예 67.26. 명령 출력
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
67.14.11. pvcreate 및 Cryostatcfgrestore 명령을 사용하여 손상된 LVM 헤더 및 메타데이터로 디스크 복구 링크 복사링크가 클립보드에 복사되었습니다!
손상된 물리 볼륨에서 메타데이터 및 헤더를 복원하거나 새 장치로 교체할 수 있습니다. 물리 볼륨의 메타데이터 영역을 다시 작성하여 물리 볼륨에서 데이터를 복구할 수 있습니다.
이러한 명령은 매우 주의하여 사용해야 하며, 각 명령의 영향, 볼륨의 현재 레이아웃, 달성해야 하는 레이아웃 및 백업 메타데이터 파일의 콘텐츠에 대해 잘 알고 있는 경우에만 사용해야 합니다. 이러한 명령에는 데이터가 손상될 가능성이 있으므로 문제 해결에 도움이 필요한 경우 Red Hat 글로벌 지원 서비스에 문의하는 것이 좋습니다.
사전 요구 사항
- 누락된 물리 볼륨의 메타데이터를 확인했습니다. 자세한 내용은 누락된 LVM 물리 볼륨의 메타데이터 찾기를 참조하십시오.
프로세스
pvcreate
및 Cryostatcfgrestore
명령에 필요한 다음 정보를 수집합니다.# pvs -o+uuid
명령을 실행하여 디스크 및 UUID에 대한 정보를 수집할 수 있습니다.-
metadata-file 은 VG의 최신 메타데이터 백업 파일의 경로입니다(예:
/etc/lvm/backup/ <vg-name>).
- VG-name 은 PV가 손상되거나 누락된 VG의 이름입니다.
-
이 장치에서 손상된 PV의 UUID 는
# pvs -i+uuid
명령의 출력에서 가져온 값입니다. -
disk 는 PV가 있어야 하는 디스크 이름입니다(예:
/dev/sdb
). 이 디스크가 올바른 디스크인지 확인하거나 도움을 구하십시오. 그렇지 않으면 이러한 단계를 수행하면 데이터가 손실될 수 있습니다.
-
metadata-file 은 VG의 최신 메타데이터 백업 파일의 경로입니다(예:
디스크에서 LVM 헤더를 다시 생성합니다.
pvcreate --restorefile <metadata-file> --uuid <UUID> <disk>
# pvcreate --restorefile <metadata-file> --uuid <UUID> <disk>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 필요한 경우 헤더가 유효한지 확인합니다.
pvck --dump headers <disk>
# pvck --dump headers <disk>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 디스크에서 VG 메타데이터를 복원합니다.
vgcfgrestore --file <metadata-file> <vg-name>
# vgcfgrestore --file <metadata-file> <vg-name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 필요한 경우 메타데이터가 복원되었는지 확인합니다.
pvck --dump metadata <disk>
# pvck --dump metadata <disk>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
VG에 대한 메타데이터 백업 파일이 없는 경우 추출된 메타데이터를 파일에 저장하는 절차를 사용하여 하나를 가져올 수 있습니다.
검증
새 물리 볼륨이 손상되지 않고 볼륨 그룹이 올바르게 작동하는지 확인하려면 다음 명령의 출력을 확인합니다.
vgs
# vgs
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
67.14.12. pvck 명령을 사용하여 손상된 LVM 헤더 및 메타데이터로 디스크 복구 링크 복사링크가 클립보드에 복사되었습니다!
이는 pvcreate 및 pvcfgrestore 명령을 사용하여 손상된 LVM 헤더 및 메타데이터가 있는 디스크를 복구하는 대신 사용할 수 있습니다. pvcreate
및 Cryostat cfgrestore
명령이 작동하지 않는 경우가 있을 수 있습니다. 이 방법은 손상된 디스크를 더 대상으로 합니다.
이 방법은 pvck --dump
에서 추출한 메타데이터 입력 파일 또는 /etc/lvm/backup
의 백업 파일을 사용합니다. 가능한 경우 동일한 VG의 다른 PV 또는 PV의 두 번째 메타데이터 영역에서 pvck --dump
에 저장된 메타데이터를 사용합니다. 자세한 내용은 추출된 메타데이터를 파일에 저장을 참조하십시오.
프로세스
디스크에서 헤더 및 메타데이터를 복구합니다.
pvck --repair -f <metadata-file> <disk>
# pvck --repair -f <metadata-file> <disk>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음과 같습니다.
-
<metadata-file >은 VG에 대한 최신 메타데이터를 포함하는 파일입니다.
/etc/lvm/backup/ Cryostat-name
이거나pvck --dump metadata_search
명령 출력에서 원시 메타데이터 텍스트가 포함된 파일일 수 있습니다. -
<disk >는 PV가 있어야 하는 디스크 이름입니다(예:
/dev/sdb
). 데이터 손실을 방지하려면 가 올바른 디스크인지 확인합니다. 디스크가 올바른지 확실하지 않은 경우 Red Hat 지원팀에 문의하십시오.
-
<metadata-file >은 VG에 대한 최신 메타데이터를 포함하는 파일입니다.
메타데이터 파일이 백업 파일인 경우 VG에서 메타데이터를 보유하는 각 PV에서 pvck --repair
를 실행해야 합니다. 메타데이터 파일이 다른 PV에서 추출된 원시 메타데이터인 경우 pvck --repair
는 손상된 PV에서만 실행해야 합니다.
검증
새 물리 볼륨이 손상되지 않고 볼륨 그룹이 올바르게 작동하는지 확인하려면 다음 명령의 출력을 확인합니다.
vgs <vgname>
# vgs <vgname>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pvs <pvname>
# pvs <pvname>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow lvs <lvname>
# lvs <lvname>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
67.14.13. LVM RAID 문제 해결 링크 복사링크가 클립보드에 복사되었습니다!
LVM RAID 장치의 다양한 문제를 해결하여 데이터 오류를 수정하거나 장치를 복구하거나 실패한 장치를 교체할 수 있습니다.
67.14.13.1. RAID 논리 볼륨에서 데이터 일관성 확인 링크 복사링크가 클립보드에 복사되었습니다!
LVM은 RAID 논리 볼륨에 대한 스크럽을 제공합니다. RAID 스크러빙은 배열의 모든 데이터 및 패리티 블록을 읽고 일관성이 있는지 확인하는 프로세스입니다. lvchange --syncaction repair
명령은 배열에서 백그라운드 동기화 작업을 시작합니다.
프로세스
선택 사항: 다음 옵션 중 하나를 설정하여 RAID 논리 볼륨이 초기화되는 속도를 제어합니다.
-
--maxrecoveryrate Rate[bBsSkKmMgG]
는 RAID 논리 볼륨의 최대 복구 속도를 설정하여 nominal I/O 작업을 확장하지 않도록 합니다. --minrecoveryrate Rate[bBsSkKmMgG]
는 RAID 논리 볼륨의 최소 복구 속도를 설정하여 동기화 작업의 I/O가 무분별 I/O가 있는 경우에도 최소 처리량을 달성하도록 합니다.lvchange --maxrecoveryrate 4K my_vg/my_lv
# lvchange --maxrecoveryrate 4K my_vg/my_lv Logical volume _my_vg/my_lv_changed.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 4K 를 복구 속도 값으로 바꿉니다. 이 값은 배열의 각 장치에 대한 초당 양입니다. 접미사를 제공하지 않으면 옵션은 장치당 초당 kiB를 가정합니다.
lvchange --syncaction repair my_vg/my_lv
# lvchange --syncaction repair my_vg/my_lv
Copy to Clipboard Copied! Toggle word wrap Toggle overflow RAID 스크러블링 작업을 수행할 때
동기화
작업에 필요한 백그라운드 I/O는 볼륨 그룹 메타데이터 업데이트 등 LVM 장치에 대한 다른 I/O의 충돌을 줄일 수 있습니다. 이로 인해 다른 LVM 작업이 느려질 수 있습니다.참고RAID 장치를 생성하는 동안 이러한 최대 및 최소 I/O 속도를 사용할 수도 있습니다. 예를 들어
lvcreate --type raid10 -i 2 -m 1 -l 1 -L 10G --maxrecoveryrate 128 -n my_vg
는 128 kiB/sec/device의 최대 복구 속도를 가진 볼륨 그룹 my_vg에 있는 볼륨 그룹 my_vg에서 최대 복구 속도를 가진 크기가 10G인 my_vg를 생성합니다.
-
배열의 불일치 수를 복구하지 않고 표시합니다.
lvchange --syncaction check my_vg/my_lv
# lvchange --syncaction check my_vg/my_lv
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 명령은 배열에서 백그라운드 동기화 작업을 시작합니다.
-
선택 사항: 커널 메시지의
var/log/syslog
파일을 확인합니다. 배열의 불일치를 수정합니다.
lvchange --syncaction repair my_vg/my_lv
# lvchange --syncaction repair my_vg/my_lv
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 명령은 RAID 논리 볼륨에서 실패한 장치를 복구하거나 교체합니다. 이 명령을 실행한 후 커널 메시지의
var/log/syslog
파일을 볼 수 있습니다.
검증
스크럽 작업에 대한 정보를 표시합니다.
lvs -o +raid_sync_action,raid_mismatch_count my_vg/my_lv
# lvs -o +raid_sync_action,raid_mismatch_count my_vg/my_lv LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert SyncAction Mismatches my_lv my_vg rwi-a-r--- 500.00m 100.00 idle 0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
67.14.13.2. 논리 볼륨에서 실패한 RAID 장치 교체 링크 복사링크가 클립보드에 복사되었습니다!
RAID는 기존 LVM 미러링과 동일하지 않습니다. LVM 미러링의 경우 실패한 장치를 제거합니다. 그렇지 않으면 RAID 배열이 실패한 장치에서 계속 실행되는 동안 미러링된 논리 볼륨이 중단됩니다. RAID1 이외의 RAID 수준의 경우 장치를 제거하면 RAID6에서 RAID5로 또는 RAID4 또는 RAID0으로의 낮은 RAID 수준으로의 변환을 의미합니다.
실패한 장치를 제거하고 교체를 LVM으로 할당하는 대신 lvconvert
명령의 --repair
인수를 사용하여 RAID 논리 볼륨에서 물리 볼륨으로 사용되는 실패한 장치를 교체할 수 있습니다.
사전 요구 사항
볼륨 그룹에는 실패한 장치를 교체할 수 있는 충분한 여유 용량을 제공하는 물리 볼륨이 포함됩니다.
볼륨 그룹에서 사용 가능한 확장 영역이 충분한 물리 볼륨이 없는 경우 Cryostatextend 유틸리티를 사용하여 충분히 큰
새
물리 볼륨을 추가합니다.
프로세스
RAID 논리 볼륨을 확인합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow /dev/sdc 장치가 실패한 후 RAID 논리 볼륨을 확인합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 실패한 장치를 교체합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 선택 사항: 실패한 장치를 대체하는 물리 볼륨을 수동으로 지정합니다.
lvconvert --repair my_vg/my_lv replacement_pv
# lvconvert --repair my_vg/my_lv replacement_pv
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 교체를 사용하여 논리 볼륨을 검사합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 볼륨 그룹에서 실패한 장치를 제거할 때까지 LVM 유틸리티에 실패한 장치를 찾을 수 없다는 내용이 계속 표시됩니다.
볼륨 그룹에서 실패한 장치를 제거합니다.
vgreduce --removemissing my_vg
# vgreduce --removemissing my_vg
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
실패한 장치를 제거한 후 사용 가능한 물리 볼륨을 확인합니다.
pvscan
# pvscan PV /dev/sde1 VG rhel_virt-506 lvm2 [<7.00 GiB / 0 free] PV /dev/sdb1 VG my_vg lvm2 [<60.00 GiB / 59.50 GiB free] PV /dev/sdd1 VG my_vg lvm2 [<60.00 GiB / 59.50 GiB free] PV /dev/sdd1 VG my_vg lvm2 [<60.00 GiB / 59.50 GiB free]
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 실패한 장치를 교체한 후 논리 볼륨을 검사합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
67.14.14. 다중 경로 LVM 장치에 대해 중복된 물리 볼륨 경고 문제 해결 링크 복사링크가 클립보드에 복사되었습니다!
다중 경로 스토리지가 있는 LVM을 사용하는 경우 볼륨 그룹 또는 논리 볼륨을 나열하는 LVM 명령은 다음과 같은 메시지를 표시할 수 있습니다.
Found duplicate PV GDjTZf7Y03GJHjteqOwrye2dcSCjdaUi: using /dev/dm-5 not /dev/sdd Found duplicate PV GDjTZf7Y03GJHjteqOwrye2dcSCjdaUi: using /dev/emcpowerb not /dev/sde Found duplicate PV GDjTZf7Y03GJHjteqOwrye2dcSCjdaUi: using /dev/sddlmab not /dev/sdf
Found duplicate PV GDjTZf7Y03GJHjteqOwrye2dcSCjdaUi: using /dev/dm-5 not /dev/sdd
Found duplicate PV GDjTZf7Y03GJHjteqOwrye2dcSCjdaUi: using /dev/emcpowerb not /dev/sde
Found duplicate PV GDjTZf7Y03GJHjteqOwrye2dcSCjdaUi: using /dev/sddlmab not /dev/sdf
이러한 경고 문제를 해결하여 LVM이 표시되는 이유를 이해하거나 경고를 숨길 수 있습니다.
67.14.14.1. 중복 PV 경고의 근본 원인 링크 복사링크가 클립보드에 복사되었습니다!
DM Multipath(Device Mapper Multipath), EMC PowerPath 또는 Cryostat Dynamic Link Manager(HDLM)와 같은 다중 경로 소프트웨어가 시스템의 스토리지 장치를 관리하는 경우 특정 논리 단위(LUN)로의 각 경로가 다른 SCSI 장치로 등록됩니다.
그런 다음 다중 경로 소프트웨어는 해당 개별 경로에 매핑되는 새 장치를 생성합니다. 각 LUN에는 동일한 기본 데이터를 가리키는 여러 장치 노드가 /dev
디렉터리에 있으므로 모든 장치 노드에 동일한 LVM 메타데이터가 포함됩니다.
다중 경로 소프트웨어 | LUN에 대한 SCSI 경로 | 경로에 대한 다중 경로 장치 매핑 |
---|---|---|
DM Multipath |
|
|
EMC PowerPath |
| |
HDLM |
|
여러 장치 노드의 결과로 LVM 툴은 동일한 메타데이터를 여러 번 찾아 중복으로 보고합니다.
67.14.14.2. 중복 PV 경고의 사례 링크 복사링크가 클립보드에 복사되었습니다!
LVM은 다음 경우 중 하나로 중복된 PV 경고를 표시합니다.
- 동일한 장치에 대한 단일 경로
출력에 표시되는 두 장치는 동일한 장치에 대한 단일 경로입니다.
다음 예제에서는 중복된 장치가 동일한 장치에 대한 단일 경로인 중복 PV 경고를 보여줍니다.
Found duplicate PV GDjTZf7Y03GJHjteqOwrye2dcSCjdaUi: using /dev/sdd not /dev/sdf
Found duplicate PV GDjTZf7Y03GJHjteqOwrye2dcSCjdaUi: using /dev/sdd not /dev/sdf
Copy to Clipboard Copied! Toggle word wrap Toggle overflow multipath -ll
명령을 사용하여 현재 DM Multipath 토폴로지를 나열하는 경우 동일한 다중 경로 맵에서/dev/sdd
및/dev/sdf
를 모두 찾을 수 있습니다.이러한 중복 메시지는 경고일 뿐이며 LVM 작업이 실패했음을 의미하지는 않습니다. 대신 LVM에서 장치 중 하나만 물리 볼륨으로 사용하고 다른 장치를 무시함을 경고합니다.
LVM이 잘못된 장치를 선택했거나 사용자에게 경고가 중단된 경우 필터를 적용할 수 있습니다. 필터는 물리 볼륨에 필요한 장치만 검색하고 다중 경로 장치에 대한 기본 경로를 종료하도록 LVM을 구성합니다. 결과적으로 경고가 더 이상 나타나지 않습니다.
- 다중 경로 맵
출력에 표시되는 두 장치는 모두 다중 경로 맵입니다.
다음 예제에서는 둘 다 다중 경로 맵인 두 장치에 대해 중복 PV 경고를 보여줍니다. 중복된 물리 볼륨은 동일한 장치에 대한 두 개의 다른 경로가 아닌 두 개의 다른 장치에 있습니다.
Found duplicate PV GDjTZf7Y03GJHjteqOwrye2dcSCjdaUi: using /dev/mapper/mpatha not /dev/mapper/mpathc Found duplicate PV GDjTZf7Y03GJHjteqOwrye2dcSCjdaUi: using /dev/emcpowera not /dev/emcpowerh
Found duplicate PV GDjTZf7Y03GJHjteqOwrye2dcSCjdaUi: using /dev/mapper/mpatha not /dev/mapper/mpathc Found duplicate PV GDjTZf7Y03GJHjteqOwrye2dcSCjdaUi: using /dev/emcpowera not /dev/emcpowerh
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 상황은 동일한 장치에 대한 단일 경로의 두 장치에 대해 중복 경고보다 더 심각합니다. 이러한 경고는 종종 시스템이 액세스해서는 안 되는 장치에 액세스 중임을 의미합니다(예: LUN 복제 또는 미러).
시스템에서 제거해야 하는 장치를 명확하게 모르는 경우 이 상황을 복구할 수 없을 수 있습니다. 이 문제를 해결하려면 Red Hat 기술 지원팀에 문의하는 것이 좋습니다.
67.14.14.3. 중복된 PV 경고를 방지하는 LVM 장치 필터의 예 링크 복사링크가 클립보드에 복사되었습니다!
다음 예제에서는 단일 논리 단위(LUN)에 대한 여러 스토리지 경로로 인한 중복된 물리 볼륨 경고를 방지하는 LVM 장치 필터를 보여줍니다.
모든 장치의 메타데이터를 확인하도록 LVM(Logical Volume Manager)의 필터를 구성할 수 있습니다. 메타데이터에는 루트 볼륨 그룹이 있는 로컬 하드 디스크 드라이브와 다중 경로 장치가 포함됩니다. LVM이 다중 경로 장치 자체에서 각 고유한 메타데이터 영역을 찾기 때문에 다중 경로 장치(예: /dev/sdb
,/dev/sdd
)의 기본 경로를 거부하면 이러한 중복 PV 경고를 방지할 수 있습니다.
첫 번째 하드 디스크 드라이브 및 장치 매퍼 (DM) Multipath 장치에서 두 번째 파티션을 수락하고 다른 모든 것을 거부하려면 다음을 입력합니다.
filter = [ "a|/dev/sda2$|", "a|/dev/mapper/mpath.*|", "r|.*|" ]
filter = [ "a|/dev/sda2$|", "a|/dev/mapper/mpath.*|", "r|.*|" ]
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 모든 HP SmartArray 컨트롤러 및 EMC PowerPath 장치를 수락하려면 다음을 입력합니다.
filter = [ "a|/dev/cciss/.*|", "a|/dev/emcpower.*|", "r|.*|" ]
filter = [ "a|/dev/cciss/.*|", "a|/dev/emcpower.*|", "r|.*|" ]
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 첫 번째 IDE 드라이브 및 다중 경로 장치의 파티션을 수락하려면 다음을 입력합니다.
filter = [ "a|/dev/hda.*|", "a|/dev/mapper/mpath.*|", "r|.*|" ]
filter = [ "a|/dev/hda.*|", "a|/dev/mapper/mpath.*|", "r|.*|" ]
Copy to Clipboard Copied! Toggle word wrap Toggle overflow