LVM으로 마이그레이션

LVM으로 마이그레이션

내 Ubuntu 미디어 서버의 드라이브가 거의 가득 찼습니다. 머신에 2TB의 용량을 더 추가하고 3.5TB가 모두 단일 드라이브로 인식되는 것을 선호합니다. 상황을 복잡하게 만들기 위해 드라이브의 데이터가 손실되거나 프로그램을 재구성해야 하는 것을 원하지 않습니다.

내 계획은 LVM을 사용하여 새 드라이브에 볼륨 그룹을 만들고 dd를 사용하여 이전 드라이브의 내용을 복사하는 것이었습니다. 그런 다음 기존 드라이브를 지우고 볼륨 그룹에 추가할 계획입니다.

이 계획이 성공할까요?

가장 큰 질문은 다음과 같습니다. - dd가 문제 없이 내 설치를 다른 드라이브에 복사할 수 있습니까? 볼륨 그룹인 경우에도 마찬가지입니까? -1.5TB 드라이브를 2TB 드라이브로 복사하고 남은 공간을 비울 수 있습니까?

답변1

이미 LVM을 사용하고 있는 경우:

  • 새 디스크가 LVM용으로 마운트 및 파티션되어 있는지 확인하세요(LVM 비트 전환).
  • 새 디스크에 PV 생성( pvcreate /dev/your-new-disk)
  • 새 PV를 포함하도록 VG 확장( vgextend your-volume-group /dev/your-new-disk)
  • pvmove기존 디스크의 데이터를 새 디스크로 이동합니다. . dd​( pvmove /dev/your-old-diskLVM이 이전 디스크의 데이터를 사용 가능한 다른 디스크로 이동하도록 강제합니다.)

아직 LVM을 사용하고 있지 않은 경우:

  • 새 디스크에 PV 및 VG를 만듭니다.
  • 새 VG의 새 LV에 데이터를 복사하십시오. 귀하의 파일 시스템에 사용 가능한 경우 +를
    사용 하지만 원하는 경우 또는 또는을 사용할 수도 있습니다 .dumprestorecpiotardd
  • 기존 디스크를 포맷하고 PV로 전환한 다음 VG에 추가합니다.

다음은 다소 독선적이며 LVM과 관련이 없습니다.

  • dump+ restore:
    • 원시 블록 장치에서 작동하므로 소스 atime등이 영향을 받지 않고 대상 ctime등을 올바르게 설정할 수 있습니다.
    • 모든 하드링크를 보존하고 모든 확장 속성, 보안 정책 및 기타 파일 시스템별 메타데이터를 보존할 수 있을 만큼 파일 시스템 내부를 잘 이해해야 합니다.
    • 소스와 대상의 크기는 다를 수 있습니다. 사용 중인 데이터만 복사합니다.
    • 가장 빠른 방법이어야합니다.
  • cpio// tar/ rsync:cp
    • 마운트된 파일 시스템에서 작동하므로 소스 atime가 변경되고, 대상이 ctime보존될 수 없으며, inode 번호가 변경됩니다.
    • 하드링크를 보존하려면 알려진 모든 inode를 메모리에 유지해야 하며 올바르게 수행될 수도 있고 그렇지 않을 수도 있습니다. 도구는 확장된 속성, 보안 정책 및 기타 파일 시스템별 메타데이터를 보존할 만큼 파일 시스템을 충분히 이해하거나 권한을 가질 수도 있고 그렇지 않을 수도 있습니다.
      (예를 들어 ext4는 밀리초 미만의 타임스탬프를 지원하지만 내가 아는 한 이러한 도구 중 어느 것도 이를 보존하지 않습니다.)
    • 소스와 대상의 크기는 다를 수 있습니다. 지정된 데이터만 복사합니다.
    • statsyscall( , opendir, readdir, closedir, mkdir, open, read, write, close…) 에 많은 시간을 보냅니다 .
  • dd:
    • 원시 블록 장치의 정확한 복사본입니다.
    • 사용 여부에 관계없이 모든 블록을 복사합니다.
    • 고유해야 하는 항목(예: UUID)을 포함하여 모든 파일 시스템 구조를 복제합니다.
      XFS인 경우 동일한 시스템에 동시에 둘 다(기본적으로) 마운트할 수 없습니다.
    • 복사 중에는 크기를 조정할 수 없습니다.
    • 파일 시스템이 가득 차지 않으면 비교적 느립니다.

관련 정보