> For the complete documentation index, see [llms.txt](https://ia-cloud.gitbook.io/cloudia-manual/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ia-cloud.gitbook.io/cloudia-manual/administrator/storage/storage-domain.md).

# 스토리지 도메인

`스토리지 도메인`은 이미지, 블록, 파일 시스템 같은 스토리지 리소스가 실제로 저장될 저장소를 정의하는 화면입니다. 스토리지 리소스 운영의 기반이 되는 메뉴이므로 사전 준비 조건과 타입별 입력 항목을 함께 확인해야 합니다.

## 화면 개요

* `목록 화면`: 스토리지 도메인 현황을 조회하고 생성, 삭제 작업을 시작합니다.
* `생성 화면`: 타입에 따라 이름, 마운트 포인트, 풀 이름, 물리 머신을 입력해 새 도메인을 등록합니다.

## 스토리지 도메인 목록

### 주요 작업

* **`생성`**: 새 스토리지 도메인을 생성합니다.

  > ⚠️ 주의: 시스템에서 필요한 데이터들을 생성된 도메인에 복제하기 위하여 시간이 많이 소요될 수 있습니다. (총 9.6GB 기준, 5분 정도)
* **`삭제`**: 선택한 1개 스토리지 도메인을 삭제합니다.

  > 💡 참고:연관 리소스가 있으면 삭제할 수 없습니다.

### 테이블 컬럼

| 컬럼              | 설명                                          |
| --------------- | ------------------------------------------- |
| **스토리지 도메인 이름** | 스토리지 도메인 이름입니다.                             |
| **ID**          | 스토리지 도메인 고유 ID입니다.                          |
| **타입**          | `LOCAL`, `GFS2`, `NFS`, `CEPH` 중 하나입니다.     |
| **마운트 포인트**     | `LOCAL`, `GFS2`, `NFS` 타입에서 사용하는 마운트 경로입니다. |
| **풀 이름**        | `CEPH` 타입에서 사용하는 pool 이름입니다.                |
| **생성 일시**       | 스토리지 도메인 생성 시각입니다.                          |

## 스토리지 도메인 생성

스토리지 도메인 생성은 단순한 논리적 개념이라기보다는, 실제 물리적 스토리지 자원과의 연결에 가까운 개념입니다. 따라서 `LOCAL` 유형을 제외한 `GFS2`, `NFS`, `CEPH` 스토리지 도메인을 구성하기 위해서는 사전에 다음과 같은 조건이 충족되어야 합니다.

* `GFS2`, `NFS`의 경우\
  클러스터를 구성하는 일부 노드에 해당 스토리지의 마운트 포인트가 미리 설정되어 있으며, 정상적으로 마운트되어 있어야 합니다.
* `CEPH`의 경우\
  사전에 pool이 생성되어 있어야 하며, 클러스터 구성 노드에서 rbd ls 등의 명령을 통해 해당 스토리지에 대한 읽기 및 쓰기 권한이 확보되어 있어야 합니다.

즉, 스토리지 도메인을 생성하기 전에 각 스토리지 유형에 맞는 사전 준비 작업이 완료되어 있어야 정상적인 연동이 가능합니다.

#### `LOCAL`타입의 경우 입력 항목

* **이름**(필수)
* **스토리지 도메인 유형**(필수): `LOCAL`
* **물리 머신**(필수): 1개 선택
* **마운트 포인트**(필수)

#### `GFS2`타입의 경우 입력 항목

* **이름**(필수)
* **스토리지 도메인 유형**(필수): `GFS2`
* **마운트 포인트**(필수)

#### `NFS`타입의 경우 입력 항목

* **이름**(필수)
* **스토리지 도메인 유형**(필수): `NFS`
* **마운트 포인트**(필수)

#### `CEPH`타입의 경우 입력 항목

* **이름**(필수)
* **스토리지 도메인 유형**(필수): `CEPH`
* **풀 이름**(필수)

### 입력 필드 유효성

| 필드              | 허용 값                           | 검증 규칙                                                       | 비고               |
| --------------- | ------------------------------ | ----------------------------------------------------------- | ---------------- |
| **이름**          | 영문, 숫자, `-`, `_` 조합의 문자열       | 필수입니다. 80자 이내로 입력합니다.                                       | 도메인 식별용 이름입니다.   |
| **스토리지 도메인 유형** | `LOCAL`, `GFS2`, `NFS`, `CEPH` | 필수입니다. 제공된 값 중 하나를 선택합니다.                                   | 생성 후 변경할 수 없습니다. |
| **물리 머신**       | 현재 선택 가능한 물리 머신                | `LOCAL` 타입에서 필수입니다. 1개를 선택합니다.                              | 로컬 저장소 대상입니다.    |
| **마운트 포인트**     | `/`로 시작하는 경로 문자열               | `LOCAL`, `GFS2`, `NFS` 타입에서 필수입니다. `/` 단독과 `//`는 허용하지 않습니다. | 스토리지 연결 경로입니다.   |
| **풀 이름**        | 문자열                            | `CEPH` 타입에서 필수입니다.                                          | CEPH pool 이름입니다. |

## 스토리지 도메인 삭제

* 삭제 시 확인 모달에서 도메인 정보를 확인한 뒤 진행합니다.
* 이미지, 볼륨 같은 연관 리소스가 남아 있으면 일반적으로 삭제할 수 없습니다.
* 삭제는 논리적 삭제입니다. 호스트의 마운트와 그 안의 파일은 그대로 남으므로, 스토리지를 실제로 회수하려면 관리자가 직접 마운트를 해제하고 정리해야 합니다.

> 💡 참고: vTPM을 사용한 인스턴스가 있었다면 마운트 포인트 하위 `vtpm/` 디렉터리에 가상 TPM 상태 파일이 남아 있을 수 있습니다. 이 파일은 인스턴스를 삭제하면 일정 시간 뒤 자동으로 정리되지만, **스토리지 도메인을 먼저 삭제하면 CloudiA가 더 이상 해당 경로를 정리하지 않습니다.** 마운트를 정리할 때 `vtpm/` 디렉터리도 함께 제거하세요. 도메인 삭제 시점에 남은 항목이 있으면 **감사 로그**에 `스토리지 도메인 삭제 - vTPM 상태 잔존` 이벤트가 기록되며, 대상 호스트와 경로, 남은 개수를 확인할 수 있습니다.
