Skip to content

File System (시스템 관리자) ​

CephFS 기반 파일 시스템을 생성하고 관리합니다. 서브볼륨, 스냅샷, 스케줄, 인증(Credentials)을 통해 POSIX 호환 파일 스토리지를 제공합니다.

  • 진입 경로: Storage Admin › File › File systems
  • 검색: Search file systems by attributes (기본 필터 키: Name)

목록 화면 ​

사이드바 (SNB) ​

좌측 사이드바에서 Storage Admin의 각 화면(Cluster·Block·File·Object·Monitoring)으로 이동합니다.

사이드바 (SNB)
번호기능항목설명
1-1DashboardDashboard· Inventory·Capacity·Cluster utilization 요약.
1-2PoolsPools· Ceph 스토리지 풀·PG 조회.
1-3HostsHosts· 스토리지 노드 하드웨어·OSD 구성.
1-4OSDsOSDs· Object Storage Daemon 상태·용량.
1-5Physical disksPhysical disks· 물리 디스크 조회·Identify.
1-6ImagesImages· RBD 블록 이미지.
1-7File systemsFile systems· CephFS 파일 시스템.
1-8BucketsBuckets· 시스템 전체 S3 버킷.
1-9Overall performanceOverall performance· Pools·OSDs·Hosts·Images 성능 지표.

검색 · 생성 ​

파일 시스템을 검색하거나 새로 생성합니다.

검색 · 생성
번호기능항목설명
2-1검색Search· 이름 등으로 검색.
2-2생성Create file system· 새 CephFS 파일 시스템 생성 드로어 열기.

목록 테이블 ​

CephFS 파일 시스템 목록.

목록 테이블
번호기능항목설명
3-1컬럼Name / Status파일 시스템 이름 / 상태.
MDSMetadata Server 현황.
Usage / Clients / Throughput사용량·연결 클라이언트·처리량.
ActionAuthorize / Edit / Delete.

기본 정렬은 Name 오름차순입니다. 검색 필터는 Name(입력형)·Status(선택형: Enabled/Disabled)를 지원합니다.

삭제 제약

Enabled(Active) 상태의 파일 시스템은 삭제할 수 없습니다(행 액션 Delete 비활성). 먼저 Shutdown하여 모든 클라이언트 연결을 해제한 뒤 삭제하세요. — "Shut down the file system and disconnect all clients before deleting."

생성 (Create) ​

이름·배치(Placement)·호스트를 지정해 새 CephFS 파일 시스템을 만듭니다.

생성 진입 ​

클릭하면 생성 드로어가 열립니다.

생성 진입

생성 드로어 ​

이름·배치(Placement)·호스트를 지정해 CephFS 파일 시스템을 만듭니다.

생성 드로어
번호기능항목설명
2-1이름File System Name *· 파일 시스템 이름.
2-2배치Placement *· MDS 배치 방식(기존 풀 사용 여부 포함).
2-3호스트Hosts *· MDS를 배치할 호스트 선택.
2-4생성 / 취소Create / Cancel· Create: 생성. Cancel: 닫기.

인증 (Authorize) ​

행 액션의 Authorize로 특정 사용자(CephX)에게 디렉토리 접근 권한을 부여합니다.

Authorize 진입(행 액션) ​

행 메뉴에서 Authorize 선택.

Authorize 진입(행 액션)

Authorize 드로어 ​

특정 사용자에게 파일 시스템 디렉토리 접근 권한을 부여합니다.

Authorize 드로어
번호기능항목설명
2-1사용자User Id *· 권한을 부여할 사용자 ID.
2-2디렉토리Directory *· 접근을 허용할 디렉토리 경로.
2-3권한Permissions· Read·Write·Quota·Snapshot·Rootsquash 권한 옵션.
2-4부여 / 취소Authorize / Cancel· Authorize: 권한 부여. Cancel: 닫기.

수정 (Edit) ​

행 액션의 Edit로 파일 시스템 이름과 연결된 풀(Data/Metadata)을 확인·수정합니다.

수정 진입(행 액션) ​

행 메뉴에서 Edit 선택.

수정 진입(행 액션)

수정 드로어 ​

파일 시스템 이름과 연결된 풀(Data/Metadata)을 확인·수정합니다.

수정 드로어
번호기능항목설명
2-1이름Name *· 파일 시스템 이름.
2-2풀Data pool / Metadata Pool· 연결된 데이터·메타데이터 풀.
2-3저장 / 취소Save / Cancel· 저장 또는 닫기.

File System 상세 ​

파일 시스템 이름을 클릭하면 상세 화면으로 이동합니다.

상단 고정 정보 ​

