2008/06/30

버추얼박스에서 게스트와 호스트간의 공유 방식

버추얼 박스 상에서는 다양한 호스트/게스트가 올라올 수 있기 때문에, 각 조합에 따른 호스트/게스트 간의 폴더 공유 방식이 달라질 수 있습니다. 다음은 몇가지 경우에 대해서 구성가능한 매트릭스를 만들어봤습니다.

다음의 테이블에서 첫번째 컬럼에는 호스트 운영체제의 목록이며, 각 컬럼은 호스트에 따라 게스트별 사용이 권고되는 공유 화일 시스템입니다.

아래 테이블의 경우, 호스트와 게스트가 동시에 솔라리스와 리눅스 중 어느 한쪽인 경우에는 호스트에서 NFS를 구성하고 게스트에서 NFS를 공유하는 방식이 가장 추천되는 방법입니다. 물론, 솔라리스의 경우 내장형 CIFS나 혹은 Samba를 이용해서 CIFS를 서비스할 수 있으며, 리눅스 역시 Samba를 이용하여 CIFS를 서비스할 수 있으므로, 이러한 방법으로도 공유를 할 수 있습니다.

H \ G
Solaris Linux Windows
Solaris NFS NFS(CIFS) CIFS
Linux NFS(CIFS) NFS CIFS
Windows CIFS CIFS CIFS

기술적으로 버츄얼 박스는 게스트가 윈도우즈 계열인 경우 내부적으로 VboxSharedFolderFS이라는 가상의 화일시스템 서비스를 제공하여 호스트가 공유한 폴더를 마치 네트웍 공유 폴더인 것처럼 노출하여 윈도우즈 게스트가 호스트의 공유폴더를 cifs로 마운트할 수 있도록 제공해줍니다. 하지만, 게스트가 비 윈도우즈 계열인 경우에는 이러한 기능을 쓰지 않고 호스트나 게스트가 이미 내장하고 있는 공유 화일 시스템인 NFS/CIFS(samba)를 이용하여 네트웍 공유를 사용하면 됩니다. vbox에서 NAT 네트웍 구성을 가지도록 게스트OS를 설치하면 게스트운영체제는 default gateway로 10.0.2.2를 가지게 되는데, 이 IP가 곧 호스트 서버이기도 합니다.

따라서, 호스트서버에서 export된 nfs나 cifs(samba)는 이 IP를 이용하여 vbox 내부 게스트들에게 마운트(Map Network drive...)되어 질 수 있게 됩니다.

각 운영체제별 공유 디렉토리 생성 및 제공 방안은 구글링해보시기 바랍니다.

참고로 솔라리스는 /etc/dfs/dfstab에 예제 라인을 복사한후 원하는 디렉토리로 변경하고, 커멘트를 없애고 저장한 후에 nfs 서비스를 시작 혹은 재시작 하도록 하면 됩니다.

#svcadm enable -r nfs/server
-----> nfs/server와 연관된 다른 서비스도 모두 시작됩니다. 이미 서비스가 시작되어 있는 경우 restart를 하시면 됩니다.

공유하고자 하는 디렉토리가 공유 서비스 중인지 확인하기 위해서는 다음과 같이 실행해봅니다.
#share

명령어 결과로 원하는 내용이 나오면, 버추얼 박스 게스트에서 마운트할 수 있는 지 확인할 수 있습니다. 게스트가 솔라리스인 경우에는

#dfshares 10.0.2.2
와 같이 공유가능한 지 확인할 수 있으며, nfs automount가 활성화되어 있는 경우에는

#cd /net/10.0.2.2
처럼 그냥 일반 디렉토리로 접근하면 공유된 화일 시스템을 보실 수 있게 됩니다. 노틸러스에 북마크해놓으면 늘 자동으로 접근할 수 있게 됩니다.

댓글 없음: