더 빠른 Hetzner 루트 서버를 주문하고 모든 볼륨 그룹, lvm 볼륨 및 가상 머신과 함께 XEN 머신을 그곳으로 옮겼습니다.
거기에서 동일한 xen VM을 생성하고 구성 파일과 사용자 데이터를 복사하고 이전 VM과 동일한 패키지를 설치하기 시작했지만 그게 전부입니다.일이 많다.
실제로 달성하는 쉬운 방법이 있습니까?복사 모든 것기본 루트 수준에는 다음이 포함됩니다.RAID 1의 모든 파티션, 그러면 이전 서버의 정확한 복사본을 얻을 수 있나요?
그런 다음 루트 콘솔에서 IP를 조정하면 작동합니다.
답변1
xenA: 이전 서버
xenB: 새로운 서버
1단계: 라이브 Linux 배포판(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=785splash"를 사용하여 부팅 매개변수를 변경하여 단일 모드로 부팅합니다. 아래 링크에서 스크린샷을 확인하실 수 있습니다.
- 단계: 호스트 시스템에서 단일 사용자 모드로 네트워크 서비스를 시작하고 정확한 블록 장치를 다른 시스템으로 전송합니다.
dd if=/dev/sda bs=16M | ssh user@backuphost dd of=backup.img
아래에서 압축에 대한 자세한 정보를 확인할 수 있습니다.
이를 달성하는 방법에는 여러 가지가 있습니다.
- dd와 넷캣경고: 이 방법은 인터넷에서 거래하는 데 소요된 시간에 대한 데이터를 노출합니다.
단일 사용자 또는 다른 라이브 이미지를 사용하여 시스템을 부팅할 수 있는 경우 dd 메서드를 사용하여 서버의 정확한 복사본을 얻을 수 있으며, 데이터 무결성을 보장하기 위해 모든 서비스와 가상 머신을 중지해야 합니다.
- 다음 명령을 실행하여 백업 호스트를 준비합니다(ssh 시간 초과를 방지하기 위해 원격 백업 호스트를 사용하는 경우 screen 또는 tmux를 사용하거나 해당 명령을 사용하여 백그라운드를 포크합니다).
nc -l RANDOMPORTNUMBER|bzip2 -d|dd bs=16M of=backup.img
- 가상 머신 호스트에서 다음 명령을 실행하여 정확한 호스트를 복제할 수 있습니다.
dd bs=16M if=/dev/sda|bzip2 -c|nc ipaddressofbackuphost RANDOMPORTNUMBER
- 타르와 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 )"
이 주제에 대한 자세한 내용은 여기에서 확인할 수 있습니다.
- https://help.ubuntu.com/community/BackupYourSystem/TAR#Backup_Over_a_Network
- https://www.ndchost.com/wiki/server-administration/netcat-over-ssh