볼륨 및 마운트/멀티 마운트/오토 마운트


목차


볼륨(Volume)이란?

FilingBox MEGA에서 제공하는 볼륨(Volume) 기능은 특정 디렉터리와 해당 디렉터리에 대한 애플리케이션 접근 정책을 매핑하는 논리적인 관리 단위입니다.

장치의 특정 디렉터리에 저장된 데이터를 서버를 통해 안전하게 관리하고, 해당 데이터에 접근할 앱을 제어하기 위해서는 반드시 볼륨을 생성해야 합니다.

즉, 볼륨은 어떤 디렉터리를 어떤 앱이 사용할 수 있도록 허용할 것인지를 정의하는 기본 설정 단위입니다.

마운트(Mount)

마운트는 생성된 볼륨(논리적 단위)에 장치의 실제 디렉터리 경로를 연결(Mounting)하는 작업입니다. 볼륨을 생성만 한 상태에서는 앱이 접근할 수 없으며, 반드시 특정 디렉터리 경로를 마운트하여 볼륨을 활성화해야 합니다.

볼륨 마운트가 완료되면, 해당 볼륨은 정의된 경로의 데이터를 대표하게 되며, 이때부터 볼륨 단위의 '허용 앱 관리'가 가능해집니다.

마운트 시 소유권(Ownership) 설정

볼륨을 마운트할 때, FilingBox MEGA는 '장치 관리자 인증'이 필요합니다. 인증 시 입력되는 장치 관리자 아이디는 마운트될 디렉터리의 리눅스 운영체제(OS) 소유권(Owner/Group)을 결정하는 핵심 요소입니다.

  • 리눅스 시스템에 존재하고 있는 사용자 계정과 일치하는 경우: 입력한 '장치 관리자 아이디'가 마운트 대상 호스트의 리눅스 시스템에 이미 존재하는 사용자 계정(예: mysql, tomcat)과 동일하다면, 해당 마운트 디렉터리의 소유자를 해당 리눅스 사용자와 그룹으로 자동 설정합니다. (예: owner: mysql, group: mysql)
  • 리눅스 시스템에 일치하는 계정이 없는 경우: 만약 해당 장치 아이디와 일치하는 계정이 리눅스 시스템에 존재하지 않는 계정이라면, 해당 디렉터리는 기본적으로 root 계정의 소유권으로 마운트됩니다.

소유권 설정의 필요성 및 장점

이 소유권 설정 기능은 시스템의 보안성과 애플리케이션 호환성을 위해 필수적입니다.

애플리케이션 호환성 보장

대부분의 서버 애플리케이션(예: MySQL, PostgreSQL, Nginx)은 보안을 위해 root가 아닌 특정 시스템 계정(e.g., mysql, tomcat)으로 실행됩니다. 이 애플리케이션들은 자신의 데이터 디렉터리(e.g., /var/lib/mysql)에 대한 정상적인 읽기/쓰기 소유권을 요구합니다.

만약 /var/lib/mysql 디렉터리가 root 소유로 마운트된다면, mysql 사용자로 실행되는 DB 서버는 권한 부족(Permission Denied)으로 인해 해당 디렉터리에 마운트된 볼륨에 필요한 허용 앱 추가했더라도 파일에 접근할 수 없어 정상적으로 작동하지 않습니다.

즉, 마운트 시 '장치 관리자 아이디'를 mysql로 정확히 지정하는 것은 애플리케이션의 정상 구동을 보장하기 위해 반드시 필요합니다.

멀티 마운트(Multi-Mount)

멀티 마운트는 관리해야 할 디렉터리가 여러 개일 경우, 각각의 디렉터리를 별개의 볼륨으로 생성하여 독립적으로 운영하는 방식입니다.

멀티 마운트의 필요성

멀티 마운트를 사용하는 주된 목적은 디렉터리별로 접근 권한(App Permission)을 분리하여 관리하기 위함입니다.

만약 모든 디렉터리를 하나의 볼륨으로 마운트한다면, 해당 볼륨에 허용된 모든 앱이 모든 하위 디렉터리에 접근할 수 있게 됩니다. 하지만 멀티 마운트를 사용하면 각 볼륨(디렉터리)별로 필요한 앱만 선별적으로 허용할 수 있습니다.

[멀티 마운트 활용 예시]

Volume A (경로: /data/system_logs)

  • 허용 앱: '로그 분석 앱', '백업 솔루션 앱'

Volume B (경로: /data/user_documents)

  • 허용 앱: '문서 편집기 앱', '클라우드 동기화 앱'

위와 같이 구성 시, '문서 편집기 앱'은 시스템 로그에 접근할 수 없으며, '로그 분석 앱'은 사용자 문서에 접근할 수 없습니다.

이처럼 멀티 마운트는 데이터의 용도와 보안 등급에 따라 접근 정책을 세분화하여 시스템의 보안성과 안정성을 향상시키는 데 필수적입니다.

오토 마운트(Auto-Mount)

FilingBox MEGA는 시스템 재부팅 시에도 볼륨 마운트 상태를 자동으로 복구하여 서비스 연속성을 보장하는 오토 마운트(Auto-Mount) 기능을 지원합니다.

오토 마운트의 필요성 (서비스 중단 방지)

서비스로 등록된 앱이 접근하여 사용하는 디렉터리가 볼륨으로 마운트된 경우, 리눅스 시스템이 재부팅되더라도 Linux 클라이언트가 해당 볼륨을 자동으로 다시 마운트합니다.

이 기능은 관리자가 재부팅 시 관련 애플리케이션 서비스가 중단 없이 자동으로 시작될 수 있도록 보장합니다.

주의

서비스 시작 순서 설정 (필수)

오토 마운트가 서비스로 등록된 앱과의 호환성을 보장하기 위해서는, 오토 마운트 시 서비스로 등록되는 Linux 클라이언트를 볼륨 마운트 디렉터리에 접근하는 앱의 서비스(예: mysqld.service)보다 반드시 먼저 실행되어야 합니다.

만약 해당 서비스가 볼륨 마운트가 완료되기 전에 시작되면, 필요한 데이터에 접근할 수 없어 시작에 실패하게 됩니다.

따라서, systemd 환경 기준으로 Linux 클라이언트 서비스가 해당 서비스보다 먼저 실행되도록 Before= 종속성을 반드시 설정해야 합니다.