대상: 원격 Mac에서 OpenClaw·대형 모델 풀을 도는 개발자·CI. 키워드: OpenClaw, 원격 Mac, 모델 캐시, 정리 전략, 자동화. 연관: 헬스·LaunchAgent, ClawHub·CI, 복구·재시도, 설치 FAQ. 블로그·고객 지원(로그인 불필요).

전제 조건과 환경 분할

서비스 계정·홈·권한을 고정합니다. NVMe=, 외장·NAS=으로 라벨하고 마운트 순서를 README에 적습니다. OPENCLAW_HOME·실제 캐시 env를 표로 남기고 Node는 게이트웨이와 같은 시맨틱 버전으로 고정합니다. CI는 정규 캐시 경로만 쓰게 하고 임시 경로 하드코딩을 금지합니다.

환경 분할 체크리스트
  • 핫·웜 df -h·df -i 주 1회 기록
  • 수동 풀 1회 성공 후 자동화 ON
  • TMPDIR를 루트가 아닌 핫·전용 tmp로

캐시 경로와 계층화 방안

실제 디렉터리는 티어별로 두고, 애플리케이션이 보는 정규 경로심볼릭 링크 하나로 고정합니다. 예시는 다음과 같습니다(경로는 환경에 맞게 바꿉니다).

  • 핫: /Volumes/fast/oc-cache/models
  • 웜: /Volumes/bulk/oc-archive/models
  • 정규: ~/.openclaw/cache/models → 핫으로 ln -s

웜으로 내릴 때 rsync -a --link-dest 또는 같은 FS에서 mv로 원자 이동. 심링크 교체 전 실디렉터리는 백업 후 진행합니다.

선택 언제 유리한가 주의
심링크 → 핫 NVMe 지연시간 민감 풀·추론 워밍업 재부팅 시 외장 마운트 순서·이름 변경
핫 LRU + 웜 아카이브 디스크 압박이 잦은 공유 노드 아카이브와 매니페스트 버전 불일치 방지
단일 볼륨만 사용 소규모·프로토타입 IO·용량 단일 장애점, 정리 없으면 급격히 포화

공유 노드는 “핫 LRU + 웜”, 전용 단일 디스크는 단일 볼륨을 기본으로 둡니다.

정기 정리와 로그 로테이션

LaunchAgent StartCalendarInterval로 비피크(예 02–04시) 정리 창을 둡니다. 락 없을 때만 .tmp·불완전 샤드·빈 디렉터리를 LRU 삭제하고, 삭제 전 용량·개수를 로그 한 줄에 남깁니다. macOS에선 launchd가 env·재시작에 유리한 경우가 많고 cron은 헤드리스에도 쓸 수 있습니다.

스케줄러 장점 단점
LaunchAgent StandardOutPath·환경·KeepAlive와 통합 사용자 도메인·plist 관리 필요
crontab 표현이 단순 경로·로케일·세션과 어긋나기 쉬움

로그 경로를 고정하고 newsyslog 등으로 크기·일수 로테이션을 겁니다.

#!/usr/bin/env bash set -euo pipefail # 예: 락 파일/프로세스 가드 후 LRU 정리, 실제 패턴은 환경에 맞게 : "${CACHE_ROOT:?}" "${DRY_RUN:=0}" # find … -delete 대신 검증된 서브트리만 대상으로 제한할 것

할당량과 디스크 수위 임계

팀에 맞는 워터마크를 문서에 박아 둡니다. 권장 시작점은 아래와 같습니다(조정 가능).

사용률 동작
≥ 80% 슬랙·메일 등 알림, 다음 정리 창까지 모니터링 강화
≥ 85% 신규 대형 큐잉·동시성 스로틀
≥ 90% 핫 티어 LRU 공격적 퇴거(매니페스트·필수 모델 화이트리스트 제외)

알림 셸은 df -P·볼륨별 임계, df -iinode도 감시합니다.

실패 재시도와 트러블슈팅

ENOSPC는 정리·웜 이동, 429는 백오프·동시성 감소. exit code·stderr로 원인을 분리해 로그에 섞이지 않게 합니다. 재부팅 후 심링크 타깃 마운트를 확인하고, openclaw doctor로 설정을 정규화한 뒤 자동화를 재개합니다.

흔한 증상 빠른 대응
  • Permission denied: 캐시 디렉터리 소유자·ACL, 전용 계정과 에이전트 사용자 일치
  • Broken symlink: 볼륨 이름 변경·지연 마운트 → 안정 경로 또는 LaunchAgent StartCalendarInterval 지연
  • 풀은 성공했는데 추론이 느림: 핫 티어에 실제 weight가 있는지, 웜으로만 읽고 있지 않은지 df와 I/O 모니터로 확인

런칭·검수 체크리스트

  1. 핫·웜 각각에서 df -h·du -sh로 기대 용량과 일치하는지 확인.
  2. 정리 스크립트를 DRY_RUN=1 또는 --dry-run으로 한 번 돌려 삭제 대상 목록만 검토.
  3. launchctl kickstart로 에이전트 재시작 후 exit code·로그 tail 확인.
  4. CI 한 건을 정규 캐시 경로만 쓰는 설정으로 돌려 캐시 적중 여부 확인.
  5. 롤백: 심링크를 이전 타깃으로 되돌리고, 정리 잡을 launchctl bootout로 비활성화하는 순서를 문서에 적어 둠.

맺음말·다음 단계

요약: 심링크로 정규 캐시 경로를 고정하고 핫/웜을 나누면 OpenClaw 모델 캐시 운영이 팀 단위로 재현됩니다. 정리 창·로그 로테이션·80/85/90% 임계만으로도 야간 장애가 줄어듭니다. 전용 원격 Mac·디스크 여유는 아래에서 로그인 없이 확인하세요.

모델 캐시와 CI를 안정적으로 돌릴 원격 Mac이 필요하신가요?

MacPull 원격 Mac으로 디스크·대역을 예측 가능하게 쓰고, OpenClaw 풀·정리 자동화를 한 노드에 묶을 수 있습니다. 고객 지원·구매·블로그로그인 없이 이용할 수 있습니다.