이동식 LVM2 장치를 올바르게 분리/연결하는 방법은 무엇입니까?

이동식 LVM2 장치를 올바르게 분리/연결하는 방법은 무엇입니까?

LVM2가 있는 이동식(핫 플러그, USB 등) 저장 장치를 올바르게 분리(제거)하고 나중에 플러그(삽입)하는 방법은 무엇입니까?

내가 발견했다이 메모

제거(플러그 분리, 꺼내기):

lvchange -an /dev/your_volume_group_name
vgexport -a

삽입 (플러그):

vgimport -a
lvchange -ay /dev/your_volume_group_name

-a하지만 "all" 옵션을 사용하는 것이 과잉인지 아닌지 잘 모르겠습니다 .

vgscan pvscan또 다른 것은 어떤 상황에서는 그러한 시나리오에서 사용해야 할 수도 있는지 궁금합니다 . 자동화된 솔루션을 생각하고 있습니다.

답변1

한 시스템에서 다른 시스템으로 VG를 마이그레이션하는 데 사용되는 VG를 내보낼 필요가 없습니다.

vgchange -an vgname연결을 해제하려는 볼륨 그룹의 모든 논리 볼륨을 비활성화하기 만 하면 됩니다 .

나중에 장치를 다시 연결하면 vgchange -ay vgnamevgname VG의 모든 논리 볼륨이 다시 활성화되고 LV를 마운트하여 사용할 수 있습니다.

장치 인식은 하드웨어 및 커널 모듈 등에 따라 다르지만 최신 키트에서는 작동합니다.

답변2

나는 다음과 비슷한 스크립트를 사용합니다.

  • 볼륨 그룹의 모든 파일 시스템 마운트 해제vg_name
  • vg_name의 모든 파일 시스템이 마운트 해제된 경우 VG를 사용할 수 없도록 설정합니다.
  • 메모리 버퍼를 디스크에 동기화하는 것을 잊지 마세요...
  • sispmctl은 외부 디스크의 전원을 끄는 데 사용됩니다.
#!/bin/bash    
echo "파일 시스템 마운트 해제 중"
마운트 | grep vg_name && {
    마운트 | grep vg_name | 컷 -d' ' -f3 | xargs umount -v
}

마운트 | grep vg_name || {
    echo "VG를 사용할 수 없도록 설정하세요"
    /sbin/vgchange -an /dev/vg_name && {
        echo "디스크 동기화"
        동조; 동기화 && {
            echo "디스크 전원 끄기"
            /usr/local/bin/sispmctl -D 01:01:4b:54:e5 -f 1
        }
    }
}

디스크가 연결되면 시스템에서 적절한 모듈을 사용할 수 있을 때 커널이 자동으로 디스크를 찾습니다(일반적으로 메인 스트림 배포판의 경우).

내보내기/가져오기는 PV/VG/LV가 변경되고 VG가 다른 시스템에 연결된 경우에만 필요합니다. 이 경우 vgexport는 vgchange 이후에 실행됩니다.

관련 정보