LVM 디스크를 외부 서버에 백업할 수 있습니까?

LVM 디스크를 외부 서버에 백업할 수 있습니까?

지난 한 달 동안 저는 LVM이 어떻게 작동하는지에 대해 고민해 왔습니다. 처음에는 매우 유연하다고 생각했는데, 디스크를 다른 로컬 디스크로 이동하는 동안에도 시스템이 계속 실행될 수 있다는 사실에 놀랐습니다.


온라인에서 많은 정보를 찾을 수는 없지만 할 수 있는 일인 것 같습니다. 어쩌면 실용적이지 않거나 일반적으로 좋은 해결책이 아닐 수도 있습니다(?). 내가 읽은 기사는 모두 외부가 아닌 주변 로컬 디스크에 관한 것입니다.

백업이란 전체 디스크/파티션을 의미합니다.~ 아니다스냅 사진.

LVM을 실행하는 4개의 서버가 있고 모든 디스크를 큰 스토리지 서버에 백업하고 싶다고 가정해 보겠습니다. 가능합니까?

가능하다면 그러한 구성의 단점은 무엇입니까?

답변1

예.

이는 널리 사용되며 실제로 백업의 일관성을 보장하기 위해 스냅샷을 포함합니다.

예를 들어, Proxmox VE에서 가상 머신(및 컨테이너) 스토리지가 백업되는 방식은 다음과 같습니다.

  • VM을 일시 중단합니다. Linux에서는 여러 스냅샷을 원자적으로 만들 수 있는 방법이 없으므로 백업하는 유일한 방법은모두동시에 디스크를 삭제하는 것은 모든 스냅샷이 준비될 때까지 VM이 아무 것도 할 수 없도록 하는 것입니다.
  • 모든 디스크의 스냅샷을 생성합니다. 이 과정은 상대적으로 빠릅니다.
  • VM 일시 중단을 해제합니다. VM을 사용할 수 없는 시간은 눈에 띄지 않을 정도로 적습니다.
  • 모든 스냅샷의 이미지를 백업 스토리지로 보냅니다. 이것은 긴 과정입니다. 그러나 이것이 스냅샷이라는 사실은 VM이 계속 실행되는 동안 일관된 백업을 가능하게 해줍니다. 백업 상태는 VM이 ​​처음 일시 중단된 순간이 됩니다.
  • 모든 스냅샷을 제거합니다.

이것은쉽게 한설명; 실제로 PVE는 Qemu의 몇 가지 트릭을 사용하여 그러한 기능이 없는 백업 스토리지의 스냅샷을 에뮬레이트하지만 이는 질문과 관련이 없습니다.

장점은 이미 설명되어 있습니다. 제가 생각하는 단점은 이러한 스냅샷을 저장하기 위해 VG에 약간의 여유 공간이 필요하다는 것입니다. 공간의 양은 일반적으로 예측할 수 없습니다. 이는 데이터를 저장하는 동안 VM이 수행하는 I/O 양에 따라 달라집니다. I/O 속도, 가상 디스크 크기 및 네트워크 용량에 따라 스토리지로 전송됩니다. 실제로 나는 이것에 아무런 문제가 없었습니다.

특정 사용 사례를 설명했지만 무엇을 백업하든 프로세스의 세부 사항은 동일합니다.

답변2

Linux LVM을 사용하면 전체를 별도의 원격 저장소에 백업하는 것이 쉽지 않습니다.홀로. 보다 현실적인 것은 다른 백업 에이전트를 통해 다른 곳에 LVM 스냅샷을 복사하는 것입니다.

복원 설계에서 원래 볼륨 그룹이나 해당 구성원 물리 볼륨과 관계없이 블록 수준 전체 복사본이 필요하다고 가정해 보겠습니다. 스냅샷은 수행하기 쉽지만 소스 VG에 의존하며 해당 요구 사항을 충족하지 않습니다. LVM은 볼륨을 미러링하고 분할할 수 있지만 절차가 더 복잡해집니다.

  • raid1 LV를 생성하고 해당 PV가 별도의 스토리지 시스템에 있고 동기화되었는지 확인하세요.
  • 거울 이미지를 새로운 LV로 분할와 함께 lvconvert --splitmirrors.
  • 를 사용하여 LV를 다른 VG로 분할합니다 vgsplit.

이러한 기능은 기본 스토리지 마이그레이션과 같은 사용 사례를 지원하지만 상대적으로 고급 기능이며 예가 적습니다. 또한 백업 중인 호스트에 백업 블록 장치를 제공하는 것이 까다로울 수 있습니다.

추가 블록 계층 기능으로 LVM 자체는 원격 저장소에 대한 액세스를 제공하지 않습니다. 물론, 적합한 SAN을 사용하면 파이버 채널이나 iSCSI를 통해 공유 스토리지 어레이에 액세스할 수 있습니다. 이러한 LUN은 LVM PV로 사용될 수 있습니다. 예를 들어 로컬 스토리지에 운영 체제를 설치하는 등 SAN을 사용하지 않는 사용 사례가 많기 때문에 운영상 그렇게 하기가 어렵습니다. 그리고 이러한 SAN은 거리가 짧고 손실을 용납하지 않는 경향이 있습니다. 모든 것에 대한 보호 스토리지에 미러를 삽입하면 기본 스토리지에 대한 쓰기를 따라잡기 위해 극단적인 성능 요구가 발생할 수 있습니다.

더 일반적인 방법은 다른 도구를 사용하여 스냅샷을 복사하는 것입니다. 소스 LV의 스냅샷을 찍습니다. 별도의 보호 저장소에 VG 및 LV를 생성합니다. SSH를 통한 dd와 같은 블록 기반 백업을 수행하거나 스냅샷을 마운트하고 파일 기반 백업을 수행합니다. 스냅샷 LV를 삭제합니다.

관련 정보