Share storage between Linux and Windows remotely


1 분 소요

Sharing Storage

원격에서 Windows의 공유폴더를 리눅스로 공유하는 포스팅이다.

Windows 10 Pro를 이용하면 운영체제에서 제공하는 하이퍼바이저인 Hyper-V 기능이 존재한다.

필자는 이 하이퍼바이저를 이용해서 Linux 서버를 구동하고, 모든 리눅스 작업은 여기서 진행한다.

그렇기 때문에 Host OS인 Window 10 Pro와 Guest OS인 Linux 간에 데이터 이동이 원활하게 이루어져야 했고, 가장 간단하게 수행 가능한 방법이 Windows의 공유폴더를 이용해 리눅스에서 CIFS로 mount하여 사용하는 것이 가장 편리하고 깔끔했다.

물론 원격으로도 가능할 듯 싶다. (안 해보았지만)

How to Use

1. Windows에서 공유 디렉토리를 생성한다.

새 폴더를 만든 뒤 적절한 이름으로 변경한다.

new directory

2. Windows 공유 디렉토리로 변경

  1. 생성한 디렉토리를 우측클릭하면 보이는 속성을 클릭 후 상단에 보이는 공유 탭으로 이동한다. attribute sharing

  2. 파란색 박스로 하이라이트 되어진 공유(S)...를 클릭한다. with user

  3. 사용자 이름을 확인하고, password를 숙지한 후 방패 넌 못지나간다. 공유(H) 를 클릭한다. 보안창이 뜨면 허용해준다.

3. Linux에서 공유 디렉토리 Mount

  1. CIFS 을 사용하기 위한 설치.
    sudo apt-get install -y cifs-utils
    
  2. 공유 디렉토리를 CIFS 파일시스템으로 mount해준다.
    $ sudo mount //{host_ip_address}/{shared_directory} /mnt -t cifs -o username={username},password={password},noperm,uid=nobody,gid=nogroup,iocharset=utf8
    

    위 명령을 수행한다. root 권한이 필요하므로 sudo를 이용했다.

  • sudo: mount는 root 권한이 필요하다.
  • {host_ip_address}: Host OS인 Windows의 ip 주소를 입력한다.
    • 윈도우에서 Win + R 단축키를 이용해서 실행창을 연다.
    • cmd를 입력한다.
    • > ipconfig를 입력한다. ip
  • {shared_directory}: 큰 목차 1번에서 생성한 디렉터리 이름.
  • cifs: cifs 사용
  • {username}: Host OS(원격 OS - Windows)의 계정 이름.
  • {password}: {username}의 패스워드.
  • uid=nobody: 누구나 접근할 수 있도록 권한을 설정한다.
  • gid=nogroup: 위와 동일한 이유.
  • iocharset=utf8: 인코딩 utf8.

4. 시나리오

  1. 아무것도 없는 상태에서 디렉터리 생성. write

  2. Windows에서 Linux에서 생성한 디렉터리 확인 및 파일 삽입. ico

  3. Linux에서 파일 확인 및 사용. read

댓글남기기