작업 명세의 ephemeral_disk 블록

작업 명세의 ephemeral_disk 블록 (ephemeral_disk block in the job specification)

배치 job -> group -> **ephemeral_disk**

ephemeral_disk 블록은 그룹의 임시 디스크 요구 사항을 설명해요. 임시 디스크는 스티키(sticky)로 표시할 수 있고 라이브 데이터 마이그레이션을 지원해요. 이 그룹의 모든 태스크는 같은 임시 디스크를 공유해요.

job "docs" {
  group "example" {
    ephemeral_disk {
      migrate = true
      size    = 500
      sticky  = true
    }
  }
}

임시 디스크는 alloc/data/ 아래에서 참조할 수 있어요. 더 많은 정보는 파일시스템 내부에서 찾을 수 있어요.

각 작업의 로그는 임시 디스크 공간에 기록돼요. 자세한 내용은 logs 문서를 참조하세요.

출처: 문서

본문

매개변수 (Parameters)

  • migrate (bool: false) — 이전 할당이 다른 클라이언트에 있었더라도 Nomad 클라이언트가 이전 할당에서 데이터를 마이그레이션하려는 최선의 노력을 해야 한다고 지정해요. migrate를 활성화하면 sticky도 자동으로 활성화돼요. 데이터 마이그레이션 중 태스크는 데이터 마이그레이션이 완료될 때까지 시작이 차단돼요.

성공적인 마이그레이션을 위해서는 클라이언트가 Nomad HTTP 포트를 통해 서로 직접 연결될 수 있어야 해요. 전송이 실패하면 데이터 손실이 발생하므로, 이 기능은 목적지에서 재생성될 수 있는 데이터(예: 캐시 데이터)에만 적합해요. 마이그레이션은 원자적이며 오류가 발생하면 부분적으로 마이그레이션된 데이터가 목적지에서 제거돼요. 클라이언트가 실패한 할당을 가비지 컬렉션하거나, 할당이 nomad alloc stop으로 의도적으로 중지된 경우에는 데이터 마이그레이션이 일어나지 않는다는 점에 유의하세요. 원래 할당이 이미 제거되었기 때문이에요.

  • size (int: 300) — 임시 디스크의 크기(MB)를 지정해요. 현재 Nomad 임시 저장소 구현은 이 한도를 강제하지 않지만, 작업 배치 중에는 사용돼요.

  • sticky (bool: false) — 업데이트된 할당을 같은 머신에 배치하려는 최선의 노력을 Nomad가 해야 한다고 지정해요. 이는 local/과 alloc/data 디렉토리를 새 할당으로 이동해요.

더 알아보기 (Learn more)