리눅스에서 OpenStack Swift 마운트하기 — NetDrive 실험적 빌드
NetDrive의 실험적 리눅스 빌드로 OpenStack Swift 컨테이너를 Ubuntu 마운트 지점으로 마운트합니다. Keystone 자격 증명, 마운트 지점 설정, 확인 단계를 다룹니다.
자체 OpenStack 클러스터를 운영하는 데이터 엔지니어링 팀이 Ubuntu 서버에서 open(), pandas.read_csv(), 디렉터리 전체를 대상으로 한 grep 등 모두 일반적인 파일시스템 경로를 기대하는 분석 스크립트를 돌리고 있다고 해 보자. 실제 데이터셋은 Swift 컨테이너에 있고, Keystone 인증을 거친 HTTPS 호출로만 접근할 수 있다. 컨테이너를 일반 경로에 마운트해서 기존 도구가 수정 없이 읽게 하는 대안이 있다면, 모든 스크립트를 Swift API에 맞게 다시 작성할 가치는 없다.

Ubuntu에서 OpenStack Swift 마운트하기
NetDrive 는 Google Drive, OneDrive, S3, SFTP, WebDAV 등을 Windows 와 macOS 에서 일반 드라이브처럼 보이게 합니다 — 동기화도, 전체 다운로드도 없이.
- Swift 컨테이너가 일반 Ubuntu 마운트 지점에 나타남
- Keystone v2와 v3 인증을 모두 지원
- 같은 설치본에서 S3, Wasabi 등 20개 이상의 다른 프로바이더와 함께 실행
무료 체험. 평생 라이선스와 구독 플랜 제공.
API를 직접 스크립팅하는 대신 Swift를 마운트하는 이유
OpenStack Swift 자체 도구인 python-swiftclient나 직접 REST 호출은 읽기 작업을 하는 코드를 직접 제어할 수 있을 때는 문제없다. 하지만 제어할 수 없는 대상, 즉 레거시 분석 파이프라인, tar 작업, 또는 오브젝트 스토리지 SDK에 맞춰 다시 작성될 일이 없는 동료의 노트북 같은 경우에는 잘 맞지 않는다. NetDrive는 마운트 지점을 통해 컨테이너에 대한 파일 작업을 대신 처리하므로, 경로를 여는 어떤 프로세스든 변경 없이 동작한다.
NetDrive는 3.1 버전부터 OpenStack Swift를 지원했고, HTTPS 지원은 3.1.234에서 추가되었다 — Swift 인증 토큰은 절대 평문 HTTP로 전송되어서는 안 되므로, 현재 어떤 설치본에서든 HTTPS가 기본 설정이어야 한다. Linux를 포함한 모든 플랫폼에서 권장하는 릴리스는 현재 3.19.7이다.

Ubuntu에 NetDrive 설치하기
NetDrive의 리눅스 빌드는 Ubuntu의 패키지 저장소가 아니라 GitHub를 통해 배포된다.
- github.com/NetDrive/installer에 접속해 사용 중인 Ubuntu 버전에 맞는 릴리스를 다운로드한다.
- 해당 저장소의 릴리스 노트를 따라, NetDrive가 무엇이든 마운트하기 전에 필요한 드라이버 구성 요소를 설치한다.
- NetDrive 패키지 자체를 설치한다.
- NetDrive를 실행한다 — 첫 실행 시 드라이버 구성 요소를 로드하며
sudo를 요청할 수 있다.
최소 지원 버전은 Ubuntu 16.04이며, 이 빌드에는 NetDrive의 비교 페이지 전반에서 사용하는 것과 동일한 실험적(experimental) 표시가 붙는다. NetDrive의 테스트는 대부분 Windows와 macOS에 집중되어 있다. Linux에서의 Swift 마운트는 개발용 머신이나 분석용 노드에는 잘 맞지만, 직접 검증하지 않은 상태로 무인 운영되는 프로덕션 작업에는 적합하지 않다.
연결하기 전에 준비할 것
OpenStack 관리자나 클러스터의 Horizon 대시보드에서 다음 정보를 확인한다.
- Auth URL — 버전 경로를 포함한 Keystone 아이덴티티 엔드포인트. 예:
https://keystone.example.org:5000/v3 - Username과 Password — OpenStack 자격 증명(배포 환경이 Horizon 로그인과 별도로 애플리케이션 자격 증명을 발급한다면 그것을 사용).
- Project / Tenant 이름 — 컨테이너를 소유한 프로젝트(Keystone v3) 또는 테넌트(v2).
- Region — 클러스터가 여러 리전에 걸쳐 있을 때만 필요.
- Container 이름 — 비워 두면 계정 루트를 마운트해 모든 컨테이너를 최상위 폴더로 나열하고, 특정 컨테이너 이름을 지정하면 해당 컨테이너를 바로 마운트한다.

