리눅스에서 MinIO 마운트 — NetDrive로 우분투에 셀프 호스팅 S3 스토리지 마운트
NetDrive의 실험적 우분투 빌드로 셀프 호스팅 MinIO 버킷을 리눅스 마운트 포인트로 연결하기 — 엔드포인트 설정, path-style 접근, 검증 단계.
한 빌드 팀이 관리형 오브젝트 스토리지에 비용을 지불하는 대신 우분투 서버 랙에서 자체 MinIO 클러스터를 운영한다 — Docker 레이어 캐시, 야간 테스트 픽스처, 사무실 네트워크를 벗어날 필요가 없는 수 테라바이트의 아티팩트들이다. CI 러너들은 이미 일반 셸 명령으로 로컬 경로를 읽고 쓰고 있어서, 세 랙 떨어진 곳에 있는 버킷에 접근하겠다고 MinIO SDK 중심으로 코드를 다시 쓰는 건 굳이 풀 필요 없는 문제를 푸는 것처럼 느껴진다. NetDrive의 리눅스 빌드는 버킷을 그냥 평범한 경로로 마운트해주므로, 기존 스크립트는 손댈 필요 없이 그대로 동작한다.

우분투에서 MinIO 마운트하기
NetDrive 는 Google Drive, OneDrive, S3, SFTP, WebDAV 등을 Windows 와 macOS 에서 일반 드라이브처럼 보이게 합니다 — 동기화도, 전체 다운로드도 없이.
- S3 호환 연결 — 셀프 호스팅 MinIO 엔드포인트라면 모두 지원
- 우분투 16.04 이상에서 실행
- 기존 셸 스크립트가 일반 마운트 포인트를 통해 그대로 읽고 씀
무료 체험. 평생 라이선스와 구독 플랜 제공.
MinIO API를 직접 스크립팅하는 것보다 마운트 포인트가 나은 이유
MinIO와 직접 통신하려면 mc 클라이언트나 S3 SDK를 끌어와야 하고, 액세스 키 교체를 처리하고, 해당 작업이 어떤 언어로 되어 있든 재시도 로직을 작성해야 한다. 어느 것도 어려운 일은 아니지만, 사실상 “이 파일을 읽고 저 파일을 쓴다”에 불과한 작업 위에 인프라 작업을 덧붙이는 셈이다. 버킷을 마운트하면 이 계층 자체가 사라진다 — tar, cp, rsync를 비롯해 이미 로컬 경로를 다룰 줄 아는 모든 도구가 마운트 포인트도 똑같이 다룰 수 있다.
NetDrive는 버전 3.15.450(2021-11-08)부터 MinIO를 잘 지원되는 S3 호환 연결로 취급해왔다 — 이 릴리스는 Amazon S3 자체와 함께 범용 S3 호환 지원이 추가된 릴리스이기도 하다. 리눅스에서는 이 연결 유형이 훨씬 더 많이 테스트된 Windows·macOS 릴리스가 아니라 NetDrive의 실험적 우분투 빌드 위에서 동작한다 — 시작하기 전에 알아둘 만한 부분으로, 리눅스는 NetDrive 자체 비교 페이지에서도 “실험적” 표시가 붙어 있다.

