대륙 간 대역폭은 두 가지 의미에서 비쌉니다. 클라우드 송신 청구서에 돈이 들고, 아티스트가 에셋이 파이프를 타고 내려오기를 기다릴 때 시간이 듭니다. 이 부분을 고려하지 않는 렌더 플릿은 각 작업의 월타임 가운데 적지 않은 부분을 건물 내 다른 곳 캐시에 이미 있는 씬 파일을 콜드로 끌어오는 데 쓸 수 있습니다.
공유 캐시 패턴은 가장 단순하면서도 가장 큰 레버입니다. 메인 데이터센터의 Samba(SMB3) 캐시 서버가 프로젝트 에셋을 보관합니다. 각 렌더 노드는 캐시를 마운트하고 LAN으로 씬 파일을 읽습니다. 새 에셋이 작업에서 참조되면 캐시는 고객의 클라우드 스토리지에서 그것을 한 번만 끌어옵니다. 이후 그 에셋이 필요한 모든 노드는 LAN 사본에서 읽습니다. 같은 40 GB 씬 파일을 스무 번 끌어와야 했을 20 노드 플릿이 한 번만 끌어옵니다.
원칙은 단순합니다. 실무에서는 설계의 두 부분이 중요합니다.
노드별 캐싱은 피합니다. 각 렌더 노드에 큰 로컬 SSD를 주고 원하는 것을 캐싱하게 두고 싶을 수 있습니다. 10 TB의 프로젝트 데이터가 있는 20 노드 플릿에서 이는 공유 무효화 로직 없이 200 TB의 중복 스토리지가 됩니다. 우리는 그렇게 하지 않습니다. 공유 캐시가 유일한 캐시이며, 노드는 로컬 디스크를 스크래치 공간으로 취급하지 프로젝트 아카이브로 취급하지 않습니다.
D-day 전에 캐시를 미리 데워 둡니다. 고객이 프로젝트가 월요일에 시작한다고 알리면 우리는 주말 동안 캐시를 워밍합니다. 월요일의 첫 작업은 스무 시간의 콜드 풀을 일으키지 않고 따뜻한 캐시에서 읽습니다. 이는 프로젝트의 첫 렌더가 빠르게 느껴지게 하는 가장 신뢰할 만한 방법입니다.
라이트사이징에 대한 노트입니다. 캐시 박스는 ext4 파일시스템의 단일 SATA SSD를 사용합니다. 캐시의 경우 — 1차 스토리지와 달리 — 단일 디스크 구성이 올바른 트레이드오프입니다. 캐시는 진실의 원천이 아닙니다. 그것은 고객의 클라우드 스토리지이며, 캐시는 클라우드에서 다시 끌어오거나 프로젝트 백업에서 rsync로 재구성할 수 있습니다. 암호화된 볼륨 위에 중복 어레이를 구성하는 것은 비용과 복잡성을 더하지만 운영적 이야기를 바꾸지는 못합니다. 캐시를 잃은 노드는 하룻저녁의 재구성이지 데이터 손실 사건이 아닙니다. 캐시 하드웨어를 그 역할에 맞게 사이징하는 것은 운영 비용을 예측 가능하게 유지하는 가장 쉬운 방법 중 하나입니다.
단일 cross-country 배포가 아닌 영구 클러스터를 고려하는 팀은 전용 클러스터 옵션 페이지에서 그 구성을 자세히 다룹니다.