에 보조 스토리지로 500GB EBS가 설치된 AWS EC2 인스턴스(Eye1이라고 함)가 있습니다 /var
.
이제 내 환경을 다른 EC2 인스턴스로 마이그레이션하고 싶습니다(Eye2에서 호출하겠습니다). 새로운 인스턴스는 apache2, mysql, php뿐만 아니라 Python2.7, tensorflow, opencv 등 ML, CV alpong에 필요한 라이브러리를 설치하여 다른 팀원이 초기화합니다.
이제 EBS( /var
Eye1의 콘텐츠가 포함되어 있음)를 분리하여 새 EC2에 다시 연결하고 /var
Eye2에 설치해야 합니다.
Eye2의 원본 콘텐츠 /var
는 어떻게 되나요 ? Eye1의 컨텐츠 로 교체하면 /var
어떻게 되나요 ?
참고: 나는 Eye1에 호스팅된 파일, 웹 사이트 및 애플리케이션이 /var/www/html
Eye2에 호스팅된 파일, 웹 사이트 및 애플리케이션을 대체한다는 것을 이해합니다. Eye2의 네트워크 루트 디렉터리가 비어 있기 때문에 이것이 내 의도입니다.
제 질문은 이것이 OS 수준 구성을 깨뜨리고 LAMP와 Python 및 그 종속성을 방해하는지 여부입니다.
Eye2가 실제로는 새 제품이고 실행 중인 활동이 없기 때문에 syslog가 교체되었다는 데 동의합니다. 재구축된 후 LAMP + Python + 해당 종속성이 설치되었습니다.
답변1
전부는 아니기 때문에 쉽게 문제가 발생할 수 있습니다. 확실히 할 수 있는 디렉터리가 꽤 많이 있습니다.해서는 안 된다다음을 포함하여 시스템 간 복사 또는 공유(전체 목록은 아님):
- 거의 모든 것
/var/lib
: 무엇보다도 여기에는 대부분의 배포판에서 시스템에 설치된 패키지의 데이터베이스가 포함됩니다(다른 시스템에 복사됨).~ 할 것이다해당 시스템을 중단시키십시오. 심각하게 그렇게 하지 마십시오) 및 상태 저장 서비스의 서버 상태(복사하면 두 시스템 모두에서 해당 서비스가 중단될 수 있으며 귀하의 경우 향후 문제가 발생할 수 있습니다). /var/db
: 거의 동일한 문제/var/lib
이며 덜 사용되었습니다./var/log
AND/var/account
: 해당 데이터가 발생한 시스템과 관련된 로깅 및 계정 데이터가 포함되어 있습니다. 이를 복사하면 대상 시스템의 데이터를 덮어쓰게 됩니다. 이것이 중요해 보이지 않을 수도 있지만, 이전 시스템에 무엇이 있었고 새 시스템에 무엇이 있는지 반드시 알 수 없고 이전 시스템에서 아무것도 볼 수 없기 때문에 문제를 해결하려고 할 때 상당히 고통스러울 수 있습니다. 복사하기 전에./var/spool
: 로컬 시스템에 저장되어 있는 각종 서비스별 데이터를 임시로 저장하는 저장소입니다. 여기에는 로컬 메일 대기열, 로컬at
일괄 처리 대기열, 로컬 인쇄 대기열 및 기타 유사한 항목이 포함됩니다. 복사하면 온갖 혼란스러운 일이 발생할 수 있습니다(같은 이유로 일반적으로 백업에서도 제외해야 합니다).
또한 다음 디렉터리는 복사하는 것이 적합하지 않으므로 제외될 수 있습니다(전체 목록도 아님).
/var/cache
: 캐시된 데이터의 임시 저장소로 사용됩니다. 정의에 따르면 여기에서는 문제를 일으키지 않고 거의 모든 것을 핵폭탄으로 처리할 수 있습니다(일부 작업은 처음 실행할 때보다 시간이 더 오래 걸릴 수 있음)./var/tmp
: 마찬가지로 임시저장입니다./var/run
: 요즘 대부분의 배포판에서 심볼릭 링크이기 때문에 더 이상 문제가 되지 않습니다/run
. 하지만 예전에는 PID 파일과 소켓을 위한 자체 디렉터리였습니다.
특별한 경우에는 모든 디렉터리가 아닌 실제로 원하는 디렉터리만 복사해야 합니다. /var/www
웹사이트가 올바르게 구성되고 새 호스트 이름을 가리키도록 링크를 업데이트하는 한 복사는 거의 항상 안전합니다. 특히, 데이터를 온라인으로 복사한 다음 이전 EBS 인스턴스를 삭제하는 것이 좋습니다(백업으로 보관할 필요가 없는 경우).