시작하기 전에 필요한 것
- MinIO 엔드포인트 URL — 로컬 네트워크 상의 머신이라면
http://minio.internal:9000같은 형태, 클러스터가 리버스 프록시 뒤에 있다면 HTTPS URL. MinIO의 API는 기본적으로 9000번 포트에서 대기하며, 웹 콘솔은 별도의 포트에서 실행되고 NetDrive가 통신하는 대상이 아니다. - 액세스 키와 시크릿 키 — NetDrive가 필요로 하는 버킷에 범위가 한정된 서비스 계정으로, MinIO Console의 Identity → Service Accounts에서 만들거나
mc admin user svcacct add로 생성한다. 오래 실행되는 작업에는 루트 자격 증명을 쓰지 않는다. - 버킷 이름 — NetDrive는 버킷 단위로 연결하므로, 여러 버킷이 필요한 서버는 버킷마다 별도의 NetDrive 연결을 만들어야 한다.
- 우분투 16.04 이상, 그리고 박스의 방화벽에서 MinIO 엔드포인트 포트로의 아웃바운드 접근이 허용되어 있어야 한다.
우분투에 NetDrive 설치하기
NetDrive for Linux는 우분투 기본 저장소에 들어 있지 않으므로, 설치는 apt가 아니라 GitHub를 통해 진행한다.
- github.com/NetDrive/installer로 가서 사용 중인 우분투 버전에 맞는 릴리스를 다운로드한다.
- 설치 전에 해당 릴리스의 노트를 확인한다 — 드라이버 컴포넌트가 먼저 로드되어야 하며, 그렇지 않으면 연결이 마운트되지 않는다.
- 패키지를 설치한 뒤 NetDrive를 한 번 실행해 드라이버가 로드되도록 한다. 박스 설정에 따라 이 단계에서
sudo를 요구할 수 있다.
단계별 안내: MinIO 버킷 연결하기
- NetDrive의 Drive Manager를 열고 + Add Drive를 클릭한다.
- 제공자 목록에서 Amazon S3를 선택한다 — MinIO는 S3 API를 사용하므로, NetDrive는 MinIO를 비롯한 다른 S3 호환 스토리지에도 이 항목을 진입점으로 쓴다.

- 앞서 만든 서비스 계정의 Access Key ID와 Secret Access Key를 입력한다.
- Region을
us-east-1처럼 비어 있지 않은 아무 값으로 설정한다 — MinIO는 이 값을 무시하지만 필드를 비워둘 수는 없다. - Endpoint를 입력한다 — 예를 들면
http://minio.internal:9000같은 MinIO API URL. - 마운트할 Bucket 이름을 입력한다.
- Path style(간혹 Force path style로 표시됨)을 활성화한다. 셀프 호스팅 MinIO는 대개 virtual-hosted-style 버킷 URL용 DNS 항목이 없으므로, 버킷이 경로의 한 구간으로 나타나는 path-style 주소 지정이 별도 설정 없이도 바로 동작하는 방식이다.
/mnt/minio-artifacts처럼 마운트 포인트를 설정하고 Connect를 클릭한다.
CI 작업이 의존하기 전에 마운트 확인하기
무인 작업이 해당 경로를 참조하기 전에, 마운트가 실제로 제대로 되었는지 확인한다.
# Confirm the mount is listed
mount | grep minio-artifacts
# Or just list it
ls /mnt/minio-artifacts

디렉터리가 비어 있게 나오거나 마운트 자체가 나타나지 않는다면, 액세스 키가 잘못됐다고 단정하기 전에 박스의 방화벽이 MinIO 엔드포인트 포트로의 아웃바운드 트래픽을 허용하는지부터 확인한다 — 잠긴 빌드 서버에서는 포트 차단이 잘못된 자격 증명보다 더 흔한 원인이다.

리눅스 빌드에서 염두에 둘 점
- 별도의 릴리스 주기. Windows나 macOS용으로 나온 수정 사항이 같은 주에 자동으로 리눅스 빌드에도 반영되지는 않는다.
apt연동 없음. 업데이트는 패키지 매니저가 아니라 GitHub 릴리스로 배포되므로, 새 버전 추적은 수동 작업이다.- 더 깊이 테스트되는 것은 Windows와 macOS 쪽이다. MinIO를 읽는 CI 러너나 야간 작업이라면 리눅스 빌드가 합리적인 선택이지만, 무인 프로덕션 파이프라인을 그 위에 두기 전에는 충분히 테스트해야 한다.
마무리
셀프 호스팅 MinIO 버킷을 우분투에 마운트하면 S3 SDK를 중심으로 코드를 다시 쓰지 않고도 NetDrive가 Windows·macOS에서 제공하는 것과 동일한 드라이브 방식 접근을 빌드 서버에서 얻을 수 있다. 더 많이 테스트된 플랫폼에서 같은 제공자를 다루는 방법은 Windows에서 MinIO 마운트하기와 macOS에서 MinIO 마운트하기를, 더 폭넓은 리눅스 개요는 우분투 리눅스에서의 NetDrive를, S3 호환 스토리지를 중심으로 한 CI 활용 사례는 DevOps: NetDrive로 S3 테스트 픽스처 다루기를 참고한다.
— Kai, NetDrive