LVM 내보내기 및 가져오기: 동일한 이름의 볼륨 그룹이 있는 다른 시스템으로 VG를 이동하는 방법

LVM 내보내기 및 가져오기: 동일한 이름의 볼륨 그룹이 있는 다른 시스템으로 VG를 이동하는 방법

저는 VMWare 서버에서 VM Linux(RHEL OS)를 사용해 왔습니다. 그래서 한 가상 머신의 가상 하드 디스크를 다른 가상 머신에 연결하고 싶습니다. 새 가상 머신에 어떻게 설치하나요? 그런데, 저는 두 VM Linux 모두에서 LVM을 사용하고 있습니다.

오래된 기계:

--- Physical volume ---

PV Name /dev/sdc -> VG Name u01_vg  -> LV Name u01_lv
PV Name /dev/sdd -> VG Name u01_vg  -> LV Name u01_lv

새로운 기계:

--- Physical volume ---

PV Name /dev/sdb -> VG Name u01_vg  -> LV Name u01_lv
PV Name /dev/sdc -> VG Name u01_vg  -> LV Name u01_lv

다음 작업 흐름을 고려 중입니다. 내가 맞나요? 내가 틀렸다면 정정해주세요.

LVM 내보내기 및 가져오기 작업 흐름:

  • 중복된 볼륨 그룹 이름을 사용했기 때문입니다. 먼저 이전 시스템의 볼륨 그룹 이름을 바꿉니다.

    • vgrename UUID new_VG_name
    • vgchange -ay New_VG_Name
  • 이전 가상 Linux/Unix 서버에서 파일 시스템 제거

    • 마운트 해제 /마운트 지점/
    • vgchange -new_VG_name
    • vgeexport new_VG_name
    • 다음에 머신이 종료되면 디스크를 분리하고 새 머신에 연결할 수 있습니다.
  • 전체 볼륨 그룹을 다른 시스템으로 이동

    • 광전지 스캐닝
    • vgimport new_VG_name
    • vgchange -ay New_VG_Name
    • mkdir /olddata/
    • 마운트 /dev/New_VG_Name/data_lv /olddata/

감사해요,

답변1

귀하의 시나리오에서는 새 시스템에 있는 기존 VG의 이름을 이미 알고 있기 때문에 vgexport/ 가 실제로 필요하지 않습니다.vgimport

이전 시스템에서 VG의 이름을 바꾸려면 먼저 이를 제거하고 비활성화해야 할 가능성이 높으며 VG 이름 충돌이 없으므로 이전 VG 이름 대신 VG UUID를 사용할 필요는 없습니다. 원한다면 할 수 있습니다):

umount /mount-point/
vgchange -an Old_VG_Name
vgrename Old_VG_Name New_VG_Name
vgchange -ay New_VG_Name
<edit /etc/fstab to replace Old_VG_Name with New_VG_Name>
mount /mount-point

디스크를 제거하기 전에:

<edit /etc/fstab to comment out/remove the line for the /mount-point/>
umount /mount-point/
vgchange -an Old_VG_Name   # technically the shutdown procedure would do this too

VG를 비활성화한 후 이렇게 하면 디스크를 핫플러그할 수도 있습니다.

echo 1 > /sys/block/sdc/device/delete
echo 1 > /sys/block/sdd/device/delete

이는 커널이 이러한 장치의 임박한 물리적 연결 해제에 대비하도록 지시합니다. (가상 머신에서 반가상화된 드라이버를 사용하는 경우 가상 디스크를 핫 제거하기 전에 가상화 호스트가 드라이버에 경고 메시지를 보낼 수 있으므로 이 단계가 필요하지 않습니다.)

디스크가 새 시스템으로 이동되면 대부분의 배포판에서 일반적인 시스템 시작 프로세스는 pvscanVG 및 VG에 해당하는 작업을 자동으로 수행하여 vgchange -ay기본적으로 충돌하지 않는 모든 VG를 자동으로 활성화합니다. 이 경우 마운트 지점 디렉터리를 생성하고 편집한 /etc/fstab후 볼륨을 마운트하기만 하면 됩니다.

mkdir /olddata
<edit /etc/fstab>
mount /olddata

그렇다면 vgexport/의 목적이 무엇인지 물어볼 수도 있습니다. vgimport새로운 시스템에 같은 이름의 VG가 존재하는지 알 수 없는 상황에 적합합니다. VG를 내보낼 때 디스크의 VG 메타데이터는 사실상 "skip me"로 표시되므로 VG는 시스템 시작 시 자동 활성화 단계를 피하고 모든 LVM 관리 명령은 새 시스템이 아닌 기존의 내보내지 않은 VG를 선호합니다. 시스템 관리자가 이름을 바꾸고 가져오기를 시작할 때까지 이름 충돌이 발생할 수 있는 새 이름입니다. vgimport이 태그를 제거하세요. 다른 작업은 수행되지 않습니다.

위 내용은 2.6 커널 시리즈부터 존재했던 Linux LVM 버전 2에 적용됩니다. 2.4.xx 또는 이전 커널을 사용한다면 아마도 LVM 버전 1을 사용하고 있을 것입니다. 여기서 vgexport/ vgimport명령은 다르게 작동할 수 있습니다(자세한 내용은 더 이상 기억나지 않습니다).

관련 정보