모든 VM을 포함하여 완전한 XEN LVM 서버 복제

모든 VM을 포함하여 완전한 XEN LVM 서버 복제

모든 볼륨 그룹, lvm-volumes 및 VM과 함께 XEN 매시인을 그곳으로 이동하기 위해 더 빠른 Hetzner 루트 서버를 주문했습니다.

나는 이미 그곳에서 동일한 xen VM을 생성하고 구성 파일과 사용자 데이터를 복사하고 이전 VM과 동일한 패키지를 설치하기 시작했지만 이는많은 일.

실제로 쉬운 방법이 있습니까?복사 모든 것다음을 포함하여 기본 루트 수준에서raid 1의 모든 파티션, 그러면 이전 서버의 정확한 복사본을 얻게 됩니까?

그러면 루트 콘솔에서 IP를 조정하기만 하면 됩니다.

답변1

xenA: 이전 서버

xenB: 새로운 서버

1단계: 라이브 Linux dist(Ubuntu, Fedaora, CentOS)로 두 서버 모두 부팅

2단계: 새 서버에서 SSH 서비스 시작

3단계: xenA에서 아래 명령을 실행합니다.

dd if=/dev/sdX bs=16M | pv |  ssh user@xenB dd of=/dev/sdX

여기서 X는 서버에 연결된 로컬 디스크를 나타냅니다. "lsblk" 명령으로 찾을 수 있습니다.

참고: pv는 데이터를 모니터링하는 데 사용됩니다.

4단계: IP 주소와 변경된 기타 모든 매개변수를 수정합니다.

이 방법을 사용하면 위의 파티션, lvm 볼륨 및 파일 시스템에 대해 걱정할 필요가 없습니다.

이 방법으로 귀하의 질문이 해결되기를 바랍니다.

1. 단계: 부팅 매개변수를 Linux Single로 "vga=785 Splash"로 변경하여 부팅을 단일 모드로 부팅합니다. 아래 링크에서 스크린샷을 확인하실 수 있습니다.

https://support.citrix.com/article/CTX116019#Resetting%20Password%20in%20XenServer%20Versions%205.0%20and%20Later

  1. 단계: 단일 사용자 모드로 호스트에서 네트워크 서비스를 시작하고 정확한 블록 장치를 다른 시스템으로 전송합니다.
 dd if=/dev/sda bs=16M |  ssh user@backuphost dd of=backup.img 

아래에서 압축과 관련된 자세한 정보를 확인할 수 있습니다.

이 목표를 달성하는 방법에는 여러 가지가 있습니다.

  1. dd와 넷캣경고: 이 방법을 사용하면 인터넷 거래에 소요되는 시간에 대한 데이터가 노출됩니다.

단일 사용자 또는 다른 라이브 이미지로 시스템을 부팅할 수 있는 경우 서버의 정확한 복사본에 대해 dd 메서드를 사용할 수 있습니다. 데이터 무결성을 보장하려면 모든 서비스와 VM을 중지해야 합니다.

  • 아래 명령을 실행하여 백업 호스트를 준비합니다. (ssh 시간 초과를 방지하기 위해 원격 백업 호스트로 작업하는 경우 screen 또는 tmux를 사용하거나 백그라운드를 분기하는 명령을 만듭니다.)
nc -l RANDOMPORTNUMBER|bzip2 -d|dd bs=16M of=backup.img
  • VM 호스트에서 정확한 호스트를 복제하려면 아래 명령을 실행할 수 있습니다.
dd bs=16M if=/dev/sda|bzip2 -c|nc ipaddressofbackuphost RANDOMPORTNUMBER
  1. 타르와 SSH저는 개인적으로 필요할 때 원격 시스템을 백업하는 것보다 이 방법을 선호합니다. 이 방법은 SSH를 사용하므로 데이터를 공용 네트워크에 직접 노출하지 않습니다.

제가 이 방법을 선호하는 또 다른 이유는 백업이 파일 수준에서 수행되기 때문에 백업이 필요하지 않은 빈 공간과 블록 장치를 제외하여 스토리지와 트래픽을 절약한다는 것입니다. 당신이 정확한 복제를 원한다고 선언했기 때문에 나는 첫 번째 방법에 대해 이야기해야 했습니다.

배포 및 애플리케이션에 따라 제외된 마운트 지점을 수정하는 것을 잊지 마십시오. 스토리지와 트래픽 양에 따라 요금이 부과되는 경우를 고려해야 합니다.

cd / # THIS CD IS IMPORTANT THE FOLLOWING LONG COMMAND IS RUN FROM /
tar -cvpzf backup.tar.gz \
--exclude=/backup.tar.gz \
--exclude=/proc \
--exclude=/tmp \
--exclude=/mnt \
--exclude=/dev \
--exclude=/sys \
--exclude=/run \ 
--exclude=/media \ 
--exclude=/var/log \
--exclude=/var/cache/apt/archives \
--exclude=/usr/src/linux-headers* \ 
--exclude=/home/*/.gvfs \
--exclude=/home/*/.cache \ 
--exclude=/home/*/.local/share/Trash / | ssh <backuphost> "( cat > ssh_backup.tar.gz )"

여기에서 해당 주제에 대한 자세한 정보를 확인할 수 있습니다.

관련 정보