LVM이 구성 데이터를 저장하는 방법/위치를 이해하려고 합니다.
pvcreate /dev/sdb
메타데이터가 기록 되었나요/dev/sdb
? 그렇다면 무엇을 써야 할까요?vgcreate data /dev/sdb /dev/sdc
볼륨 그룹의 구성은 어디에 저장됩니까?- LVM은 논리적 범위와 물리적 범위 간의 매핑을 어디에 저장합니까?
- LVM 구성에 시스템별 구성이 있습니까?
- 내 컴퓨터에 논리 볼륨으로 구성된 2개의 디스크가 있다고 가정할 때 해당 디스크를 컴퓨터에서 꺼내 다른 컴퓨터에 넣고 논리 볼륨이 새 컴퓨터에서 작동할 것이라고 기대할 수 있습니까?
답변1
pvcreate /dev/sdb
메타데이터가 기록 되었나요/dev/sdb
? 그렇다면 무엇을 써야 할까요?
예, 하지만 블록 장치를 LVM PV로 표시하는 것은 헤더 및 식별 데이터에 지나지 않습니다. 볼륨 그룹을 생성하면 "실제" 메타데이터가 나타납니다.
vgcreate data /dev/sdb /dev/sdc
볼륨 그룹의 구성은 어디에 저장됩니까?
볼륨 그룹에 속하는 각 물리적 볼륨에서.기본적으로 동일한 메타데이터 복사본이 볼륨 그룹 내의 각 물리 볼륨에 대한 각 메타데이터 영역에 유지됩니다. LVM 볼륨 그룹 메타데이터는 크기가 작고 ASCII 형식으로 저장됩니다.
LVM은 논리적 범위와 물리적 범위 간의 매핑을 어디에 저장합니까?
이는 위에서 설명한 볼륨 그룹 메타데이터의 일부입니다.
LVM 구성에 시스템별 구성이 있습니까?
습관. VG의 일부인 PV는 PV가 생성될 때 할당된 고유 식별자를 사용하여 검색되고 조합됩니다.
내 컴퓨터에 논리 볼륨으로 구성된 2개의 디스크가 있다고 가정할 때 해당 디스크를 컴퓨터에서 꺼내 다른 컴퓨터에 넣고 논리 볼륨이 새 컴퓨터에서 작동할 것이라고 기대할 수 있습니까?
예. VG를 구성하는 모든 PV가 존재하는 경우 VG의 LV가 작동합니다.
답변2
pvcreate /dev/sdb가 /dev/sdb에 메타데이터를 기록합니까? 그렇다면 무엇을 써야 할까요?
-vv
명령을 더욱 장황하게 만드는 플래그를 명령에 전달 하면 pvcreate
pvcreate가 디스크에 메타데이터 영역을 생성하는 것을 볼 수 있습니다.
Writing physical volume data to disk "/dev/sdc1"
lvmcache: /dev/sdc1: now in VG #orphans_lvm2 (#orphans_lvm2) with 0 mdas
Creating metadata area on /dev/sdc1 at sector 8 size 2040 sectors
Opened /dev/sdc1 RW O_DIRECT
/dev/sdc1: block size is 1024 bytes
/dev/sdc1: physical block size is 512 bytes
/dev/sdc1: Preparing PV label header xxx.xxxxx.xxxxxxxxxxxxxxx
/dev/sdc1: Writing label to sector 1 with stored offset 32.
메타데이터 영역에는 무엇이 기록되나요?
메타데이터를 볼 수 있는 명령어는 모르겠지만 해당 명령어를 이용하면 vgcfgbackup
메타데이터를 백업할 수 있고, 이로 생성된 백업 파일을 열어서 메타데이터를 볼 수 있습니다.
vgcfgbackup -f /path/of/your/choice/file <your_vg_name>
위 명령으로 생성된 파일에는 /path/of/your/choice/file
PV, VG 및 LVM 메타데이터가 포함됩니다. 섹션 중 하나는 다음과 같습니다.
physical_volumes {
pv0 {
id = "abCDe-TuvwX-DEfgh-daEb-Xys-6Efcgh-LkmNo"
device = "/dev/sdc1" # Hint only
status = ["ALLOCATABLE"]
flags = []
dev_size = 10477194 # 4.99592 Gigabytes
pe_start = 2048
pe_count = 1278 # 4.99219 Gigabytes
}
}
/etc/lvm
디렉토리의 내용 과 명령의 출력을 살펴보는 것이 좋습니다.lvm dumpconfig
내 컴퓨터에 논리 볼륨으로 구성된 2개의 디스크가 있다고 가정할 때 해당 디스크를 컴퓨터에서 꺼내 다른 컴퓨터에 넣고 논리 볼륨이 새 컴퓨터에서 작동할 것이라고 기대할 수 있습니까?
그래 넌 할수있어.
볼륨 그룹을 다른 호스트로 마이그레이션할 수 있습니다. 정확히 플러그 앤 플레이는 아니지만 이를 수행하는 프로세스는 매우 간단합니다. 이를 수행하는 데 도움이 되는 많은 자습서가 온라인에 있습니다.
이 서버 실패 스레드명령을 사용하여 LVM 파티션을 다른 호스트로 이동하는 방법을 설명합니다 dd
.
답변3
pvcreate /dev/sdb
메타데이터가 기록 되었나요/dev/sdb
? 그렇다면 무엇을 써야 할까요?vgcreate data /dev/sdb /dev/sdc
볼륨 그룹의 구성은 어디에 저장됩니까?
pvcreate
PV에 대한 "태그" 및 "헤더"를 생성하고 볼륨의 메타데이터용 공간을 할당합니다( options 로 지정됨 --[pv]metadata
). 헤더는 이 PV의 메타데이터 영역에 대한 포인터를 포함하는 이진 데이터 구조입니다.
이 vgcreate
명령은 볼륨 그룹의 현재 상태에 대한 텍스트 설명을 관련 PV에 이전에 할당된 메타데이터 영역( --[vg]metadatacopies
옵션 등에 의해 제어됨)에 저장합니다. 이는 명령 지원에 대한 설명 vgcfgbackup
이며 대부분의 경우 사람들이 검사에 관심이 있는 메타데이터입니다.
더 모호한 PV 태그/헤더 정보: 개요는 다음에서 찾을 수 있습니다.LVM 내부 구조,http://mo.morsi.org/blog/node/392(여기에는 태그/제목을 구문 분석할 수 있는 Ruby 스크립트에 대한 링크가 포함되어 있습니다 lvm-parser.rb
.)
유사한 Python 모듈은 pvdissect
다음 위치에 있습니다.http://www.syslinux.org/wiki/index.php?title=Development/LVM_support.