리눅스에서 Azure 파일 스토리지 마운트 — 우분투용 NetDrive
NetDrive의 실험적 우분투 빌드로 Azure 파일 스토리지 SMB 공유를 리눅스 마운트 지점으로 연결합니다 — Azure 포털 설정, 인증, 확인 방법을 다룹니다.
한 빌드 서버가 노후한 온프레미스 파일 공유에서 설정 저장소를 Azure 파일 스토리지로 옮기면서, 예전에는 평범한 셸 명령으로 /mnt/configs/*.yaml을 읽던 모든 작업이 다른 방법을 필요로 하게 되었다. 각 스크립트를 Azure SDK 중심으로 다시 작성하는 것도 한 가지 방법이다. 다른 방법은 공유를 그냥 리눅스 경로처럼 마운트해서 기존의 cat, cp, find 호출이 변경 없이 그대로 동작하게 하는 것이다 — 이것이 NetDrive의 리눅스 빌드가 하는 일이다.

우분투에서 Azure 파일 스토리지 마운트하기
NetDrive 는 Google Drive, OneDrive, S3, SFTP, WebDAV 등을 Windows 와 macOS 에서 일반 드라이브처럼 보이게 합니다 — 동기화도, 전체 다운로드도 없이.
- NetDrive의 실험적 우분투 빌드에서 실행
- 기존 셸 스크립트와 크론 작업이 공유를 일반 경로처럼 읽음
- 백그라운드 업로드로 대용량 파일 쓰기가 호출 프로세스를 막지 않음
무료 체험. 평생 라이선스와 구독 플랜 제공.
Azure 파일 스토리지, Azure Blob이 아니다
NetDrive는 Azure 파일 스토리지와 Azure Blob 스토리지를 서로 다른 두 가지 연결 유형으로 나열하며, 이 둘을 혼동하면 설정 시도가 헛수고가 된다. Blob 스토리지는 객체 스토리지로, 로그·백업·API로 접근하는 정적 자산에 적합하다. 파일 스토리지는 완전관리형 SMB 공유로, 전통적인 파일 서버가 제공하는 것과 같은 형태를 그대로 Azure에서 호스팅한다. 어떤 팀이 온프레미스 파일 서버를 그대로 Azure로 “리프트 앤 시프트”했다면, 그에 맞는 연결 유형은 거의 항상 파일 스토리지다.
두 유형 모두 NetDrive의 동일한 릴리스인 3.11.204(2020-07-22)에서 추가되었다. 리눅스에서는 이 연결이 더 폭넓게 테스트된 Windows·macOS 릴리스가 아니라 NetDrive의 실험적 우분투 빌드에서 동작한다 — 무인 프로덕션 작업을 여기에 맡기기 전에 알아둘 가치가 있는 부분으로, 리눅스는 NetDrive 자체 비교 페이지에서도 “실험적” 표시가 붙어 있다.

Azure 포털에서 필요한 것
NetDrive를 열기 전에 다음 세 가지 값을 준비한다:
- 스토리지 계정 이름 — Azure 포털의 스토리지 계정 리소스 개요 페이지에서 확인한다.
- 액세스 키 — 스토리지 계정의 Security + networking → Access keys에 있다.
key1,key2중 아무 것이나 사용해도 되며, NetDrive는 하나만 있으면 된다. - 파일 공유 이름 — Data storage → File shares에서 마운트하려는 공유의 정확한 이름을 확인한다.
조직에서 액세스 키 인증을 비활성화했다면, 대신 File 서비스에 범위가 지정된 공유 액세스 서명(SAS) 토큰을 발급받아 사용한다. 이때 최소 Read, Write, List, Create, Delete 권한이 있어야 하며, 액세스 키 대신 이 토큰을 사용한다.
또한 Ubuntu 16.04 이상이 필요하고, 박스의 방화벽에서 Azure Storage 엔드포인트로 나가는 아웃바운드 접근이 열려 있어야 한다 — SMB-over-Azure 트래픽은 일부 기업 네트워크와 클라우드 보안 그룹에서 기본적으로 차단되어 있다.
우분투에 NetDrive 설치하기
NetDrive for Linux는 apt가 아니라 GitHub 릴리스로 배포된다:
- github.com/NetDrive/installer로 이동해 사용 중인 우분투 버전에 맞는 빌드를 다운로드한다.
- 설치하기 전에 해당 릴리스의 노트를 읽는다 — 어떤 연결이든 마운트되기 전에 드라이버 컴포넌트가 먼저 로드되어야 한다.
- 패키지를 설치한 뒤 NetDrive를 한 번 실행해 드라이버가 로드되도록 한다. 이 과정에서
sudo를 요구할 수 있다.
단계별 안내: Azure 파일 공유 연결하기
- NetDrive의 Drive Manager를 열고 + Add Drive를 클릭한다.
- 제공자 목록에서 Azure File Storage를 선택한다 — Azure Blob Storage가 아니다.

- 포털에서 확인한 스토리지 계정 이름과 액세스 키(또는 SAS 토큰)를 입력한다.
- 포털의 File shares에 표시된 그대로 공유 이름을 입력한다.
- 예를 들어
/mnt/azure-configs와 같이 마운트 지점을 설정하고 Connect를 클릭한다.
작업이 의존하기 전에 마운트를 확인하기
크론 작업이나 CI 단계가 새 경로를 사용하도록 지정하기 전에, 실제로 마운트되었는지 확인한다:
# Confirm the mount is listed
mount | grep azure-configs
# Or just list its contents
ls /mnt/azure-configs

마운트 지점이 비어 있거나 전혀 나타나지 않는다면, 액세스 키를 의심하기 전에 Azure Storage 엔드포인트에 대한 아웃바운드 방화벽 규칙부터 확인한다 — 차단된 포트는 잘못된 자격 증명과 똑같이 “아무것도 없음” 증상을 만들어내며, 잠금이 걸린 빌드 서버에서는 이 쪽이 더 흔한 원인이다.

리눅스 빌드에서 염두에 둘 사항
- 별도의 릴리스 주기. Windows나 macOS에 출시되는 수정 사항과 기능이 같은 시점에 리눅스 빌드에 자동으로 반영되지는 않는다.
apt연동이 없다. 새 버전은 패키지 매니저가 아니라 GitHub 릴리스로 제공되므로, 업데이트 추적은 박스를 관리하는 사람이 직접 해야 하는 수동 작업이다.- 더 깊이 테스트되는 것은 Windows와 macOS다. 소수의 스크립트가 읽는 설정 파일 공유 정도는 리눅스 빌드에 적합한 사용 사례다. 대용량 파일 쓰기, 동시 읽기 등 실제 작업이 무엇이든, 무인 프로덕션 파이프라인 뒤에 감독 없이 배치하기 전에 해당 워크로드를 직접 테스트한다.
마무리
우분투에서 Azure 파일 스토리지 공유를 마운트하면, Azure SDK를 중심으로 스크립트를 다시 작성하거나 SMB 클라이언트를 수동으로 설정하지 않고도 NetDrive가 Windows와 macOS에서 제공하는 것과 동일한 드라이브 방식의 접근을 리눅스 박스에서 얻을 수 있다. 더 폭넓게 테스트된 플랫폼에서 같은 연결 유형을 사용하려면 Windows에서 Azure 파일 스토리지 마운트하기 또는 macOS에서 Azure 파일 스토리지 마운트하기를 참고하고, 파일 공유 대신 객체 스토리지가 필요하다면 리눅스에서 Azure Blob 스토리지 마운트하기에서 해당 연결 유형을 다룬다. 리눅스 전반에 대한 더 넓은 그림은 우분투 리눅스에서의 NetDrive를 참고한다.
— Kai, NetDrive