호스트 볼륨

호스트 볼륨 (Host Volumes)

소개 (Introduction)

호스트 볼륨은 Nomad 클라이언트의 경로를 할당(allocation)에 마운트해요. Nomad는 호스트 볼륨의 가용성을 인지하고 작업 스케줄링에 활용해요. 하지만 Nomad는 볼륨의 기반 특성(로컬 ext4 파일시스템의 표준 폴더인지, GlusterFS 같은 분산 네트워크 스토리지 기반인지, NAS나 AWS EFS 같은 공용 클라우드 서비스의 NFS/CIFS 마운트 볼륨인지)은 알지 못해요. 따라서 호스트 볼륨은 로컬 반영구(semi-persistent) 스토리지와 고가용성 네트워크 스토리지 모두에 사용할 수 있어요. 호스트 볼륨은 동적(dynamic) 또는 정적(static)일 수 있어요.

출처: 문서

본문

로컬 스토리지 기반의 호스트 볼륨은 중요하지도 않고 쉽게 복원되지도 않는 데이터를 유지하는 데 도움을 줘요. 예를 들어 다시 만들 수 있는 온디스크 캐시, 또는 단일 노드가 클러스터의 나머지에서 자신의 상태를 다시 구축할 수 있는 클러스터형 애플리케이션이 있어요. NFS/CIFS 마운트 볼륨이나 GlusterFS·Ceph 같은 분산 스토리지 기반의 네트워크 스토리지에서 호스트 볼륨은 고가용성·고신뢰성 스토리지를 소비하는 빠른 옵션을 제공해요.

동적 호스트 볼륨 (Dynamic host volumes)

동적 호스트 볼륨은 volume create 명령어나 API로 프로비저닝해요. ACL 정책은 네임스페이스 내 스토리지에 대한 제어를 Nomad 운영자에게 위임할 수 있게 해줘요. 동적 호스트 볼륨 플러그인 스펙을 사용하면 로컬 스토리지 환경에 특화된 플러그인을 개발할 수 있어요. 예를 들어 온프레미스 클러스터에서 LVM thin-provisioning을 수행하는 플러그인을 작성할 수 있어요.

정적 호스트 볼륨 (Static host volumes)

정적 호스트 볼륨은 Nomad 에이전트의 구성 파일에 선언해요. 재구성하려면 Nomad 클라이언트를 재시작해야 해요. 이러한 재시작 때문에 스토리지 구성을 자주 변경한다면 정적 호스트 볼륨은 비현실적이에요. 또한 서로 다른 역할(persona) 간의 조정이 필요할 수 있어요. 예를 들어 Nomad 관리자(Administrator)는 Nomad 구성 파일을 수정해 호스트 볼륨을 추가·업데이트·삭제해서 Nomad 운영자(Operator)가 소비할 수 있게 만들어야 해요. 또는 네트워크 호스트 볼륨의 경우 스토리지 관리자(Storage Administrator)가 볼륨을 프로비저닝해 Nomad 클라이언트에 제공하고, 시스템 관리자(System Administrator)가 이를 Nomad 클라이언트에 마운트해요.

더 알아보기 (Learn more)