항목설명
StatusEnabled (초록색 Badge) / Disabled (회색 Badge)
UsageProgressBar + n% (사용량/총량)
MDS{active} active / {standby} standby
Clients연결된 클라이언트 수
Created at생성 일시

상단의 Edit / Delete 버튼으로 편집 또는 삭제할 수 있습니다.

상세 화면은 8개의 탭으로 구성됩니다.

탭설명
DetailsMDS Ranks, Standbys, Pools 정보
Directories디렉토리별 쿼터와 스냅샷
Subvolumes서브볼륨 생성·관리
Snapshots파일 시스템 수준 스냅샷
Schedules스냅샷 자동 스케줄
Clients연결된 클라이언트 목록
CredentialsCephX 사용자 권한 및 마운트 가이드
Performance실시간 성능 메트릭

Details 탭 ​

파일 시스템의 MDS 구성, 풀 정보를 확인합니다.

Ranks 섹션 ​

컬럼설명
RankMDS 랭크 번호 (정렬 가능)
StateMDS 상태 (예: active, standby). Badge 표시
Daemon데몬 이름 (정렬 가능)
Activity작업 내용
Dentries디렉토리 엔트리 캐시 수 (정렬 가능)
Inodesinode 캐시 수 (정렬 가능)
Dirs디렉토리 수 (정렬 가능)
Caps발급된 capability 수 (정렬 가능)

기본 정렬은 Rank 오름차순이며, 페이지당 5개 행을 표시합니다.

Standbys 섹션 ​

컬럼설명
Daemon대기 중인 MDS 데몬 이름

기본 정렬 없음 (서버 반환 순서). 페이지당 5개 행을 표시합니다.

Pools 섹션 ​

컬럼설명
Pool풀 이름 (정렬 가능)
Typedata 또는 metadata
Size전체 용량 (정렬 가능, 예: 70.2 TiB)
Used사용 중 용량 (정렬 가능, 예: 17.6 TiB)
UsageProgressBar + 퍼센트 (예: 25%)

기본 정렬은 Pool 이름 오름차순이며, 페이지당 5개 행을 표시합니다.

Directories 탭 ​

디렉토리별 쿼터와 스냅샷을 관리합니다.

Quotas ​

항목설명
Max bytes최대 바이트 수 (0 입력 시 제한 없음 → "No limit")
Max files최대 파일 수 (0 입력 시 제한 없음 → "No limit")

Edit quota 버튼으로 쿼터를 변경할 수 있습니다 (드로어 열림).

Snapshots ​

디렉토리 수준 스냅샷을 생성하고 관리합니다.

컬럼설명
Name스냅샷 이름 (정렬 가능)
Path스냅샷 경로
Created생성 일시 (정렬 가능)

기본 정렬은 Created 내림차순(최신순)이며, 페이지당 10개 행을 표시합니다.

검색 필터: Name (입력형), Path (입력형), Created at (기간형)

Subvolumes 탭 ​

서브볼륨을 생성하고 관리합니다. 서브볼륨은 파일 시스템 내에서 독립적인 POSIX 퍼미션과 쿼터를 가진 격리된 볼륨입니다.

컬럼설명
Name서브볼륨 이름 (정렬 가능)
ModePOSIX 퍼미션 — Badge 3개로 표시 (예: owner: rwx, group: r-x, others: rw-)
Usage용량 사용률 (ProgressBar + 퍼센트, 정렬 가능). 총량 없으면 ∞ 표기
Path마운트 경로 (모노스페이스 폰트 + Copy 버튼)
Data pool데이터 풀 이름 (정렬 가능)
Created at생성 일시 (정렬 가능)

기본 정렬은 생성일 최신순이며, 페이지당 10개 행을 표시합니다.

서브볼륨 액션 ​

액션설명
Attach서브볼륨을 연결합니다 (모달 열림)
Mount command마운트 명령어를 코드 폰트로 표시 (복사 가능)
CephX key인증 키를 표시. 기본 마스킹 → Show/Hide 토글 가능. Copy 버튼은 항상 전체 키 복사
Resize서브볼륨 크기를 변경합니다 (드로어 열림)
Delete서브볼륨을 삭제합니다

주의

스냅샷이 존재하는 서브볼륨은 삭제할 수 없습니다.

Tooltip: "Delete all snapshots before deleting this subvolume."

마운트 명령어 예시:

bash
sudo mount -t ceph :/{path} /mnt/{name} -o name=client.{fs},fs={fs}

Snapshots 탭 ​

파일 시스템 수준의 스냅샷을 관리합니다.

컬럼설명
Name스냅샷 이름 (정렬 가능). 이름 규칙: {subvolume_name}-snap-yyyymmdd
Subvolume소속 서브볼륨 이름
Pending clones진행 중인 클론 작업. 없으면 "No" Badge, 있으면 클론 이름 Badge로 표시
Created생성 일시 (정렬 가능)

