서로 동일한 사본 (동일한 UUID) 인 2 개의 LVM 볼륨을 동시에 마운트 할 수 있습니까?


11

라이브 시스템의 하드 드라이브를 여러 개의 백업 하드 드라이브에 복제했습니다 (dd 사용). 라이브 시스템의 루트 파티션은 LVM 볼륨입니다. 백업 복사본은 원본을 대체 할 수 있도록 만들어 졌으므로 마스터와 동일한 UUID가 필요합니다.

빠른 질문 : 백업 시스템 중 하나를 라이브 시스템에 마운트 할 수 있습니까? 내가 그렇게하려고 할 때 LVM은 동일한 UUID 및 볼륨 그룹 이름으로 인해 이것에 대해 이해할 수 있습니다. [이 답변] [1]에있는 힌트에 따라 원래 LVM 그룹의 이름을 먼저 바꿉니다.

  1. 외부 백업 HD를 USB 포트에 연결

  2. running (문자열 'test'는이 시스템의 그룹 이름입니다)

# vgrename test test-live
Volume group "test" successfully renamed to "test-live"
vgscan --mknodes
Reading all physical volumes.  This may take a while...
Found duplicate PV qWUadGaM2MU1UAJ5Spp8upD6fbddk7Zb: using /dev/dm-3 not /dev/dm-0
Found volume group "test" using metadata type lvm2
# vgchange -ay
Found duplicate PV qWUadGaM2MU1UAJ5Spp8upD6fbddk7Zb: using /dev/dm-3 not /dev/dm-0
2 logical volume(s) in volume group "test" now active

이 시점에서 아래의 개별 논리 볼륨에 액세스 할 수 있었을 것으로 예상됩니다 /dev/test/. 러닝 lvdisplay생산.

Found duplicate PV qWUadGaM2MU1UAJ5Spp8upD6fbddk7Zb: using /dev/dm-3 not /dev/dm-0

  --- Logical volume ---
  LV Name                /dev/test/root
  VG Name                test
  LV UUID                UuKUH3-yzPo-CbOz-tU4B-W6om-qdMn-0XSNZU
  LV Write Access        read/write
  LV Status              available
  # open                 1
  LV Size                126.48 GiB
  Current LE             32378
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:1

  --- Logical volume ---
  LV Name                /dev/test/swap_1
  VG Name                test
  LV UUID                OGJhJu-QByo-6AzG-sk1x-jh3e-dU9L-sHk91t
  LV Write Access        read/write
  LV Status              available
  # open                 2
  LV Size                3.90 GiB
  Current LE             999
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:2

그러나 /dev/test/전혀 존재하지 않고, 따라서 나는에서 논리 볼륨에 액세스 할 수 없습니다 /dev/test/root/dev/test/swap_1제안은 lvdisplay한다.


의견 시간 : 여분의 디스크가 있다면, 실제로 이와 같은 솔루션을 구상하는 대신 디스크를 RAID 구성 (소프트웨어 RAID도 동전을 절약하기 위해)에 두는 것을 고려해야합니다. RAID1 또는 RAID5는 모두 좋은 옵션입니다.
Garrett

답변:


0

UUID의 요점은 무언가를 고유하게 식별하는 것입니다. 나는 이것이 가능하다는 것을 의심한다. 나는 주변에 연주 pvchange -u중복 된 PV의 UUID를 변경할 수 있지만, 작업은 항상 실패했습니다.

실제 호스트에 백업을 마운트해야하는 경우 LV를 개별적으로 백업하는 것이 좋습니다 (즉, 백업 장치에 새 PV, VG 및 LV를 생성하고 각 LV를 개별적으로 dd).


17

클론 디스크에서 lv를 마운트하려면 여기에서 유용한 방법을 찾으십시오 . 장치 왼쪽 열림 -4175470893 /

vgimportclone -n orignalvgname_clone   /dev/sdx [/dev/sdy....]

sdx, sdy ..는 vg를 구성하는 복제 된 디스크입니다.

vgchange -ay orignalvgname_clone

그런 다음 복제 된 디스크에서 lv를 마운트 할 수 있습니다.


4
이것이 정답입니다. 나를 위해 일했습니다, 감사합니다!
neuviemeporte

이것은 작동하고 vgimportclone은 그 이름이 제안하는 것을 수행합니다. 내 경우에는 vg예를 들어 빌드하는 모든 디스크와 파티션을 지정 vgimportclone -n orignalvgname_clone /dev/sdx /dev/sdx2 /dev/sdx5했지만 분명히 이것은 사례마다 매우 다를 수 있습니다.
Jey DWork

