LVM은 구성을 어디에 저장합니까?


17

LVM이 구성 데이터를 저장하는 방법 / 위치를 이해하려고합니다.

  • pvcreate /dev/sdb메타 데이터를 쓰 /dev/sdb나요? 그렇다면 무엇이 기록됩니까?
  • vgcreate data /dev/sdb /dev/sdc볼륨 그룹의 구성은 어디에 저장합니까?
  • LVM은 논리적 범위와 물리적 범위 사이의 매핑을 어디에 저장합니까?
  • LVM 구성에 시스템 별 구성이 있습니까?
  • 논리 볼륨에 2 개의 디스크가 구성된 머신이 있다고 가정하면 해당 디스크를 머신에서 꺼내 다른 머신에 넣고 논리 볼륨이 새 머신에서 작동 할 것으로 예상 할 수 있습니까?

답변:


10

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 개의 디스크가 구성된 머신이 있다고 가정하면 해당 디스크를 머신에서 꺼내 다른 머신에 넣고 논리 볼륨이 새 머신에서 작동 할 것으로 예상 할 수 있습니까?

그래 넌 할수있어.

볼륨 그룹을 다른 호스트로 마이그레이션 할 수 있습니다. 플러그 앤 플레이 방식은 아니지만이를 수행하는 절차는 매우 간단합니다. 이 작업을 수행하는 방법에는 온라인으로 수십 개의 자습서가 있습니다.

이 serverfault 스레드dd명령을 사용하여 LVM 파티션을 다른 호스트로 이동하는 방법에 대해 설명합니다 .


14

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가 작동합니다.


3
  • pvcreate /dev/sdb메타 데이터를 쓰 /dev/sdb나요? 그렇다면 무엇이 기록됩니까?
  • vgcreate data /dev/sdb /dev/sdc볼륨 그룹의 구성은 어디에 저장합니까?

pvcreatePV에 대한 "라벨"및 "헤더"를 생성하고 볼륨에 메타 데이터를위한 공간을 할당합니다 ( --[pv]metadata옵션 으로 지정 ). 헤더는 해당 PV의 메타 데이터 영역에 대한 포인터를 포함하는 이진 데이터 구조입니다.

vgcreate명령은 볼륨 그룹의 현재 상태에 대한 텍스트 설명을 관련 PV에 이전에 할당 된 메타 데이터 영역에 저장합니다 ( --[vg]metadatacopies옵션 등 으로 제어 됨 ). 이들은 vgcfgbackup명령으로 백업 된 설명 이며 대부분의 경우 검사에 관심이있는 메타 데이터입니다.

보다 모호한 PV 레이블 / 헤더 정보 : LVM Internals ( http://mo.morsi.org/blog/node/392) (레이블을 구문 분석 할 수있는 Ruby 스크립트 링크 포함) 에서 하나의 개요 설명을 볼 수 있습니다. / header,. lvm-parser.rb)

http://www.syslinux.org/wiki/index.php?title=Development/LVM_supportpvdissect 의 맨 아래에 유사한 Python 모듈 이 있습니다.

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