Apache Ozone 의 네임스페이스는 볼륨 → 버킷 → 키 3단계라 버킷 안에 버킷을 만들 수 없다. 버킷 아래 계층은 키 이름의 경로(dir1/dir2/file)나 FSO(File System Optimized) 레이아웃의 실제 디렉터리로 표현한다. 버킷이 어떤 레이아웃인지는 ozone sh bucket info 로 확인한다.
ozone sh volume list
ozone sh bucket list /myvolume
ozone sh bucket info /myvolume/mybucket # "bucketLayout" : "FILE_SYSTEM_OPTIMIZED" 또는 OBJECT_STORE
ozone sh key list /myvolume/mybucket
FSO 버킷은 HCFS 의미 체계에 맞으므로 ozone fs 로 다루는 것이 자연스럽다.
ozone fs -ls ofs://<om-host>/myvolume/mybucket/
ozone fs -mkdir -p ofs://<om-host>/myvolume/mybucket/dir1/dir2
ozone fs -put localfile.txt ofs://<om-host>/myvolume/mybucket/dir1/
S3 게이트웨이 경유는 aws s3 ls s3://mybucket/ --endpoint http://<s3g-host>:9878 이다.
FSO 는 중간 디렉터리를 DirectoryTable 에 ID 기반으로 저장해 목록 조회와 rename 이 빠르다. OBS 는 S3 처럼 완전한 플랫 네임스페이스라 키 이름에 제약이 적다. 기본 레이아웃 설정이 비어 있으면 FSO 로 생성되므로 의도치 않게 FSO 가 될 수 있다.
버킷 이름은 소문자·숫자·점·하이픈만 허용된다. S3 키 이름의 콜론(:) 은 대개 생성되지만 URL 인코딩(%3A) 처리가 클라이언트마다 달라 권하지 않으며, FSO 에서는 파일시스템 관점에서 유효하지 않은 경로명이 문제를 일으킬 수 있다. Cloudera AI Registry 는 특정 버킷 레이아웃을 요구하지 않고 S3 게이트웨이 엔드포인트·액세스 키·시크릿 키(GetObject, PutObject, DeleteObject, ListBucket 권한)만 필요하지만, S3 API 만 쓰므로 새로 만든다면 OBS 가 안전하다.