LVM + NBD의 실현 VM 백업 및 데이터 마이그레이션

고 가용성 클라우드 시스템에서 고 가용성 또한 VM 백업 및 데이터 자체의 이동의 문제를 포함, 특히 중요한 VM 층이다. 기존의 플랫폼에서 별도 LV (논리 볼륨)의 각각의 VM은 데이터 백업 VM 데이터는 LV의 백업에 의해 달성 될 수 있고, 이동이 요구되는 다른 물리적 서버는 VM에 액세스 할 데이터, 그 LV 내용. 백업의 경우, NBD (네트워크 블록 장치)에 의해 수행 할 수 있습니다 완료, 원격 액세스 스냅 샷 기능 LVM (논리 볼륨 관리자)을 사용할 수 있습니다.

LVM 소프트웨어 계층에 속하는 동적 LV 동적 VG의 용량을 증가시키기 VG (볼륨 그룹)에 PV (물리적 볼륨)를 증가 조정할 수있는 이점이 하드 디스크 파티션의 관리하에, LV는 스냅 샷을 생성하므로 사용자 LV 그 그것은 용량이 재 파티션 기본 물리적 디스크에 필요없이, LV의 크기를 충족하는 것만으로는 충분하지 않습니다 경우 직접 조정할 수 있습니다. 다음과 같이 여기에서 우리는 주로 VM 데이터를 백업하는 LVM 스냅 샷을 사용합니다 :

VM1라는 가상 머신은 LV-VM1 논리적 볼륨에 저장된 VM1 데이터가 논리적 볼륨 VgVm라는 그룹에 속해있는 서버 1이라는 물리적 서버를 가정 해보자. 어떤 시점에서, VM1 데이터가 손상되지, 우리는 미래의 상태가 파괴 될 때 시간에 순간에 복원 할 수 있습니다 경우 VM1 데이터에,이 순간 데이터를 백업해야합니다. 첫째, 논리 볼륨 스냅 샷 명령은 그대로 다음 만듭니다 :

은 lvcreate -L 1G -s -n LV-VM1Snapshot는 / dev / VgVm / LV-VM1

어디 "1G는"개발의 필요성에 따라이 사이즈의 크기의 스냅 샷을 만드는 것입니다. 데이터의 양에 대한 필요성이 스냅 샷에 기록 할 수 있도록 참고 지정된 값이 너무 작은 스냅 샷 오버 플로우의 수명주기 동안 발생하는 경우, 다음 스냅 샷이 무효가 될 것이라고, 창조의 합리적인 추정이있다. "LV-VM1Snapshot는"다른 매개 변수는 해당 도움말 파일에서 찾을 수 있습니다, 스냅 샷 이름입니다.

데이터 LV-VM1 위치에 볼륨에 기록 될 수있을 때 스냅 후 기록 중 복사 (복사 (copy-on-write))기구를 사용하여 LVM 스냅 샷을 작성하고, 데이터 LVM 조건이 위치는 LV 복사 -VM1Snapshot 논리적 스냅 샷에 다음 새 데이터는 이전 데이터의 백업의 역할을 너무, LV-VM1을 기록됩니다. 실제 구현에서 LVM 데이터, 새로운 열림 위치하지만, 새로운 데이터를 쓰기를 복사하지 않을 수 있습니다, 그리고 신속하게 목적을 달성하기 위해 속도를 데이터 블록의 포인터 값을 조정합니다. 여기, 우리는 단지 구현 세부 사항에 갈 필요가 없습니다, 기록 중 복사 충분히 알고 있어야합니다.

더 스냅 샷보다 더 만든 후 원격 스냅 샷에 액세스 할 수 NBD이 편리하므로, 우리는 방법이 필요합니다. 서버 / 클라이언트 모델로 이루어진 네트워크에서 콘텐츠 서버의 소스 인 네트워크 장치로서 NBD 블록. 액세스 로컬 디스크와 같은 클라이언트 컴퓨터는 데이터에 액세스 할 수 있지만, 실제 내용이 서버에 저장됩니다. 고객의 요구는 데이터가 커널 모듈을 서버로 요청을 보내는 클라이언트 서버에 액세스 할 수있는 기계 NBD 커널 모듈에 설치 될 서버의 끝, NBD 서버라는 데몬을 가지고 다음 데이터를 읽을 수신 요청을 분석하고 책임이있다 클라이언트에 돌려 보냈다.

그것은 위에서 언급 한 바와 같이, 우리가 이름 서버 2 가정, NBD, NBD 클라이언트 측 같은 다른의 서버 종료로 처리 두 개의 물리적 서버를 하나의 서버 1이어야한다. NBD 이제 서버 1과 서버 2에 설치해야 다음 단계는 두 서버에 장착되었다 :

최신 설치 패키지를 다운로드 : NBD-3.2.tar.bz2를 설치 패키지 디렉토리에 다음 명령을 실행합니다 :

tar jxf nbd-3.2.tar.bz2

빌드 디렉토리를 추출합니다이 명령은 NBD-3.2. 그런 다음 명령을 실행 :

CD는 NBD-3.2

./configure를 //이 단계 프롬프트 "없는 입심은"당신은 apt-get을 설치 libglib2.0-DEV를 실행해야하는 경우

&& 설치 할 수 있도록

이것은, Server1 및 NBD 서비스에 설치됩니다.

서버 1에서 명령을 실행합니다 :

nbd-server 1234 /dev/VgVm/ LV-VM1Snapshot

1234 논리 볼륨 이름을 내보낼 NBD 다음에 포트 번호를 지정할 수있는 유연성이며, 여기에 위에서 만든 스냅 샷 볼륨입니다.

클라이언트 측 NBD 서버 2 커널 모듈을 설치할 필요로 수행 다음 명령은 설치 :

insmod  /lib/modules/xxx/kernel/drivers/block/nbd.ko

상기 식에서 xxx는 시스템에 따라 다릅니다.

명령 "LS / dev에"반면, 커널 모듈을 설치 한 후, / dev 디렉토리 더 nbd0, nbd1 및 기타 장비를 볼 수 있습니다.

서버 2에서 명령을 실행합니다 :

nbd-client Server1-IP 1234 /dev/nbd0

상기 서버 1-IP는 IP 주소 NBD 서버 측 포트 번호 1234 / 디바이스 / nbd0 표현 미러 디바이스, 액세스 / 디바이스 / nbd0 스냅 샷 볼륨에 액세스 서버 1 "/ 디바이스 / VgVm / LV-VM1Snapshot"에 해당한다. 스냅 샷 서버 2의 내용을 복사해야하는 경우에만은 / dev / nbd0 DD 일 수있다, 당신이 장치는 / dev / nbd0 다음 파일에 액세스 마운트 할 수 있어야합니다.

원본 주소 :
LVM + NBD는 VM 백업 및 데이터 마이그레이션을 실현

게시 된 218 개 원래 기사 · 원의 찬양 (165) · 조회수 1,030,000 +

추천

출처blog.csdn.net/x_i_y_u_e/article/details/104616367