단계별 안내: Ubuntu에서 OpenStack Swift 연결하기
- NetDrive의 드라이브 관리자를 연 뒤 + Add Drive를 클릭한다.
- 프로바이더 목록에서 Select OpenStack Swift를 선택한다.
- Auth URL, Username, Password, Project/Tenant Name을 입력하고, 해당된다면 Region과 Container Name도 함께 입력한다.
- 마운트 지점을 설정한다 —
/mnt/swift-data처럼 쓰기 권한이 있는 경로, 또는 비어 있는 아무 디렉터리. - 읽기-쓰기 접근이 필요하면 Network Drive를, 해당 머신이 클러스터에 절대 쓰기를 해서는 안 된다면 Read-only Drive를 선택한다.
- Click Connect. NetDrive가 인증을 수행하고 해당 경로에 컨테이너를 마운트한다.
실험적 빌드인 만큼 GUI만 믿지 말고 터미널에서 마운트를 확인해 볼 가치가 있다.
mount | grep swift-data
ls /mnt/swift-data

목록이 비어 있다면 큰 컨테이너의 루트가 채워지기까지 잠시 기다려 본 뒤, 그래도 계속 비어 있다면 Auth URL과 Project/Tenant 이름부터 다시 확인한다 — 프로젝트가 일치하지 않는 것이 처음 시도에서 Swift 연결이 조용히 실패하는 가장 흔한 원인이다. 처리된 결과물을 컨테이너에 다시 업로드하는 쓰기 위주 작업의 경우, NetDrive는 전송을 작업을 트리거한 프로세스를 막지 않고 백그라운드에 대기시킨다.

리눅스 빌드가 다른 점
- 별도의 릴리스 주기 — 리눅스 드라이버 구성 요소는 Windows·macOS 빌드와 무관하게 자체 일정으로 출시된다.
apt연동 없음 — 업데이트는apt upgrade가 아니라 GitHub 릴리스로 제공된다.- Windows와 macOS가 여전히 검증된 타깃이다 — NetDrive 자체 가이드는 이 두 플랫폼을 프로덕션에 적합한 것으로 다루며, Linux는 자신의 하드웨어와 워크로드에서 직접 검증하기 전까지 실험적으로 표시된다.
마무리
Ubuntu에서 OpenStack Swift를 마운트하면 리눅스 분석용 머신도 NetDrive가 Windows와 macOS에서 제공하는 것과 동일한 경로 기반 접근을 얻을 수 있으며, 설치 파일은 apt가 아니라 GitHub를 통해 배포된다. 더 많이 검증된 플랫폼에서 같은 프로바이더를 다루는 글은 Windows에서 NetDrive로 OpenStack Swift 마운트하기 또는 macOS에서 NetDrive로 OpenStack Swift 마운트하기를 참고하라. Ubuntu에서 NetDrive를 운영하는 더 폭넓은 내용은 Ubuntu Linux에서의 NetDrive를 참고하라.
— Alex, NetDrive