작동하는 Linux 서버를 복제해야합니다. 작업 서버를 종료 할 수 없습니다. 복제본을 가져 와서 다른 서버에 배포 할 수있는 방법이 있습니까?
작동하는 Linux 서버를 복제해야합니다. 작업 서버를 종료 할 수 없습니다. 복제본을 가져 와서 다른 서버에 배포 할 수있는 방법이 있습니까?
답변:
디스크, 파일 시스템 또는 파일을 복사하는 방법에는 여러 가지가 있습니다. 일반적으로 파일 시스템을 복사하면 대상 시스템에서 크기가 약간 다를 수있는 유연성을 갖춘 훌륭한 복제본을 얻을 수 있습니다. 대상 시스템이 cdrom에서 부팅 된 일종의 라이브 Linux (knoppix, ubuntu live 등)를 실행하면 fdisk 또는 자주 사용하는 파티션 응용 프로그램을 사용하여 디스크에 파티션을 만들 수 있습니다. 소스 시스템에서 SSH 서버가 실행 중이라고 가정하면 다음과 유사한 방법을 사용하십시오.
http://www.linuxfocus.org/English/March2005/article370.shtml
이 명령에서 마술이 일어나고 있습니다.
ssh sourcePC 'dump -0 -f - /' | restore -r -f -
실제 Linux 환경에서 디스크를 복제하기 위해 특정 방법을 사용하는 경우 데이터베이스에만 관심이있을 수 있습니다. 데이터베이스를 백업 및 복원하는 가장 좋은 방법은 덤프 도구를 사용하여 파일 시스템 덤프 직전에 데이터베이스의 ASCII 파일 스냅 샷을 만드는 것입니다. mysql의 경우 :
mysqldump --all-databases > mysql_databases.sql
postgresql의 경우 다음이 있습니다.
pg_dumpall > pg_databases.sql
새 시스템에서 일종의 일관성 오류가 발생하면 데이터베이스를 복원하십시오. 또는 소스 시스템에서 서비스를 종료 한 후 DB 덤프를 다시 수행하고 대상을 복원하면 최근 수정 된 데이터를 놓치지 않습니다.
원하는대로 새 머신에 디스크 레이아웃을 구성하십시오.
rsync를 사용하여 디스크 내용을 전송하십시오. 완전히 따라 잡기 위해 몇 번 반복하십시오.
새 머신에서는 제대로 부팅하기 위해 추가로 수행해야 할 작업을 실험하십시오. 예를 들어, 일관되게 유지하십시오.
이전 시스템을 종료 할 수있을 때까지 정기적으로 rsync하여 새 디스크를 이전 디스크에 가깝게 유지하십시오.
그런 다음 이전 모드를 유지 관리 모드로 전환하고 다시 한 번 rsync 한 다음 이전 모드와 같이 작동해야하는 새 모드를 부팅하십시오.
내 동료가 System Imager에 의해 맹세합니다.
http://wiki.systemimager.org/index.php/Main_Page
"라이브"시스템에서 얼마나 잘 작동하는지 모르겠습니다.
그렇지 않으면 수동으로 작업을 수행하는 데 어려움이 있다고 생각합니다.
디스크에서 데이터베이스를 일관된 상태로 만들 수 있다면 DAR을 사용하여 모든 것을 복사 한 다음 새 서버에 다시 쓸 수 있습니다.
데이터베이스를 디스크에서 일관된 상태로 동기화하는 것은 까다로울 수 있지만 DAR 이미지를 복원 한 후 스냅 샷을 만든 다음 복원하면 작동 할 수 있습니다. DAR은 실행중인 서버 성능에 영향을줍니다.
이미지를 얻은 후에는 네트워크 설정을 조정하여 문제없이 다시 가져올 수 있어야합니다.