기본 정렬은 Created 내림차순(최신순)이며, 페이지당 10개 행을 표시합니다.

스냅샷 액션 ​

액션설명
Create subvolume from snapshot스냅샷으로부터 새 서브볼륨을 생성합니다 (드로어 열림)
Delete스냅샷을 삭제합니다 (모달 노출)

Schedules 탭 ​

스냅샷 자동 생성 스케줄을 관리합니다.

컬럼설명
Subvolume대상 서브볼륨 이름 (정렬 가능)
StatusActive (초록색 Badge) / Inactive (회색 Badge)
Frequency스냅샷 생성 주기 (예: Every 1 day)
Start시작 시간
Retention보존 정책. Badge로 표시 (예: daily: 7, weekly: 4)
Last run마지막 실행 시각. 없으면 "-"

기본 정렬은 Created at 내림차순(최신순)이며, 페이지당 10개 행을 표시합니다.

스케줄 액션 ​

액션설명
Create새 스케줄을 생성합니다 (드로어 열림)
Edit기존 스케줄을 편집합니다 (드로어 열림)
Delete스케줄을 삭제합니다 (모달 노출)

Clients 탭 ​

파일 시스템에 연결된 클라이언트 목록과 상태를 확인합니다.

Credentials 탭 ​

파일 시스템에 접근 권한이 부여된 CephX 사용자(entity) 목록을 조회하고, 권한 수정·취소 및 마운트 가이드를 확인합니다.

검색 필터 ​

필터타입
User ID텍스트
Directory텍스트

필터 키를 선택하지 않고 텍스트를 입력하면 User ID 필터가 자동 적용됩니다.

테이블 ​

컬럼설명
User IDCephX entity 이름 (client.<name> 형태, 정렬 가능)
Directory접근이 허용된 CephFS 디렉토리 경로 (모노스페이스 폰트 + Copy 버튼)
Permissions부여된 권한을 Badge로 표시: Read, Write, Quota, Snapshot, Rootsquash
KeyCephX keyring 값. 기본 마스킹 표시. Show/Hide 토글 가능. Copy 버튼은 항상 전체 키 복사
Created생성 일시 (정렬 가능)

기본 정렬은 User ID 오름차순(A→Z)이며, 페이지당 10개 행을 표시합니다.

Credentials 액션 ​

액션설명
AuthorizeCephX 사용자에게 접근 권한을 부여합니다 (드로어 열림)
Mount guide마운트 가이드 모달을 표시합니다
Edit권한을 편집합니다 (드로어 열림)
Delete인증을 삭제합니다 (확인 모달 노출)

인증 삭제

Credential을 삭제하면 해당 사용자의 진행 중인 모든 I/O가 중단됩니다.

"Evicting this client interrupts all in-progress I/O."

Mount Guide 모달 ​

Credentials 탭에서 행의 Mount guide 액션을 클릭하면 해당 CephX 사용자의 마운트 정보를 확인할 수 있습니다.

모달에는 다음 정보가 표시됩니다.

User ID — 선택된 CephX 사용자 ID (읽기 전용)

ceph.conf — 클러스터 설정 (코드 블록)

[global]
fsid = <cluster-fsid>
mon_host = <mon-addr-1>,<mon-addr-2>,<mon-addr-3>

클라이언트의 /etc/ceph/ceph.conf에 저장합니다.

Keyring — 전체 keyring 파일 내용 (코드 블록)

[client.<vol_name>.<subvol_name>]
    key = <AQBx...==>
    caps mon = "allow r fsname=<vol_name>"
    caps mds = "allow rw fsname=<vol_name> path=/volumes/_nogroup/<subvol_name>/<uuid>"
    caps osd = "allow rw pool=cephfs.<vol_name>.data namespace=fsvolumens___nogroup_<subvol_name>"

클라이언트의 /etc/ceph/ceph.client.<name>.keyring에 저장합니다 (파일 권한 600).

Keyring 파일 필수

VM 커널 마운트는 keyring 파일이 /etc/ceph/에 존재하지 않으면 동작하지 않습니다. mount.ceph는 -o name=의 client ID에 대응하는 keyring 파일을 표준 경로에서 자동으로 찾아 비밀키를 읽습니다.

Mount command — 3가지 마운트 방식을 탭으로 제공합니다.

탭방식설명
Kernelmount -t cephOSD 분산 I/O 직접 사용, 최고 성능. ceph-common 필요
FUSEceph-fuse커널 모듈/버전 제약 시 대안. ceph-fuse 필요
KubernetesCSI (ceph-csi-cephfs)PV/PVC 기반 자동화, 정적 프로비저닝

