답변:
모든 파일을 복사하면 작동 할 수 있습니다. OS와 복사 방법에 따라 다릅니다.
일반적인 문제 중 하나는 시스템이 실행되는 동안 시스템을 복사하는 것입니다. 일반적으로 파일 중 적어도 일부는 잠기므로 올바르게 복사되지 않습니다. 시스템이 종료 된 상태에서 어떤 종류의 이미징 소프트웨어를 사용하는 것이 일반적으로 가장 안전합니다 (한 예인 Ghost를 언급했습니다)
실행중인 시스템을 가상 머신으로 변환하지 않는 이유는 무엇입니까? VMware 또는 Hyper-V와 같은 대부분의 하이퍼 바이저에는 실행중인 시스템을 가상 시스템으로 쉽게 변환 할 수있는 도구가 있습니다.
그런 다음 프로덕션 서버에서 작업을 수행하기 전에 원하는대로 프로덕션 이외의 시스템으로 작업 할 수 있습니다.
@WernerCD 덕분에
P2V
Physical to Virtual-Vmware : my.vmware.com/web/vmware/evalcenter?p=converter-HyperV : social.technet.microsoft.com/wiki/contents/articles/…- 가상화, 백업, 격리 프로덕션 데이터베이스를 가리키고 있습니다)
할 수 있습니까?
분명하게 예입니다. 파일을 tar
압축하고 대상 서버에서 다시 추출 하여 전체 Linux 서버를 복사했습니다 . 내가 기억하는 유일한 경고는 --numeric-owner
추출 할 때 사용해야한다는 것 입니다. 다른 OS 및 기타 도구를 말할 수는 없지만 모든 주요 운영 체제에서 가능하다고 생각합니다.
해야합니까?
이 질문은 대답하기가 조금 더 복잡합니다. 개발 목적으로 프로덕션 시스템을 복제하는 것은 좋지 않습니다. 여기에는 개발 시스템에 표시하고 싶지 않은 주요 자료뿐만 아니라 많은 사용자 데이터가 포함될 수 있습니다.
그러나 프로덕션 시스템을 복제하는 것은 다른 목적으로 좋은 아이디어가 될 수 있습니다.
프로덕션 시스템의 복제본을 만드는 데 권장되는 방법은 백업에서 복원하는 것입니다. 백업에서 복원하여 프로덕션 시스템에 대한 성능 영향을 피할 수 있으며 복원 절차를 테스트하는 것이 좋습니다.
백업에서 복원 한 복제본을 다른 국가와 격리시키는 것이 중요합니다. 프로덕션 시스템의 백업에서 복원되었으므로 다른 프로덕션 시스템과 통신하는 자동화 된 작업이 포함될 수 있으며 그렇게하려면 자격 증명이 있어야합니다.
클론이 실제 프로덕션 시스템과 통신해야 할 경우 잠재적으로 많은 손상을 일으킬 수 있습니다.
그러나 격리 된 상태로 유지하면 복원 된 시스템이 의도 한대로 작동하는지 테스트 할 수 있습니다. 또한 이러한 복원 된 시스템은 새 코드를 프로덕션 환경에 배포하기 전에 마지막 테스트에 유용한 환경이 될 수 있습니다. 실제 사용자 데이터에서 코드를 테스트 할 수있는 유일한 기회 일 수 있습니다. 실제로 프로덕션 시스템을 중단 할 수있는 위치에 있습니다.
물론 기존의 방법으로 Linux를 "설치"하기가 어렵지 않기 때문에 가능합니다. 예를 들어 SSH를 통한 rsync를 사용하여 서버를 복제 할 수 있습니다.
/target
./proc
, /sys
스왑)./target/etc/fstab
특히 파티션이 UUID에 의해 참조되는 경우 수정하십시오 .3 단계는 소스 머신의 LVM 스냅 샷에 의해 지원 될 수있는 여러 rsync 패스로 구성 될 수 있으며, 소스 머신의 모든 서비스가 중지 된 마지막 패스는 데이터 일관성을 보장합니다.
그렇다고해서 꼭해야한다는 의미는 아닙니다. 나는 한 권장 데이터 센터 마이그레이션을 수행하는 하나의 방법으로 위의 과정을. 그러나 사용 사례는 상당히 다릅니다. 복제에 의지하면 몇 가지 결함이 강조됩니다.
프로덕션 서버를 맹목적으로 복제하면 실행중인 서버를 정확하게 설명 할 수있는 소중한 기회를 잃게됩니다.