다른 컴퓨터에서 사용하기 위해 가상 머신의 두 인스턴스를 동기화하는 방법은 무엇입니까?


8

데스크탑에서 VirtualBox를 꽤 오랫동안 사용하고 있습니다. 최근에 노트북을 구입 한 후 우분투 가상 머신을 가져갈 수 있고 노트북에서 변경 한 내용을 데스크탑에 전파하고 그 반대도 마찬가지입니다. 호스트 운영 체제는 VirtualBox 4를 실행하는 두 컴퓨터 모두에서 Windows 7입니다.

내 첫 번째 생각은 가상 디스크 파일 자체를 동기화하는 것이 었습니다. 내가 선택한 도구는 가능한 한 쓰기를 줄이는 옵션을 rsync사용하는 Cygwin 버전입니다 --inplace. 그러나 그것은 실현 불가능합니다. rsync컨테이너 안에있는 파일 시스템에 대한 지식없이 충돌을 감지하고 올바르게 병합 할 수있는 방법이 없기 때문에 VM에서 별도로 작업 하지 못하게됩니다.

다음 옵션은 rsync실행중인 시스템을 서로 연결하는 것입니다. 패키지 관리를 망칠 필요없이 작동합니까? 새 커널이나 드라이버와 같은 업데이트 외에 수동으로 작업해야합니까? 더 잘 작동 할 수있는 다른 솔루션이 있습니까?


나는이 질문을 두 가지로 나눠야한다고 생각합니다. 먼저 서버 미러링에 대해 문의하십시오. 그런 다음 (희망스럽게) 몇 가지 대답이 있으면 VM에서 구현하는 방법을 묻습니다.
Nifle

또 다른 가능성은 노트북에 VM의 단일 인스턴스가 있고 집에있을 때 기본 시스템에서 VM에 원격으로 액세스하는 것입니다.
Journeyman Geek

네트워크에 동일한 MAC 주소와 호스트 이름을 가진 두 대의 컴퓨터를 가질 수 없으므로 전체 VM이 아닌 소프트웨어와 문서 만 동기화해야합니다. 그럴 경우 신체 상해가 발생할 수 있습니다.
paradroid 2016 년

@Journeyman Geek : 나는 그것에 대해 생각하지 못했습니다. 실제로 작동 할 수는 있지만 데스크탑의 SSD와 비교할 때 내 노트북 ​​크롤링의 하드 드라이브를 고려하면 약간 느립니다.
danielkza 2016 년

1
외부 드라이브에서 VM을 실행하지 않고 시스템에서 시스템으로 옮기는 이유가 있습니까?
Dave M

답변:


2

rsync양방향 작업에 사용 하기는 어렵습니다. 나는 당신 unison이 대안으로 볼 것을 제안합니다 . 두 가지 방식으로 작동하며, 수행하기 전에 수행 할 작업을 알려주고 양쪽에서 동시에 조작되는 파일을 감지합니다.

VM 외부에서 동기화를 실행하면 설명하는 데 문제가 있습니다. VM의 내부에서 실행하면 결과는 것이다 크게에 따라 무엇을 동기화.

  • 홈 디렉토리를 동기화하는 것은 전혀 문제가되지 않으며, 내가 생각하는 일상 업무의 대부분을 동기화해야합니다.
  • 패키지 관리자 데이터를 동기화하는 것은 거의 모든 예외를 고려하여 거의 모든 것을 완전히 동기화하는 경우에만 의미가 있습니다. 양방향 동기화에서는 거의 항상 충돌이 발생하므로 rsync 스타일 방식에 대해서만 권장합니다.
  • 동기화 /etc집이 동기화해야합니다뿐만 아니라 대부분의 구성 데이터를 여전히 패키지 관리자가하는 일에 거의 영향을 미친다. 그러나 한 VM에 일부 소프트웨어를 설치하는 경우 다른 VM에도 수동으로 소프트웨어를 설치해야 하며 업그레이드가 일부 구성 파일을 변경 한 경우이를 수행 한 후에 만 동기화해야 합니다.

1

가상 머신을 전혀 "동기화"하려고하지 마십시오.

생각해보십시오 :이 방법으로 데스크탑과 노트북을 "동기화"하지 마십시오. 파일을 별도의 컴퓨터로 취급하고 Dropbox, Google Apps 등 또는 USB 스틱과 같은 서비스를 사용하여 파일 작업을합니다. 마찬가지로 두 Ubuntu VM을 별도의 컴퓨터로 취급하고 Ubuntu One 이상과 같은 서비스를 사용하여 중요한 파일을 동기화하십시오.

설치된 소프트웨어를 동기화 상태로 유지하려는 경우 다음을 사용할 수 있습니다.

dpkg --list-selections

한 컴퓨터에 구체적으로 설치 한 소프트웨어 목록을 얻은 다음 다른 컴퓨터에 동일한 소프트웨어를 설치하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.