3

trekkerboy / modonnell @ linuxquestions의 대답은 가장 간단합니다 vgimportclone.

복제본을 생성 한 후에 vgchange -a y newvgname는를 사용하여 복제 해야하며을 사용하여 oldvgname의 장치 노드를 정리해야 dmsetup remove /dev/oldvgname/*합니다.

참고로, 다음은보다 수동적 인 방법으로,의 소스에서 읽을 수있는 것의 하위 집합과 유사합니다 vgimportclone.


에서 원본과 일치하는 패턴을 devices필터에 추가하여 원본 사본 관리를 먼저 일시적으로 비활성화 할 수있는 경우이 작업을 수행 할 수 있습니다 lvm.conf. 당신이 복제 된 경우 예를 들어, /dev/sdx/dev/sdy, 당신은 일시적으로 추가해야 /dev/sdxfilter내에서 devices { ... }섹션을 참조하십시오.

원래 장치는 온라인 상태를 유지하지만 LVM 도구는이를 무시합니다. 마운트 된 파일 시스템은 마운트 및 작동 상태를 유지하며 LVM 관리와 밀접하게 연결되지 않습니다.

필터를 설치 한 후에는 새로운을 수행 vgscan하여 복제본을 확인하고 LVM 관리 만 수행하십시오. /dev/sdy예를 들어 중복 장치가 표시되는지 확인할 수 있습니다 pvs.

그런 다음 수행하십시오.

vgchange -a n originalvgname

이렇게하면이라는 볼륨 그룹이 비활성화 originalvgname되지만 중복 장치 만 표시되므로 장치에서 비활성화됩니다 (원본 originalvgname은 위의 필터로 인해 이미 보이지 않습니다). 이 단계는 현재 비활성 볼륨 그룹과 해당 구성 물리 볼륨의 속성을 자유롭게 변경할 수 있도록하기 위해 필요합니다.

pvchange -u physicaldevice
vgchange -u originalvgname

이렇게하면 복제본에 새 UUID가 제공됩니다.

vgrename originalvgname newvgname

복제 된 볼륨 그룹의 이름이 바뀝니다.

그런 다음 필터를 제거했다가 lvm.conf다시 검색 할 수 있으며 LVM 장치 세트가 서로 다른 이름과 UUID로 표시됩니다.

또는 원래 VG 이름과 PV / VG UUID를 유지하는 데 실제로 관심이 없으면 대신 cf. /superuser/256061/lvm-and-cloning-hds


'원본 사본'은 백업 사본 또는 백업 소스 (실제)입니까? 그런 다음 라이브 시스템을 비활성화하고 UUID를 변경하는 것이 좋습니다. 맞습니까?
catpnosis

1
@catpnosis 백업 소스이지만 관리 만합니다 . 모든 것이 온라인 상태로 유지되지만 LVM 도구는 원본을 볼 수 없게됩니다. 그런 다음 LVM 도구는 복제본을 감지하고이를 용도 변경하여 UUID를 변경할 수 있습니다. 그리고 일단 완료하면 모든 것을 볼 수 있습니다. 그러면 UUID가 더 이상 충돌하지 않기 때문에 작동합니다.
Josip Rodin

감사. 이것은 흥미로운 접근법입니다. 이해하기 어렵다. "이것은 중복 장치에서 볼륨 그룹을 비활성화합니다" -그러나 실제로는 그렇지 않습니까?
catpnosis

1
@catpnosis 그것은 이전에 vgscan자동으로 활성화되며, 그 시점에서 LVM 도구가 원본이 아닌 복제본을 볼 수 있음을 의미합니다. 요점은 둘 다 동시에 둘 다 활성화하지 않아야한다는 것입니다. 복제본 만 보이는 상태가 되 자마자 복제본을 조작 할 수 있습니다.
Josip Rodin

0

어제이 문제가 발생했습니다. Linux에서 파일 시스템 (LVM (MD (sda, sdb, sdc-syncing-only-weekly-basis))) 구성이 있으며 sdc의 이전 데이터에 액세스해야했습니다.

백업 디스크 (sdc)를 VM에 연결하여 문제를 다소 해결했습니다. "qemu ... -drive file = / dev / sdc, readonly"를 사용하여 디스크를 연결하거나 (쓰기시 복사 구성에 스냅 샷 옵션을 사용하는 한) 안전한 작업입니다.

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