각 탭의 코드 블록은 선택된 CephX 사용자 정보로 동적 생성됩니다.

마운트 안내

이 정보를 파일 시스템 마운트가 필요한 사용자에게 전달하세요. 자세한 설정 방법은 마운트 가이드 문서를 참조하십시오.

접근 제한

각 keyring은 인가된 디렉토리로 제한됩니다. 인가되지 않은 경로로 마운트를 시도하면 permission denied가 반환됩니다.

VM 마운트 — 커널 (mount -t ceph) ​

사전 조건:

항목요구사항
OSLinux (커널 4.x 이상, Ubuntu 22.04 권장)
패키지ceph-common (mount.ceph 포함)
네트워크MON 3300/6789, OSD 6800-7300 도달 가능
인증 파일/etc/ceph/ceph.conf · /etc/ceph/ceph.client.<vol>.<subvol>.keyring
bash
# Ubuntu / Debian
sudo apt install -y ceph-common

# RHEL / CentOS
sudo yum install -y ceph-common

마운트 명령어:

bash
sudo mkdir -p /mnt/${VOL_NAME}
sudo mount -t ceph \
  ${VOL_NAME}.${SUBVOL_NAME}@.${VOL_NAME}=/volumes/_nogroup/${SUBVOL_NAME}/${SUBVOL_UUID} \
  /mnt/${VOL_NAME} \
  -o name=${VOL_NAME}.${SUBVOL_NAME}

/etc/ceph/ceph.conf에 fsid가 포함되어 있으면 FSID를 생략할 수 있습니다.

영구 마운트 (/etc/fstab):

<vol>.<subvol>@.<vol>=/volumes/_nogroup/<subvol>/<uuid>  /mnt/<vol>  ceph  name=<vol>.<subvol>,noatime,_netdev  0  0
VM 마운트 — FUSE (ceph-fuse) ​

커널 모듈/버전 제약으로 커널 마운트가 어려울 때 사용합니다.

bash
sudo mkdir -p /mnt/${VOL_NAME}
sudo ceph-fuse /mnt/${VOL_NAME} \
  --id ${VOL_NAME}.${SUBVOL_NAME} \
  --conf /etc/ceph/ceph.conf \
  --keyring /etc/ceph/ceph.client.${VOL_NAME}.${SUBVOL_NAME}.keyring \
  --client_fs ${VOL_NAME} \
  -r /volumes/_nogroup/${SUBVOL_NAME}/${SUBVOL_UUID}
옵션설명
--idCephX client ID (client. 제외)
--client_fsCephFS FileSystem 이름
-r마운트 root를 서브볼륨 경로로 한정
--keyringkeyring 경로 (표준 경로면 생략 가능)
Pod 마운트 — Kubernetes CSI ​

Kubernetes 환경에서는 ceph-csi-cephfs CSI 드라이버로 PV/PVC 기반 마운트합니다.

사전 조건:

항목요구사항
KubernetesK8s 1.25+
CSI 드라이버ceph-csi-cephfs Helm chart (v3.14+)
네트워크Worker 노드 → MON/OSD 도달 가능

Secret 생성:

yaml
apiVersion: v1
kind: Secret
metadata:
  name: csi-cephfs-secret
  namespace: ceph-csi-cephfs
type: Opaque
stringData:
  userID: "<vol_name>.<subvol_name>"
  userKey: "<key 값>"

PV/PVC 생성 (정적 프로비저닝):

yaml
apiVersion: v1
kind: PersistentVolume
metadata:
  name: <subvol_name>
spec:
  capacity:
    storage: 10Gi
  accessModes: [ReadWriteMany]
  persistentVolumeReclaimPolicy: Retain
  csi:
    driver: cephfs.csi.ceph.com
    volumeHandle: <subvol_name>
    volumeAttributes:
      clusterID: "<cluster-fsid>"
      fsName: "<vol_name>"
      rootPath: "/volumes/_nogroup/<subvol_name>/<uuid>"
      staticVolume: "true"
    nodeStageSecretRef:
      name: csi-cephfs-secret
      namespace: ceph-csi-cephfs
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: <subvol_name>
spec:
  storageClassName: ""
  accessModes: [ReadWriteMany]
  resources:
    requests:
      storage: 10Gi
  volumeName: <subvol_name>
마운트 검증 ​
bash
df -h /mnt/${VOL_NAME}
echo "hello cephfs $(date)" | sudo tee /mnt/${VOL_NAME}/test.txt
cat /mnt/${VOL_NAME}/test.txt

Performance 탭 ​

파일 시스템의 실시간 성능 메트릭을 모니터링합니다.

다음 단계 ​

AI 인프라의 새로운 기준