두 개의 Debian 9 서버, 즉 서버 A와 서버 B가 있습니다.
서버 A는 LAMP 스택 서버입니다.
서버 A는 매우 느립니다. 서버 B는 매우 빠릅니다.
서버 A를 종료하지 않고 서버 A를 서버 B로 복제하고 싶습니다.
어떻게 해야 하나요?
나생각하다나는 다음과 같이 할 수 있습니다 :
- 기본 설치로 서버 B에 Debian 9 설치
- rsync를 사용하여 A의 모든 내용을
/home/
B로 복사한 다음 /etc/passwd, /etc/groups 및 /etc/shadow를 복사합니다. - A에 설치된 패키지를 덤프하고 B에 이러한 패키지를 설치하는 스크립트를 만듭니다.
- A에서 MySQL 데이터베이스를 덤프하고 B로 복사한 다음 가져옵니다.
- rsync를 사용하여 /etc/의 내용을 복사합니다.
아니면...전체 서버를 B에서 A로 동기화할 수 있나요?
답변1
명령을 시도하기 전에 각 링크를 주의 깊게 읽으십시오.
나는 이것을 사용했다rsync 예사용자 ericslaw가 내 작업 Linux 설치를 다른 드라이브에 성공적으로 복제했습니다.
원격 또는 로컬 대상 파일 시스템을 /mnt
소스 파일 시스템에 마운트할 수 있습니다. 루트(sudo)로 다음 명령을 실행합니다.
mount /dev/sdb1 /mnt
/dev/sdb1
두 번째 서버 디스크입니다. 원격 또는 로컬 중 귀하에게 가장 적합한 것이 가능합니다.
rsync -gloptruncv \
--exclude={/dev/*,/proc/*,/sys/*,/tmp/*,/run/*,/mnt/*,/media/*,/lost+found} \
/ /mnt
이것은 미리보기가 될 것입니다. 오류가 없으면 이 n
옵션을 제외할 수 있습니다. 그런 다음에는 다음의 조언을 따라야 합니다.이 게시물. 백업이 완료되면(상황에 따라 해당 옵션을 사용할 수도 있음) /mnt/etc/fstab
부팅 및 스왑 파티션을 재설정합니다. 이러한 항목은 UUID
블록 장치를 기반으로 하는 것이 좋습니다 . blkid
필요한 정보를 알려드리겠습니다. 수리 후 시작하려면 fstab
실행해야합니다 grub-install /dev/[serverB disk]
. 또는 chroot
백업으로 이동하여 그런 식으로 grub을 설치할 수 있습니다.
chroot /mnt
grub-install --recheck /dev/sdb1
update-grub
마지막으로 백업( /dev/, /proc/, /sys/, /tmp/, /run/, /mnt/, /media/, and /lost+found
)에서 누락된 폴더를 다시 생성해야 할 수도 있습니다.
이 작업은 반대로 수행할 수도 있습니다. 서버 B가 서버 A의 디스크를 마운트한 다음 둘 사이에서 비시스템 파일을 동기화하도록 합니다. 서버 A와 B가 동일한 버전의 동일한 배포를 실행하는 경우 가장 쉽습니다.